/* Banner carousel: scoped styles preserve the existing white/blue theme. */
.hero-slider{min-height:0;touch-action:pan-y}
.hero-slider::after{display:none}
.hero-slides{display:grid}
.hero-slide{grid-area:1/1;position:relative;min-width:0;min-height:460px;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(20,133,183,.96) 0%,rgba(21,139,190,.88) 43%,rgba(30,142,187,.1) 78%)}
.hero-slide .hero-photo{inset:0;object-fit:cover;width:100%;height:100%}
.hero-slide .hero-content{padding:65px 40px 135px;position:relative;z-index:1}
.hero-slide .hero-slide-title{color:white;text-transform:uppercase;font-size:46px;max-width:720px;letter-spacing:-.5px;line-height:1.35;margin:15px 0 22px}
.hero-slide .hero-content p{max-width:620px;margin:0;font-size:19px;line-height:1.8;color:white}
.hero-slider-controls[hidden]{display:none}
.hero-arrow,.hero-playback{position:absolute;z-index:3;display:grid;place-items:center;border:0;color:white;background:transparent;cursor:pointer}
.hero-arrow{top:42%;width:48px;height:64px;transform:translateY(-50%);border-radius:4px}
/* Place the arrow centre 100px before the text container on wide screens. */
.hero-arrow-prev{left:max(12px,calc(50% - 500px - 100px - 24px))}.hero-arrow-next{right:12px}
.hero-arrow svg{width:32px;height:32px;stroke-width:2.5}
.hero-arrow:hover,.hero-playback:hover{background:#0c4d7a55}
.hero-arrow:focus-visible,.hero-dot:focus-visible,.hero-playback:focus-visible{outline:2px solid white;outline-offset:3px}
.hero-dots{position:absolute;z-index:3;bottom:70px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px}
.hero-dot{width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;padding:0;cursor:pointer}
.hero-dot span{display:block;width:10px;height:10px;border:1px solid white;border-radius:50%;background:transparent;transition:background .2s}
.hero-dot.is-active span{background:white}
.hero-playback{right:24px;bottom:70px;width:36px;height:36px;border-radius:50%;font-size:16px}
@media(min-width:1450px){.hero-slide .hero-slide-title{font-size:48px}}
@media(max-width:800px){.hero-slide{min-height:430px}.hero-slide .hero-content{padding:50px 30px 115px}.hero-slide .hero-slide-title{font-size:36px}.hero-slide .hero-content p{font-size:17px}.hero-arrow{width:34px}.hero-arrow-prev{left:2px}.hero-arrow-next{right:2px}.hero-dots,.hero-playback{bottom:48px}.hero-slide::after{background:linear-gradient(100deg,rgba(20,133,183,.96),rgba(21,139,190,.65))}}
@media(max-width:540px){.hero-slide{min-height:440px}.hero-slide .hero-content{padding:45px 20px 110px}.hero-slide .hero-slide-title{font-size:30px}.hero-slide .hero-content p{font-size:16px}.hero-arrow{top:44%;width:28px}.hero-arrow svg{width:22px;height:22px}.hero-playback{right:15px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-dot span{transition:none}}
/* Align every slide's text with the outer left edge of the tracking panel. */
.hero-slide .hero-content{max-width:1000px;padding-inline:0;text-align:left}
