/* A plain video with a small collection caption; global navigation is unchanged. */
.hero.has-video::before{display:none}
.hero.has-video::after{background:linear-gradient(180deg,transparent 65%,#09070c33)}
.hero-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;background:#08080b;user-select:none;-webkit-user-select:none;touch-action:auto}
/* Keep background media inert; the shield uses native page scrolling and pinch zoom. */
.hero-video-touch-shield{position:absolute;inset:0;z-index:-1;pointer-events:auto;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
/* Some embedded WebKit shells briefly expose their native media chrome when
   autoplay is interrupted. Keep this decorative background video chrome-free. */
.hero-video::-webkit-media-controls,.hero-video::-webkit-media-controls-enclosure,.hero-video::-webkit-media-controls-panel,.hero-video::-webkit-media-controls-overlay-play-button{display:none!important;opacity:0!important}
.hero-caption{position:absolute;right:40px;bottom:22px;display:flex;align-items:center;min-height:44px;max-width:calc(100% - 120px);margin:0;padding:12px 0;color:#f0edf2;font:400 11px/1.5 var(--font);letter-spacing:.025em;text-transform:uppercase;text-align:right;opacity:0;transition:opacity .2s ease;text-shadow:0 1px 12px #0005}
.hero.has-video.is-video-hovered .hero-caption,.hero.has-video:has(:focus-visible) .hero-caption{opacity:1}
.hero-caption:hover{text-decoration:none}
@media(hover:hover) and (pointer:fine) and (min-width:651px){
  .hero-caption{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 80px);justify-content:center;text-align:center}
  .hero-video{filter:grayscale(0) brightness(1);transition:filter .25s ease}
  .hero.has-video.is-video-hovered .hero-video,.hero.has-video:has(:focus-visible) .hero-video{filter:grayscale(1) brightness(.65)}
}
@media(hover:none),(pointer:coarse){.hero-caption{opacity:1}}
@media(max-width:650px){.hero-caption{right:20px;bottom:max(8px,env(safe-area-inset-bottom));max-width:calc(100% - 80px);font-size:10px;opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-caption,.hero-video{transition:none}}
