/* Lightweight motion: no content depends on animation. */
.motion-progress{position:fixed;z-index:10000;inset:0 0 auto;height:3px;background:#e42b38;transform:scaleX(0);transform-origin:left;pointer-events:none}
a.motion-cta,button.motion-cta{position:relative;isolation:isolate;overflow:hidden;transition:translate .2s ease,box-shadow .2s ease!important}
.motion-cta::after{content:"";position:absolute;pointer-events:none;inset:-40% auto -40% -55%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-22deg);opacity:0}
.motion-cta:focus-visible::after{animation:service-shine .7s ease-out}
@media(hover:hover) and (pointer:fine){.motion-cta:hover{translate:0 -3px;box-shadow:0 8px 22px #a11a2833!important}.motion-cta:hover::after{animation:service-shine .7s ease-out}.motion-card{transition:translate .25s ease,box-shadow .25s ease!important}.motion-card:hover{translate:0 -4px;box-shadow:0 12px 28px #40202812!important}}
.motion-cta:active{translate:0 1px}
@keyframes service-shine{0%{left:-55%;opacity:0}20%{opacity:1}100%{left:140%;opacity:0}}
@media(prefers-reduced-motion:reduce){.motion-progress{display:none}.motion-cta,.motion-card{transition:none!important;translate:none!important}.motion-cta::after{animation:none!important;display:none}}
