/* NeuColl V8 - cinematic film direction. */
.neucoll-v8 {
  --v8-black: #020a08;
  --v8-deep: #061713;
  --v8-forest: #0c3326;
  --v8-green: #2f9962;
  --v8-mint: #83d98e;
  --v8-lime: #dfff96;
  --v8-paper: #f3f6ef;
  scroll-behavior: auto;
}

.neucoll-v8 body,
.neucoll-v8 main {
  overflow-x: clip;
}

.neucoll-v8 [aria-label="Floating contact actions"] {
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease;
}

.neucoll-v8.v8-floats-visible [aria-label="Floating contact actions"] {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.neucoll-v8 .v8-page-progress {
  position: fixed;
  z-index: 90;
  inset: 0 0 auto;
  height: 3px;
  pointer-events: none;
  background: rgba(223,255,150,.08);
}

.neucoll-v8 .v8-page-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--v8-green), var(--v8-lime));
  box-shadow: 0 0 24px rgba(223,255,150,.46);
}

.neucoll-v8 .v8-cinema {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  background: var(--v8-black);
  color: #fff;
}

.neucoll-v8 .v8-cinema-stage {
  position: relative;
  width: 100%;
  height: 100svh;
  min-height: 720px;
  overflow: hidden;
  background: var(--v8-deep);
  isolation: isolate;
}

.neucoll-v8 .v8-cinema-grain,
.neucoll-v8 .v8-cinema-vignette {
  position: absolute;
  z-index: 30;
  inset: 0;
  pointer-events: none;
}

.neucoll-v8 .v8-cinema-grain {
  opacity: .12;
  background-image:
    repeating-radial-gradient(circle at 20% 10%, rgba(255,255,255,.28) 0 .6px, transparent .8px 4px),
    repeating-radial-gradient(circle at 80% 70%, rgba(0,0,0,.48) 0 .5px, transparent .7px 3px);
  background-size: 6px 7px, 5px 6px;
  mix-blend-mode: soft-light;
}

.neucoll-v8 .v8-cinema-vignette {
  z-index: 29;
  background: radial-gradient(ellipse at center, transparent 36%, rgba(0,10,8,.18) 72%, rgba(0,7,5,.72) 118%);
}

.neucoll-v8 .v8-film-scene {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity, clip-path;
}

.neucoll-v8 .v8-film-scene.is-current,
.neucoll-v8 .v8-film-identity {
  visibility: visible;
  opacity: 1;
}

.neucoll-v8 .v8-film-scene.is-current {
  pointer-events: auto;
}

.neucoll-v8 .v8-film-identity {
  background:
    radial-gradient(circle at 77% 46%, rgba(67,157,92,.28), transparent 29%),
    radial-gradient(circle at 22% 75%, rgba(223,255,150,.07), transparent 31%),
    linear-gradient(120deg, #03100d 0%, #08251d 52%, #0e3b2b 100%);
}

.neucoll-v8 .v8-film-grid {
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgba(223,255,150,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(223,255,150,.08) 1px, transparent 1px);
  background-size: 8.3vw 8.3vw;
  mask-image: linear-gradient(90deg, black, transparent 84%);
}

.neucoll-v8 .v8-identity-copy,
.neucoll-v8 .v8-material-copy,
.neucoll-v8 .v8-momentum-copy {
  position: absolute;
  z-index: 8;
}

.neucoll-v8 .v8-identity-copy {
  left: max(3rem, calc((100vw - 1280px) / 2 + 2rem));
  top: 50%;
  width: min(46vw, 650px);
  transform: translateY(-47%);
}

.neucoll-v8 .v8-film-kicker {
  display: flex;
  align-items: center;
  gap: .85rem;
  color: rgba(255,255,255,.58);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.neucoll-v8 .v8-film-kicker span {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid rgba(223,255,150,.34);
  border-radius: 999px;
  color: var(--v8-lime);
}

.neucoll-v8 .v8-film-title {
  margin-top: 1.6rem;
  color: var(--v8-lime);
  font-family: var(--font-display, inherit);
  font-size: clamp(4.6rem, 7vw, 7.8rem);
  font-weight: 760;
  letter-spacing: -.072em;
  line-height: .82;
}

.neucoll-v8 .v8-film-title > span {
  display: block;
  overflow: hidden;
  padding: .08em .08em .13em 0;
}

.neucoll-v8 .v8-film-title i {
  display: block;
  font-style: normal;
  will-change: transform;
}

.neucoll-v8 .v8-film-title .v8-film-title-light {
  color: #fff;
  font-size: .56em;
  font-weight: 620;
  letter-spacing: -.045em;
  line-height: 1.02;
}

.neucoll-v8 .v8-film-lead {
  max-width: 36rem;
  margin-top: 1.45rem;
  color: rgba(255,255,255,.66);
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  line-height: 1.65;
}

.neucoll-v8 .v8-film-routes {
  display: flex;
  gap: .7rem;
  margin-top: 1.5rem;
}

.neucoll-v8 .v8-film-routes a {
  display: grid;
  min-width: 12.5rem;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: .25rem 1rem;
  border-top: 1px solid rgba(223,255,150,.28);
  padding: .9rem 0 0;
  color: #fff;
  transition: border-color .25s ease, color .25s ease;
}

.neucoll-v8 .v8-film-routes a:hover {
  border-color: var(--v8-lime);
  color: var(--v8-lime);
}

.neucoll-v8 .v8-film-routes small {
  color: rgba(255,255,255,.46);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.neucoll-v8 .v8-film-routes strong {
  grid-column: 1 / -1;
  font-size: .92rem;
}

.neucoll-v8 .v8-helix-camera {
  position: absolute;
  z-index: 5;
  top: 5%;
  right: 0;
  width: 55vw;
  height: 90%;
  transform-origin: 54% 50%;
  will-change: transform;
}

.neucoll-v8 .v8-helix {
  position: absolute;
  inset: -3% 3% -3% 0;
  overflow: visible;
}

.neucoll-v8 .v8-orbit {
  position: absolute;
  z-index: -1;
  left: 51%;
  top: 50%;
  border: 1px solid rgba(223,255,150,.12);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.neucoll-v8 .v8-orbit-a { width: 48%; height: 78%; }
.neucoll-v8 .v8-orbit-b { width: 66%; height: 66%; transform: translate(-50%,-50%) rotate(42deg); }
.neucoll-v8 .v8-orbit-c { width: 82%; height: 46%; transform: translate(-50%,-50%) rotate(-24deg); }

.neucoll-v8 .v8-camera-label {
  position: absolute;
  z-index: 8;
  border: 1px solid rgba(223,255,150,.2);
  border-radius: 999px;
  background: rgba(2,10,8,.48);
  padding: .65rem .9rem;
  color: rgba(255,255,255,.6);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}

.neucoll-v8 .v8-camera-label-a { left: 9%; top: 24%; }
.neucoll-v8 .v8-camera-label-b { right: 10%; bottom: 20%; }

.neucoll-v8 .v8-film-media {
  position: absolute;
  inset: 0;
}

.neucoll-v8 .v8-film-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
}

.neucoll-v8 .v8-film-material .v8-film-media img { object-position: center 48%; }

.neucoll-v8 .v8-material-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,10,8,.89) 0%, rgba(2,10,8,.48) 44%, rgba(2,10,8,.08) 72%),
    linear-gradient(0deg, rgba(2,10,8,.7), transparent 48%);
}

.neucoll-v8 .v8-material-copy {
  left: max(3rem, calc((100vw - 1280px) / 2 + 2rem));
  bottom: 14vh;
  width: min(60vw, 900px);
}

.neucoll-v8 .v8-film-statement {
  margin-top: 1.4rem;
  font-family: var(--font-display, inherit);
  font-size: clamp(4.2rem, 7.4vw, 8.2rem);
  font-weight: 730;
  letter-spacing: -.068em;
  line-height: .84;
}

.neucoll-v8 .v8-film-statement > span {
  display: block;
  overflow: hidden;
  padding-bottom: .08em;
}

.neucoll-v8 .v8-material-readouts {
  position: absolute;
  z-index: 8;
  right: max(3rem, calc((100vw - 1280px) / 2 + 2rem));
  bottom: 13vh;
  display: grid;
  width: min(29vw, 360px);
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,.3);
}

.neucoll-v8 .v8-material-readouts div {
  border-right: 1px solid rgba(255,255,255,.15);
  padding: 1rem .8rem 0;
}

.neucoll-v8 .v8-material-readouts div:first-child { padding-left: 0; }
.neucoll-v8 .v8-material-readouts div:last-child { border: 0; }
.neucoll-v8 .v8-material-readouts small,
.neucoll-v8 .v8-material-readouts strong { display: block; }
.neucoll-v8 .v8-material-readouts small { color: rgba(255,255,255,.5); font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.neucoll-v8 .v8-material-readouts strong { margin-top: .35rem; color: var(--v8-lime); font-size: 1.55rem; }

.neucoll-v8 .v8-film-routes-scene { background: #e4ebd8; color: var(--v8-deep); }
.neucoll-v8 .v8-route-media { inset: 5% 19% 4%; }
.neucoll-v8 .v8-route-media img { object-fit: contain; }

.neucoll-v8 .v8-route-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(239,244,230,.98) 0 22%, transparent 40% 60%, rgba(239,244,230,.97) 78% 100%),
    linear-gradient(0deg, rgba(239,244,230,.82), transparent 30% 75%, rgba(239,244,230,.72));
}

.neucoll-v8 .v8-route-axis {
  position: absolute;
  left: 50%;
  top: 13%;
  bottom: 12%;
  width: 1px;
  background: rgba(6,23,19,.18);
}

.neucoll-v8 .v8-route-axis span {
  position: absolute;
  top: 0;
  left: -3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--v8-green);
  box-shadow: 0 0 0 8px rgba(47,153,98,.12);
}

.neucoll-v8 .v8-route-copy {
  position: absolute;
  z-index: 8;
  top: 50%;
  width: min(27vw, 390px);
  transform: translateY(-44%);
}

.neucoll-v8 .v8-route-copy-left { left: max(3rem, calc((100vw - 1280px) / 2 + 2rem)); }
.neucoll-v8 .v8-route-copy-right { right: max(3rem, calc((100vw - 1280px) / 2 + 2rem)); text-align: right; }
.neucoll-v8 .v8-route-copy p { font-size: .66rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.neucoll-v8 .v8-route-copy strong { display: block; margin-top: .6rem; color: var(--v8-forest); font-size: clamp(5rem, 8vw, 8.5rem); letter-spacing: -.075em; line-height: .8; }
.neucoll-v8 .v8-route-copy strong small { margin-left: .15em; font-size: .22em; letter-spacing: 0; }
.neucoll-v8 .v8-route-copy > span { display: block; max-width: 21rem; margin-top: 1.5rem; color: rgba(6,23,19,.62); font-size: 1rem; line-height: 1.6; }
.neucoll-v8 .v8-route-copy-right > span { margin-left: auto; }

.neucoll-v8 .v8-route-caption {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 5.5vh;
  display: flex;
  align-items: center;
  gap: .7rem;
  transform: translateX(-50%);
  color: rgba(6,23,19,.52);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.neucoll-v8 .v8-route-caption span { color: var(--v8-green); }

.neucoll-v8 .v8-film-momentum .v8-film-media img { object-position: center 42%; }
.neucoll-v8 .v8-momentum-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,10,8,.92), rgba(2,10,8,.55) 48%, rgba(2,10,8,.1) 77%), linear-gradient(0deg, rgba(2,10,8,.75), transparent 55%); }
.neucoll-v8 .v8-momentum-copy { left: max(3rem, calc((100vw - 1280px) / 2 + 2rem)); top: 50%; width: min(59vw, 850px); transform: translateY(-46%); }
.neucoll-v8 .v8-momentum-copy .v8-film-statement { font-size: clamp(4rem, 6.5vw, 7.2rem); }
.neucoll-v8 .v8-momentum-copy > p:not(.v8-film-kicker) { max-width: 38rem; margin-top: 1.35rem; color: rgba(255,255,255,.68); font-size: 1.08rem; line-height: 1.65; }
.neucoll-v8 .v8-momentum-copy > a { display: inline-flex; align-items: center; gap: .9rem; margin-top: 1.7rem; border-radius: 999px; background: var(--v8-lime); padding: .9rem 1.2rem .9rem 1.5rem; color: var(--v8-deep); font-size: .82rem; font-weight: 850; }

.neucoll-v8 .v8-film-hud {
  position: absolute;
  z-index: 36;
  left: max(2rem, calc((100vw - 1280px) / 2 + 2rem));
  right: max(2rem, calc((100vw - 1280px) / 2 + 2rem));
  bottom: 1.45rem;
  display: grid;
  grid-template-columns: auto minmax(5rem, 1fr) minmax(30rem, auto);
  align-items: center;
  gap: 1.2rem;
  color: rgba(255,255,255,.48);
}

.neucoll-v8 .v8-film-time { min-width: 2.8rem; color: var(--v8-lime); font-size: .62rem; font-weight: 850; letter-spacing: .1em; }
.neucoll-v8 .v8-film-progress { height: 1px; overflow: hidden; background: rgba(255,255,255,.18); }
.neucoll-v8 .v8-film-progress i { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: var(--v8-lime); }
.neucoll-v8 .v8-film-hud ol { display: grid; grid-template-columns: repeat(4, auto); gap: 1rem; }
.neucoll-v8 .v8-film-hud li { display: flex; align-items: center; gap: .42rem; font-size: .54rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: color .25s ease; }
.neucoll-v8 .v8-film-hud li b { color: rgba(255,255,255,.28); }
.neucoll-v8 .v8-film-hud li.is-current { color: #fff; }
.neucoll-v8 .v8-film-hud li.is-current b { color: var(--v8-lime); }

.neucoll-v8 .v8-film-scroll {
  position: absolute;
  z-index: 36;
  right: 2rem;
  top: 50%;
  display: flex;
  align-items: center;
  gap: .7rem;
  transform: translateY(-50%) rotate(90deg) translateX(50%);
  transform-origin: right center;
  color: rgba(255,255,255,.42);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.neucoll-v8 .v8-film-scroll span { width: 2.8rem; height: 1px; background: linear-gradient(90deg, transparent, var(--v8-lime)); }

.neucoll-v8 .v8-shot-number {
  position: absolute;
  z-index: 12;
  left: max(.8rem, calc((100vw - 1480px) / 2));
  top: 50%;
  display: flex;
  align-items: center;
  gap: .6rem;
  transform: translateY(-50%) rotate(-90deg);
  color: rgba(6,23,19,.32);
  font-size: .54rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
  transform-origin: center;
  pointer-events: none;
}

.neucoll-v8 .v8-shot-number::before { content: ""; width: 2.7rem; height: 1px; background: currentColor; }
.neucoll-v8 #mechanism .v8-shot-number,
.neucoll-v8 #visual-story .v8-shot-number,
.neucoll-v8 #contact .v8-shot-number { color: rgba(255,255,255,.34); }

.neucoll-v8.v8-motion-enhanced .v8-film-media img,
.neucoll-v8.v8-motion-enhanced .v8-helix-camera,
.neucoll-v8.v8-motion-enhanced :is(#product,#foundation,#mechanism,#clinical-results,#visual-story) :is(img,[role="img"],video,.v3-spiral-stage) {
  will-change: transform, clip-path;
}

@media (max-width: 1023px) {
  .neucoll-v8 .v8-page-progress { height: 2px; }
  .neucoll-v8 .v8-cinema {
    height: 440svh;
    min-height: 0;
    background: var(--v8-deep);
  }
  .neucoll-v8 .v8-cinema-stage {
    position: sticky;
    top: 0;
    height: 100svh;
    min-height: 0;
    overflow: hidden;
  }
  .neucoll-v8 .v8-cinema-grain,
  .neucoll-v8 .v8-cinema-vignette,
  .neucoll-v8 .v8-helix-camera,
  .neucoll-v8 .v8-shot-number { display: none; }

  .neucoll-v8 .v8-film-scene {
    position: absolute;
    inset: 0;
    min-height: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .neucoll-v8 .v8-film-scene.is-current,
  .neucoll-v8 .v8-film-identity {
    visibility: visible;
  }

  .neucoll-v8 .v8-film-scene.is-current { pointer-events: auto; }

  .neucoll-v8 .v8-cinema-grain {
    display: block;
    opacity: .075;
  }

  .neucoll-v8 .v8-cinema-vignette {
    display: block;
    background: radial-gradient(ellipse at 52% 43%, transparent 28%, rgba(0,8,6,.18) 70%, rgba(0,6,5,.72) 118%);
  }

  .neucoll-v8 .v8-film-identity {
    display: block;
    min-height: 0;
    opacity: 1;
    background:
      radial-gradient(circle at 73% 35%, rgba(77,177,104,.35), transparent 28%),
      radial-gradient(circle at 30% 73%, rgba(223,255,150,.09), transparent 33%),
      linear-gradient(155deg, #020d0a 0%, #08271d 58%, #0b3c2b 100%);
  }

  .neucoll-v8 .v8-film-identity::after {
    content: "II";
    position: absolute;
    z-index: 0;
    right: -8vw;
    top: 14%;
    color: transparent;
    font-family: var(--font-display, inherit);
    font-size: min(74vw, 25rem);
    font-weight: 800;
    letter-spacing: -.18em;
    line-height: .8;
    -webkit-text-stroke: 1px rgba(223,255,150,.13);
    text-shadow: 0 0 90px rgba(86,190,112,.18);
    transform: rotate(-8deg);
  }

  .neucoll-v8 .v8-film-identity::before {
    content: "";
    position: absolute;
    z-index: 1;
    right: -28vw;
    top: 19%;
    width: 104vw;
    height: 104vw;
    border: 1px solid rgba(223,255,150,.15);
    border-radius: 50%;
    box-shadow: inset 0 0 80px rgba(78,178,108,.09), 0 0 90px rgba(78,178,108,.08);
  }

  .neucoll-v8 .v8-identity-copy,
  .neucoll-v8 .v8-material-copy,
  .neucoll-v8 .v8-momentum-copy {
    left: clamp(1.2rem, 5.5vw, 2.4rem);
    right: clamp(1.2rem, 5.5vw, 2.4rem);
    width: auto;
  }

  .neucoll-v8 .v8-identity-copy {
    top: 50%;
    transform: translateY(-41%);
  }
  .neucoll-v8 .v8-film-title { font-size: clamp(3.55rem, 17.2vw, 5.45rem); line-height: .86; }
  .neucoll-v8 .v8-film-title .v8-film-title-light { font-size: .49em; }
  .neucoll-v8 .v8-film-lead { max-width: 31rem; font-size: .95rem; line-height: 1.55; }
  .neucoll-v8 .v8-film-routes { display: grid; grid-template-columns: 1fr 1fr; }
  .neucoll-v8 .v8-film-routes a { min-width: 0; }

  .neucoll-v8 .v8-film-material { min-height: 0; }
  .neucoll-v8 .v8-film-material .v8-film-media img { object-position: 61% center; }
  .neucoll-v8 .v8-material-shade {
    background:
      linear-gradient(0deg, rgba(2,10,8,.96) 0%, rgba(2,10,8,.54) 45%, rgba(2,10,8,.05) 77%),
      linear-gradient(90deg, rgba(2,10,8,.5), transparent 76%);
  }
  .neucoll-v8 .v8-material-copy { top: 28%; bottom: auto; }
  .neucoll-v8 .v8-film-statement { font-size: clamp(3.05rem, 14.7vw, 5rem); line-height: .88; }
  .neucoll-v8 .v8-material-readouts {
    left: clamp(1.2rem, 5.5vw, 2.4rem);
    right: clamp(1.2rem, 5.5vw, 2.4rem);
    bottom: calc(env(safe-area-inset-bottom) + 5.6rem);
    width: auto;
  }

  .neucoll-v8 .v8-film-routes-scene { min-height: 0; }
  .neucoll-v8 .v8-route-media { inset: 13% -14% 24%; }
  .neucoll-v8 .v8-route-media img { object-fit: contain; object-position: 50% center; opacity: .94; }
  .neucoll-v8 .v8-route-wash {
    background:
      linear-gradient(0deg, rgba(239,244,230,.98) 0 23%, transparent 43% 72%, rgba(239,244,230,.9) 94%),
      radial-gradient(circle at 50% 47%, transparent 26%, rgba(239,244,230,.34) 69%);
  }
  .neucoll-v8 .v8-route-axis {
    left: clamp(1.2rem, 5.5vw, 2.4rem);
    right: clamp(1.2rem, 5.5vw, 2.4rem);
    top: auto;
    bottom: 31%;
    width: auto;
    height: 1px;
  }
  .neucoll-v8 .v8-route-copy { top: auto; bottom: 7.5rem; width: calc(50% - 1.65rem); transform: none; }
  .neucoll-v8 .v8-route-copy-left { left: clamp(1.2rem, 5.5vw, 2.4rem); }
  .neucoll-v8 .v8-route-copy-right { right: clamp(1.2rem, 5.5vw, 2.4rem); }
  .neucoll-v8 .v8-route-copy strong { font-size: clamp(3.65rem, 18vw, 5.6rem); }
  .neucoll-v8 .v8-route-copy > span { margin-top: .55rem; font-size: .72rem; line-height: 1.4; }
  .neucoll-v8 .v8-route-caption {
    left: clamp(1.2rem, 5.5vw, 2.4rem);
    right: clamp(1.2rem, 5.5vw, 2.4rem);
    top: 7.6rem;
    bottom: auto;
    justify-content: center;
    transform: none;
    white-space: normal;
    text-align: center;
  }

  .neucoll-v8 .v8-film-momentum { min-height: 0; }
  .neucoll-v8 .v8-film-momentum .v8-film-media img { object-position: 64% center; }
  .neucoll-v8 .v8-momentum-shade {
    background:
      linear-gradient(0deg, rgba(2,10,8,.96) 0%, rgba(2,10,8,.65) 48%, rgba(2,10,8,.08) 76%),
      linear-gradient(90deg, rgba(2,10,8,.46), transparent 78%);
  }
  .neucoll-v8 .v8-momentum-copy { top: auto; bottom: calc(env(safe-area-inset-bottom) + 6.3rem); transform: none; }
  .neucoll-v8 .v8-momentum-copy .v8-film-statement { font-size: clamp(2.9rem, 13.6vw, 4.8rem); }
  .neucoll-v8 .v8-momentum-copy > p:not(.v8-film-kicker) { margin-top: .9rem; font-size: .86rem; line-height: 1.48; }
  .neucoll-v8 .v8-momentum-copy > a { margin-top: 1rem; padding: .75rem 1rem .75rem 1.2rem; font-size: .74rem; }

  .neucoll-v8 .v8-film-hud {
    top: calc(env(safe-area-inset-top) + 5.15rem);
    bottom: auto;
    left: clamp(1.2rem, 5.5vw, 2.4rem);
    right: clamp(1.2rem, 5.5vw, 2.4rem);
    display: grid;
    grid-template-columns: auto minmax(3rem, 1fr);
    gap: .75rem;
    color: rgba(255,255,255,.44);
  }

  .neucoll-v8 .v8-film-time { font-size: .54rem; }
  .neucoll-v8 .v8-film-hud ol {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .3rem;
  }
  .neucoll-v8 .v8-film-hud li {
    min-width: 0;
    gap: .28rem;
    font-size: .42rem;
    letter-spacing: .07em;
  }
  .neucoll-v8 .v8-film-hud li span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .neucoll-v8 .v8-film-scroll {
    right: .65rem;
    top: 53%;
    display: flex;
    font-size: .43rem;
  }

  .neucoll-v8.v8-mobile-cinema .v8-film-scene { will-change: opacity, clip-path, transform; }
}

@media (max-width: 520px) {
  .neucoll-v8 .v8-film-kicker { gap: .55rem; font-size: .56rem; letter-spacing: .13em; }
  .neucoll-v8 .v8-film-kicker span { width: 1.95rem; height: 1.95rem; }
  .neucoll-v8 .v8-film-routes small { font-size: .48rem; }
  .neucoll-v8 .v8-film-routes strong { font-size: .76rem; }
  .neucoll-v8 .v8-route-copy p { font-size: .5rem; }
  .neucoll-v8 .v8-route-copy > span { font-size: .7rem; }
}

@media (max-width: 1023px) and (max-height: 740px) {
  .neucoll-v8 .v8-film-hud { top: calc(env(safe-area-inset-top) + 4.7rem); }
  .neucoll-v8 .v8-identity-copy { top: 52%; }
  .neucoll-v8 .v8-film-title { font-size: clamp(3rem, 15vw, 4.5rem); }
  .neucoll-v8 .v8-film-lead { margin-top: .9rem; font-size: .82rem; }
  .neucoll-v8 .v8-film-routes { margin-top: .95rem; }
  .neucoll-v8 .v8-film-routes a { padding-top: .62rem; }
  .neucoll-v8 .v8-material-copy { top: 29%; }
  .neucoll-v8 .v8-film-statement { font-size: clamp(2.65rem, 12.7vw, 4.2rem); }
  .neucoll-v8 .v8-material-readouts { bottom: calc(env(safe-area-inset-bottom) + 4.7rem); }
  .neucoll-v8 .v8-route-copy { bottom: 6.45rem; }
  .neucoll-v8 .v8-route-copy strong { font-size: clamp(3rem, 15vw, 4.8rem); }
  .neucoll-v8 .v8-momentum-copy { bottom: calc(env(safe-area-inset-bottom) + 4.8rem); }
  .neucoll-v8 .v8-momentum-copy > p:not(.v8-film-kicker) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .neucoll-v8 .v8-film-scene,
  .neucoll-v8 .v8-film-media img,
  .neucoll-v8 .v8-film-title i { transition: none !important; }
}
