/* Product films share the public site's warm palette and native media controls. */
.hero{grid-template-columns:.9fr 1.1fr;gap:54px;padding-block:64px 72px}
.hero h1{font-size:clamp(58px,6.2vw,90px)}
.hero-description{font-size:16px;line-height:1.8;max-width:440px}
.hero-note a{text-decoration:underline;text-underline-offset:3px}
.hero-film{min-width:0;align-self:center}
.film-kicker{font-size:11px;font-weight:600;letter-spacing:.025em;margin-bottom:16px}
.promo-player{display:block;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 22px 45px -32px #30241f55}
.promo-player video,video.promo-player{display:block;width:100%;height:auto;background:#191b1a;object-fit:contain}
.overview-player video{aspect-ratio:16/9}
.overview-player figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:16px 18px}
.overview-player figcaption strong{font-family:var(--display);font-size:24px;font-weight:400;letter-spacing:-.035em}
.overview-player figcaption>span{font-size:11px;color:var(--muted)}
video:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.video-transcript{font-size:12px;color:var(--muted);margin-top:13px}
.video-transcript summary{display:list-item;cursor:pointer;min-height:34px;padding-block:6px;width:fit-content;max-width:100%;font-weight:550;color:var(--ink)}
.video-transcript summary:hover{color:var(--accent)}
.video-transcript p{padding:10px 0 5px;max-width:68ch;line-height:1.8}
.film-context{color:var(--muted);font-size:11px;line-height:1.65;margin-top:6px;max-width:480px}
.discipline-line{flex-wrap:wrap;gap:12px 30px}
.discipline-links{display:flex;align-items:center;flex-wrap:wrap;gap:6px 28px}
.discipline-links a{font-size:12px;min-height:38px;display:inline-flex;align-items:center}
.discipline-links a:hover{text-decoration:underline;text-underline-offset:5px}
.film-section{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;align-items:start;padding-bottom:30px}
.film-intro{padding-right:15px}
.film-intro h2{font-size:clamp(38px,3.5vw,52px)}
.film-intro>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);margin-top:24px;max-width:340px}
.film-intro>.text-link{margin-top:20px}
.short-film{min-width:0}
.short-film h3{font-size:15px;font-weight:620;line-height:1.4;margin-bottom:16px;min-height:42px;text-wrap:balance}
.short-film video{aspect-ratio:9/16;max-width:320px}
.film-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2px 12px;margin-top:12px}
.film-links a{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:9px;min-height:34px}
.film-links>span{font-size:10px;color:var(--muted)}
.short-film .video-transcript{margin-top:3px;font-size:11px}
.short-film .video-transcript p{font-size:12px}
.hero h1,.section-heading h2,.film-intro h2{text-wrap:balance}
[id]{scroll-margin-top:24px}
@media(max-width:1100px){
  .hero{gap:30px;padding-top:45px}
  .hero h1{font-size:68px}
  .hero-description{font-size:14px}
  .hero .actions{gap:18px}
  .film-section{gap:25px;grid-template-columns:1fr 1fr}
  .film-intro{grid-column:1/-1;max-width:700px;padding-right:0}
  .film-intro>p:not(.eyebrow){max-width:540px}
  .short-film{max-width:360px;width:100%;justify-self:center}
  .short-film video{max-width:none}
}
@media(max-width:800px){
  .hero{grid-template-columns:1fr;gap:42px;max-width:670px;padding-block:40px 55px}
  .hero h1{font-size:clamp(60px,10vw,84px)}
  .hero-description{font-size:15px;max-width:480px}
  .hero-film{width:100%}
  .discipline-line{gap:10px}
  .discipline-links{gap:3px 22px}
  .film-section{padding-bottom:10px;gap:28px}
}
@media(max-width:480px){
  .hero{padding-block:29px 42px;gap:30px}
  .hero h1{font-size:clamp(53px,14.4vw,67px)}
  .hero-description{font-size:14px;margin-top:23px}
  .hero .actions{gap:15px}
  .film-kicker{font-size:10px;line-height:1.6;margin-bottom:12px}
  .overview-player figcaption{padding:13px 14px;gap:5px 12px}
  .overview-player figcaption strong{font-size:22px}
  .overview-player figcaption>span{font-size:10px}
  .film-context{font-size:11px}
  .discipline-links{gap:2px 21px}
  .discipline-links a{font-size:11px}
  .editor-tabs [data-lab-tab]{gap:8px;padding-inline:9px;font-size:11px;flex:1;justify-content:space-between}
  .film-section{grid-template-columns:1fr;gap:34px}
  .film-intro h2{font-size:38px}
  .film-intro>p:not(.eyebrow){font-size:13px;margin-top:21px}
  .short-film{max-width:320px}
  .short-film h3{min-height:0;font-size:16px;margin-bottom:13px}
}
