/* V47n — hard end of eye photography, seamless black continuation.
   Keep the reveal untouched until the pupil zoom reaches its opaque phase. */
.opening-backdrop.eye-complete::after {
  opacity: 0 !important;
  visibility: hidden !important;
}

.opening-sequence>.eye-scene.eye-entered .eye-sticky {
  background: #020509;
}

.opening-sequence>.eye-scene.eye-entered {
  background: #020509 !important;
}

/* V47m: Mask the persistent eye backdrop after the zoom frame is entered.
   The reveal and zoom thresholds are intentionally unchanged. */
.opening-sequence>.eye-scene.eye-entered {
  background-color: #020509 !important;
}



/* V47p: no black rectangle is allowed to cover the fixed eye during
   the departure of the cream sheet. The scene is transparent until
   the sticky zoom has actually reached the viewport. */
.opening-sequence>.eye-scene {
  background: transparent !important;
}

.opening-sequence>.eye-scene .eye-sticky {
  background: transparent !important;
}

/* After handoff, the sticky image zooms over a solid black surface. */
.opening-sequence>.eye-scene.eye-entered,
.opening-sequence>.eye-scene.eye-entered .eye-sticky {
  background: #020509 !important;
}

/* After the pupil has dissolved, the shared backdrop becomes black too;
   otherwise its hero carousel could show again below the sticky frame. */
.opening-sequence>.opening-backdrop.eye-complete {
  background: #020509 !important;
}

.opening-sequence>.opening-backdrop.eye-complete .pp-hero-slides,
.opening-sequence>.opening-backdrop.eye-complete .pp-hero-slide {
  visibility: hidden !important;
  opacity: 0 !important;
}

.opening-sequence>.opening-backdrop.eye-complete::before,
.opening-sequence>.opening-backdrop.eye-complete::after {
  display: none !important;
}



/* One uninterrupted image during the cream-to-eye boundary.
   The fixed eye stays over the zoom image until the latter is established;
   do not turn the sticky surface black at eye-entered. */
.opening-sequence>.eye-scene,
.opening-sequence>.eye-scene.eye-entered,
.opening-sequence>.eye-scene .eye-sticky,
.opening-sequence>.eye-scene.eye-entered .eye-sticky {
  background: transparent !important;
}

.opening-backdrop.eye-ready:not(.eye-complete)::after {
  opacity: calc(1 - var(--eye-handoff, 0)) !important;
  visibility: visible !important;
  display: block !important;
}

/* Once the eye is finished, the same opaque black remains behind the copy. */
.opening-sequence>.eye-scene .eye-black {
  background: #020509;
}



/* The fixed eye is an overlay. During its fade-out the underlying layer
   must be black, never the hero carousel. Keep this black underlay active
   through the entire eye scene and its completed state. */
.opening-sequence>.opening-backdrop.eye-ready::before,
.opening-sequence>.opening-backdrop.eye-complete::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #020509 !important;
  pointer-events: none !important;
}

/* The eye photograph remains above the black underlay; it hands off
   to the sticky zoom image without exposing the carousel underneath. */
.opening-sequence>.opening-backdrop.eye-ready::after {
  z-index: 2 !important;
}
