/* Motion direction: a single departure, precise responses, no autoplay. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
#sp{width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none}
.site-nav,.bar{transition:box-shadow 240ms ease}
.site-nav.is-scrolled,.bar.is-scrolled{box-shadow:0 8px 28px #000e2426}
.nav-link{position:relative}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#e31e24;transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--motion-ease)}
.nav-link:hover::after,.nav-link:focus-visible::after,.nav-link[aria-current="location"]::after{transform:scaleX(1)}
.button,.btn{transition:background-color 180ms ease,box-shadow 180ms ease,translate 180ms var(--motion-ease)}
.button:active,.btn:active{translate:0 2px}
.button .material-symbols-outlined,.svc-card .material-symbols-outlined{transition:translate 240ms var(--motion-ease)}
@media(hover:hover){.button:hover .material-symbols-outlined,.svc-card:hover .material-symbols-outlined{translate:3px 0}.button:hover,.btn:hover{box-shadow:0 6px 18px #000e241a}}
.hero-route{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#cbd5e1;padding:16px 28px 0}
.hero-route svg{flex:1;min-width:40px;height:20px;overflow:visible}
.hero-route path{stroke:#ed454b;stroke-width:2;fill:none}
.hero-route circle{fill:#ed454b}
#carousel{touch-action:pan-y;isolation:isolate}
#carousel-track{transition:transform 320ms var(--motion-ease)}
#carousel-prev,#carousel-next{width:44px;height:44px;transition:background-color 180ms ease,scale 180ms ease}
#carousel-prev:active,#carousel-next:active{scale:.94}
#carousel .carousel-dot{width:44px;height:44px;background:transparent;position:relative;border-radius:4px}
.carousel-dot::after{content:"";position:absolute;width:8px;height:8px;left:18px;top:18px;background:#a3acb7;border-radius:8px;transition:width 240ms var(--motion-ease),left 240ms var(--motion-ease),background 180ms ease}
.carousel-dot[aria-current="true"]::after{width:24px;left:10px;background:#c91820}
.carousel-status{text-align:center;margin:0;padding:0 22px 24px;font-size:13px;color:#334155;min-height:44px}
.motion-preference{display:block;margin:24px auto 0;padding:10px 16px;min-height:44px;border:1px solid #7c8999;border-radius:4px;background:transparent;color:#dce4ed;font:inherit;font-size:12px;cursor:pointer}
.motion-preference:disabled{cursor:default}
:where(button,a):focus-visible{outline:3px solid #e31e24;outline-offset:4px}
html[data-motion="reduced"]{scroll-behavior:auto!important}
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="reduced"]::view-transition-old(root),html[data-motion="reduced"]::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

.carousel-pagination{display:flex;justify-content:center;gap:8px;padding:4px 0}
.motion-preference[aria-pressed="true"]{background:#26384b;border-color:#dce4ed}
.hero-route path{vector-effect:non-scaling-stroke}

@media(max-width:767px){#carousel-track>div{min-height:260px!important;padding:16px}#carousel-track img{max-height:240px}}
