/* A small top-down pickup follows the visitor's journey along a marked road. */
.scroll-truck{--truck-y:14px;position:fixed;z-index:30;top:var(--viewport-top,0px);bottom:auto;left:12px;width:78px;height:100vh;height:var(--viewport-height,100dvh);pointer-events:none}
.scroll-truck-road{position:absolute;inset:0;border-radius:32px;background:transparent;opacity:.8;overflow:hidden}
.scroll-truck-road:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translateX(-50%);background:repeating-linear-gradient(to bottom,#4e9daf 0 15px,transparent 15px 34px);opacity:.75}

.scroll-truck-vehicle{position:absolute;left:13px;top:var(--truck-y);width:52px;height:87px;filter:drop-shadow(0 5px 4px #06203966);transition:top .22s ease-out;will-change:top;pointer-events:auto;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.scroll-truck-vehicle svg{display:block;width:100%;height:auto;overflow:visible;stroke:none}
.scroll-truck .truck-exhaust{opacity:0}
.scroll-truck.is-moving .truck-body{animation:truck-engine .26s ease-in-out infinite alternate}
.scroll-truck.is-moving .truck-exhaust{animation:truck-puff 1s ease-out infinite}
@keyframes truck-engine{to{transform:translateX(.65px)}}
@keyframes truck-puff{0%{opacity:0;transform:translateY(4px) scale(.9)}35%{opacity:.85}100%{opacity:0;transform:translateY(-7px) scale(1.08)}}
/* Keep page content clear of the truck while preserving the centred layout on wide screens. */
.container{width:auto;max-width:1320px;margin-left:max(105px,calc((100% - 1320px)/2));margin-right:max(40px,calc((100% - 1320px)/2))}
@media(max-width:760px){.scroll-truck{left:5px;width:51px}.scroll-truck-road{opacity:.75}.scroll-truck-road:before{width:2px;background:repeating-linear-gradient(to bottom,#4e9daf 0 11px,transparent 11px 26px)}.scroll-truck-vehicle{left:7.5px;width:36px;height:60px}.container{margin-left:62px;margin-right:18px}}
@media(max-width:390px){.header-inner{gap:5px}.header-cta{padding-inline:8px}.hero-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.scroll-truck-vehicle{transition:none}}
/* Avoid obscuring form entry and enlarged screenshots. */
body:has(.nav-menu.open) .scroll-truck,body:has(.image-dialog[open]) .scroll-truck,body:has(input:focus,textarea:focus,select:focus) .scroll-truck{visibility:hidden}

/* The vehicle acts as a draggable, keyboard-accessible scroll control. */
.scroll-truck.is-dragging .scroll-truck-vehicle{transition:none;cursor:grabbing}
.scroll-truck-vehicle:focus-visible{outline:3px solid #1dadc2;outline-offset:3px;border-radius:12px}

html{overflow-x:hidden;overflow-x:clip}
.hero-grid>*,.features-grid>*,.connected-layout>*,.location-grid>*,.gallery-grid>*,.faq-layout>*,.demo-shell>*,.form-grid>*{min-width:0}
.hero-actions{flex-wrap:wrap}
.honeypot{left:0;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){.form-grid{grid-template-columns:minmax(0,1fr)}}
