/* Motion is progressive enhancement. All content remains visible without JS. */
.hero h1 .hero-line{display:block;overflow:hidden;color:inherit;padding-bottom:.09em;margin-bottom:-.09em}
.hero h1 .hero-word{display:inline-block;color:inherit;transform-origin:0 100%}
.hero h1 .hero-line:last-child .hero-word{color:var(--accent)}
.motion-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid #3b4c30;border-radius:4px;padding:7px 10px;background:transparent;color:#afbd9f;font:12px/1.4 var(--mono);white-space:nowrap}
.motion-toggle[hidden]{display:none}.motion-toggle:hover{color:var(--accent);border-color:var(--accent)}
.motion-state-icon{width:8px;height:9px;border-inline:2px solid currentColor}
.motion-toggle[aria-pressed=true] .motion-state-icon{height:8px;border:1px solid currentColor}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:100;pointer-events:none;background:var(--accent);transform:scaleX(0);transform-origin:left;box-shadow:0 0 10px #c2f97066}
.tool-card,.contact-card,.code-panel{position:relative;isolation:isolate}
.tool-card::after,.contact-card::after,.code-panel::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(400px circle at var(--pointer-x,50%) var(--pointer-y,50%),#c2f97012,transparent 65%);transition:opacity .4s}
.tool-card:focus-visible::after,.contact-card:focus-visible::after,.code-panel:focus-within::after{opacity:1}
.motion-on .hero-copy>.eyebrow{animation:motion-enter .8s both}
.motion-on .hero-word{animation:headline-enter 1.05s cubic-bezier(.2,.8,.15,1) both}
.motion-on .hero-line:nth-child(2) .hero-word{animation-delay:.12s}
.motion-on .hero-line:nth-child(3) .hero-word{animation-delay:.24s}
.motion-on .hero-description{animation:motion-enter .85s .38s both}
.motion-on .hero-detail{animation:motion-enter .85s .46s both}
.motion-on .hero-actions{animation:motion-enter .85s .54s both}
.motion-on .hero-footnote{animation:motion-enter .85s .62s both}
.motion-on .hero-visual{animation:diagram-enter 1.1s .24s both}
.motion-on .flow-highlight{stroke-width:2;stroke-dasharray:14 78;animation:signal-flow 2.6s linear infinite;filter:drop-shadow(0 0 4px #c2f97080)}
.motion-on .orbit-dashed{stroke-dasharray:3 13;stroke-width:1;opacity:.8;animation:orbit 35s linear infinite}
.motion-on .core-node{animation:core-breathe 4s ease-in-out infinite}
.motion-on .signal-node{animation:signal-arrive 4s ease-in-out infinite}
.motion-on .signal-two{animation-delay:.45s}.motion-on .signal-three{animation-delay:.9s}
.motion-on .output-node .node-square{animation:output-arrive 4s 1.5s ease-in-out infinite}
.motion-on .output-two .node-square{animation-delay:1.8s}
.motion-on .pipeline-diagram::after{content:"";position:absolute;left:50%;top:54%;width:38%;aspect-ratio:1;border:1px solid #c2f97066;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);animation:core-ring 4s ease-out infinite}
.motion-on .hero .tiny-cross{animation:cross-turn 8s cubic-bezier(.65,0,.35,1) infinite}
.motion-on .reveal-pending{opacity:0;translate:0 26px}
.motion-on .reveal-item{transition:opacity .8s cubic-bezier(.2,.7,.2,1),translate .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-on .reveal-item.is-visible{opacity:1;translate:0 0}
.motion-on .tool-card{transition:opacity .8s,translate .8s,transform .3s,border-color .3s,background .3s;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0s,0s,0s}
.motion-on .tool-card .tool-glyph{transition:transform .35s,color .35s}
.motion-on .tool-card:hover .tool-glyph,.motion-on .tool-card:focus-visible .tool-glyph{transform:translateY(-3px) rotate(-5deg);color:#e0ffb7}
.motion-on .button-primary>span{transition:transform .35s}.motion-on .button-primary:hover>span{transform:rotate(90deg)}
.motion-on .repo-list>a{transition:padding .3s,color .3s}.motion-on .repo-list>a:hover{padding-inline:8px}
.motion-on .mission-steps article::before{transition:box-shadow .3s,scale .3s}.motion-on .mission-steps article:hover::before{box-shadow:0 0 18px #c2f97099;scale:1.6}
.motion-on .faq-items details[open]>div{animation:motion-enter .35s both}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-paused .reveal-item{opacity:1;translate:none}
.motion-paused .reading-progress{display:none}
.page-inactive *,.page-inactive *::before,.page-inactive *::after,.pipeline-paused .pipeline-diagram *,.pipeline-paused .pipeline-diagram::after{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){.motion-on .tool-card:hover{transform:translateY(-5px)}.motion-on .tool-card:hover::after,.motion-on .contact-card:hover::after,.motion-on .code-panel:hover::after{opacity:1}}
@keyframes headline-enter{from{opacity:0;transform:translateY(110%) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes motion-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes diagram-enter{from{opacity:0;transform:translateY(26px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes signal-flow{to{stroke-dashoffset:-184}}
@keyframes core-breathe{0%,100%{transform:scale(1);box-shadow:0 0 36px #c2f97014}50%{transform:scale(1.025);box-shadow:0 0 65px #c2f97040}}
@keyframes signal-arrive{0%,65%,100%{border-color:#28312a;color:#b5c0b1;box-shadow:0 0 0 transparent}25%{border-color:#85ae50;color:#d6fba4;box-shadow:0 0 22px #c2f97010}}
@keyframes output-arrive{0%,100%{opacity:.45;box-shadow:none}40%{opacity:1;box-shadow:0 0 12px #c2f970}}
@keyframes core-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}15%{opacity:.6}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65)}}
@keyframes cross-turn{0%,40%{transform:rotate(0)}60%,100%{transform:rotate(180deg)}}
@media(prefers-reduced-motion:reduce){.hero-word,.hero-copy>*,.hero-visual,.pipeline-diagram *,.pipeline-diagram::after{animation:none!important}.reveal-item{opacity:1!important;translate:none!important;transition:none!important}.reading-progress{display:none}.tool-card::after,.contact-card::after,.code-panel::after{display:none}}
