/* The curtains frame an opening into the artwork. No screen, rim or duplicate CTA. */
.cinema-track{height:260svh;background:#dcd9d3}
.cinema-stage{position:sticky;top:0;min-height:0;height:100svh;overflow:hidden;isolation:isolate;background:#dcd9d3;--cinema-reveal:1;--cinema-travel:0}
.cinema-stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .45s}
.cinema-stage[data-renderer="ready"] canvas{opacity:1}
.cinema-static{position:absolute;inset:0;overflow:hidden;pointer-events:none;transition:opacity .45s}
.cinema-stage[data-renderer="ready"] .cinema-static{opacity:0}
.cinema-stage[data-renderer="fallback"] .cinema-static{opacity:1}
.cinema-static-screen{position:absolute;inset:0;overflow:hidden}
.cinema-static-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
.cinema-static-near{position:absolute;inset:-7% -5%;width:110%;height:114%;object-fit:fill;max-width:none}
.cinema-stage:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 30%,#071c3200 47%,#07192d6b 76%,#07192da6);opacity:calc(.38 + var(--cinema-reveal)*.62)}
.cinema-caption{position:absolute;z-index:3;left:calc(15% - var(--cinema-travel)*7%);right:8%;bottom:calc(16% - var(--cinema-travel)*6%);display:block;max-width:620px;color:#fffdf4;opacity:var(--cinema-reveal);transform:translateY(calc((1 - var(--cinema-reveal))*18px));pointer-events:none}
.cinema-caption>div{margin:0}
.cinema-caption h3{color:inherit;font-family:var(--font-display);font-weight:300;font-size:clamp(52px,5.4vw,96px);line-height:.91;letter-spacing:-.035em;margin:0;text-wrap:balance;text-shadow:0 2px 25px #102b4926;max-width:none}
.cinema-caption p{color:#f5f3e8;font:400 clamp(12px,1vw,16px)/1.6 var(--font-text);max-width:36ch;margin:20px 0 25px;text-shadow:0 1px 10px #041a3a44}
.cinema-caption .cinema-open{pointer-events:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:52px;padding:15px 24px;margin:0;background:#f0f4f012;color:#fffdf4;border:1px solid #fffdf466;border-radius:50px;box-shadow:inset 0 1px #ffffff22;font:400 13px/1.25 var(--font-text);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);text-decoration:none;transition:background .25s,border-color .25s}
.cinema-open>span{font-size:24px;line-height:1;transition:transform .25s}
.cinema-open:hover{background:#f0f4f02b;border-color:#fffdf4aa}
.cinema-open:hover>span{transform:translate(3px,-3px)}
.cinema-open:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(max-width:1100px) and (min-width:801px){.cinema-caption h3{font-size:64px}.cinema-caption{max-width:460px}}
@media(max-width:800px){
 .cinema-track{height:220svh}
 .cinema-stage{min-height:0}
 .cinema-caption{left:9%;right:8%;bottom:10%;max-width:80%;transform:none;display:block}
 .cinema-caption h3{font-size:clamp(42px,11.7vw,66px);line-height:.95;max-width:none}
 .cinema-caption p{font-size:12px;max-width:28ch;margin:16px 0 21px;line-height:1.6}
 .cinema-caption .cinema-open{font-size:12px;gap:27px;min-height:48px;padding:13px 20px}
 .cinema-stage:after{background:linear-gradient(180deg,transparent 30%,#07192d1a 47%,#07192d80 72%,#07192dcc)}
 .cinema-static-screen img{object-position:65% 50%}
}
@media(prefers-reduced-motion:reduce){.cinema-track{height:auto}.cinema-stage{position:relative;height:100svh;--cinema-reveal:1;--cinema-travel:.5}.cinema-caption,.cinema-stage canvas,.cinema-static,.cinema-open,.cinema-open>span{transition:none}.cinema-open:hover>span{transform:none}}

.cinema-caption:focus-within{opacity:1;transform:none}
