Something like this may look fairly simple from the outside, creating a simple rig that reacts in an open to closed motion, but what has to be done is each card essentially must have 2 anchor points that react based on the cards before and after it, resulting in a rather complex expression network.
Each card’s anchor point is attached to the opposing side of the previous card, it then has a null object that is attached to the other side (the bottom or top) acting as a 2nd anchor point that is used for the next card.
Then I parented the following card to the previous cards figmented anchor point so that it would follow the same path. Now, there are 2 levels that have to be taken into consideration, the Z movement (the space between the cards when they collapse)
and the Y movement (where the peak of the cards will be), the bottom of the cards have to stay flat but the tops must go up and down like an accordian, as you can see with the guides in the first image.