:root {
  --story-hero-parallax-scroll-height: 125vh;
  --story-hero-overlap-pull: var(--story-hero-parallax-scroll-height);
}

.story-hero {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 100%;
  isolation: isolate;
  color: #fff;
}

.story-hero__sticky {
  position: sticky;
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  background: #000;
}

.story-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.story-hero__video--orientation-aware .story-hero__video-layer {
  position: absolute;
  inset: 0;
  transform: translateZ(0);
}

.story-hero__video-layer--inactive {
  visibility: hidden;
  pointer-events: none;
  z-index: 0;
}

.story-hero__video-layer--active {
  visibility: visible;
  z-index: 1;
}

.story-hero__video video-js.video-js {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-width: 0;
  transform: scale(1.06);
  transform-origin: center center;
}

.story-hero__video .video-js {
  padding-top: 0 !important;
}

.story-hero__video .video-js .vjs-tech {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.story-hero__video .vjs-poster,
.story-hero__video .vjs-big-play-button,
.story-hero__video .vjs-control-bar {
  display: none !important;
}

.story-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.64) 0%, rgba(0, 0, 0, 0) 28%);
}

.story-hero__scrim::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: min(440px, 55vh);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0) 100%);
}

.story-hero__copy {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding-top: max(6rem, var(--site-header-block-size));
}

.story-hero__title {
  margin: 0;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.story-hero__subtitle {
  margin: 0;
  font-weight: 600;
  line-height: 1.25;
}

.story-hero__scroll {
  height: var(--story-hero-parallax-scroll-height);
  pointer-events: none;
}

.story-hero-overlap {
  position: relative;
  z-index: 2;
  margin-top: calc(-1 * var(--story-hero-overlap-pull));
  isolation: isolate;
}

@media (min-width: 769px) {
  .story-hero__copy {
    left: clamp(1.5rem, 8vw, 7.5rem);
    bottom: clamp(3rem, 12vh, 7rem);
    width: 60rem;
    gap: 1.5rem;
  }

  .story-hero__title {
    font-size: 4rem;
  }

  .story-hero__subtitle {
    font-size: 2.25rem;
  }
}

@media (max-width: 768px) {
  .story-hero__copy {
    left: 1rem;
    right: 1rem;
    bottom: clamp(2rem, 10vh, 5rem);
    width: auto;
    gap: 1rem;
  }

  .story-hero__title {
    font-size: 2.4rem;
    line-height: 1.1;
  }

  .story-hero__subtitle {
    font-size: 1.6rem;
    line-height: 1.2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .story-hero__video video-js.video-js {
    transform: none;
  }
}
