.launch-film { padding-block: clamp(3rem, 6vw, 5.5rem); background: var(--paper-bright); }
.launch-film__heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.launch-film h2 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; }
.launch-film__heading p { max-width: 48ch; color: var(--ink-soft); font: 400 1.0625rem/1.6 var(--sans); }
.launch-film__figure { margin: 0; }
.launch-film__screen { position: relative; aspect-ratio: 16 / 9; background: var(--night); }
.launch-film__poster, .launch-film__poster picture, .launch-film__poster img, .launch-film video { display: block; width: 100%; height: 100%; }
.launch-film__poster img { object-fit: cover; }
.launch-film video { aspect-ratio: 16 / 9; color-scheme: dark; }
.launch-film [hidden] { display: none; }
.launch-film__play { margin-top: .75rem; display: inline-flex; align-items: center; gap: .6rem; min-height: 2.75rem; padding: .65rem .875rem; border: 1px solid var(--gold-night); background: var(--night); color: var(--paper-bright); cursor: pointer; font: 600 .875rem/1.35 var(--sans); }
.launch-film__play:hover { background: #332b20; }
.launch-film :is(button, a, video):focus-visible { outline: 3px solid var(--gold-deep); outline-offset: 5px; }
.launch-film__play:focus-visible, .launch-film video:focus-visible { outline-color: var(--gold-night); }
.launch-film__status { font: 400 .9375rem/1.5 var(--sans); }
.launch-film__error { padding-block: 1rem; font: 400 1rem/1.6 var(--sans); }
.launch-film__error button { min-height: 44px; margin-right: 1rem; padding: .5rem 1rem; border: 1px solid var(--ink); background: var(--night); color: var(--paper-bright); font: inherit; cursor: pointer; }
.launch-film__error a, .launch-film__fallback a { text-underline-offset: .2em; }
.launch-film__fallback { padding-block: 1rem; font: 400 1rem/1.5 var(--sans); }
@media (max-width: 767px) {
  .launch-film__heading { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.5rem; }
  .launch-film__play { padding: .65rem .75rem; font-size: .8125rem; }
}
.hero__film-link { display: inline-flex; align-items: center; min-height: 44px; width: fit-content; color: var(--ink-soft); font: 400 .9375rem/1.5 var(--sans); text-underline-offset: .25em; }
.hero__film-link:hover { color: var(--ink); }
.hero__film-link:focus-visible, .launch-film:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 4px; }
