.hero.hero-carousel{position:relative;isolation:isolate;display:flex;align-items:center;min-height:660px;overflow:hidden;padding-bottom:130px;background:#2d2a29}
.hero-carousel .hero-art{position:absolute;inset:0;z-index:-2;padding:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;overflow:hidden;background:#2d2a29}
.hero-slide.is-active{opacity:1}
.hero-slide img{height:100%;width:100%;object-fit:cover;object-position:center;transform:scale(1.04);filter:saturate(.75);transition:transform 8s linear}
.hero-slide.is-active img{transform:scale(1.12)}
.hero-carousel.is-paused .hero-slide img{transition:none;transform:scale(1.04)}
.hero-carousel:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,25,24,.87),rgba(16,25,24,.48) 55%,rgba(16,25,24,.18)),linear-gradient(0deg,rgba(16,25,24,.8),transparent 40%);pointer-events:none}
.hero-carousel .hero-copy{max-width:650px;position:relative}.hero-carousel .intro{color:#fff;max-width:480px}.hero-carousel .hero-note{color:#fff}.hero-carousel .hero h1{color:white}
.carousel-bar{position:absolute;bottom:32px;left:max(30px,calc((100vw - 1208px)/2));right:max(30px,calc((100vw - 1208px)/2));display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid #ffffff60;padding-top:22px;color:white}
.carousel-caption{display:grid;gap:5px}.carousel-caption small{font-size:11px;letter-spacing:2px;color:#d2d4c6}.carousel-caption strong{font:700 22px var(--serif)}.carousel-controls{display:flex;gap:10px;align-items:center}.carousel-controls button{min-width:44px;min-height:44px;border:1px solid #ffffff80;background:#182b2b80;color:white;font:14px var(--sans);cursor:pointer}.carousel-controls button:hover{background:#3a5a5c}.carousel-controls button:focus-visible{outline:3px solid white;outline-offset:4px}.carousel-dots{display:flex;gap:8px}.carousel-dots button{min-width:32px;width:32px;border:0;background:none;position:relative}.carousel-dots button:after{content:'';display:block;height:3px;background:#ffffff70;width:100%}.carousel-dots button[aria-pressed=true]:after{background:white;height:5px}.carousel-pause{padding:0 14px}.carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:650px){.hero.hero-carousel{min-height:740px;padding:42px 22px 190px}.hero-carousel .hero-copy{padding:0}.hero-carousel .hero-art{position:absolute}.hero-carousel .hero-slide img{object-position:60% center}.hero-carousel:after{background:linear-gradient(90deg,#10201de6,#10201d65),linear-gradient(0deg,#10201dec,transparent)}.carousel-bar{left:22px;right:22px;bottom:24px;align-items:flex-start;flex-direction:column;gap:16px}.carousel-caption strong{font-size:20px}.carousel-controls{gap:8px}.carousel-dots{gap:4px}.carousel-controls button{font-size:12px}.hero-carousel .hero-note{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide img{transition:none!important}.hero-slide img,.hero-slide.is-active img{transform:none!important}}

/* Swiper owns slide positioning, opacity and gesture handling. */
.hero-carousel .hero-art.swiper{z-index:0;width:100%;height:100%}
.hero-carousel:after{z-index:1}
.hero-carousel .hero-copy,.hero-carousel .carousel-bar{z-index:2}
.hero-carousel .hero-copy{pointer-events:none}
.hero-carousel .hero-copy a{pointer-events:auto}
.hero-carousel .swiper-wrapper{height:100%}
.hero-carousel .hero-slide.swiper-slide{position:relative;inset:auto;opacity:1;transition-property:opacity;flex-shrink:0;height:100%;width:100%}
.hero-carousel .carousel-bar{pointer-events:none}
.hero-carousel .carousel-controls{pointer-events:auto}
#carousel-pause{padding-inline:14px}
