.section-hero {
  overflow: visible;
  position: relative;
  z-index: 1;
  background: transparent
}

.section-hero .container {
  position: relative;
  z-index: 2
}

.reel-card {
  position: relative;
  width: 100%;
  aspect-ratio: 16/11;
  border-radius: 22px;
  overflow: hidden;
  background: #0e1020 center/cover no-repeat;
  box-shadow: 0 40px 90px -34px rgba(0, 0, 0, .75)
}

.reel-card__inner {
  position: absolute;
  inset: 0
}

.reel-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

/* landing pad: reel flies here and parks */
.reel-stop {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  background: transparent
}

.reel-target {
  width: min(1500px, 94vw, calc(80svh * 16 / 9));
  aspect-ratio: 16/9;
  visibility: hidden
}

/* fixed GL surface that draws the morphing reel */
.reel-morph {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0
}

.reel-morph__canvas {
  width: 100%;
  height: 100%;
  display: block
}

/* once GL has drawn its first frame, the DOM card only supplies the source
   rect. Keyed to reel-live rather than reel-gl: until that frame exists the
   card (poster, then video) is what fills the hero. Both switch in the same
   frame with no fade — the two pictures sit on the same rect, so a crossfade
   would only dim it */
html.reel-live .reel-card {
  opacity: 0
}

html.reel-live .reel-morph {
  opacity: 1
}

/* rest of the site rides up over the parked reel */
.reel-sheet {
  position: relative;
  z-index: 3;
  background: #000;
  border-top-left-radius: var(--rc);
  border-top-right-radius: var(--rc);
  box-shadow: 0 -24px 48px -18px rgba(0, 0, 0, .7);
  --rc: clamp(26px, 3.6vw, 52px)
}

.reel-sheet::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .16), transparent)
}

@media(min-width:761px) {
  .reel-sheet {
    margin-top: calc(-1 * clamp(26px, 3.4vw, 56px))
  }
}

@media(max-width:760px) {
  .reel-card {
    aspect-ratio: 16/12
  }
}
