/* Full-screen hero carousel: supports either video or image slides. */
.hero-image.hero-media { z-index: -3; overflow: hidden; background: #0b3733; filter: none; }
.hero-media-fallback,.hero-media-slide { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hero-media-slide { opacity: 0; transition: opacity 1s ease; }
.hero-media-slide.is-active { opacity: 1; }
.hero-media-fallback,.hero-media-slide img,.hero-media-slide video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-media-fallback,.hero-media-slide img { filter: saturate(.7) contrast(1.06); }
.hero-media-slide video { filter: saturate(.76) contrast(1.07); }
.hero-carousel-controls { position: absolute; z-index: 2; right: max(35px,calc((100vw - 1180px)/2)); bottom: 33px; display: flex; align-items: center; gap: 13px; color: rgba(255,255,255,.72); }
.hero-carousel-count { min-width: 43px; font: 10px var(--mono); letter-spacing: .08em; }
.hero-carousel-dots { display: flex; gap: 7px; }
.hero-carousel-dots button { width: 21px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.36); cursor: pointer; transition: width .25s,background .25s; }
.hero-carousel-dots button.is-active { width: 41px; background: var(--orange-2); }
@media(max-width:900px) { .hero-carousel-controls { right: 22px; bottom: 23px; } }
@media(max-width:580px) { .hero-media-fallback,.hero-media-slide img,.hero-media-slide video { object-position: 58% center; } .hero-carousel-controls { display: none; } }
