/* The poster remains behind the film for instant loading and error fallback. */
[data-hero-motion] > img { animation: none; }
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 56%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 900ms ease;
}
.has-video-frame .hero-video { opacity: 1; }
.motion-toggle {
  position: absolute;
  top: 24px;
  right: clamp(23px, 4vw, 56px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid #e5eddd40;
  border-radius: 24px;
  background: #11181296;
  color: #e5eadd;
  font: 500 .75rem/1.2 'DM Sans', Arial, sans-serif;
  letter-spacing: .015em;
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.motion-toggle:hover { background: #263126c9; border-color: #e5eddd80; }
.motion-toggle:focus-visible { outline: 2px solid #e5eddd; outline-offset: 4px; }
.motion-toggle[hidden] { display: none; }
.motion-toggle svg { width: 12px; height: 12px; fill: currentColor; }
.motion-toggle[data-playing="true"] .motion-play,
.motion-toggle[data-playing="false"] .motion-pause { display: none; }
@media (max-width: 780px) {
  .hero-video { object-position: 60% center; }
  .motion-toggle { top: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video { transition: none; }
}

.hero-video { z-index: -2; object-position: center; }
@media (max-width: 780px) { .hero-video { object-position: 63% center; } }
