.banner-carousel{width:100%;background:#fff}.banner-viewport{overflow:hidden;height:max(0px,calc(100vh - var(--banner-header-height,116px) - var(--banner-controls-height,68px)));height:max(0px,calc(100svh - var(--banner-header-height,116px) - var(--banner-controls-height,68px)));max-height:max(0px,calc(100vh - var(--banner-header-height,116px) - var(--banner-controls-height,68px) - var(--banner-mobile-space,0px)));max-height:max(0px,calc(100svh - var(--banner-header-height,116px) - var(--banner-controls-height,68px) - var(--banner-mobile-space,0px)));touch-action:pan-y}.banner-track{display:flex;height:100%;transform:translate3d(-100%,0,0);transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}.banner-slide{flex:0 0 100%;min-width:0;height:100%;display:block;background:#f4fafb}.banner-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.banner-slide:focus-visible{outline:3px solid #075e67;outline-offset:-3px}.banner-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px;background:#fff}.banner-arrow,.banner-pause{border:1px solid #dce8e9;background:#fff;color:#075e67;border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:24px}.banner-pause{font-size:16px}.banner-dots{display:flex;gap:2px}.banner-dot{border:0;background:transparent;width:28px;height:44px;padding:9px;cursor:pointer}.banner-dot:before{content:'';display:block;width:10px;height:10px;border-radius:50%;background:#c5d9df}.banner-dot[aria-current=true]:before{background:#075e67}.banner-controls button:focus-visible{outline:3px solid #0b7b83;outline-offset:2px}.banner-carousel+.service-grid{margin-top:24px}@media(prefers-reduced-motion:reduce){.banner-track{transition-duration:.01s}}@media(max-width:900px){.banner-viewport{height:auto;aspect-ratio:16/9}.banner-slide img{object-fit:contain}}@media(max-width:620px){.banner-carousel{--banner-mobile-space:62px}.banner-controls{gap:8px;padding:6px}.banner-carousel+.service-grid{margin-top:16px}}
