/* Keep the existing panel's size and anchoring; only animate its visibility. */
.hero .video-controls.auto-hide-video-controls {
  opacity: 1;
  visibility: visible;
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms;
}
.hero .video-controls.auto-hide-video-controls.is-collapsed {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
}
.hero .video-controls-reveal {
  position: absolute;
  z-index: 5;
  right: 2.5%;
  bottom: 14px;
  min-height: 32px;
  padding: 6px 11px;
  border: 1px solid #b4d9e45c;
  border-radius: 5px;
  background: #03121bc4;
  color: #f0f9ff;
  font: inherit;
  font-size: 11px;
  line-height: 1.25;
  cursor: pointer;
}
.hero .video-controls-reveal[hidden] {
  display: none;
}
.hero .video-controls-reveal:hover {
  background: #154454;
}
.hero .video-controls-reveal:focus-visible,
.hero .video-controls.auto-hide-video-controls :focus-visible {
  outline: 2px solid #51dcf8;
  outline-offset: 3px;
}
@media (max-width: 650px) {
  .hero:has(.auto-hide-video-controls) {
    /* Reserve the expanded two-row panel's space in both visibility states. */
    padding-bottom: 140px;
  }
  .hero .video-controls.auto-hide-video-controls {
    flex-wrap: wrap;
    max-width: 91%;
    box-sizing: border-box;
  }
  .hero .video-controls.auto-hide-video-controls button,
  .hero .video-controls.auto-hide-video-controls select {
    min-height: 40px;
  }
  .hero .video-controls-reveal {
    left: 4.5%;
    right: auto;
    bottom: 20px;
    min-height: 44px;
    padding: 9px 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero .video-controls.auto-hide-video-controls {
    transition: none;
  }
  .hero .video-controls.auto-hide-video-controls.is-collapsed {
    transform: none;
  }
}
