/* YouTube cover — edge-to-edge on every viewport (incl. tall mobile) */
.giga-hero-yt {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: #0a0a0a;
}

/*
 * 16:9 cover: grow until both axes fill the frame.
 * Use vh/svh (not %) so portrait phones scale by height correctly.
 */
.giga-hero-yt__host,
.giga-hero-yt iframe,
.giga-hero-yt__iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw; /* 9/16 of width */
  min-height: 100%;
  min-width: 177.78vh; /* 16/9 of viewport height — critical on mobile */
  min-width: 177.78svh;
  transform: translate(-50%, -50%);
  border: 0;
  max-width: none;
}

@supports (height: 100dvh) {
  .giga-hero-yt__host,
  .giga-hero-yt iframe,
  .giga-hero-yt__iframe {
    min-width: 177.78dvh;
  }
}

.hero-parallax__media .giga-hero-yt,
.home-cta__bg .giga-hero-yt {
  width: 100%;
  height: 100%;
}

/* Extra overscan on short/tall phones so letterboxing never shows */
@media (max-width: 768px), (max-aspect-ratio: 3/4) {
  .giga-hero-yt__host,
  .giga-hero-yt iframe,
  .giga-hero-yt__iframe {
    width: 120vw;
    height: 67.5vw;
    min-width: 200vh;
    min-width: 200svh;
    min-height: 120%;
  }

  @supports (height: 100dvh) {
    .giga-hero-yt__host,
    .giga-hero-yt iframe,
    .giga-hero-yt__iframe {
      min-width: 200dvh;
    }
  }
}
