.hero.has-carousel{background-image:none;touch-action:pan-y}
.hero-slides{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-slide,.hero-slide picture,.hero-slide img{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{opacity:0;transition:opacity 1100ms ease;pointer-events:none}
.hero-slide.is-active{opacity:1}
.hero-slide img{display:block;object-fit:cover;object-position:center;user-select:none}
.hero.has-carousel::before{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.46) 55%,rgba(0,0,0,.16))}
.hero.has-carousel .band-inner{position:relative;z-index:1;width:100%;max-width:1246px;margin-inline:auto}
.hero.has-carousel h1{font-size:48px;line-height:1.04;max-width:365px;letter-spacing:-.015em}
.hero.has-carousel .hero-intro{max-width:410px;margin-top:16px;font-size:16px;line-height:1.28}
.hero-desktop-break,.hero-mobile-break{display:none}
@media(min-width:1025px){.hero-desktop-break{display:initial}}
.hero.has-carousel .button{margin-top:24px;padding:12px 20px;gap:6px;font-size:12px;line-height:1.2;letter-spacing:.06em;background:transparent;border:1px solid #fff;color:#fff}
.hero.has-carousel .button span{font-size:16px}
.hero.has-carousel .button:hover{background:rgba(255,255,255,.1);color:#fff}
.hero-controls{position:absolute;left:50%;right:auto;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:0;z-index:2}
.hero-controls[hidden]{display:none}
.hero-controls button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;cursor:pointer;font:400 23px/1 Arial,sans-serif}
.hero-controls button:hover{background:transparent;color:#fff;opacity:.8}
.hero-controls button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.hero-controls .hero-dot{width:24px;height:36px}
.hero-dot span{display:block;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;transition:opacity .2s}
.hero-dot[aria-current=true] span{opacity:1}
.hero-controls .hero-pause{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;font:400 12px/1.4 var(--heading)}
.hero-controls .hero-pause:focus-visible{width:auto;height:32px;padding:4px 12px;bottom:40px;left:50%;transform:translateX(-50%);clip-path:none;background:var(--brand);overflow:visible}
.hero-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){
  .hero.has-carousel{min-height:0;aspect-ratio:812/1440;align-items:flex-start;padding:clamp(72px,27vw,118px) clamp(26px,8vw,40px) 76px}
  .hero.has-carousel::before{background:linear-gradient(180deg,rgba(0,0,0,.46),rgba(0,0,0,.4) 45%,rgba(0,0,0,.3) 70%,rgba(0,0,0,.6))}
  .hero.has-carousel:is([data-carousel-index="0"],:not([data-carousel-index]))::before{background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.14) 45%,rgba(0,0,0,.3) 75%,rgba(0,0,0,.6))}
  .hero-mobile-break{display:initial}
  .hero.has-carousel h1{font-size:40px;line-height:.98;letter-spacing:-.015em;max-width:245px}
  .hero.has-carousel .hero-intro{font-size:13px;font-weight:400;line-height:1.1;margin-top:6px;max-width:260px}
  .hero.has-carousel .button{position:relative;font-size:10px;line-height:1.3;letter-spacing:.06em;padding:9px 16px;margin-top:24px;gap:0;background:transparent;border:1px solid #fff;color:#fff}
  .hero.has-carousel .button:hover{background:rgba(255,255,255,.1);color:#fff}
  .hero.has-carousel .button [aria-hidden="true"]{display:none}
  .hero.has-carousel .button::after{content:"";position:absolute;inset:-6px 0}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot span{transition:none}}
