/* Homepage only: staged photography for the four operating strengths. */
.hero-carousel{position:relative;min-width:0;width:100%;height:auto;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#183b33;color:#fff;isolation:isolate;touch-action:pan-y pinch-zoom}
.hero-carousel-track{height:100%;display:flex;transition:transform .65s cubic-bezier(.22,.68,.2,1);will-change:transform}
.hero-slide{position:relative;flex:0 0 100%;min-width:0;height:100%;overflow:hidden}
.hero-slide::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(8,31,26,.12) 25%,rgba(8,31,26,.91) 100%);pointer-events:none}
.hero-slide img{width:100%;height:100%;object-fit:contain;object-position:50% 40%}
.hero-slide-copy{position:absolute;z-index:1;left:28px;right:25px;bottom:75px}
.hero-slide-copy .hero-slide-kicker{display:block;color:#c6e2d4;font-size:10px;font-weight:700;letter-spacing:1.8px;margin-bottom:8px}
.hero-slide-copy h2{color:#fff;font-size:25px;letter-spacing:-.8px;line-height:1.35;margin:0 0 9px;word-break:keep-all}
.hero-slide-copy p{color:#eef5f1;font-size:14px;line-height:1.65;margin:0;word-break:keep-all;max-width:350px}
.hero-carousel-label{position:absolute;z-index:2;top:18px;left:20px;padding:4px 9px;background:rgba(13,37,31,.62);border:1px solid #ffffff24;border-radius:5px;font-size:10px;letter-spacing:.3px;line-height:1.6;color:#fff;pointer-events:none}
.hero-carousel-count{position:absolute;z-index:2;top:20px;right:22px;font-size:12px;letter-spacing:1px;line-height:1.8;color:#fff;text-shadow:0 1px 7px #0009;font-variant-numeric:tabular-nums}
.hero-carousel-controls{position:absolute;z-index:3;left:22px;right:22px;bottom:19px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-carousel-dots,.hero-carousel-actions{display:flex;align-items:center;gap:5px}
.hero-carousel button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#ffffff0b;color:#fff;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.hero-carousel button:hover{background:#ffffff24;border-color:#ffffffa0}
.hero-carousel button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.hero-carousel button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-carousel .hero-carousel-dot{width:30px;min-width:30px;height:32px;border:0;background:transparent;border-radius:6px}
.hero-carousel-dot::before{content:"";display:block;width:5px;height:5px;border-radius:10px;background:#ffffff66;transition:width .3s,background .3s}
.hero-carousel-dot[aria-current="true"]::before{width:25px;background:#e0f4e6}
.hero-carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-carousel .hero-play-icon{display:none}
.hero-carousel.is-paused .hero-play-icon{display:block}
.hero-carousel.is-paused .hero-pause-icon{display:none}
.hero-carousel:not(.is-ready) .hero-carousel-controls{display:none}
@media(max-width:900px) and (min-width:621px){.hero-carousel{height:auto;aspect-ratio:1/1}.hero-slide-copy{left:22px;right:20px}.hero-slide-copy h2{font-size:22px}.hero-slide-copy p{font-size:13px}}
@media(max-width:620px){.hero-carousel{height:auto;aspect-ratio:1/1;border-radius:12px}.hero-slide-copy{left:22px;right:20px;bottom:68px}.hero-slide-copy h2{font-size:22px;margin-bottom:7px}.hero-slide-copy p{font-size:13px;max-width:300px}.hero-carousel-controls{left:17px;right:17px;bottom:16px}.hero-carousel-label{top:15px;left:17px}.hero-carousel-count{top:16px;right:18px}.hero-slide img{object-position:50% 36%}}
@media(prefers-reduced-motion:reduce){.hero-carousel-track,.hero-carousel button,.hero-carousel-dot::before{transition:none}}
