.ackIntro{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#030b10;color:#f8f2e9;overflow:hidden;opacity:1;transition:opacity .5s ease;z-index:2147483647}
.ackIntro::backdrop{background:#030b10}
.ackIntro video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.introVignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#030b10c9,transparent 36%,transparent 75%,#030b1077)}
.introBrand{position:absolute;left:5%;bottom:15%;right:5%;text-align:center;pointer-events:none;text-shadow:0 2px 14px #000}
.introBrand span{font:12px Arial,sans-serif;letter-spacing:4px;color:#e1c39c}
.introBrand h2{font:italic clamp(28px,4vw,52px) Georgia,serif;letter-spacing:0;margin:16px 0}
.introActions{position:absolute;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));left:20px;display:flex;justify-content:flex-end;gap:10px}
.introActions button{border:1px solid #bba17a;background:#061520e6;color:#fff3df;border-radius:30px;padding:13px 18px;min-height:46px;font:14px Arial,sans-serif;cursor:pointer}
.introActions button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.introProgress{position:absolute;left:5%;right:5%;bottom:max(24px,env(safe-area-inset-bottom));height:2px;background:#ffffff33}
.introProgress i{display:block;width:100%;height:100%;background:#e1c39c;transform:scaleX(0);transform-origin:left}
.ackIntro.introLeaving{opacity:0}
@media(prefers-reduced-motion:reduce){.ackIntro{transition:none}}

/* The finished scene docks into its exact contain-fit position in the header. */
.ackIntro::backdrop{background:transparent}
.ackIntro.introDocking video,.ackIntro.introDocking .introVignette,
.ackIntro.introDocking .introBrand,.ackIntro.introDocking .introActions,
.ackIntro.introDocking .introProgress{opacity:0;transition:opacity .3s ease}
