.hero-carousel{position:relative;margin-top:22px;--slide-time:3000ms;outline-offset:-3px;touch-action:pan-y pinch-zoom}
.hero-stage{position:relative;height:450px;overflow:hidden;background:#142d37;isolation:isolate}
.hero-slide{position:absolute;inset:0;visibility:hidden;pointer-events:none;transform:translateX(0);user-select:none}
.hero-slide.is-active{visibility:visible;pointer-events:auto;z-index:1}
.hero-slide.is-entering,.hero-slide.is-leaving{visibility:visible;pointer-events:none;z-index:2;will-change:transform}
.hero-carousel.is-transitioning .hero-slide{transition:transform 1050ms cubic-bezier(.45,0,.2,1)}
.hero-carousel .fleet-visual{height:100%;margin:0;aspect-ratio:auto}
.hero-carousel .fleet-visual:after{background:linear-gradient(#f5f3ee 0%,#f5f3ee00 15%,#142d3700 80%,#142d3738)}
.hero-carousel .fleet-caption{bottom:22px}
.hero-service{display:grid;grid-template-columns:36% 64%;text-align:left;color:#fff;background:#142d37;text-decoration:none}
.hero-service-copy{align-self:center;position:relative;z-index:2;padding:32px clamp(25px,4vw,72px);padding-right:25px}
.hero-service-tag{font-size:9px;line-height:1.7;letter-spacing:.12em;color:#ffac7d;font-weight:600;display:block}
.hero-service h2{font-family:var(--heading);font-size:clamp(28px,3vw,46px);font-weight:600;line-height:1.16;letter-spacing:-.045em;margin:19px 0 14px}
.hero-service p{font-size:12px;line-height:1.8;color:#d3dce0;max-width:310px}
.hero-service-link{display:inline-flex;gap:25px;align-items:center;font-size:11px;font-weight:600;margin-top:27px;padding-bottom:7px;border-bottom:1px solid #ffab7b88}
.hero-service-link svg{width:22px;height:22px;transition:transform .2s}
.hero-service:hover .hero-service-link svg{transform:translateX(4px)}
.hero-service>img{width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.hero-controls{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 50px;background:#142d37;color:#fff;text-align:left}
.hero-position{display:flex;align-items:center;gap:10px;font-size:10px;color:#b7c5ca;min-width:310px}
.hero-position b{color:#ffac7d;font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}
.hero-position>[data-hero-title]{padding-left:14px;margin-left:5px;border-left:1px solid #ffffff26;color:#edf0ed;font-size:10px}
.hero-dots,.hero-buttons{display:flex;align-items:center;gap:7px}
.hero-dots{gap:1px}
.hero-dots button{width:25px;height:40px;background:none;border:0;display:grid;place-items:center;cursor:pointer;padding:0}
.hero-dots button span{width:5px;height:5px;border-radius:50%;background:#ffffff50;transition:background .25s,transform .25s}
.hero-dots button[aria-current=true] span{background:#ff9d65;transform:scale(1.6)}
.hero-buttons button{width:40px;height:40px;border:1px solid #ffffff3b;border-radius:50%;color:#fff;background:transparent;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.hero-buttons button:hover{background:#ffffff1a}
.hero-buttons svg{width:18px;height:18px}
.hero-buttons [data-hero-prev] svg{transform:rotate(180deg)}

.hero-progress{height:2px;background:#e5e3dc;overflow:hidden}
.hero-progress span{display:block;width:100%;height:100%;background:#f47a3c;transform:scaleX(0);transform-origin:left}
.hero-carousel.is-playing .hero-progress span{animation:hero-progress var(--slide-time) linear both}
.hero-carousel.is-transitioning .hero-progress span,.hero-carousel.is-dragging .hero-progress span{animation-play-state:paused}
.hero-carousel :focus-visible{outline:2px solid #ffad7d;outline-offset:-4px}
.hero-carousel .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}
.service[id]{scroll-margin-top:105px}
@keyframes hero-progress{to{transform:scaleX(1)}}
@media(min-width:1600px){.hero-stage{height:530px}}
@media(max-width:1100px){.hero-stage{height:380px}.hero-service{grid-template-columns:39% 61%}.hero-service-copy{padding:25px 32px}.hero-controls{padding:10px 30px}.hero-position{min-width:270px}.hero-dots button{width:20px}}
@media(max-width:800px){.hero-stage{height:330px}.hero-service{grid-template-columns:40% 60%}.hero-service-copy{padding:24px}.hero-service h2{font-size:29px;margin:13px 0}.hero-service-tag{font-size:8px}.hero-service p{font-size:10px}.hero-service-link{margin-top:17px;font-size:10px}.hero-controls{padding:9px 20px;gap:10px}.hero-position{min-width:0}.hero-position>[data-hero-title]{max-width:185px}.hero-dots{display:none}}
@media(max-width:600px){.hero-carousel{margin-top:18px}.hero-stage{height:auto;aspect-ratio:16/9}.hero-carousel .hero-photo{object-fit:contain;object-position:center}.hero-carousel .fleet-center{top:78%}.hero-carousel .fleet-caption{display:none}.hero-service{display:block}.hero-service>img{position:absolute;inset:0;object-fit:cover;object-position:center}.hero-service:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c202bea 0%,#0c202b85 37%,#0c202b00 76%);z-index:1}.hero-service-copy{position:absolute;bottom:0;left:0;right:0;padding:17px 22px}.hero-service-tag{font-size:7px;letter-spacing:.08em}.hero-service h2{font-size:25px;line-height:1.1;max-width:300px;margin:7px 0 8px;text-shadow:0 1px 9px #142d37}.hero-service p{display:none}.hero-service-link{font-size:9px;margin:0;gap:18px;padding-bottom:2px}.hero-service-link svg{width:17px;height:17px}.hero-controls{min-height:61px;padding:8px 16px;gap:8px}.hero-position{gap:6px}.hero-position b{font-size:15px}.hero-position>[data-hero-title]{max-width:150px;font-size:9px;line-height:1.4;margin-left:3px;padding-left:9px}.hero-buttons{gap:5px}.hero-buttons button{width:33px;height:33px}.hero-buttons svg{width:15px;height:15px}.hero-position>span:not([data-hero-title]){font-size:8px}.service[id]{scroll-margin-top:85px}}
@media(max-width:370px){.hero-controls{padding:8px 12px}.hero-position>[data-hero-title]{max-width:123px}.hero-service h2{font-size:23px}.hero-service-copy{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-carousel.is-transitioning .hero-slide,.hero-service-link svg{transition:none}.hero-carousel.is-playing .hero-progress span{animation:none}}

.hero-countdown{width:40px;height:40px;flex-shrink:0;display:grid;align-content:center;gap:2px;text-align:center;line-height:1;border:1px solid #ffac7d80;border-radius:50%;color:#ffac7d;font-variant-numeric:tabular-nums}
.hero-countdown b{font-size:16px;font-weight:600}.hero-countdown>span{font-size:7px;letter-spacing:.05em}
@media(max-width:600px){.hero-countdown{width:33px;height:33px;gap:1px}.hero-countdown b{font-size:14px}.hero-countdown>span{font-size:7px}}
