Content draws onto the page from the left: the direction we read, the direction signals travel. Reveals are wipes, entrances are staggered sweeps, and every element arrives with a drawn edge, never a dissolve. One direction, everywhere, always.

Everything arrives fast and lands soft. A single expo-out curve drives every reveal and transition; a restrained spring is reserved for things you touch. If it needs a different curve, it probably shouldn’t move.
Hero moments are scrubbed, not played. Pinned sections move exactly with the reader, forward or backward, fast or slow, so the story is explored, never watched. New content fades up into place; finished content exits solid, under the line.
The system never sleeps. Ambient loops of flowing signals, drifting atmosphere and counting numbers run continuously at mismatched tempos, so the rhythm never visibly repeats. Quiet, constant, and running whether you scroll or not.
Elements enter as a sequence: each starts while the previous is still moving, offset by a beat, never waiting its turn. One hero moment at a time; everything else holds still.
One curve, a few tempos. If it needs a different curve, it probably shouldn’t move — and reduced motion is honored always.
| --ease-out | cubic-bezier(.16, 1, .3, 1) · all arrivals, reveals & panels |
| --ease-spring | cubic-bezier(.34, 1.4, .64, 1) · hovers & presses only |
| linear | progress, timers & ambient travel |
| 250–450ms | micro · hovers, swaps, ticks |
| 500–700ms | structural · panels, morphs, menus |
| 0.9–1.6s | reveals · wipes & entrances |
| 17–26s | ambient · never synchronized |
| reduced motion | honored always · content, instantly, without ceremony |