Design System / 05.5
Ambient surfaces: the crossfading slideshow, a scroll-reactive marquee, the counting preloader, and the black-dip page transition.
Autoplay crossfade every 6s with a 1s fade. Arrows are visually hidden but focusable; optional half-stage hover zones and a thumbnail strip take over manual control. Autoplay pauses when the tab hides and never starts under reduced motion.
Hero rotator

Slide 1 of 3
Hover halves + thumbnails

Slide 1 of 2
An infinite drifting track that reacts to scroll velocity — fast scrolling speeds it up or throws it into reverse before it eases back to its base drift. Reduced motion shows a static single row.
The site’s opening move: a dark frame that counts itself up (or types a line or two), holds a beat, then slides away and unmounts. Reduced motion shows a brief static frame and still fires onDone.
Count variant
Ran once — replay
Contained for display — on a real site the overlay covers the viewport once, then slides away and unmounts.
Typed variant
Ran once — replay
Contained for display — on a real site the overlay covers the viewport once, then slides away and unmounts.
A black-dip page transition for full-page navigations: internal link clicks fade the viewport to near-black over 350ms, navigate, and the destination lifts the veil on the entry curve. It is not mounted here — with a client router, intercepted links become full loads, so reserve it for MPA-style sites or opt router links out.
// Site-level, render once (MPA-style navigations):
<PageFade />
// Opt a link out:
<a data-page-fade="off" href="/lorem">Ipsum</a>