/* Inline film: the surrounding page always remains scrollable and interactive. */
.opening-film{position:absolute;inset:0;width:100%;height:100%;z-index:5;overflow:hidden;background:#f8f9f6;isolation:isolate;opacity:1;border-radius:24px}
.opening-film.is-leaving{opacity:0;pointer-events:none}
.opening-poster,.opening-poster img,.opening-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.opening-video{opacity:0}.opening-film.has-frame .opening-video{opacity:1}
.opening-film.has-frame .opening-poster{visibility:hidden}
.opening-skip,.opening-pause{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 19px;background:#193e3de8;color:#fff;border:1px solid #ffffff80;border-radius:999px;font:17px/1.3 Arial,sans-serif;cursor:pointer;box-shadow:0 3px 20px #0001}
.opening-skip{top:max(25px,env(safe-area-inset-top));right:max(28px,env(safe-area-inset-right))}
.opening-pause{bottom:max(25px,env(safe-area-inset-bottom));left:max(28px,env(safe-area-inset-left))}
.opening-skip:hover,.opening-pause:hover{background:#0a6765}
.opening-film :focus-visible{outline:3px solid #fff;outline-offset:5px}
.opening-film:focus,.institute #hero-title:focus{outline:none}
.institute .landing-hero{background:#f8f9f6;padding:100px 0 95px;border-bottom:1px solid #d6ded7}
.landing-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:70px;align-items:center}
.institute .landing-copy h1{font-size:clamp(44px,4.5vw,80px);line-height:1.06;letter-spacing:-.05em;max-width:1060px;margin:0}
.landing-copy p{font-size:22px;line-height:1.6;margin:30px 0;max-width:560px;color:#49675f}
.landing-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center}
.opening-replay{font:18px/1.4 Arial,sans-serif;display:inline-flex;gap:11px;align-items:center;min-height:48px;padding:10px 0;background:none;border:0;border-bottom:1px solid #9ab1a7;color:#254d46;cursor:pointer}
.opening-replay span{font-size:25px}.opening-replay:hover{color:#087e7e}
.landing-identity{text-align:center;align-self:center}
.landing-identity img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.landing-identity span{font:italic 21px/1.4 Georgia,serif;display:block;color:#49675f;margin-top:20px}
.institute .landing-hero .cinema-eyebrow{font-size:14px;margin-bottom:28px;letter-spacing:.13em}
@media(max-width:1100px){.landing-layout{grid-template-columns:minmax(0,1fr) 190px;gap:35px}.institute .landing-hero{padding:80px 0}.institute .landing-copy h1{font-size:clamp(44px,5.6vw,66px)}.landing-identity span{font-size:19px}}
@media(max-width:760px){.landing-layout{grid-template-columns:1fr}.landing-identity{display:none}.institute .landing-hero{padding:65px 0}.institute .landing-copy h1{font-size:clamp(43px,8.8vw,62px)}.landing-copy p{font-size:21px}.opening-skip{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));font-size:16px}.opening-pause{bottom:max(20px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));font-size:16px}}
@media(max-width:620px){.institute .landing-hero{padding:48px 0 50px}.institute .landing-copy h1{font-size:clamp(38px,10.2vw,60px);line-height:1.1}.institute .landing-hero .cinema-eyebrow{font-size:12px;line-height:1.6;letter-spacing:.09em;margin-bottom:24px}.landing-copy p{margin:25px 0;font-size:20px}.landing-actions{gap:19px}.opening-replay{font-size:18px}.opening-pause,.opening-skip{min-height:48px;padding:11px 16px}}
@media(prefers-reduced-motion:reduce){.opening-film{transition:none}}

/* Keep the side-wall television inside the crop on taller mobile screens. */
@media(max-aspect-ratio:1/1){.opening-video,.opening-poster img{object-position:center}}
