.image-frame { position: relative; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 300ms ease; }
.video-ready .hero-video { opacity: 1; }
.video-control { position: absolute; right: 16px; bottom: 16px; z-index: 1; min-height: 44px; padding: 10px 15px; border: 1px solid #e4c28580; border-radius: 6px; background: #153e34; color: #f8f6ef; font-size: 12px; }
.video-control:hover { background: #255346; }
.video-control[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .hero-video { transition: none; } }
