.homepage-carousel{position:relative;margin:8px 0 28px;border-radius:28px;overflow:hidden;background:#142b31;color:#fff;box-shadow:0 24px 70px #0002}
.homepage-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.homepage-track::-webkit-scrollbar{display:none}
.homepage-slide{position:relative;flex:0 0 100%;min-width:0;min-height:510px;scroll-snap-align:start;isolation:isolate;display:flex;align-items:center;padding:64px 64px 100px}
.homepage-slide-image,.homepage-slide-shade,.homepage-slide-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.homepage-slide-image{object-fit:cover}.homepage-slide-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,20,25,.87),rgba(5,20,25,.48) 55%,rgba(5,20,25,.12))}
.homepage-slide-art{background:radial-gradient(ellipse at 80% 20%,#66b7a7 0,transparent 55%),linear-gradient(120deg,#173946,#28645e);display:flex;align-items:center;justify-content:flex-end;padding:4%;gap:10px;transform:rotate(-4deg)}.homepage-slide-art span:first-child{font:400 380px Georgia;color:#d9f98b}.homepage-slide-art span:last-child{font-size:64px;font-weight:700;line-height:1.05;color:#d9f98b}
.homepage-slide-copy{max-width:660px}.homepage-kicker{font-size:11px;font-weight:700;letter-spacing:.2em;color:#d9f98b;margin-bottom:22px}.homepage-slide-copy h1,.homepage-slide-copy h2{font-size:clamp(2rem,4.2vw,3.8rem);line-height:1.08;letter-spacing:-.045em;color:#fff;margin:0 0 24px;font-weight:700;overflow-wrap:anywhere}.homepage-description{max-width:540px;color:#e0e9e8;font-size:17px;line-height:1.65;margin-bottom:28px;overflow-wrap:anywhere}.homepage-slide-copy .btn{padding:14px 22px;border-radius:100px;background:#d9f98b;border-color:#d9f98b;color:#183a33;font-weight:700}.homepage-slide-copy .btn span{margin-left:24px}
.homepage-carousel-controls{position:absolute;bottom:25px;left:64px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:16px}.homepage-carousel-controls[hidden]{display:none}.homepage-dots,.homepage-arrows{display:flex;align-items:center;gap:10px}.homepage-dots{flex-wrap:wrap}.homepage-dots button{width:28px;height:28px;border:0;background:transparent;position:relative}.homepage-dots button:after{content:'';position:absolute;inset:11px 3px;border-radius:8px;background:#ffffff60}.homepage-dots button[aria-current=true]:after{background:#d9f98b}.homepage-arrows span{font-size:12px;color:#fff;margin-right:12px;white-space:nowrap}.homepage-arrows button{border:1px solid #ffffff70;border-radius:50%;width:44px;height:44px;background:#16342e70;color:white;font-size:22px}.homepage-carousel button:focus-visible,.homepage-carousel a:focus-visible{outline:3px solid #d9f98b;outline-offset:3px}
@media(max-width:767px){.homepage-carousel{border-radius:20px}.homepage-slide{min-height:530px;padding:38px 25px 100px}.homepage-carousel-controls{left:23px;right:23px;bottom:22px}.homepage-description{font-size:15px}.homepage-slide-shade{background:linear-gradient(90deg,#051419e8,#05141970)}.homepage-slide-art span:last-child{font-size:40px}.homepage-slide-art span:first-child{font-size:260px}.homepage-arrows{gap:6px}.homepage-arrows span{margin-right:4px}}
.homepage-carousel [hidden]{display:none!important}
.homepage-carousel.is-enhanced .homepage-track{overflow:visible;scroll-snap-type:none;transform:translateX(var(--carousel-offset,0%));transition:transform var(--carousel-speed,650ms) cubic-bezier(.22,.61,.36,1)}
.homepage-carousel.is-enhanced .homepage-slide{flex-basis:100%;scroll-snap-align:none}
.homepage-carousel.is-enhanced[data-effect=fade] .homepage-track{display:grid;transform:none}
.homepage-carousel.is-enhanced[data-effect=fade] .homepage-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity var(--carousel-speed,650ms) ease,visibility var(--carousel-speed,650ms)}
.homepage-carousel.is-enhanced[data-effect=fade] .homepage-slide.is-active{opacity:1;visibility:visible;z-index:1}
.homepage-carousel-controls{z-index:3}.homepage-arrows button:disabled{opacity:.35;cursor:default}.homepage-arrows button:hover:not(:disabled){background:#d9f98b;color:#183a33}.homepage-carousel:focus-visible{outline:3px solid #d9f98b;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.homepage-carousel.is-enhanced .homepage-track,.homepage-carousel.is-enhanced .homepage-slide{transition:none!important}}
@media(max-width:420px){.homepage-carousel-controls{gap:6px}.homepage-arrows button{width:36px;height:36px}.homepage-dots{gap:2px}.homepage-dots button{width:24px}}
/* Image-first layouts keep the controls in their own footer. */
.homepage-carousel[data-text-layout=below] .homepage-slide{display:flex;flex-direction:column;align-items:stretch;padding:0;min-height:0;background:#142b31}
.homepage-carousel[data-text-layout=below] .homepage-slide-image{position:relative;inset:auto;z-index:0;height:auto;aspect-ratio:12/5;object-fit:cover}
.homepage-carousel[data-text-layout=below] .homepage-slide-art{position:relative;min-height:300px;transform:none;z-index:0}
.homepage-carousel[data-text-layout=below] .homepage-slide-shade,.homepage-carousel[data-text-layout=hidden] .homepage-slide-shade{display:none}
.homepage-carousel[data-text-layout=below] .homepage-slide-copy{padding:32px 48px 40px;max-width:100%}
.homepage-carousel[data-text-layout=below] .homepage-slide-copy h1,.homepage-carousel[data-text-layout=below] .homepage-slide-copy h2{font-size:clamp(1.7rem,3vw,2.7rem);max-width:950px;margin-bottom:16px}
.homepage-carousel[data-text-layout=below] .homepage-description{max-width:850px}
.homepage-carousel[data-text-layout=below] .homepage-kicker{margin-bottom:14px}
.homepage-carousel[data-text-layout=below] .homepage-carousel-controls,.homepage-carousel[data-text-layout=hidden] .homepage-carousel-controls{position:relative;bottom:auto;left:auto;right:auto;padding:16px 32px;border-top:1px solid #ffffff15;background:#142b31}
.homepage-carousel[data-text-layout=hidden] .homepage-slide{padding:0;min-height:0;aspect-ratio:12/5}
@media(max-width:767px){.homepage-carousel[data-text-layout=below] .homepage-slide-copy{padding:26px 24px}.homepage-carousel[data-text-layout=below] .homepage-carousel-controls,.homepage-carousel[data-text-layout=hidden] .homepage-carousel-controls{padding:14px 20px}}
/* Layered transitions share the same slide height across all text layouts. */
.homepage-carousel.is-enhanced:is([data-effect=zoom],[data-effect=vertical],[data-effect=reveal],[data-effect=flip],[data-effect=instant],[data-effect=zoomout],[data-effect=blur],[data-effect=iris],[data-effect=wipe],[data-effect=tilt]) .homepage-track{display:grid;transform:none;perspective:1400px}
.homepage-carousel.is-enhanced:is([data-effect=zoom],[data-effect=vertical],[data-effect=reveal],[data-effect=flip],[data-effect=instant],[data-effect=zoomout],[data-effect=blur],[data-effect=iris],[data-effect=wipe],[data-effect=tilt]) .homepage-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:filter var(--carousel-speed,650ms) ease,opacity var(--carousel-speed,650ms) ease,transform var(--carousel-speed,650ms) cubic-bezier(.22,.61,.36,1),clip-path var(--carousel-speed,650ms) ease,visibility var(--carousel-speed,650ms)}
.homepage-carousel.is-enhanced[data-effect=zoom] .homepage-slide{transform:scale(1.08)}
.homepage-carousel.is-enhanced[data-effect=vertical] .homepage-slide{transform:translateY(12%)}
.homepage-carousel.is-enhanced[data-effect=reveal] .homepage-slide{clip-path:inset(0 100% 0 0);opacity:1}
.homepage-carousel.is-enhanced[data-effect=flip] .homepage-slide{transform:rotateY(-35deg) scale(.96);transform-origin:center;backface-visibility:hidden}
.homepage-carousel.is-enhanced:is([data-effect=zoom],[data-effect=vertical],[data-effect=reveal],[data-effect=flip],[data-effect=instant],[data-effect=zoomout],[data-effect=blur],[data-effect=iris],[data-effect=wipe],[data-effect=tilt]) .homepage-slide.is-active{opacity:1;visibility:visible;transform:none;clip-path:inset(0);z-index:1}
.homepage-carousel.is-enhanced[data-effect=instant] .homepage-slide{transition:none}

.homepage-carousel.is-enhanced[data-effect=zoomout] .homepage-slide{transform:scale(.88)}
.homepage-carousel.is-enhanced[data-effect=blur] .homepage-slide{filter:blur(14px);transform:scale(1.03)}
.homepage-carousel.is-enhanced[data-effect=iris] .homepage-slide{clip-path:circle(0% at 65% 50%);opacity:1}
.homepage-carousel.is-enhanced[data-effect=wipe] .homepage-slide{clip-path:inset(0 0 100% 0);opacity:1}
.homepage-carousel.is-enhanced[data-effect=tilt] .homepage-slide{transform:translateY(8%) rotate(4deg) scale(1.08)}
.homepage-carousel.is-enhanced:is([data-effect=zoomout],[data-effect=blur],[data-effect=wipe],[data-effect=tilt]) .homepage-slide.is-active{transform:none;filter:none;clip-path:inset(0)}
.homepage-carousel.is-enhanced[data-effect=iris] .homepage-slide.is-active{clip-path:circle(150% at 65% 50%)}

/* Make the image clickable without covering the carousel controls or its CTA. */
.homepage-slide-link { position:absolute; inset:0; z-index:0; display:block; }
.homepage-slide-link:focus-visible { outline-offset:-5px!important; }
.homepage-slide-copy { position:relative; z-index:1; pointer-events:none; }
.homepage-slide-copy a { pointer-events:auto; }
.homepage-carousel[data-text-layout=below] .homepage-slide-link { bottom:auto; aspect-ratio:12/5; }
