/* Home hero only. Original photography, slide content and other carousels are untouched. */
.promo-carousel .hero-slider-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:4px;max-width:calc(100% - 104px);overflow-x:auto;padding:3px;background:transparent}
.promo-carousel .hero-slider-dots button{flex:0 0 28px;display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer}
.promo-carousel .hero-slider-dots button::before{content:'';width:7px;height:7px;border-radius:50%;background:#fff;opacity:.5;box-shadow:0 0 2px rgba(7,26,51,.5);transition:opacity 200ms ease}
.promo-carousel .hero-slider-dots button[aria-pressed="true"]::before,.promo-carousel .hero-slider-dots button:hover::before{opacity:1}
.promo-carousel .hero-slider-dots button:focus-visible{outline:2px solid #fff;outline-offset:-2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){.promo-carousel .hero-slider-dots button::before{transition:none}}
.promo-carousel{--hero-height:clamp(700px,100svh,1240px)}
.promo-carousel .promo-slide{display:block;min-height:var(--hero-height);padding:calc(var(--hero-height)*.25) 0 80px}
.promo-carousel .promo-slide[hidden]{display:none}
.promo-carousel .promo-slide::after{background:linear-gradient(90deg,rgba(7,26,51,.27) 0%,rgba(7,26,51,.15) 65%,rgba(7,26,51,.036) 100%);pointer-events:none}
.promo-carousel .promo-copy{width:min(750px,76%);max-width:none;margin:0 0 0 12%;padding:0;text-align:left;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.promo-carousel .promo-copy>.eyebrow{margin-top:0}
.promo-carousel .promo-copy>p:not(.eyebrow){color:#fff}
.promo-carousel .promo-copy h1,.promo-carousel .promo-copy p{overflow-wrap:anywhere}
.promo-carousel .promo-copy .button{text-shadow:none}
.promo-carousel .hero-slider-controls{position:absolute;inset:0;z-index:2;pointer-events:none}
.promo-carousel .hero-slider-controls button{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:56px;height:80px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:rgba(236,240,244,.5);font-family:'Segoe UI',Arial,sans-serif;font-size:76px;font-weight:300;line-height:1;cursor:pointer;pointer-events:auto;transition:color 200ms ease}
.promo-carousel .hero-slider-controls [data-prev]{left:clamp(8px,2vw,28px)}
.promo-carousel .hero-slider-controls [data-next]{right:clamp(8px,2vw,28px)}
.promo-carousel .hero-slider-controls button:hover,.promo-carousel .hero-slider-controls button:focus-visible{color:#fff;background:transparent}
.promo-carousel .hero-slider-controls span{display:block;line-height:1;pointer-events:none}
.promo-carousel:focus-visible{outline:3px solid #26bfe8;outline-offset:-3px}
@media(max-width:800px){.promo-carousel{--hero-height:clamp(520px,78svh,850px)}.promo-carousel .promo-copy h1{font-size:clamp(30px,5vw,44px)}}
@media(max-width:600px){.promo-carousel{--hero-height:clamp(460px,72svh,720px)}.promo-carousel .promo-slide{padding:calc(var(--hero-height)*.2) 0 60px}.promo-carousel .promo-copy{width:calc(100% - 104px);margin-left:52px}.promo-carousel .promo-copy h1{font-size:clamp(26px,6vw,36px);line-height:1.15}.promo-carousel .promo-copy>p:not(.eyebrow){font-size:15px;line-height:1.65}.promo-carousel .promo-copy>.eyebrow{font-size:9px;letter-spacing:.1em}.promo-carousel .hero-slider-controls button{width:44px;height:64px;font-size:62px}.promo-carousel .hero-slider-controls [data-prev]{left:4px}.promo-carousel .hero-slider-controls [data-next]{right:4px}}
@media(prefers-reduced-motion:reduce){.promo-carousel .hero-slider-controls button{transition:none}}
/* Original slides share one grid cell; the two moving slides form an edge-to-edge strip. */
.promo-carousel.hero-motion-ready .carousel-slides{display:grid;overflow:hidden;isolation:isolate}
.promo-carousel.hero-motion-ready .promo-slide{grid-area:1/1;min-width:0;width:100%;transform:translate3d(0,0,0)}
.promo-carousel.hero-motion-ready .promo-slide[hidden]{display:block;visibility:hidden;pointer-events:none}
.promo-carousel [data-slide] .promo-copy h1{transition:color 250ms ease}
@media(hover:hover) and (pointer:fine){.promo-carousel [data-slide] .promo-copy h1:hover{color:var(--highlight-text,#55ccec)}}
@media(prefers-reduced-motion:reduce){.promo-carousel [data-slide] .promo-copy h1{transition:none}}
