/* Only motion; no palette, typography, sizing, grid or spacing overrides. */
@media (prefers-reduced-motion: no-preference) {
  .button {transition:background .18s,transform .35s cubic-bezier(.2,.8,.2,1)}
  .button:active {transform:scale(.96);transition-duration:.1s}
  .button > span[aria-hidden="true"] {transition:transform .4s cubic-bezier(.2,.8,.2,1)}
  .button:hover > span[aria-hidden="true"],
  .button:focus-visible > span[aria-hidden="true"] {transform:translateX(5px)}
  .service-card {transition:box-shadow .3s,translate .45s cubic-bezier(.2,.8,.2,1)}
  .card-media img,.service-visual img {transition:transform .55s cubic-bezier(.2,.8,.2,1)}
  .hvc-pointer img {transform:perspective(700px) rotateX(var(--hvc-x,0deg)) rotateY(var(--hvc-y,0deg)) scale(1.045)}
  .side-dialog[open] {animation:hvc-drawer .42s cubic-bezier(.16,1,.3,1)}
  .side-dialog[open]::backdrop {animation:hvc-backdrop .35s ease-out}
  .sort-picker[open] .sort-options {animation:hvc-backdrop .28s ease-out}
  .faq-list details[open] > p,.optional-fields[open] > div {animation:hvc-open .4s cubic-bezier(.16,1,.3,1)}
  .faq-list summary span {transition:transform .35s cubic-bezier(.16,1,.3,1)}
  .success-panel:not([hidden]) {animation:hvc-success .65s cubic-bezier(.16,1,.3,1)}
  @media (hover:hover) and (pointer:fine) {
    .service-card:hover {translate:0 -6px}
    .button:hover {transform:translateY(-2px)}
    .button:active {transform:translateY(0) scale(.96)}
  }
}
@keyframes hvc-drawer {from{opacity:.3;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}
@keyframes hvc-backdrop {from{opacity:0}to{opacity:1}}
@keyframes hvc-open {from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes hvc-success {from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
