/* Content is visible by default. Only JS-observed, offscreen content is staged. */
[data-reveal].reveal-ready{opacity:0;transform:translateY(22px);transition:opacity 750ms var(--ease),transform 850ms var(--ease)}[data-reveal].reveal-ready.is-visible{opacity:1;transform:none}.hero-copy{animation:hero-enter 1100ms var(--ease) both}.hero-media img{animation:hero-settle 1800ms var(--ease) both}.main-nav.is-open{animation:menu-enter 280ms var(--ease) both}.process.is-visible .step-node{animation:node-enter 600ms var(--ease) both}.process.is-visible li:nth-child(2) .step-node{animation-delay:100ms}.process.is-visible li:nth-child(3) .step-node{animation-delay:200ms}.process.is-visible li:nth-child(4) .step-node{animation-delay:300ms}.image-viewer[open]{animation:viewer-enter 220ms ease-out both}.image-viewer.changing .viewer-image{animation:image-enter 300ms var(--ease) both}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-settle{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes node-enter{from{transform:scale(.3)}to{transform:scale(1)}}@keyframes viewer-enter{from{opacity:0}to{opacity:1}}@keyframes image-enter{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
