/* One stationary composition on either side of the travelling paper sheet. */
.opening-sequence.opening-planes > .hero {
  position: sticky;
  top: var(--hero-pin-top, 0px);
}
.opening-sequence.opening-planes > .hero.is-covered {
  visibility: hidden;
  pointer-events: none;
}
.opening-sequence.opening-planes > .eye-scene.eye-uncovering .eye-sticky {
  position: fixed;
  inset: 0 0 auto;
  width: 100%;
}
.opening-sequence.opening-planes > .eye-scene:not(.eye-uncovering):not(.eye-entered) .eye-flight {
  visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .opening-sequence.opening-planes > .hero { position: relative; top:auto; }
}

/* The eye is a real sticky plane underneath the paper, not a background swap
   triggered at its lower edge. Both travel together until the eye pins at 0.
   Net flow height stays zero, so the camera and all following scenes keep time. */
.opening-eye-plane { display: none; }
.opening-planes > .opening-eye-plane {
  display: block;
  position: sticky;
  top: 0;
  height: 100svh;
  margin-bottom: -100svh;
  z-index: 0;
  pointer-events: none;
  background: #020509 url("../images/image-c8c22d2cb811f635.webp") center/cover no-repeat;
  opacity: calc(1 - var(--eye-handoff, 0));
}
