/* Atmospheric orbital motion, page entrances, and quiet interaction feedback. */
.site-header .brand{animation:brand-arrive .8s cubic-bezier(.2,.8,.2,1) both}
.site-header .nav{animation:nav-arrive .85s .12s cubic-bezier(.2,.8,.2,1) both}
.site-header>.button{animation:button-arrive .75s .2s cubic-bezier(.2,.8,.2,1) both}
.hero-copy{animation:copy-arrive 1s .12s cubic-bezier(.2,.8,.2,1) both}
.hero-art{animation:art-arrive 1.2s .15s cubic-bezier(.2,.8,.2,1) both}
.hero-art .orbital-one{animation:orbit-one 30s linear infinite}
.hero-art .orbital-two{animation:orbit-two 42s linear infinite reverse}
.hero-art .orbital-three{animation:orbit-three 58s linear infinite}
.hero-art .core{animation:core-breathe 5s ease-in-out infinite}
.hero-art .orbit-node{animation:node-float 4.5s ease-in-out infinite}
.hero-art .node-b{animation-delay:-1.5s}.hero-art .node-c{animation-delay:-3s}
.hero-video{animation:video-arrive 1.5s ease-out both}
.hero-grid{animation:grid-drift 45s linear infinite}
.pulse{animation:pulse-glow 2.4s ease-in-out infinite}
.button,.amount-option{transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .25s,border-color .25s,color .25s,box-shadow .28s}
.button:hover{transform:translateY(-3px);box-shadow:0 9px 28px rgba(0,0,0,.2)}
.button-primary:hover{box-shadow:0 8px 30px rgba(198,243,107,.15)}
.text-link{transition:color .2s,transform .25s}.text-link:hover{transform:translateX(4px)}
.nav a{position:relative;transition:color .2s}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--lime);transition:right .25s ease}
.nav a:hover:after{right:0}
.principles article,.content-card,.flow-card,.destination-card,.roadmap-item{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,background-color .35s,box-shadow .35s}
.principles article:hover,.content-card:hover,.flow-card:hover,.destination-card:hover{transform:translateY(-5px);border-color:rgba(198,243,107,.38);box-shadow:0 14px 38px rgba(0,0,0,.16)}
.roadmap-item:hover{padding-left:8px;border-color:rgba(198,243,107,.28)}
.destination-arrow{transition:transform .25s,color .25s}.destination-card:hover .destination-arrow{transform:translate(3px,-3px);color:var(--lime)}
.closing-mark{transition:transform .35s,border-color .35s,color .35s}.closing-mark:hover{transform:rotate(-8deg) scale(1.08);border-color:var(--lime);color:#fff}
.brand-mark{transition:border-color .25s,box-shadow .25s}.brand:hover .brand-mark{border-color:var(--cyan);box-shadow:0 0 16px rgba(98,223,207,.18)}
.core-art{animation:logo-glow 6s ease-in-out infinite}
.motion-reveal{opacity:0;transform:translateY(25px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0ms)}
.motion-reveal.is-visible{opacity:1;transform:translateY(0)}
.page-hero>.eyebrow{animation:copy-arrive .65s .05s both}.page-hero h1{animation:copy-arrive .85s .14s both}.page-hero>p{animation:copy-arrive .9s .25s both}
@keyframes brand-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes nav-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes button-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes art-arrive{from{opacity:0}to{opacity:1}}
@keyframes video-arrive{from{opacity:0}to{opacity:.24}}
@keyframes orbit-one{from{transform:rotateX(63deg) rotateZ(-23deg)}to{transform:rotateX(63deg) rotateZ(337deg)}}
@keyframes orbit-two{from{transform:rotateX(63deg) rotateZ(35deg)}to{transform:rotateX(63deg) rotateZ(395deg)}}
@keyframes orbit-three{from{transform:rotateX(63deg) rotateZ(-4deg)}to{transform:rotateX(63deg) rotateZ(356deg)}}
@keyframes node-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes core-breathe{0%,100%{box-shadow:0 0 60px rgba(89,192,173,.14),inset 0 0 35px rgba(98,223,207,.09)}50%{box-shadow:0 0 78px rgba(89,192,173,.24),inset 0 0 45px rgba(98,223,207,.14)}}
@keyframes logo-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(98,223,207,0))}50%{filter:drop-shadow(0 0 7px rgba(98,223,207,.12))}}
@keyframes grid-drift{from{background-position:0 0,0 0}to{background-position:72px 72px,-72px -72px}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 8px rgba(198,243,107,.55)}50%{box-shadow:0 0 16px rgba(198,243,107,.95)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.motion-reveal{opacity:1;transform:none}.hero-video{animation:none;opacity:.24}}
