T·01 Pinned CSS 3D assembly
The hero is a 250vh track with a sticky 100vh pin. One custom property, --e (1 = exploded, 0 = assembled), drives every transform through calc(). Each of the six layers declares its own z-altitude and drift as inline data, so the whole money shot is a ladder of numbers, not a keyframe timeline. --px and --py are the pointer parallax, multiplied by --e so the breathing dies exactly when the stack lands.
/* one variable drives the entire scene */ .stack { transform: scale(calc(1 - var(--e) * .16)) rotateX(calc(var(--e) * (42deg + var(--py) * 5deg))) rotateZ(calc(var(--e) * -11deg)) rotateY(calc(var(--e) * var(--px) * 7deg)); transform-style: preserve-3d; } .layer { transform: translateZ(calc(var(--z) * var(--e))) translateY(calc(var(--dy) * var(--e))); } <!-- the z-ladder, in the markup --> <div class="layer" data-chrome style="--z:-58px; --dy:16px"> <div class="layer" style="--z:40px; --dy:5px"> <!-- metrics --> <div class="layer" style="--z:292px; --dy:-36px"> <!-- signals -->