/* Native film compositions are preserved; copy never depends on a playback frame. */
.film-stage{position:relative;isolation:isolate;aspect-ratio:16/9;min-width:0;background:var(--field);overflow:hidden}
.film-fallback,.film-video{position:absolute;inset:0;display:block;width:100%;height:100%}
.film-fallback img{width:100%;height:100%;object-fit:contain;max-height:none}
.film-video{object-fit:contain;opacity:0;pointer-events:none;z-index:1}
.film-stage.is-video-visible .film-video{opacity:1}
.film-toggle{position:absolute;right:var(--gutter);bottom:25px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;min-width:130px;padding:10px 14px;border:1px solid #aeb2b6;background:var(--field);color:var(--ink);font-size:11px;font-weight:550;letter-spacing:.02em}
.film-toggle:hover{border-color:var(--ink);background:var(--paper)}
.film-control-mark{width:8px;height:11px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.film-stage:not([data-state="playing"]) .film-control-mark{width:0;height:0;border:5px solid transparent;border-left:8px solid currentColor;border-right:0}
.cinematic-hero{display:block;position:relative;padding:0;min-height:0;max-width:1920px;margin-inline:auto;overflow:hidden}
.cinematic-hero .hero-copy{position:absolute;top:clamp(28px,5.6vw,100px);left:var(--gutter);width:36.5%;padding:0;z-index:3}
.cinematic-hero h1{font-size:clamp(50px,6vw,108px);line-height:1;letter-spacing:-.065em}
.cinematic-hero .hero-copy>.eyebrow{margin-bottom:clamp(20px,2.2vw,38px)}
.cinematic-hero .hero-disciplines{font-size:clamp(14px,1.4vw,22px);margin-top:clamp(19px,2.1vw,35px)}
.cinematic-hero .hero-description{font-size:clamp(13px,1.05vw,17px);margin-block:12px 24px}
.cinematic-hero .hero-secondary{display:flex;width:max-content;margin:10px 0 0;gap:15px;font-size:11px}
.cinematic-hero .hero-baseline{position:relative;margin-inline:var(--gutter);min-height:68px;gap:22px}
.cinematic-hero .hero-baseline .eyebrow{font-size:9px}
.partner-section{max-width:1920px;margin-inline:auto;padding:46px var(--gutter) 66px;background:var(--field);overflow:hidden}
.partner-rail{display:flex;justify-content:space-between;gap:20px;padding-bottom:30px;border-bottom:1px solid var(--rule)}
.partner-rail .eyebrow{font-size:10px}
.partner-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:15px;align-items:center;margin-top:18px}
.partner-copy{position:relative;z-index:2;padding-block:42px}
.partner-copy h2{font-size:clamp(42px,4.8vw,78px);line-height:1.04;letter-spacing:-.055em}
.partner-copy>p{font-size:15px;color:var(--muted);max-width:330px;margin-block:25px 22px}
.partner-copy .text-link{font-size:13px}
.partner-layout .film-stage{margin-right:calc(-1 * var(--gutter))}
.partner-layout .film-toggle{right:var(--gutter);bottom:7px}
@media(min-width:1600px){.cinematic-hero .hero-copy{top:110px}.cinematic-hero .hero-secondary{display:inline-flex;margin:0 0 0 25px}}
@media(min-width:768px) and (max-width:1100px){.cinematic-hero .hero-copy{top:26px}.cinematic-hero .hero-copy>.eyebrow{font-size:9px;margin-bottom:17px}.cinematic-hero .hero-description{margin-block:8px 16px}.cinematic-hero .hero-copy>.button{min-height:46px;font-size:12px;padding:12px 15px;gap:25px}.cinematic-hero .hero-secondary{margin-top:4px;padding-block:8px}.partner-copy>p{font-size:13px}.partner-copy h2{font-size:43px}.film-toggle{bottom:16px;right:22px}}
@media(max-width:767px){
  .film-stage{aspect-ratio:9/16}
  .film-fallback img,.film-video{object-fit:contain}
  .cinematic-hero .hero-copy{position:relative;top:auto;left:auto;width:auto;padding:40px var(--gutter) 0}
  .cinematic-hero h1{font-size:clamp(55px,13.5vw,92px);max-width:620px}
  .cinematic-hero h1 span{white-space:normal}
  .cinematic-hero .hero-copy>.eyebrow{font-size:9px;margin-bottom:22px}
  .cinematic-hero .hero-disciplines{font-size:17px;margin-top:23px}
  .cinematic-hero .hero-description{font-size:14px;margin-block:12px 24px}
  .cinematic-hero .hero-copy>.button{min-height:50px;font-size:13px}
  .cinematic-hero .hero-secondary{display:inline-flex;margin:0 0 0 20px;padding-block:15px}
  .cinematic-hero .film-stage{max-width:520px;margin:0 auto}
  .cinematic-hero .hero-baseline{min-height:65px;gap:20px}
  .cinematic-hero .hero-baseline>.eyebrow{max-width:155px;font-size:8px}
  .cinematic-hero .hero-baseline>span:nth-child(2){display:none}
  .cinematic-hero .hero-baseline>a{font-size:8px}
  .film-toggle{right:var(--gutter);bottom:20px;min-width:125px}
  .partner-section{padding:34px var(--gutter) 0}
  .partner-rail{padding-bottom:22px}.partner-rail .eyebrow{font-size:8px}
  .partner-layout{display:block;margin-top:0}
  .partner-copy{padding:35px 0 0}
  .partner-copy h2{font-size:clamp(43px,11vw,70px)}
  .partner-copy>p{font-size:14px;max-width:460px;margin-block:23px 18px}
  .partner-layout .film-stage{margin:0 calc(-1 * var(--gutter));max-width:520px}
  .partner-layout .film-toggle{bottom:24px}
}
@media(max-width:360px){.cinematic-hero .hero-secondary{display:flex;margin:5px 0 0}.cinematic-hero .hero-disciplines{font-size:15px}}

/* Reuse the portrait film's blank headroom behind copy; keep the full image uncropped. */
@media(max-width:767px){.cinematic-hero .film-stage{margin-top:calc(min(100vw,520px) * -.5)}}
@media(max-width:767px){.partner-layout .film-stage{width:min(100vw,520px);left:50%;transform:translateX(-50%);margin:calc(min(100vw,520px) * -.15) 0 0}}
