Hero Video
Full-bleed bioluminescent jellyfish footage. Plays at 1.0× native speed — do not slow below 0.65× in browser (causes jitter).
preload="metadata" · autoplay muted loop
Section Videos
Lazy-load via IntersectionObserver at 5% threshold. Play/pause on enter/exit. Playback rate 0.65×.
preload="none" · 0.65× playbackRate
Rising Bubbles
CSS-only. 14 tiny glowing stars (2–5px), rising 35–70s cycles with horizontal sway. GPU-composited via transform only.
z-index: 89 · position: fixed
Scanline Shimmer
Fixed full-page overlay. Repeating 4px horizontal lines + a slow 14s sweeping accent glow. Uses transform not top.
z-index: 92 · 14s linear infinite
Ambient Pulse
CSS radial gradient on the Statement section. Slow 8s breathing scale + opacity cycle. Zero JS cost.
animation: ambientPulse 8s ease-in-out infinite
Reveal Animations
Elements enter with translateY(18px) → 0 + opacity 0 → 1. Staggered with rv-d1/d2/d3/d4 delay classes.
transition: 0.8s ease · delays: 0.15s increments
UI Transitions
Hover states use opacity shift (.85) or color lightening. No scale transforms on buttons. Borders fade in on card hover.
0.15s ease · opacity only
Video Overlays
Each video section has a bottom gradient fade to #000 (120px). Text blocks use rgba(0,0,0,.22) background over video.
::after gradient · no backdrop-filter
Hero Canvas
Bioluminescent particle animation on a canvas element. mix-blend-mode: screen at 55% opacity over video.
z-index: 2 · mix-blend-mode: screen