.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body.intro-open{overflow:hidden}
.cinematic-intro{position:fixed;inset:0;z-index:200;overflow:hidden;background:#080e0e;color:#f6f1e5;isolation:isolate;opacity:1;transition:opacity .6s ease}
.cinematic-intro.is-closing{opacity:0;pointer-events:none}
.intro-stage{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.cinematic-intro[data-state=playing] .intro-stage,.cinematic-intro[data-state=still] .intro-stage{opacity:1}
.intro-scene{display:block;width:100%;height:100%;fill:none;stroke:none;overflow:hidden}
.intro-scene svg,.intro-scene image{max-width:none}
.intro-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,11,12,.6),transparent 26%,transparent 57%,rgba(4,11,12,.82)),linear-gradient(90deg,rgba(4,11,12,.15),transparent 30%,transparent 70%,rgba(4,11,12,.15))}
.intro-topline,.intro-bottomline{position:absolute;left:max(40px,env(safe-area-inset-left));right:max(40px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:2}
.intro-topline{top:max(22px,env(safe-area-inset-top))}
.intro-topline>p{margin:0;font-family:Georgia,serif;font-size:19px;letter-spacing:.5px;text-shadow:0 1px 15px #0008}
.intro-bottomline{bottom:max(26px,calc(16px + env(safe-area-inset-bottom)))}
.intro-film-label{font-size:10px;letter-spacing:4px;color:#e5d5ad;flex:1}
.intro-caption{position:absolute;left:7%;bottom:18%;display:flex;flex-direction:column;gap:7px;pointer-events:none;font-family:Georgia,serif;font-size:clamp(31px,4.2vw,66px);line-height:1.12;letter-spacing:-1.2px;text-shadow:0 2px 28px #0009}
.intro-caption span:last-child{color:#e4cb90}
.intro-wordmark{position:absolute;left:20px;right:20px;bottom:17%;text-align:center;pointer-events:none;opacity:0;transform:translateY(14px);text-shadow:0 3px 30px #000c}
.intro-gold-line{display:block;width:52px;height:1px;background:var(--gold);margin:0 auto 22px}
.intro-wordmark p{font-family:Georgia,serif;font-size:clamp(31px,5vw,72px);letter-spacing:2px;line-height:1.15;margin:0}
.intro-solutions{display:block;margin-top:13px;font-size:13px;letter-spacing:9px;color:#e4cb90;padding-left:9px}
.intro-wordmark small{display:block;font-size:12px;letter-spacing:1px;color:#e9e3d5;margin-top:24px}
.intro-progress-track{position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffffff17}
#intro-progress{height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
@media(max-width:640px){
 .intro-topline,.intro-bottomline{left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));gap:10px}
 .intro-topline{top:max(18px,env(safe-area-inset-top));align-items:flex-start}
 .intro-topline>p{max-width:150px;font-size:16px;line-height:1.5}
 .intro-bottomline{flex-wrap:wrap;bottom:max(22px,calc(12px + env(safe-area-inset-bottom)))}
 .intro-film-label{font-size:8px;letter-spacing:2px}
 .intro-caption{left:24px;bottom:18%;font-size:39px}
 .intro-wordmark{bottom:18%}
 .intro-wordmark p{font-size:clamp(28px,8vw,42px);letter-spacing:1px}
 .intro-solutions{font-size:11px;letter-spacing:7px;padding-left:7px}
 .intro-wordmark small{font-size:11px;letter-spacing:.5px}
}
@media(max-height:480px){.intro-caption{font-size:32px;bottom:23%}.intro-wordmark{bottom:22%}.intro-wordmark p{font-size:36px}.intro-gold-line{margin-bottom:10px}.intro-wordmark small{display:none}.intro-solutions{margin-top:8px}.intro-topline{top:10px}.intro-bottomline{bottom:10px}}
@media(prefers-reduced-motion:reduce){.cinematic-intro,.intro-stage{transition:none}.intro-wordmark{transform:none}}
