.hero-carousel{position:relative;overflow:hidden;touch-action:pan-y;background:#f1f7fb}
.hero-track{display:flex;align-items:stretch;transition:transform 650ms cubic-bezier(.22,.61,.36,1);will-change:transform}
.hero-track>.hero-slide{flex:0 0 100%;min-width:0;margin:0}
.hero-remote .hero-inner,.hero-visit .hero-inner{position:absolute;inset:0;min-height:0}
.hero-slide h2{color:#020407;font-size:clamp(40px,3.5vw,70px);font-weight:950;letter-spacing:-.06em;line-height:1.16;margin:0 0 15px}
.hero-remote{--slide-color:#008b89;background:#e8faf7}
.hero-visit{--slide-color:#a45f08;background:#fff4e2}
.hero-remote h2 span,.hero-visit h2 span{color:var(--slide-color)}
.hero-visit h2 .hero-region{font-size:.76em;color:#171a1d;white-space:nowrap}
.hero-remote .hero-copy,.hero-visit .hero-copy{width:55%;max-width:900px}
.hero-remote:after{background:linear-gradient(90deg,#effcf9dd,#effcf998 36%,transparent 62%)}
.hero-visit:after{background:linear-gradient(90deg,#fff8eedd,#fff8ee99 37%,transparent 63%)}
.hero-remote .hero-photo{object-position:72% center}.hero-visit .hero-photo{object-position:75% center}
.slide-benefits{list-style:none;padding:0;display:flex;gap:0;margin:clamp(24px,2.3vw,44px) 0 0;color:var(--slide-color)}
.slide-benefits li{font-size:clamp(12px,1vw,19px);font-weight:700;padding:0 17px;border-right:1px solid currentColor;white-space:nowrap}
.slide-benefits li:first-child{padding-left:0}.slide-benefits li:last-child{border:0}
.hero-controls{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:3px 9px;border-radius:22px;background:#ffffffc9;z-index:4}
.hero-controls button{border:0;background:transparent;padding:0;color:#234057;min-width:22px;height:23px;line-height:1;font-size:22px;display:flex;align-items:center;justify-content:center}
.hero-dots{display:flex;gap:8px;align-items:center}.hero-dots button{height:8px;min-width:8px;width:8px;background:#9eafbd;border-radius:50%}.hero-dots button[aria-pressed=true]{background:#0865d8;width:22px;border-radius:8px}
.hero-controls .hero-play{font-size:13px}
@media(max-width:1600px){.hero-slide h2{font-size:48px}.hero-remote .hero-copy,.hero-visit .hero-copy{width:58%}.slide-benefits li{padding-inline:10px}}
@media(max-width:1000px){.hero-slide h2{font-size:40px}.hero-remote .hero-copy,.hero-visit .hero-copy{width:68%}.hero-slide .slide-benefits{flex-wrap:wrap;gap:9px}.slide-benefits li{font-size:12px}}
@media(max-width:700px){.hero-slide h2{font-size:clamp(27px,6.7vw,36px);line-height:1.23;margin-bottom:12px}.hero-remote .hero-inner,.hero-visit .hero-inner{padding:26px var(--gutter) 40px;align-items:flex-start}.hero-remote .hero-copy,.hero-visit .hero-copy{width:100%;max-width:none}.hero-slide .hero-copy>p{font-size:15px;line-height:1.6;max-width:100%}.hero-visit h2 .hero-region{font-size:.66em;letter-spacing:-.055em}.hero-remote .hero-photo,.hero-visit .hero-photo{object-position:70% center;opacity:.35}.hero-remote:after{background:linear-gradient(90deg,#effcf9ec,#effcf9a8)}.hero-visit:after{background:linear-gradient(90deg,#fff8eeed,#fff8eea8)}.slide-benefits{margin-top:20px;display:flex;flex-wrap:wrap;row-gap:8px}.slide-benefits li{font-size:11px;padding-inline:8px}.hero-controls{bottom:7px}.hero-controls button{height:20px}}
@media(prefers-reduced-motion:reduce){.hero-track{transition:none}}

/* Direct previous/next controls on both sides of the banner. */
.hero-carousel>.hero-prev,.hero-carousel>.hero-next{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:flex;align-items:center;justify-content:center;width:46px;height:66px;padding:0;border:1px solid #ffffffb0;border-radius:12px;background:#ffffffb8;color:#29465e;box-shadow:0 2px 12px #142b451a;font-family:Arial,sans-serif;font-size:52px;line-height:1;cursor:pointer;transition:background .2s}
.hero-carousel>.hero-prev{left:12px}.hero-carousel>.hero-next{right:12px}
.hero-carousel>.hero-prev:hover,.hero-carousel>.hero-next:hover{background:#fff;color:#0061ff}
@media(max-width:700px){.hero-carousel>.hero-prev,.hero-carousel>.hero-next{width:27px;height:44px;font-size:35px;border-radius:7px;background:#ffffffe0}.hero-carousel>.hero-prev{left:3px}.hero-carousel>.hero-next{right:3px}}

/* Whole-banner interaction replaces the separate side arrows. */
.hero-carousel>.hero-prev,.hero-carousel>.hero-next{display:none}
.hero-carousel .hero-slide{cursor:grab;user-select:none;-webkit-user-select:none}
.hero-carousel .hero-slide:active{cursor:grabbing}
.hero-carousel .hero-photo{-webkit-user-drag:none;user-select:none}

/* Minimal navigation: only three identical black dots. */
.hero-controls{background:none;padding:0;gap:0;bottom:9px}
.hero-controls .hero-play,.hero-controls .hero-prev,.hero-controls .hero-next{display:none}
.hero-dots{gap:0}
.hero-dots button,.hero-dots button[aria-pressed=true]{position:relative;display:block;width:24px;min-width:24px;height:24px;border:0;border-radius:0;background:transparent;padding:0}
.hero-dots button:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#000;left:50%;top:50%;transform:translate(-50%,-50%)}

/* Discreet arrows flank the spaced black dots. */
.hero-controls{gap:10px}
.hero-dots{gap:4px}
.hero-controls .hero-prev,.hero-controls .hero-next{display:flex;width:24px;min-width:24px;height:24px;background:none;color:#111;border:0;padding:0;font-size:27px;line-height:1;align-items:center;justify-content:center}

/* Active banner: filled black; other banners: white with black outline. */
.hero-dots button:before{background:#fff;border:1px solid #111;box-sizing:border-box}
.hero-dots button[aria-pressed=true]:before{background:#000;border-color:#000}

/* Match the original home banner: icon, bold title, smaller description and dividers. */
.slide-service-benefits .promise{gap:10px;padding:0 15px}
.slide-service-benefits .promise:first-child{padding-left:0}
.slide-service-benefits .icon{width:35px;height:35px}
.slide-service-benefits strong{font-size:clamp(14px,1.05vw,20px)}
.slide-service-benefits small{font-size:clamp(11px,.85vw,16px)}
@media(max-width:1600px){.slide-service-benefits .promise{gap:8px;padding-inline:10px}.slide-service-benefits .icon{width:28px;height:28px}.slide-service-benefits strong{font-size:14px}.slide-service-benefits small{font-size:11px}}
@media(max-width:700px){.hero-slide .slide-service-benefits{display:grid;grid-template-columns:1fr 1fr;left:var(--gutter);right:var(--gutter);bottom:42px;gap:13px 8px;margin:0}.slide-service-benefits .promise{padding:0;border:0;gap:8px}.slide-service-benefits .icon{width:26px;height:26px}.slide-service-benefits strong{font-size:13px}.slide-service-benefits small{font-size:10px;margin-top:3px}.hero-remote .hero-copy>p,.hero-visit .hero-copy>p{padding-bottom:85px}}

/* Mobile: keep all content in normal flow so features cannot spill below the slide. */
@media(max-width:700px){
.hero-carousel .hero-slide .hero-inner{position:relative;inset:auto;height:auto;min-height:0;display:block;padding:24px var(--gutter) 48px}
.hero-carousel .hero-slide .hero-copy{width:100%;max-width:none}
.hero-carousel .hero-slide .hero-copy>p{padding-bottom:0;margin-bottom:0;font-size:15px;line-height:1.6}
.hero-carousel .hero-slide .benefits{position:static;left:auto;right:auto;bottom:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 9px;margin:17px 0 0;padding:12px 10px;min-height:112px}
.hero-carousel .hero-slide .benefits .promise{padding:0;border:0;gap:7px;min-width:0;align-items:center}
.hero-carousel .hero-slide .benefits .promise span{min-width:0}
.hero-carousel .hero-slide .benefits strong{font-size:13px;line-height:1.4;white-space:normal}
.hero-carousel .hero-slide .benefits small{font-size:11px;line-height:1.45;white-space:normal;margin-top:3px;overflow-wrap:break-word}
.hero-carousel .hero-slide .benefits .icon{width:26px;height:26px;flex:none}
.hero-controls{bottom:8px}
}
