[data-scene-video] { position: relative; }
picture[data-scene-picture] { display: contents; }
[data-scene-video] video[data-video-src] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  pointer-events: none;
}
[data-scene-video][data-scene-state="video"] video[data-video-src] { opacity: 1; }
.scene-video-controls {
  position: absolute;
  inset-inline-end: 1rem;
  top: .75rem;
  bottom: auto;
  z-index: 4;
  display: flex;
  gap: .5rem;
}
.scene-video-controls button {
  min-height: 44px;
  padding: .6rem 1rem;
  color: #fff;
  background: #101820e6;
  border: 1px solid #ffffffa6;
  border-radius: 999px;
  font: inherit;
  cursor: pointer;
}
.scene-video-controls button[hidden] { display: none; }
.scene-video-controls button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.security-statement__media-image[data-scene-video] { overflow: hidden; }
.security-statement__media-image[data-scene-video] > img { display: block; width: 100%; height: auto; border-radius: inherit; }
/* Preserve the original hospitality image frame when it becomes a video. */
.automation-stay__media { aspect-ratio: 1.1; overflow: hidden; }
.automation-stay__media video[data-video-src] { object-position: 35% center; }
/* The accepted Auto Open scene replaces only this feature's former icon. */
.home-en .feature-card--auto-open .feature-card__media[data-scene-video] {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 8px;
}
.home-en .feature-card--auto-open [data-scene-image] {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  filter: none;
  transform: none;
}
.home-en .feature-card--auto-open .scene-video-controls { max-width: calc(100% - 2rem); }
.home-en .feature-card--auto-open .scene-video-controls button { white-space: normal; }
/* New clips use the original image hero, including its text overlay and crop. */
.home-en .hero[data-hero-scene] .hero__bg--video { transform: none; }
.home-en .hero[data-hero-scene][data-hero-media-state="video"] .hero__bg--video { display: block; }
/* Keep controls above the copy without changing the image/content geometry. */
.home-en .hero[data-hero-scene] .hero__media { z-index: auto; }
.home-en .hero[data-hero-scene] .hero__media-control--pause {
  inset: auto;
  top: .75rem;
  inset-inline-end: .75rem;
  margin: 0;
  width: 44px;
  height: 44px;
}
.home-en .hero[data-hero-scene] .hero__replay {
  inset: auto;
  top: .75rem;
  inset-inline-end: 4.25rem;
  transform: none;
  width: auto;
  min-width: 0;
  max-width: calc(100% - 5rem);
  min-height: 44px;
  padding: .45rem .7rem;
  gap: .35rem;
  font-size: .82rem;
  white-space: normal;
  background: #101820e6;
}
.home-en .hero[data-hero-scene] .hero__replay::before { width: 1.1rem; height: 1.1rem; font-size: .6rem; }
.niche-hero__actions [data-scene-replay] { min-height: 44px; cursor: pointer; font: inherit; }
/* Playback is another action in the existing use-case pager, never over it. */
.niche-hero[data-scene-video] .scene-video-controls { position: static; }
.niche-hero[data-scene-video] .scene-video-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 4px;
  font-size: 0;
}
.niche-hero[data-scene-video] .scene-video-controls button[hidden] { display: none; }
.niche-hero[data-scene-video] [data-scene-play]::before,
.niche-hero[data-scene-video] [data-scene-pause][aria-pressed="true"]::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 10px;
  border-color: transparent transparent transparent currentColor;
  margin-inline-start: 2px;
}
.niche-hero[data-scene-video] [data-scene-pause][aria-pressed="false"]::before {
  content: "";
  width: 10px;
  height: 14px;
  border-inline: 3px solid currentColor;
}
