/* Full-width, wheel-led cinematic homepage carousel. */
.hero-carousel{isolation:isolate;background:#0b0d10;height:calc(100svh - 125px);min-height:620px;max-height:none}
.hero-slide{position:absolute;inset:0;z-index:0;opacity:0;visibility:hidden;transition:opacity 900ms ease,visibility 0s linear 900ms}
.hero-slide.is-active{z-index:1;opacity:1;visibility:visible;transition:opacity 900ms ease,visibility 0s}
.hero-carousel .hero-photo{width:100%;height:100%;object-fit:cover;object-position:var(--slide-position,50% 60%)}
.hero-carousel .hero-shade,html[dir=rtl] .hero-carousel .hero-shade{z-index:2;background:linear-gradient(180deg,#080a0dc9 0%,#080a0d55 20%,transparent 39%,transparent 77%,#080a0dbb 100%)}
.hero-carousel .hero-content,html:not([lang=en]) .hero-carousel .hero-content,html[dir=rtl] .hero-carousel .hero-content{z-index:3;position:relative;width:100%;max-width:none;margin:0;padding:28px 5% 0;pointer-events:none;text-shadow:0 2px 16px #0009}
.hero-carousel .hero-content a{pointer-events:auto}
.hero-carousel .eyebrow{margin-bottom:10px;font-size:10px}
.hero-carousel h1,html:not([lang=en]) .hero-carousel h1{font-size:clamp(30px,3.3vw,52px);line-height:1.1;max-width:850px}
.hero-carousel h1 br{display:none}.hero-carousel h1 br::after{content:' '}
.hero-carousel .hero-content>p:not(.eyebrow){display:none}
.hero-carousel .actions{margin-top:18px;gap:25px}
.hero-carousel .actions .btn{padding:12px 18px;font-size:11px;background:#c4ed53ed;text-shadow:none}
.hero-carousel .actions .text-link{font-size:11px;padding:8px 0}
.hero-carousel .hero-foot{z-index:4;bottom:24px;padding-top:15px;padding-inline-end:370px;font-size:9px}
.hero-carousel .hero-foot>span:nth-child(2){display:none}
.hero-carousel .photo-label{z-index:4;bottom:79px;font-size:8px;max-width:85%;text-align:end}
.hero-controls{display:none;position:absolute;z-index:5;bottom:15px;inset-inline-end:5%;align-items:center;gap:18px;direction:ltr}
.carousel-ready .hero-controls{display:flex}.hero-arrows{display:flex;gap:8px}
.hero-arrows button,.hero-pause{width:43px;height:43px;border:1px solid #c4c5bd99;background:#0b0d1088;display:grid;place-items:center;color:#fff;font-size:18px;line-height:1}
.hero-arrows button:hover,.hero-pause:hover{border-color:var(--accent);color:var(--accent)}
.hero-dots{display:flex;gap:1px}.hero-dots button{width:31px;height:43px;padding:10px 4px;display:grid;place-items:center}
.hero-dots button>span{width:19px;height:3px;background:#aaa;transition:background 200ms,width 200ms}
.hero-dots button[aria-pressed=true]>span{background:var(--accent);width:25px}
.hero-counter{font:10px monospace;color:#ddd;white-space:nowrap}.hero-counter b{font-weight:400;color:var(--accent)}.hero-pause{font-size:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-aspect-ratio:21/9){.hero-carousel .hero-photo{object-fit:contain}}
@media(max-width:1100px){.hero-controls{gap:10px}.hero-carousel .hero-foot>a{display:none}.hero-carousel .hero-foot{padding-inline-end:340px}}
@media(max-width:760px){
.hero-carousel{height:calc(100svh - 110px);min-height:620px;max-height:none}
.hero-carousel .hero-photo{object-fit:contain;object-position:50% 62%}
.hero-carousel .hero-content,html:not([lang=en]) .hero-carousel .hero-content,html[dir=rtl] .hero-carousel .hero-content{padding:28px 22px 0}
.hero-carousel h1,html:not([lang=en]) .hero-carousel h1{font-size:clamp(27px,7.3vw,38px);line-height:1.17;max-width:620px}
.hero-carousel .eyebrow{font-size:8px;margin-bottom:13px}.hero-carousel .actions{margin-top:17px;gap:8px 18px;flex-direction:row;align-items:center}
.hero-carousel .actions .btn{font-size:10px;padding:11px 14px;gap:14px}.hero-carousel .actions .text-link{font-size:10px;gap:12px}
.hero-carousel .hero-shade,html[dir=rtl] .hero-carousel .hero-shade{background:linear-gradient(180deg,#0b0d1033,transparent 40%,transparent 75%,#0b0d10cc)}
.hero-controls{left:16px;right:16px;bottom:48px;justify-content:center;gap:12px}
.hero-carousel .hero-foot{left:22px;right:22px;bottom:15px;padding:10px 0 0;font-size:8px}.hero-carousel .hero-foot>a{display:inline}
.hero-carousel .photo-label{left:16px;right:16px;bottom:106px;max-width:none;font-size:7px;text-align:center}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dots button>span{transition:none}}
