/* The film carries the movement. Type and shopping controls remain steady. */
.film-opening{padding:24px var(--page-pad) 0;background:var(--cream)}
.film-stage{position:relative;isolation:isolate;overflow:hidden;background:#b9ac90;height:clamp(440px,calc(100svh - 215px),760px);max-width:1720px;margin:auto}
.film-stage>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.film-stage:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(24,19,14,.73));z-index:0;pointer-events:none}
.film-copy{position:absolute;z-index:1;bottom:42px;left:clamp(24px,4vw,64px);right:24px;color:var(--cream);max-width:790px}
.film-copy .eyebrow{font-size:16px;letter-spacing:.13em;margin-bottom:18px}
.film-copy h1{font:300 clamp(38px,4.6vw,70px)/1.1 var(--display);letter-spacing:-.025em;margin:0 0 28px;color:inherit}
.film-copy .button-row{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px;margin:0}
.film-copy .btn{background:var(--cream);border-color:var(--cream);color:var(--brown)}
.film-copy .text-link{color:var(--cream)}
.film-copy .btn:hover{background:#fffaf0}
.film-copy :focus-visible,.film-stage>button:focus-visible{outline:2px solid #fff;outline-offset:6px}
.film-stage>button{position:absolute;z-index:2;right:24px;top:24px;min-height:44px;padding:9px 16px;background:#201a13b8;color:#fffaf0;border:1px solid #fff8;font-size:16px;line-height:1.5}
.film-stage>button:disabled{opacity:1;cursor:default}
.film-stage>button[hidden]{display:none}
.film-under{max-width:1720px;margin:auto;padding:22px 0 26px;display:flex;justify-content:space-between;gap:18px 40px;align-items:center;border-bottom:1px solid var(--rule)}
.film-under p{font-size:20px;line-height:1.6;max-width:650px}.film-under button{font-size:16px;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-align:left}
.film-opening+.daily-edit{padding-top:58px}
.film-screening{padding:55px var(--page-pad) 45px;max-width:1540px;margin:auto}
.film-screening>p.eyebrow{margin-bottom:20px}.film-screening h1{font:300 clamp(38px,4vw,62px)/1.12 var(--display);margin-bottom:24px}
.film-screening>p{font-size:20px;max-width:850px}.film-screening video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#211c14;margin:35px 0 20px}
.film-screening .film-caption{font-size:16px;color:var(--muted)}
.film-screening .button-row{display:flex;gap:18px 30px;flex-wrap:wrap;align-items:center;margin-top:28px}
.film-direction{padding:36px var(--page-pad) 75px;max-width:1540px;margin:auto}
.film-direction h2{font:300 clamp(30px,3vw,46px)/1.2 var(--display);margin:25px 0}.film-direction>p{font-size:20px;max-width:900px}
.film-beats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:32px}
.film-beat img{width:100%;aspect-ratio:16/9;object-fit:cover}.film-beat h3{font:300 28px/1.25 var(--display);margin:20px 0 12px}.film-beat p{font-size:20px}.film-beat .eyebrow{font-size:16px;margin-top:20px}
.film-direction details{margin-top:28px;border-top:1px solid var(--rule);padding:20px 0}.film-direction summary{font-size:20px}.film-direction details p{margin-top:18px;font-size:20px;max-width:950px}
@media(max-width:700px){
 .film-opening{padding:0}.film-stage{height:auto;overflow:visible;isolation:auto;background:var(--cream);display:flex;flex-direction:column}
 .film-stage>video{position:relative;inset:auto;aspect-ratio:4/3;height:auto;object-fit:cover;background:#b9ac90}
 .film-stage:after{display:none}.film-copy{position:static;padding:30px 24px 20px;max-width:none;color:var(--brown)}
 .film-copy .eyebrow{margin-bottom:16px}.film-copy h1{font-size:clamp(35px,8vw,48px);line-height:1.13;margin-bottom:24px}
 .film-copy .btn{background:var(--green-ink);color:var(--cream);border-color:var(--green-ink)}.film-copy .text-link{color:var(--brown)}
 .film-copy :focus-visible{outline-color:var(--brown)}.film-stage>button{top:16px;right:16px}
 .film-under{margin:0 24px;padding:0 0 24px;flex-direction:column;align-items:flex-start;gap:12px}.film-under p{font-size:20px}
 .film-beats{grid-template-columns:1fr;gap:32px}.film-screening{padding-top:35px}.film-screening video{margin-top:28px}.film-direction{padding-top:10px}
}
