/* The homepage stays usable when scripts or the intro image cannot load. */
#site-intro{display:none;position:fixed;inset:0;z-index:10000;background:#061d2a;overflow:hidden;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}
html.intro-active{overflow:hidden}
.intro-active #site-intro,.intro-reveal #site-intro{display:flex}
.intro-active #site-content{visibility:hidden}
.intro-glow{position:absolute;width:min(75vw,640px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#70bc2820,transparent 68%);opacity:0;transform:scale(.7)}
.intro-logo{position:relative;display:block;width:min(64vw,370px);height:auto;opacity:0;transform:scale(.88);will-change:transform,opacity}
.intro-line{position:absolute;top:calc(50% + min(24vw,155px));width:76px;height:2px;background:linear-gradient(90deg,transparent,#86d34a,transparent);opacity:0;transform:scaleX(0)}
.intro-running .intro-logo{animation:a2-logo-turn 1.9s cubic-bezier(.45,0,.18,1) both}
.intro-running .intro-glow{animation:a2-glow 1.9s ease-out both}
.intro-running .intro-line{animation:a2-line 1.9s ease both}
.intro-reveal #site-intro{animation:a2-curtain .8s cubic-bezier(.2,.7,.2,1) both}
.intro-reveal #site-content{animation:a2-page-in .9s cubic-bezier(.2,.7,.2,1) both}
.intro-reveal .hero-copy{animation:a2-copy-in 1s .12s cubic-bezier(.2,.7,.2,1) both}
@keyframes a2-logo-turn{0%{opacity:0;transform:scale(.88) rotate(0deg)}22%{opacity:1;transform:scale(1) rotate(0deg)}86%,100%{opacity:1;transform:scale(1) rotate(360deg)}}
@keyframes a2-glow{to{opacity:1;transform:scale(1)}}
@keyframes a2-line{25%{opacity:0;transform:scaleX(0)}70%,100%{opacity:1;transform:scaleX(1)}}
@keyframes a2-curtain{to{opacity:0;visibility:hidden}}
@keyframes a2-page-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes a2-copy-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html.intro-active{overflow:auto}.intro-active #site-content{visibility:visible}#site-intro{display:none!important}.intro-reveal #site-content,.intro-reveal .hero-copy{animation:none}}
