The stage pins while you scroll and each step wipes open from the top over the one before it. The background and the centred card are clipped separately, each by the same share of its own box, so the card reads as opening with the background rather than being sliced at the same screen height.
Title, step number and description sit outside the clipped layers and cross over once the wipe has passed halfway, so the caption never describes a picture that has already gone. A progress rule across the top tracks the whole sequence.
With reduced motion, or with no JavaScript at all, the section stays a plain vertical stack of full-height panels. Every image and every word is still there and still readable; only the wipe is missing. Scroll distance per step, and how much the scrub lags behind the scroll, are data attributes on the root.