/* Quiet motion: no loops, parallax or delayed form controls. */
.clear-hero h1 em{animation:none;background-position:45% 50%}
.route-card,.problem-card,.case-card,.archive-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.button{transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}
.price-card{transition:border-color .22s ease,box-shadow .22s ease}
.desktop-nav a{position:relative;text-decoration:none}
.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#8edcff;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.desktop-nav a:focus-visible:after{transform:scaleX(1)}
.case-dialog[open]{animation:dialog-enter .22s cubic-bezier(.22,.7,.25,1)}
.case-dialog[open]::backdrop{animation:backdrop-enter .18s ease}
@keyframes dialog-enter{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){
 .route-card:hover,.problem-card:hover,.case-card:hover,.archive-card:hover{transform:translateY(-3px)}
 .problem-card:hover,.case-card:hover,.archive-card:hover{box-shadow:0 10px 26px #10232e0b}
 .desktop-nav a:hover:after{transform:scaleX(1)}
 .button:hover{transform:translateY(-2px)}
}
.button:active{transform:translateY(0) scale(.985)}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .route-card:hover,.problem-card:hover,.case-card:hover,.archive-card:hover,.button:hover,.button:active{transform:none}
}
