html{scrollbar-gutter:stable}
html.intro-pending:before{content:'';position:fixed;inset:0;z-index:90;background:var(--navy);pointer-events:none}
html.intro-running{overflow:hidden}
.opening[hidden]{display:none!important}
.opening{position:fixed;inset:0;z-index:100;color:var(--light);isolation:isolate}
.opening-stage{position:absolute;inset:0;background:var(--navy);overflow:hidden;will-change:clip-path,opacity}
.opening-image{position:absolute;left:0;top:0;width:1102px;height:1427px;max-width:none;transform-origin:0 0;will-change:transform}
.opening-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#07111cea 0%,#07111c55 34%,#07111c05 64%,#07111caa 100%);pointer-events:none}
.intro-settling .opening-vignette{opacity:0;transition:opacity 1s}
.opening-target-mask{position:absolute;opacity:0;pointer-events:none}
.opening-brand{position:absolute;top:29%;left:50%;transform:translate(-50%,-50%);width:90%;text-align:center;pointer-events:none;will-change:opacity}
.opening-symbol{margin:0 auto 17px;width:58px;height:73px;color:var(--gold)}
.opening-symbol path{stroke-dasharray:240;stroke-dashoffset:240}
.opening-play .opening-symbol path{animation:opening-line 1.15s cubic-bezier(.2,.55,.4,1) forwards}
.opening-play .opening-symbol path:nth-child(2){animation-delay:.12s}
.opening-play .opening-symbol path:nth-child(3){animation-delay:.24s}
.opening-name{font:clamp(54px,7vw,96px)/1.1 var(--serif);letter-spacing:.02em;margin:0;color:var(--light);opacity:0}
.opening-tagline{font:11px/1.5 var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:17px 0 0;opacity:0}
.opening-play .opening-name{animation:opening-words .9s .16s both}
.opening-play .opening-tagline{animation:opening-words .8s .36s both}
.opening-skip{position:absolute;right:max(28px,env(safe-area-inset-right));top:max(26px,env(safe-area-inset-top));color:var(--gold);background:#07111c80;border:1px solid #d8b57555;padding:10px 15px;font-size:12px;min-height:44px;cursor:pointer}
.opening-skip:hover{background:#07111c;border-color:var(--gold)}
.opening-caption{position:absolute;bottom:max(27px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:var(--gold);font-size:10px;letter-spacing:.2em;text-transform:uppercase;pointer-events:none}
.intro-settling .opening-caption{opacity:0;transition:opacity .3s}
.intro-running .header,.intro-running .hero-copy{opacity:0}
.intro-running.intro-settling .header{animation:opening-hero .6s .12s both}
.intro-running.intro-settling .hero-copy{animation:opening-hero .8s .3s both}
.opening-replay{display:inline-flex;gap:9px;align-items:center;min-height:44px;margin-top:8px;background:none;border:0;padding:4px 0;color:var(--gold);font-size:11px}
.opening-replay:hover{color:#f0d49d}
.opening-replay[hidden]{display:none}
@keyframes opening-line{to{stroke-dashoffset:0}}
@keyframes opening-words{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes opening-hero{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.opening-brand{top:30%}.opening-symbol{width:43px;height:57px;margin-bottom:15px}.opening-tagline{font-size:10px;letter-spacing:.18em}.opening-skip{font-size:11px;right:20px;top:max(20px,env(safe-area-inset-top))}.opening-caption{font-size:9px;letter-spacing:.13em}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}.intro-running .header,.intro-running .hero-copy{opacity:1!important;animation:none!important}.opening-replay{display:none!important}}
