/* Test-only cinematic layer for desktop and mobile home/film pages. */
:root {
  --cx-ink: #050403;
  --cx-night: #090807;
  --cx-ivory: #f6efe3;
  --cx-gold: #c8a96e;
  --cx-muted: rgba(246,239,227,0.62);
  --cx-rule: rgba(200,169,110,0.18);
}

body[data-desktop-test-page],
body:is([data-mobile-test-page], [data-mobile-live-page]) {
  background-color: var(--cx-ink);
}

.cinema-develop {
  position: fixed;
  inset: 0;
  z-index: 9997;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 38%, rgba(246,239,227,0.08), transparent 32%),
    #000;
  opacity: 0;
  animation: cxDevelop 1450ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.cinema-develop::after,
.cinema-grain::after,
.film-scroll-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.075;
  mix-blend-mode: screen;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.42'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}

@keyframes cxDevelop {
  0% { opacity: 1; filter: brightness(0); }
  46% { opacity: 0.92; filter: brightness(0.55) contrast(1.2); }
  100% { opacity: 0; filter: brightness(1); }
}

.hero-bg,
.hero-media,
.ph-video-wrap {
  background-color: #000;
}

.hero-bg .cinema-lcp-image,
.hero-media .cinema-lcp-image,
.ph-video-wrap .cinema-lcp-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.hero-bg .cinema-lcp-image {
  object-position: 50% 50%;
  filter: brightness(0.78) saturate(0.86);
}

.hero-media .cinema-lcp-image {
  object-position: 64.4% 49.4%;
  filter: brightness(0.78) contrast(1.08) saturate(0.98);
  transform: scale(1.065);
}

.ph-video-wrap .ph-poster-lcp {
  z-index: 2;
  filter: grayscale(1) contrast(1.08) brightness(0.62);
  animation: cxPosterFade 1800ms cubic-bezier(0.22, 1, 0.36, 1) 420ms forwards;
}

.ph-video-wrap video {
  z-index: 1;
}

@keyframes cxPosterFade {
  to { opacity: 0; }
}

.studio-manifesto {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 22%, rgba(200,169,110,0.11), transparent 30%),
    linear-gradient(135deg, #080706 0%, #15120e 48%, #070605 100%);
  border-top: 1px solid var(--cx-rule);
  border-bottom: 1px solid rgba(246,239,227,0.06);
  color: var(--cx-ivory);
}

.studio-manifesto::before {
  content: "";
  position: absolute;
  inset: 10% auto 10% 7%;
  width: min(32vw, 360px);
  border-left: 1px solid rgba(200,169,110,0.26);
  opacity: 0.6;
}

.studio-manifesto-inner {
  width: min(100% - 56px, 1180px);
  margin: 0 auto;
  padding: clamp(82px, 10vw, 148px) 0;
  display: grid;
  grid-template-columns: minmax(210px, 0.82fr) minmax(300px, 1.18fr);
  gap: clamp(44px, 7vw, 112px);
  align-items: start;
}

.studio-manifesto-kicker,
.film-scroll-kicker,
.end-credit-kicker {
  margin: 0 0 18px;
  color: rgba(200,169,110,0.74);
  font-family: "Jost", system-ui, sans-serif;
  font-size: clamp(0.58rem, 0.7vw, 0.68rem);
  letter-spacing: 0.32em;
  line-height: 1.5;
  text-transform: uppercase;
}

.studio-manifesto h2 {
  margin: 0;
  max-width: 9.2em;
  color: rgba(246,239,227,0.9);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.9rem, 6vw, 6.4rem);
  font-weight: 300;
  letter-spacing: 0;
  line-height: 0.94;
}

.studio-manifesto h2 em,
.film-scroll-title em,
.end-credit-title em {
  font-style: italic;
  color: rgba(246,239,227,0.78);
}

.studio-manifesto-copy {
  max-width: 40rem;
  color: rgba(246,239,227,0.7);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.42rem, 2.15vw, 2.25rem);
  font-weight: 300;
  line-height: 1.48;
}

.studio-manifesto-copy p {
  margin: 0;
}

.studio-manifesto-details {
  margin-top: clamp(32px, 5vw, 54px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.studio-manifesto-details span {
  padding-top: 14px;
  border-top: 1px solid rgba(200,169,110,0.18);
  color: rgba(246,239,227,0.52);
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.13em;
  line-height: 1.65;
  text-transform: uppercase;
}

.cinema-exposure {
  position: relative;
}

.cinema-exposure::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(246,239,227,0.16), transparent),
    radial-gradient(circle at var(--cx-exposure-x, 48%) 50%, rgba(200,169,110,0.12), transparent 32%);
  opacity: 0;
  transform: translateX(-18%);
}

.cinema-exposure.is-exposed::after {
  animation: cxExposure 1200ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes cxExposure {
  0% { opacity: 0; transform: translateX(-18%); }
  34% { opacity: 0.42; }
  100% { opacity: 0; transform: translateX(18%); }
}

.physical-reveal {
  opacity: 0;
  transform: translateY(18px);
  filter: blur(7px);
}

.physical-reveal.is-visible {
  opacity: 1;
  transform: none;
  filter: none;
  transition:
    opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.film-scroll-cinema {
  position: relative;
  min-height: 360svh;
  background: #020202;
  border-top: 1px solid rgba(200,169,110,0.12);
  border-bottom: 1px solid rgba(200,169,110,0.12);
}

.film-scroll-stage {
  position: sticky;
  top: 0;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  align-items: center;
  padding: clamp(88px, 9vw, 132px) clamp(26px, 7vw, 112px);
}

.film-scroll-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.82), rgba(0,0,0,0.38) 42%, rgba(0,0,0,0.76)),
    linear-gradient(180deg, rgba(0,0,0,0.45), transparent 36%, rgba(0,0,0,0.76));
  pointer-events: none;
}

.film-scroll-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  transition: opacity 640ms cubic-bezier(0.22, 1, 0.36, 1), transform 1200ms ease;
}

.film-scroll-bg.is-active {
  opacity: 1;
  transform: scale(1.035);
}

.film-scroll-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.72) brightness(0.58) contrast(1.08) saturate(0.74);
}

.film-scroll-copy {
  position: relative;
  z-index: 3;
  width: min(100%, 760px);
  margin-left: auto;
}

.film-scroll-title {
  margin: 0 0 clamp(28px, 4vw, 52px);
  color: rgba(246,239,227,0.92);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(3rem, 7vw, 7rem);
  font-weight: 300;
  line-height: 0.94;
}

.film-scroll-chapters {
  display: grid;
  gap: clamp(18px, 3vw, 30px);
}

.film-scroll-chapter {
  position: relative;
  max-width: 34rem;
  padding: 22px 0 22px clamp(46px, 5vw, 74px);
  border-top: 1px solid rgba(246,239,227,0.12);
  color: rgba(246,239,227,0.54);
  opacity: 0.42;
  transition: opacity 420ms ease, color 420ms ease, transform 420ms ease;
}

.film-scroll-chapter::before {
  content: attr(data-scene);
  position: absolute;
  left: 0;
  top: 24px;
  color: rgba(200,169,110,0.72);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.35rem;
  font-style: italic;
}

.film-scroll-chapter strong {
  display: block;
  margin-bottom: 8px;
  color: rgba(246,239,227,0.88);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.55rem, 2.4vw, 2.3rem);
  font-weight: 300;
  line-height: 1.05;
}

.film-scroll-chapter p {
  margin: 0;
  color: inherit;
  font-size: clamp(0.86rem, 1.1vw, 1rem);
  line-height: 1.75;
}

.film-scroll-chapter.is-active {
  opacity: 1;
  color: rgba(246,239,227,0.7);
  transform: translateX(-10px);
}

.film-scroll-progress {
  position: absolute;
  z-index: 4;
  left: clamp(26px, 5vw, 74px);
  bottom: clamp(28px, 5vw, 58px);
  width: min(190px, 38vw);
  height: 1px;
  background: rgba(246,239,227,0.16);
  overflow: hidden;
}

.film-scroll-progress span {
  display: block;
  width: calc(var(--film-progress, 0) * 100%);
  height: 100%;
  background: rgba(200,169,110,0.72);
}

.film-scroll-cinema:not(.is-enhanced) {
  min-height: auto;
}

.film-scroll-cinema:not(.is-enhanced) .film-scroll-stage {
  position: relative;
}

.film-scroll-cinema:not(.is-enhanced) .film-scroll-bg:first-child {
  opacity: 1;
}

.film-scroll-cinema:not(.is-enhanced) .film-scroll-chapter {
  opacity: 1;
}

.cinema-end-credits {
  position: relative;
  overflow: hidden;
  padding: clamp(96px, 12vw, 170px) clamp(24px, 6vw, 96px);
  background:
    linear-gradient(180deg, #030303, #10100e 52%, #050505);
  border-top: 1px solid rgba(200,169,110,0.12);
  color: var(--cx-ivory);
  text-align: center;
}

.end-credit-title {
  max-width: 840px;
  margin: 0 auto 34px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.8rem, 6vw, 6rem);
  font-weight: 300;
  line-height: 0.96;
}

.end-credit-copy {
  max-width: 640px;
  margin: 0 auto 52px;
  color: rgba(246,239,227,0.62);
  font-size: clamp(0.98rem, 1.35vw, 1.12rem);
  line-height: 1.85;
}

.credit-roll {
  width: min(100%, 720px);
  height: clamp(190px, 26vw, 280px);
  margin: 0 auto 52px;
  overflow: hidden;
  border-top: 1px solid rgba(200,169,110,0.18);
  border-bottom: 1px solid rgba(200,169,110,0.18);
  mask-image: linear-gradient(transparent, #000 18%, #000 82%, transparent);
}

.credit-roll-inner {
  display: grid;
  gap: 28px;
  padding: 58px 0;
  animation: cxCredits 18s linear infinite;
}

.credit-roll blockquote {
  margin: 0;
  color: rgba(246,239,227,0.82);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.28rem, 2.4vw, 2rem);
  font-style: italic;
  line-height: 1.42;
}

.credit-roll cite {
  display: block;
  margin-top: 12px;
  color: rgba(200,169,110,0.64);
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.58rem;
  font-style: normal;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

@keyframes cxCredits {
  0% { transform: translateY(0); }
  100% { transform: translateY(-48%); }
}

.end-credit-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

.end-credit-actions a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 28px;
  border: 1px solid rgba(200,169,110,0.42);
  color: rgba(246,239,227,0.82);
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 300ms ease, color 300ms ease, border-color 300ms ease;
}

.end-credit-actions a:hover,
.end-credit-actions a:focus-visible {
  background: rgba(200,169,110,0.16);
  border-color: rgba(200,169,110,0.68);
  color: rgba(246,239,227,0.96);
}

@media (max-width: 760px) {
  .studio-manifesto-inner {
    width: min(100% - 48px, 28rem);
    padding: clamp(68px, 18vw, 96px) 0;
    display: block;
  }

  .studio-manifesto::before {
    inset: 42px auto auto 24px;
    height: 44px;
    width: 1px;
  }

  .studio-manifesto h2 {
    max-width: 7.2em;
    font-size: clamp(2.36rem, 12vw, 3.78rem);
  }

  .studio-manifesto-copy {
    margin-top: 32px;
    font-size: clamp(1.24rem, 6vw, 1.72rem);
    line-height: 1.54;
  }

  .studio-manifesto-details {
    grid-template-columns: 1fr;
    margin-top: 32px;
    gap: 12px;
  }

  .film-scroll-cinema {
    min-height: auto;
  }

  .film-scroll-stage {
    position: relative;
    min-height: auto;
    padding: clamp(76px, 19vw, 102px) 24px;
  }

  .film-scroll-stage::before {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.48), rgba(0,0,0,0.82)),
      linear-gradient(90deg, rgba(0,0,0,0.62), rgba(0,0,0,0.36));
  }

  .film-scroll-copy {
    margin-left: 0;
  }

  .film-scroll-title {
    font-size: clamp(2.52rem, 13vw, 4.15rem);
    margin-bottom: 30px;
  }

  .film-scroll-chapter {
    padding-left: 44px;
    opacity: 1;
  }

  .film-scroll-chapter.is-active {
    transform: none;
  }

  .film-scroll-progress {
    left: 24px;
    bottom: 26px;
  }

  .cinema-end-credits {
    padding: clamp(76px, 19vw, 108px) 24px;
  }

  .end-credit-title {
    font-size: clamp(2.36rem, 12vw, 3.9rem);
  }

  .end-credit-actions {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cinema-develop,
  .cinema-exposure.is-exposed::after,
  .ph-video-wrap .ph-poster-lcp,
  .credit-roll-inner {
    animation: none !important;
  }

  .ph-video-wrap .ph-poster-lcp {
    opacity: 0;
  }

  .cinema-develop {
    display: none !important;
  }

  .physical-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

}

/* Screening-room pass: stronger Film-page chapter system, still test-only. */
.film-scroll-cinema.screening-room {
  min-height: min(620svh, 5200px);
  background:
    radial-gradient(circle at 18% 18%, rgba(200,169,110,0.08), transparent 24rem),
    linear-gradient(180deg, #010101, #090806 46%, #020202);
  border-top: 1px solid rgba(200,169,110,0.16);
  border-bottom: 1px solid rgba(246,239,227,0.08);
}

.screening-room .film-scroll-stage {
  min-height: 100svh;
  padding: clamp(74px, 8vw, 118px) clamp(28px, 6vw, 96px);
}

.screening-room .film-scroll-stage::before {
  z-index: 2;
  background:
    radial-gradient(ellipse at 70% 42%, rgba(246,239,227,0.12), transparent 28%),
    linear-gradient(90deg, rgba(0,0,0,0.62), rgba(0,0,0,0.24) 42%, rgba(0,0,0,0.5)),
    linear-gradient(180deg, rgba(0,0,0,0.5), rgba(0,0,0,0.08) 38%, rgba(0,0,0,0.68));
}

.screening-room .film-scroll-stage::after {
  z-index: 3;
  opacity: 0.08;
  mix-blend-mode: screen;
}

.screening-room .film-scroll-bg {
  overflow: hidden;
  transform: scale(1.08);
  clip-path: inset(12% 8% 12% 8%);
  filter: brightness(calc(0.82 + (var(--scene-progress, 0) * 0.16)));
}

.screening-room .film-scroll-bg::before,
.screening-room .film-scroll-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.screening-room .film-scroll-bg::before {
  z-index: 3;
  background:
    linear-gradient(180deg, #020202 0 8%, transparent 8% 92%, #020202 92% 100%),
    radial-gradient(ellipse at center, transparent 45%, rgba(0,0,0,0.58));
}

.screening-room .film-scroll-bg::after {
  z-index: 4;
  background: linear-gradient(90deg, rgba(200,169,110,0.16), transparent 16% 84%, rgba(200,169,110,0.1));
  opacity: calc(0.06 + (var(--scene-progress, 0) * 0.12));
}

.screening-room .film-scroll-bg.is-active {
  opacity: 1;
  transform: scale(calc(1.035 + (var(--scene-progress, 0) * 0.025)));
}

.screening-room .film-scroll-bg img,
.screening-room .film-scroll-bg video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.72) brightness(0.82) contrast(1.1) saturate(0.82);
}

.screening-room .film-scroll-bg video {
  opacity: 0;
  transition: opacity 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.screening-room .film-scroll-bg.is-active video {
  opacity: 0.46;
}

.screening-room .film-scroll-copy {
  position: relative;
  z-index: 6;
  width: min(100%, 1120px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(16rem, 0.82fr) minmax(24rem, 1.18fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: end;
}

.screening-room .film-scroll-intro {
  align-self: center;
  transform: translateY(calc((0.5 - var(--scene-progress, 0)) * 18px));
  transition: opacity 420ms ease;
}

.screening-room .film-scroll-title {
  max-width: 8.4em;
  margin-bottom: clamp(22px, 3vw, 34px);
  font-size: clamp(3.2rem, 7.4vw, 7.8rem);
  letter-spacing: 0;
  text-wrap: balance;
  color: rgba(255,252,244,0.96);
  text-shadow: 0 18px 48px rgba(0,0,0,0.72);
}

.screening-room .film-scroll-deck {
  max-width: 33rem;
  margin: 0;
  color: rgba(246,239,227,0.82);
  font-size: clamp(0.98rem, 1.28vw, 1.14rem);
  line-height: 1.85;
  text-shadow: 0 12px 34px rgba(0,0,0,0.74);
}

.screening-room .film-scroll-chapters {
  gap: 0;
  border-top: 1px solid rgba(246,239,227,0.14);
  border-bottom: 1px solid rgba(246,239,227,0.1);
}

.screening-room .film-scroll-chapter {
  max-width: none;
  min-height: clamp(112px, 12vw, 158px);
  display: grid;
  grid-template-columns: 4.6rem 1fr auto;
  column-gap: clamp(18px, 3vw, 38px);
  align-items: center;
  padding: clamp(20px, 2.4vw, 30px) 0;
  border-top: 0;
  border-bottom: 1px solid rgba(246,239,227,0.12);
  color: rgba(246,239,227,0.84);
  opacity: 0.86;
  text-shadow: 0 10px 30px rgba(0,0,0,0.82);
}

.screening-room .film-scroll-chapter::before {
  content: attr(data-scene);
  position: static;
  color: rgba(200,169,110,0.72);
  font-size: clamp(1.5rem, 2.3vw, 2.4rem);
}

.screening-room .film-scroll-chapter strong {
  margin: 0 0 7px;
  font-size: clamp(1.8rem, 2.7vw, 3rem);
  color: rgba(255,252,244,0.92);
}

.screening-room .film-scroll-chapter p {
  max-width: 34rem;
  font-size: clamp(0.92rem, 1.04vw, 1.02rem);
  line-height: 1.7;
  color: rgba(246,239,227,0.78);
}

.screening-room .film-chapter-meta {
  display: block;
  margin-top: 12px;
  color: rgba(200,169,110,0.78);
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
}

.screening-room .film-watch-link {
  justify-self: end;
  min-width: 9.4rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.92rem 1.15rem;
  border: 1px solid rgba(200,169,110,0.58);
  background: rgba(5,4,3,0.66);
  color: rgba(246,239,227,0.94);
  box-shadow: 0 16px 42px rgba(0,0,0,0.42);
  font-size: 0.63rem;
  letter-spacing: 0.22em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color 300ms ease, background 300ms ease, color 300ms ease, transform 300ms ease;
}

.screening-room .film-watch-link:hover,
.screening-room .film-watch-link:focus-visible {
  border-color: rgba(200,169,110,0.62);
  background: rgba(200,169,110,0.12);
  color: rgba(246,239,227,0.94);
  transform: translateY(-2px);
}

.screening-room .film-scroll-chapter.is-active {
  color: rgba(246,239,227,0.92);
  transform: translateX(-14px);
}

.screening-room .film-scroll-chapter.is-active strong {
  color: rgba(255,252,244,0.98);
}

.screening-room .film-scroll-progress {
  z-index: 7;
  width: min(260px, 44vw);
}

.screening-room + .philosophy,
.screening-room ~ .film-screening-room,
.screening-room ~ .tls-film-prologue,
.screening-room ~ .tls-cinema-room,
.screening-room ~ .tls-film-manifesto,
.screening-room ~ .film-curtain,
.screening-room ~ .film-director-pass,
.screening-room ~ .film-intermission,
.screening-room ~ .film-title-card {
  display: none !important;
}

.screening-room ~ .showcase,
.screening-room ~ .video-gallery-section {
  background: #030303 !important;
  padding-top: clamp(82px, 10vw, 136px) !important;
}

.screening-room ~ .showcase .showcase-header,
.screening-room ~ .video-gallery-section .vg-header {
  max-width: 760px;
  margin: 0 auto clamp(34px, 5vw, 58px);
  text-align: center;
}

.screening-room ~ .showcase .showcase-eyebrow::after,
.screening-room ~ .video-gallery-section .vg-eyebrow::after {
  content: "Archive";
  margin-left: 1rem;
  color: rgba(246,239,227,0.32);
}

body.test-film-page .film-section,
.home-film-scene {
  isolation: isolate;
}

body:not(.test-film-page) .film-section {
  background:
    radial-gradient(circle at 70% 16%, rgba(200,169,110,0.09), transparent 24rem),
    #030303;
}

body:not(.test-film-page) .film-player-wrap {
  min-height: clamp(680px, 92svh, 980px);
  box-shadow: inset 0 14svh 0 #030303, inset 0 -14svh 0 #030303;
}

body:not(.test-film-page) .film-player-wrap::before {
  content: "Private Screening";
  position: absolute;
  z-index: 4;
  left: clamp(42px, 7vw, 108px);
  top: clamp(92px, 13vw, 150px);
  color: rgba(200,169,110,0.72);
  font-size: 0.68rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

body:not(.test-film-page) .film-heading {
  max-width: 8.5em;
  text-align: left;
}

body:not(.test-film-page) .film-sub {
  margin-left: 0;
  text-align: left;
}

body:not(.test-film-page) .film-cta-bar a,
.home-film-scene .text-link {
  color: rgba(246,239,227,0.82) !important;
  background: rgba(12,10,7,0.38) !important;
  border: 1px solid rgba(200,169,110,0.34) !important;
}

@media (max-width: 760px) {
  .film-scroll-cinema.screening-room {
    min-height: auto;
  }

  .screening-room .film-scroll-stage {
    position: relative;
    min-height: auto;
    padding: clamp(72px, 18vw, 104px) 24px;
  }

  .screening-room .film-scroll-stage::before {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.42), rgba(0,0,0,0.1) 34%, rgba(0,0,0,0.66)),
      linear-gradient(90deg, rgba(0,0,0,0.44), rgba(0,0,0,0.22));
  }

  .screening-room .film-scroll-bg {
    clip-path: inset(0);
    transform: scale(1.03);
  }

  .screening-room .film-scroll-bg::before {
    background:
      linear-gradient(180deg, #020202 0 4%, transparent 4% 94%, #020202 94% 100%),
      radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.64));
  }

  .screening-room .film-scroll-bg video {
    display: none;
  }

  .screening-room .film-scroll-copy {
    display: block;
    width: 100%;
  }

  .screening-room .film-scroll-intro {
    margin-bottom: 34px;
  }

  .screening-room .film-scroll-title {
    font-size: clamp(2.36rem, 11.8vw, 4.05rem);
    line-height: 1.02;
    margin-bottom: 16px;
  }

  .screening-room .film-scroll-deck {
    max-width: none;
    margin-bottom: 34px;
    font-size: clamp(0.96rem, 4.2vw, 1.06rem);
    line-height: 1.74;
    color: rgba(246,239,227,0.9);
  }

  .screening-room .film-scroll-chapter {
    min-height: auto;
    grid-template-columns: 3.2rem 1fr;
    padding: 23px 0;
    opacity: 1;
  }

  .screening-room .film-scroll-chapter strong {
    font-size: clamp(1.52rem, 7.3vw, 2.04rem);
    line-height: 1.04;
  }

  .screening-room .film-scroll-chapter p {
    font-size: 0.98rem;
    line-height: 1.66;
    color: rgba(246,239,227,0.84);
  }

  .screening-room .film-watch-link {
    grid-column: 2;
    justify-self: start;
    margin-top: 18px;
    min-width: 0;
    min-height: 44px;
    padding-inline: 1rem;
  }

  .screening-room .film-scroll-chapter.is-active {
    transform: none;
  }

  .screening-room .film-scroll-progress {
    display: none;
  }

  .home-film-scene {
    min-height: 88svh;
  }

  .home-film-scene .text-link {
    padding: 0.9rem 1.05rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .screening-room .film-scroll-bg,
  .screening-room .film-scroll-bg video,
  .screening-room .film-scroll-chapter,
  .screening-room .film-watch-link {
    transition: none !important;
  }

  .screening-room .film-scroll-bg video {
    display: none !important;
  }

  .screening-room .film-scroll-stage {
    position: relative;
  }
}

.film-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 64px);
  background: rgba(0, 0, 0, 0.92);
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
}

.film-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

.film-lightbox-frame {
  width: min(100%, 1180px);
  aspect-ratio: 16 / 9;
  background: #050505;
  border: 1px solid rgba(197, 170, 114, 0.24);
  box-shadow: 0 32px 110px rgba(0, 0, 0, 0.72);
}

.film-lightbox-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.film-lightbox-close {
  position: absolute;
  top: clamp(18px, 4vw, 34px);
  right: clamp(18px, 4vw, 38px);
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(246, 239, 227, 0.22);
  background: rgba(10, 10, 10, 0.46);
  color: rgba(246, 239, 227, 0.8);
  font-family: Jost, sans-serif;
  font-size: 0.64rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.film-lightbox-open {
  overflow: hidden;
}
