Scroll the page. Every section's content fades + slides up 60px as it enters the viewport. Numbers count up. Cards breathe out of sync.
Travel 60px + fade in over 1.4 seconds. One-shot per element.
Three rules.
Threshold .01.
Above-fold elements always end visible.
easeOutCubic, 1.4s.
Three different keyframes, three different periods. Eye reads "alive."
4.4s · rotates -1.8° / -2.6°
5.2s · rotates +1.6° / +2.4°
4.8s · rotates +2.0° / +2.8°
Scroll back up — reveals don't replay (one-shot). Float continues. Debug overlay in the bottom-right shows live state.