@font-face { font-family: 'IBM Plex Sans'; src: url('assets/IBMPlexSans-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
/* Shared display face, also used by the hero. Body copy keeps Manrope. */
h1,h2,h3,h4,h5,h6 { font-family: 'IBM Plex Sans', Arial, sans-serif; font-weight: 400; }
.hero.hero-film { background: #080c0f; }
.hero-film .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: contrast(1.15) brightness(.72) saturate(.75);
  pointer-events: none;
}
.hero-film .hero-shade {
  background: linear-gradient(180deg,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.64) 30%,
    rgba(0,0,0,.64) 70%,
    rgba(0,0,0,.72) 100%);
}
.hero-film .hero-video-layout {
  position: absolute;
  inset: 0;
  height: 100svh;
  display: grid;
  place-items: center;
  padding: 90px var(--gutter);
  text-align: center;
  transform: translateY(var(--hero-text-pan, 0px));
}
.hero-video-layout::before { content: none; }
.hero-film .hero-video-layout h1 {
  font-family: 'IBM Plex Sans', Arial, sans-serif;
  margin: 0;
  max-width: none;
  font-size: clamp(36px, 4.6vw, 66px);
  line-height: 1.1;
  letter-spacing: -.035em;
  font-weight: 400;
  color: #fff;
  text-shadow: none;
}
.site-header.on-dark .wordmark { text-shadow: none; }
.hero-scroll {
  position: absolute;
  z-index: 6;
  top: calc(100svh - 76px);
  left: 50%;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  color: #fff;
  opacity: var(--hero-opacity, 1);
}
.hero-scroll svg { stroke: currentColor; stroke-width: 2.8; stroke-linecap: square; stroke-linejoin: miter; }
.hero-scroll:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; border-radius: 4px; }
.footer-signature { display: flex; align-items: center; gap: 18px; }
.footer-flags { display: inline-flex; align-items: center; gap: 9px; }
.footer-flags [role="img"] { display: inline-block; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 18px; line-height: 1.4; letter-spacing: 0; }
.film-credits-link { font-size: inherit; }
@media (max-width: 700px) {
  .hero-film .hero-video-layout h1 { font-size: clamp(27px, 7.5vw, 40px); line-height: 1.12; letter-spacing: -.035em; }
  .footer-signature { flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
}
@media (max-height: 480px) and (min-width: 701px) {
  .hero-film .hero-video-layout h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-film .hero-video-layout { transform: none; }
}

/* Compact introductory statement, retained when removing the deliverables ribbon. */
.manifesto{min-height:50svh;padding:70px var(--gutter);justify-content:center}
.manifesto>p{margin-top:36px;padding-top:0}
.manifesto .mission-mark{bottom:66px;width:32px}
@media(max-width:700px){
  .manifesto{min-height:50svh;padding:58px var(--gutter)}
  .manifesto>p{margin-top:30px;padding-top:0}
  .manifesto .mission-mark{width:24px;bottom:58px}
}
