/**
 * 9Ball · primeira dobra cinematográfica.
 * Seção filmada real: poster rápido, vídeo como fundo, copy editorial acessível.
 * Prevalece também quando o visitante seleciona o tema claro.
 */
.hero.hero--film {
  position: relative;
  display: flex;
  align-items: center;
  isolation: isolate;
  min-height: max(800px, calc(100svh - 37px));
  padding: clamp(176px, 18vh, 240px) var(--space) 138px;
  color: #f7f7f7;
  background: #040404;
  overflow: hidden;
}
.hero--film .hero-stage { display: none !important; }
.hero--film .hero-film {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  overflow: hidden;
  background: #040404 url("assets/hero-9ball-poster-desktop.jpg?v=20261114-124019-loop") center / cover no-repeat;
}
.hero--film .hero-film__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1.05s ease;
}
.hero--film .hero-film.is-ready .hero-film__video { opacity: 1; }
.hero--film::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.81) 24%, rgba(0,0,0,.46) 43%, rgba(0,0,0,.14) 76%, rgba(0,0,0,.10) 100%),
    linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.13) 26%, transparent 52%, rgba(0,0,0,.17) 100%);
}
.hero--film .hero-content {
  position: relative;
  z-index: 2;
  width: min(660px, 55vw);
  flex: none;
  text-wrap: balance;
  padding-bottom: 24px;
}
.hero--film .hero-content .eyebrow {
  color: #ffd000 !important;
  font-size: 10px;
  letter-spacing: .24em;
}
.hero--film .hero-content .small-line { background: #ffd000; }
.hero--film h1 {
  max-width: 660px;
  color: #fff !important;
  font-size: clamp(58px, 5.7vw, 104px);
  line-height: 1.015;
  font-weight: 500;
  letter-spacing: -.067em;
  text-shadow: 0 5px 38px rgba(0,0,0,.22);
}
.hero--film .hero-description {
  max-width: 440px;
  color: rgba(255,255,255,.87) !important;
  font-size: clamp(13px, 1.08vw, 16px);
  line-height: 1.82;
  margin: 31px 0;
  text-wrap: pretty;
}
.hero--film .hero-footnote {
  color: #e7e2db !important;
  font-size: 9px;
  letter-spacing: .10em;
  margin-top: 26px;
}
.hero--film .hero-bottom {
  z-index: 2;
  color: #c2c2c2 !important;
  border-color: rgba(255,255,255,.29);
}
.hero--film .hero-bottom a { color: #f6f6f6 !important; }
@media (min-width: 1700px) {
  .hero.hero--film { min-height: max(900px, calc(100svh - 37px)); }
}
@media (max-width: 1100px) {
  .hero.hero--film { padding-top: 155px; }
  .hero--film .hero-content { width: min(610px, 63vw); }
  .hero--film h1 { font-size: clamp(56px, 6.3vw, 80px); }
}
@media (max-width: 767px) {
  .hero.hero--film {
    min-height: max(750px, calc(100svh - 30px));
    padding: 132px 24px 124px;
    align-items: flex-start;
  }
  .hero--film .hero-film {
    background-image: url("assets/hero-9ball-poster-mobile.jpg?v=20261114-124019-loop");
    background-position: center;
  }
  .hero--film .hero-film__video { object-position: center 49%; }
  .hero--film::before {
    background:
      linear-gradient(180deg, rgba(0,0,0,.81) 0%, rgba(0,0,0,.72) 24%, rgba(0,0,0,.48) 44%, rgba(0,0,0,.07) 72%, rgba(0,0,0,.76) 100%),
      linear-gradient(90deg, rgba(0,0,0,.35), transparent 78%);
  }
  .hero--film .hero-content {
    width: 100%;
    max-width: 500px;
    padding: 0;
  }
  .hero--film .hero-content .eyebrow { font-size: 9px; margin-bottom: 19px; }
  .hero--film h1 {
    max-width: 460px;
    font-size: clamp(46px, 11.5vw, 68px);
    line-height: 1.025;
  }
  .hero--film .hero-description {
    max-width: 340px;
    font-size: 12px;
    line-height: 1.75;
    margin: 22px 0 24px;
  }
  .hero--film .hero-footnote { font-size: 8px; margin-top: 18px; }
  .hero--film .hero-bottom {
    left: 24px;
    right: 24px;
    bottom: 20px;
    padding-top: 17px;
  }
  .hero--film .hero-bottom a { margin: 0 auto 0 0; }
}
@media (max-width: 370px) {
  .hero--film h1 { font-size: 44px; }
}
