/* Homepage entry film — full-screen, once per session, skippable. No external deps. */
html.fdw-intro-lock, html.fdw-intro-lock body{ overflow:hidden; height:100%; }
.fdw-intro{
  position:fixed; inset:0; z-index:9999; background:#000;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  transition:opacity .6s ease;
}
.fdw-intro.is-hidden{ opacity:0; pointer-events:none; }
.fdw-intro video{ width:100%; height:100%; object-fit:cover; display:block; background:#000; }
.fdw-intro-skip{
  position:absolute; top:20px; inset-inline-end:20px; z-index:2;
  font-family:var(--font-mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--on-dark); background:rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.32);
  padding:10px 18px; cursor:pointer; border-radius:2px;
}
.fdw-intro-skip:hover, .fdw-intro-skip:focus-visible{ border-color:var(--oxide); color:var(--oxide); outline:none; }
@media (max-width:640px){ .fdw-intro-skip{ padding:8px 14px; font-size:11px; } }
@media (prefers-reduced-motion: reduce){ .fdw-intro{ display:none !important; } }

/* "Watch the film" section, homepage */
.film-strip{ padding:0; background:var(--steel-dark,#14161a); }
.film-frame{ position:relative; aspect-ratio:16/9; width:100%; overflow:hidden; background:#000; }
.film-frame video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.film-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end;
  padding:32px; background:linear-gradient(0deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.05) 100%);
  transition:opacity .35s ease; pointer-events:none;
}
.film-frame.is-playing .film-overlay{ opacity:0; }
.film-overlay .eyebrow{ color:var(--oxide); }
.film-overlay h2{ color:var(--on-dark); font-size:clamp(24px,3.6vw,42px); max-width:22ch; margin:8px 0 6px; }
.film-overlay p{ color:var(--on-dark-muted); max-width:52ch; font-size:14.5px; margin:0 0 20px; }
.film-play{
  pointer-events:auto; display:inline-flex; align-items:center; gap:12px; align-self:flex-start;
  background:var(--oxide); color:#fff; border:none; padding:14px 22px; border-radius:999px; cursor:pointer;
  font-family:var(--font-mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase;
}
.film-play:hover{ background:var(--oxide-deep,#7C2812); }
.film-play svg{ width:18px; height:18px; }
.film-frame.is-playing .film-play{ display:none; }
