.intro{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;transition:opacity .6s var(--ease);cursor:pointer}
.intro::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 45%,#0B2C3B 0%,var(--bg) 72%);opacity:.9}
.intro-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:0 24px}
.intro-logo{width:72px;height:72px;border-radius:20px;opacity:0;transform:scale(.5) rotate(-12deg);animation:introLogo .9s var(--ease) .15s forwards;box-shadow:0 20px 50px -14px #fca80066}
.intro-eyebrow{margin:0;font:600 12px/1.5 'DM Sans',sans-serif;color:var(--gold);letter-spacing:.34em;text-transform:uppercase;opacity:0;animation:introFadeUp .6s var(--ease) .4s forwards}
.intro-text{display:flex;flex-direction:column}
.intro-line{margin:0;font:900 italic clamp(2.1rem,8vw,4.2rem)/1.02 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.02em;color:var(--white)}
.intro-line-1{opacity:0;transform:translateY(18px);animation:introFadeUp .7s var(--ease) .6s forwards}
.intro-line-2{color:var(--amber);clip-path:inset(0 100% 0 0);animation:introWipe .8s cubic-bezier(.65,0,.35,1) 1s forwards}
.intro.is-done{opacity:0;pointer-events:none}
body.intro-active{overflow:hidden}
@keyframes introLogo{to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes introFadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes introWipe{to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.intro,.intro-logo,.intro-eyebrow,.intro-line-1,.intro-line-2{animation:none;opacity:1;transform:none;clip-path:none}}
