/* The film shares the opening's fade, leaving the cave camera unobstructed. */
.passage .passage-intro{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,2.6vw,40px);align-items:center;align-content:center;padding-block:80px 100px;width:100%;max-width:1500px;padding-inline:clamp(24px,4vw,64px)}
.passage-copy{min-width:0}
.passage .passage-intro h1{font-size:clamp(36px,4vw,60px);max-width:none}
.passage-copy>p:not(.eyebrow){margin-top:24px;max-width:30ch;font-size:16px;line-height:1.7;color:#e0e5df}
.passage .passage-intro:focus-within{opacity:var(--intro-opacity)!important;transform:translateY(var(--intro-y))!important}
.passage .passage-intro:has(.passage-copy :focus-visible){opacity:1!important;transform:none!important}
.hero-promo{position:relative;isolation:isolate;width:100%;min-width:0;margin:0;align-self:center;scroll-margin-top:120px;font-family:'Ashen Manrope',Arial,sans-serif}
.hero-promo .promo-frame{position:relative;aspect-ratio:16/9;background:transparent;border-radius:0;overflow:hidden;box-shadow:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 97%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.hero-promo::before{content:"";position:absolute;inset:-7% -5% -12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 62%,#24143399 20%,#24143355 49%,transparent 72%)}
.hero-promo video{display:block;width:100%;height:100%;object-fit:contain;background:#241433;border:0;color:#fff}
.hero-promo .promo-caption{margin-top:0;padding:8px 6% 0;border-radius:0;background:transparent;text-shadow:0 1px 5px #140c20,0 2px 12px #140c20}
.hero-promo .promo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.hero-promo #promo-description{color:#f8f4fc;font-size:13px;font-weight:700;line-height:1.5}
.hero-promo #promo-description span{display:block;color:#d1c3dd;font-size:11px;font-weight:400}
.hero-promo .promo-sound{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #b1e1cb66;border-radius:999px;background:#20372f99;backdrop-filter:blur(8px);color:#d7f8e9;font:700 12px/1.4 'Ashen Manrope',Arial,sans-serif;cursor:pointer;white-space:nowrap;transition:background 160ms}
.hero-promo .promo-sound:hover{background:#345c4de6}.hero-promo .promo-sound:active{transform:translateY(1px)}
.hero-promo .promo-credit{margin-top:10px;color:#cbbdd7;font-size:10px;line-height:1.5;max-width:none}
.hero-promo .promo-credit a,.hero-promo .promo-error a{text-decoration:underline;text-underline-offset:3px}
.hero-promo .promo-error{color:#f4ccd9;font-size:12px;margin-top:10px}
.hero-promo [hidden]{display:none!important}
.hero-promo :focus-visible{outline:3px solid #b1e1cb;outline-offset:3px}
@media(max-width:900px) and (min-width:701px){.passage .passage-intro{gap:24px;padding-inline:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.passage .passage-intro h1{font-size:36px}.hero-promo .promo-toolbar{flex-wrap:wrap;gap:8px}.passage .intro-actions{gap:16px}.passage .intro-actions .button{padding-inline:20px}}
@media(max-width:700px){
 .passage .passage-stage{height:max(100svh,740px);min-height:740px}
 .passage.is-interactive{height:calc(max(100svh,740px) + 80svh)}
 .passage .passage-intro{grid-template-columns:1fr;align-content:start;gap:26px;padding:64px 24px 28px}
 .passage .passage-intro h1{font-size:clamp(30px,8.4vw,44px);margin-top:14px}
 .passage-copy>p:not(.eyebrow){font-size:14px;margin-top:16px;line-height:1.6;max-width:32ch}
 .passage .intro-actions{margin-top:18px}.passage .intro-actions .button{min-height:44px}
 .hero-promo{max-width:520px;justify-self:center}.hero-promo .promo-frame{border-radius:0}
 .hero-promo .promo-caption{padding:8px 12px 0;margin-top:0}.hero-promo .promo-toolbar{gap:8px}
 .hero-promo .promo-sound{font-size:11px;padding-inline:10px}.hero-promo #promo-description{font-size:12px}
}
@media(max-width:359px){.passage .passage-intro{padding-inline:18px}.hero-promo .promo-toolbar{flex-wrap:wrap}}
