.home-mv-video {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.home-mv.is-video-ready .home-mv-video { opacity: 1; }

/* Fade only the hero into the ivory background of the next section. */
.home-mv.has-hero-video { background: var(--ivory, #f7f4ee); }
.home-mv.has-hero-video .home-mv-images,
.home-mv.has-hero-video .home-mv-overlay {
  opacity: var(--hero-scene-opacity, 1);
}
.home-mv.has-hero-video::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg,
    rgba(247,244,238,0) 70%,
    rgba(247,244,238,0.22) 84%,
    #f7f4ee 100%);
}
body.is-mv-show .home-mv.has-hero-video .home-mv-copy {
  opacity: var(--hero-copy-opacity, 1);
}
body.is-scroll-ready .home-mv.has-hero-video .home-mv-scroll {
  opacity: var(--hero-copy-opacity, 1);
  color: #596151;
}

.home-mv-video-toggle {
  position: absolute;
  left: 32px;
  bottom: 30px;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid rgba(89,97,81,0.4);
  border-radius: 50%;
  background: rgba(247,244,238,0.7);
  color: #596151;
  font: 12px sans-serif;
  cursor: pointer;
}
.home-mv-video-toggle[hidden] { display: none; }
.home-mv-video-toggle:focus-visible { outline: 2px solid #596151; outline-offset: 4px; }
@media (max-width: 767px) {
  .home-mv-video-toggle { left: 20px; bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-mv-video, .home-mv-video-toggle { display: none; }
  .home-mv.has-hero-video .home-mv-image img { transform: none !important; transition: none !important; }
}
