/* Motion is an enhancement: content stays visible if either library fails. */
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
.reveal, .hero-art { animation: none; }
.service-row > button { transition: transform 250ms ease, background 200ms ease, color 200ms ease; }
.button .arrow, .text-link .arrow, .nav-cta .arrow { display: inline-block; transition: transform 220ms ease; }
.button:hover .arrow, .nav-cta:hover .arrow { transform: translate(2px, -2px); }
.text-link:hover .arrow { transform: translateY(3px); }
.service-details { overflow: hidden; }
.hero-art > svg { transform-origin: 50% 55%; }
body.contact-open { overflow: hidden; }
.motion-control { -webkit-tap-highlight-color: transparent; transform-origin: center; }
a.motion-control:not(.button):not(.brand):not(.nav-cta):not(.text-link) { display: inline-block; }
.button.motion-control:hover { transform: none; }
.button.motion-control, .nav-cta.motion-control, .text-link.motion-control, .service-row > button.motion-control { transition-property: background, color, border-color, box-shadow; }
@media (prefers-reduced-motion: reduce) {
  html, html.lenis { scroll-behavior: auto !important; }
  .hero-art > svg { transform: none !important; }
}
