/* MOTION SYSTEM: reveal, orbit, signal, and native scroll */
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes breathe{0%,100%{transform:scale(.9) rotate(0);opacity:.6}50%{transform:scale(1.1) rotate(25deg);opacity:1}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes draw{0%{stroke-dashoffset:650}50%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:-650}}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes wave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
@keyframes menu-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes page-in{from{opacity:.3}to{opacity:1}}
main{animation:page-in .45s ease-out}.motion-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.motion-ready [data-reveal=clip]{transform:none;clip-path:inset(0 0 100%);transition:clip-path 1s var(--ease-out),opacity .8s}.motion-ready [data-reveal=scale]{transform:scale(.95);transition:transform 1s var(--ease-out),opacity .8s}.motion-ready [data-reveal].visible{opacity:1;transform:none;clip-path:inset(0)}.hero .line{animation:menu-in .9s var(--ease-out) both}.hero .line:nth-child(2){animation-delay:100ms}.hero .line:nth-child(3){animation-delay:180ms}.signal-flow{stroke-dasharray:6 12;animation:signal 15s linear infinite}@keyframes signal{to{stroke-dashoffset:-200}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-reveal]{opacity:1;transform:none;clip-path:none}.abstract .graph-line{stroke-dashoffset:0}.ecosystem{transform:none}.ambient{display:none}.marquee-track{transform:none}.process-track:after{transform:scaleX(1)}}
