/* Photography fills the first screen behind the transparent navigation. */
.page-index .cinema-hero {
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; align-items:center;
  height:auto; min-height:720px; min-height:max(720px,100svh); max-height:none;
  padding:calc(96px + var(--header-height,100px)) 0 128px; background:#202525; color:#fff;
}
.cinema-image,.cinema-shade { position:absolute; inset:0; z-index:-2; }
.cinema-image .hero-scene { position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease; pointer-events:none; }
.cinema-image .hero-scene.is-active { opacity:1; }
.cinema-image .hero-scene img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(1.08); }
.cinema-image .hero-scene[data-scene="0"] img { object-position:center 50%; }
.cinema-image .hero-scene[data-scene="1"] img { object-position:center 52%; }
.cinema-image .hero-scene[data-scene="2"] img { object-position:center 46%; }
.cinema-image .hero-scene[data-scene="3"] img { object-position:center 52%; }
/* Keep the photography bright, with a little contrast only around the copy. */
.cinema-shade { z-index:-1; background:linear-gradient(180deg,rgba(18,23,25,.12) 0%,rgba(18,23,25,.24) 42%,rgba(18,23,25,.18) 66%,rgba(18,23,25,.04) 100%); }
.page-index .cinema-content { position:relative; padding:0; text-align:center; }
.page-index .cinema-hero h1,.page-index .cinema-content>p { text-shadow:0 2px 12px rgba(8,18,24,.48); }
.page-index .cinema-hero h1 {
  max-width:1160px; margin:0 auto 28px;
  font-family:var(--font-sans); font-weight:700; font-size:clamp(42px,4.6vw,72px);
  line-height:1.12; letter-spacing:-.02em; color:#fff; text-wrap:balance;
}
.page-index .cinema-content>p {
  max-width:60ch; margin:0 auto 36px;
  font-size:clamp(21px,1.75vw,28px); font-weight:600; line-height:1.55; color:#fff;
}
.cinema-actions { display:flex; justify-content:center; align-items:center; }
.page-index .cinema-actions .cinema-primary {
  display:inline-flex; justify-content:center; align-items:center;
  min-height:56px; max-width:100%; padding:15px 34px;
  border:1px solid #007d91; border-radius:0; background:#007d91; color:#fff;
  font-size:18px; line-height:1.4; font-weight:600;
  transition:background-color .25s,border-color .25s;
}
.page-index .cinema-actions .cinema-primary:hover { background:#006679; border-color:#006679; transform:none; }
.cinema-hero :focus-visible { outline:2px solid #fff; outline-offset:6px; }
.page-index .floating-contact { border-radius:50%; width:48px; height:48px; padding:12px; transition:opacity .25s,transform .25s; }
.page-index.hero-is-visible .floating-contact { opacity:0; pointer-events:none; transform:translateY(12px); }
@media(max-width:850px) {
  .page-index .cinema-hero { min-height:680px; min-height:max(680px,100svh); padding:calc(88px + var(--header-height,80px)) 0 112px; }
  .page-index .cinema-hero h1 { max-width:850px; font-size:clamp(38px,5.5vw,52px); }
  .page-index .cinema-content>p { font-size:21px; max-width:48ch; }
}
@media(max-width:600px) {
  .page-index .cinema-hero { min-height:640px; min-height:max(640px,100svh); padding:calc(72px + var(--header-height,80px)) 0 96px; }
  .page-index .cinema-hero h1 { max-width:430px; margin-bottom:24px; font-size:clamp(34px,8.8vw,46px); line-height:1.15; }
  .page-index .cinema-content>p { max-width:34ch; margin-bottom:30px; font-size:18px; line-height:1.6; }
  .page-index .cinema-content>p br { display:none; }
  .page-index .cinema-actions .cinema-primary { min-height:54px; padding:14px 28px; font-size:17px; }
  .cinema-image .hero-scene[data-scene="0"] img { object-position:72% center; }
  .cinema-image .hero-scene[data-scene="1"] img { object-position:85% center; }
  .cinema-image .hero-scene[data-scene="2"] img { object-position:68% center; }
  .cinema-image .hero-scene[data-scene="3"] img { object-position:72% center; }
  .cinema-shade { background:linear-gradient(180deg,rgba(18,23,25,.14) 0%,rgba(18,23,25,.34) 38%,rgba(18,23,25,.28) 68%,rgba(18,23,25,.08) 100%); }
  .page-index .floating-contact { width:44px; height:44px; padding:10px; right:16px; bottom:16px; }
}
@media(max-height:520px) and (orientation:landscape) {
  .page-index .cinema-hero { min-height:calc(420px + var(--header-height)); padding:calc(48px + var(--header-height)) 0 56px; }
}
@media(prefers-reduced-motion:reduce) {
  .cinema-image .hero-scene,.page-index .cinema-actions .cinema-primary,.page-index .floating-contact { transition:none; }
}
