/* The landing-page film sits behind live, accessible HTML content. */
.hero.hero-video-layout {
  display: block;
  padding: 0;
  width: 100%;
  margin: 0;
  overflow: clip;
  isolation: isolate;
  background: var(--ivory);
}
.hero-video-layout .hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.hero-video-layout .hero-picture,
.hero-video-layout video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-video-layout .hero-picture img,
.hero-video-layout video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 64% 50%;
}
.hero-video-layout .hero-picture img {
  animation: none;
  transform: none;
  will-change: auto;
}
.hero-video-layout video {
  opacity: 0;
  transition: opacity 800ms ease;
}
.hero-video-layout video.is-ready { opacity: 1; }
.hero-video-layout .hero-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    #f7f4ee 0%, #f7f4ee 29%, #f7f4eef7 39%,
    #f7f4eeb3 50%, #f7f4ee12 66%, #f7f4ee00 82%);
}
.hero-video-layout .hero-inner {
  position: relative;
  min-height: clamp(700px, calc(100svh - 136px), 840px);
  padding-block: 65px 100px;
}
.hero-video-layout .hero-copy {
  width: 53%;
  max-width: 660px;
  padding: 0;
}
.hero-video-layout h1 {
  font-size: clamp(52px, 5.4vw, 78px);
  line-height: 1.08;
}
.hero-video-layout .hero-intro {
  color: #424d54;
  max-width: 420px;
}
.hero-video-layout .hero-actions {
  flex-direction: row;
  align-items: center;
}
.hero-video-layout .hero-caption {
  left: auto;
  right: 0;
  bottom: 27px;
  gap: 20px;
}
.hero-video-layout .hero-caption > span {
  background: #f7f4eef2;
  padding: 9px 12px;
  color: var(--ink);
  text-shadow: none;
}
.hero-video-layout .motion-control {
  width: 46px;
  height: 46px;
  background: var(--ivory);
  color: var(--burgundy);
  border: 1px solid #6a243d66;
  box-shadow: 0 3px 16px #17232d12;
  backdrop-filter: none;
}
.hero-video-layout .scroll-cue { bottom: 28px; }

@media (max-width: 1100px) and (min-width: 701px) {
  .hero-video-layout .hero-inner { min-height: 710px; padding-top: 58px; }
  .hero-video-layout .hero-copy { width: 64%; }
  .hero-video-layout h1 { font-size: clamp(49px, 6.1vw, 64px); }
  .hero-video-layout .hero-backdrop::after {
    background: linear-gradient(90deg,
      #f7f4ee 0%, #f7f4eef5 35%, #f7f4eedb 48%,
      #f7f4ee66 64%, transparent 90%);
  }
  .hero-video-layout .hero-actions { gap: 18px; }
}

@media (max-width: 700px) {
  .hero-video-layout .hero-inner {
    min-height: 900px;
    padding-block: 42px 350px;
  }
  .hero-video-layout .hero-copy { width: 100%; max-width: 560px; }
  .hero-video-layout h1 {
    font-size: clamp(42px, 9.4vw, 60px);
    line-height: 1.13;
  }
  .hero-video-layout .hero-intro { max-width: 470px; }
  .hero-video-layout .hero-backdrop {
    top: auto;
    height: 520px;
  }
  .hero-video-layout .hero-picture img,
  .hero-video-layout video { object-position: 50% 52%; }
  .hero-video-layout .hero-backdrop::after {
    background: linear-gradient(180deg,
      #f7f4ee 0%, #f7f4eef5 9%, #f7f4ee85 24%,
      #f7f4ee00 48%, #f7f4ee00 80%, #f7f4ee55 100%);
  }
  .hero-video-layout .hero-actions { gap: 13px; }
  .hero-video-layout .hero-caption { bottom: 22px; right: 0; left: 0; }
  .hero-video-layout .hero-caption > span { font-size: 7px; letter-spacing: .1em; }
  .hero-video-layout .scroll-cue { display: none; }
}

@media (max-width: 370px) {
  .hero-video-layout h1 { font-size: 39px; }
  .hero-video-layout .hero-inner { padding-top: 35px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-video-layout video { display: none; }
}

@media print {
  .hero-video-layout .hero-backdrop,
  .hero-video-layout .hero-caption,
  .hero-video-layout .scroll-cue { display: none; }
  .hero-video-layout .hero-inner { min-height: 0; padding: 20px 0; }
  .hero-video-layout .hero-copy { width: 100%; }
}
