/* Homepage opening sequence. Hidden markup keeps the site usable without JS. */
html.intro-active{overflow:hidden}
.brand-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:32px;background:#080c11;color:#f5f7fa;isolation:isolate;transition:transform .8s cubic-bezier(.76,0,.24,1),opacity .65s ease;will-change:transform,opacity}
.brand-intro::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#ff792e,transparent);opacity:.5}
.intro-identity{text-align:center;width:min(850px,100%);margin-top:-30px}
.intro-logo{opacity:0;animation:intro-logo-in .7s ease .1s forwards}
.intro-logo img{width:clamp(120px,17vw,190px);height:auto;margin:0 auto 6px}
.intro-wordmark{display:block;font-size:clamp(1rem,2.1vw,1.4rem);font-weight:650;letter-spacing:.26em;padding-left:.26em}
.intro-tagline{margin:35px auto 0;max-width:780px;font-size:clamp(1.3rem,3.5vw,2.65rem);font-weight:400;line-height:1.35;letter-spacing:-.025em;overflow:hidden}
.intro-tagline span{display:block;opacity:0;transform:translateY(110%);animation:intro-type-in .85s cubic-bezier(.22,1,.36,1) .75s forwards}
.intro-rule{height:1px;width:90px;background:#ff792e;margin:32px auto 0;transform:scaleX(0);transform-origin:left;animation:intro-rule-in 1s cubic-bezier(.22,1,.36,1) 1s forwards}
.intro-skip{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));right:clamp(24px,5vw,80px);background:transparent;border:1px solid #44515f;border-radius:4px;color:#bdc7d2;padding:10px 16px;font-size:.875rem;letter-spacing:.02em}
.intro-skip:hover{color:#fff;border-color:#ff792e}.intro-skip:focus-visible{outline:3px solid #ff792e;outline-offset:5px}
.brand-intro.is-leaving{transform:translateY(-100%);opacity:0;pointer-events:none}
.intro-revealing .landing-copy h1,.intro-revealing .landing-copy>.eyebrow,.intro-revealing .landing-copy>p,.intro-revealing .landing-copy>.actions{animation:intro-hero-in .9s cubic-bezier(.22,1,.36,1) .25s both}
.intro-revealing .landing-copy>p{animation-delay:.38s}.intro-revealing .landing-copy>.actions{animation-delay:.46s}
@keyframes intro-logo-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes intro-type-in{to{opacity:1;transform:none}}
@keyframes intro-rule-in{to{transform:scaleX(1)}}
@keyframes intro-hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:600px){.intro-tagline{max-width:340px}.intro-identity{margin-top:-50px}.intro-wordmark{letter-spacing:.19em}.intro-skip{bottom:28px}}
@media(prefers-reduced-motion:reduce){.intro-logo,.intro-tagline span,.intro-rule{animation:none;opacity:1;transform:none}.brand-intro{transition:opacity .15s linear}.brand-intro.is-leaving{transform:none}.intro-revealing .landing-copy>*{animation:none!important}}
