.hero-media .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  pointer-events: none;
  filter: saturate(.88) contrast(1.05);
  transition: opacity .6s ease;
}

.hero-media .hero-video.is-playing { opacity: 1; }

.hero-video-control {
  position: absolute;
  right: 18px;
  bottom: 12px;
  z-index: 4;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 4px;
  background: rgba(8, 39, 78, .65);
  color: #fff;
  font: inherit;
  font-size: 12px;
  line-height: 1.2;
  cursor: pointer;
}

.hero-video-control[hidden] { display: none; }
.hero-video-control:hover { background: rgba(8, 39, 78, .9); }
.hero-video-control:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

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