:root{--motion-out:cubic-bezier(.23,1,.32,1);--motion-in-out:cubic-bezier(.77,0,.175,1)}
.button,.testimonial-arrow,.solution-link,.menu-toggle,.dialog-close{transition:transform 160ms var(--motion-out)}
.button:hover{transform:none;box-shadow:none}
.button:active,.testimonial-arrow:active,.solution-link:active,.menu-toggle:active,.dialog-close:active{transform:scale(.97)}
.button-arrow,.solution-link>span,.hero-secondary>span{transition:transform 220ms var(--motion-out)}
.solution{transition:transform 240ms var(--motion-out)}
.vehicle-photo{transition:transform 280ms var(--motion-out)}
.header nav>a{position:relative}
.header nav>a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--motion-out)}
.menu-toggle span{transition:transform 180ms var(--motion-out)}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.dropdown{transform-origin:top left;opacity:1;transform:translateY(0) scale(1);transition:opacity 180ms var(--motion-out),transform 180ms var(--motion-out)}
dialog{opacity:0;transform:translateY(8px) scale(.97);transition:opacity 200ms var(--motion-out),transform 240ms var(--motion-out),display 240ms allow-discrete,overlay 240ms allow-discrete}
dialog[open]{opacity:1;transform:translateY(0) scale(1)}
dialog::backdrop{opacity:0;transition:opacity 200ms var(--motion-out),display 240ms allow-discrete,overlay 240ms allow-discrete}
dialog[open]::backdrop{opacity:1}
.faq summary span{transition:transform 200ms var(--motion-out)}
.testimonial-slide{transition:none}
.testimonial-dot span{width:22px;transform:scaleX(.28);transition:transform 180ms var(--motion-out),opacity 180ms ease}
.testimonial-dot[aria-current=true] span{transform:scaleX(1)}
.motion-paused .partner-track{animation-play-state:paused}
@starting-style{
 .dropdown:not([hidden]){opacity:0;transform:translateY(-6px) scale(.97)}
 dialog[open]{opacity:0;transform:translateY(8px) scale(.97)}
 dialog[open]::backdrop{opacity:0}
}
@media(hover:hover) and (pointer:fine){
 .button:hover{transform:translateY(-2px)}
 .button:hover .button-arrow{transform:rotate(8deg)}
 .button:active{transform:scale(.97)}
 .solution:hover{transform:translateY(-5px)}
 .solution:hover .vehicle-photo{transform:scale(1.035)}
 .solution-link:hover>span{transform:translate(3px,-3px)}
 .hero-secondary:hover>span{transform:translateY(3px)}
 .header nav>a:hover::after{transform:scaleX(1)}
 .testimonial-arrow:hover{transform:translateX(2px)}
 .testimonial-arrow:first-child:hover{transform:translateX(-2px)}
 .testimonial-arrow:active{transform:scale(.95)}
}
@media(max-width:800px){
 .header nav{transform-origin:top;transition:opacity 200ms var(--motion-out),transform 220ms var(--motion-out)}
 @starting-style{.header nav.open{opacity:0;transform:translateY(-8px)}}
}
html[data-input=keyboard]{scroll-behavior:auto}
html[data-input=keyboard] *,html[data-input=keyboard] *::before,html[data-input=keyboard] *::after{transition:none!important}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .button:hover,.solution:hover,.vehicle-photo,.button:active,.testimonial-arrow:hover,.testimonial-arrow:active,.solution-link:active{transform:none!important}
 dialog[open],.dropdown:not([hidden]),.header nav.open{opacity:1;transform:none}
}
