@media (prefers-reduced-motion: no-preference) {
  .button,.nav-facebook,.gallery-open>span,.reference-card,.service-icon { transition: transform .25s ease,background-color .25s ease,box-shadow .25s ease; }
  .service-toggle::after { transition: transform .25s ease; }
  .brand img { transition: transform .3s ease; }
  .link-arrow { transition: transform .25s ease; }
  nav a { transition: color .2s ease; }
  nav.open { animation: menu-enter .22s ease-out; }
  .photo-dialog[open] { animation: photo-enter .25s ease-out; }
  @media (hover: hover) and (pointer: fine) {
    .button:hover,.nav-facebook:hover { transform: translateY(-2px); box-shadow: 0 6px 18px #233e3114; }
    .brand:hover img { transform: scale(1.035); }
    a:hover .link-arrow { transform: translate(2px,-2px); }
    .service-accordion summary:hover .service-icon { transform: rotate(-5deg); background-color: #e6eddc; }
    .gallery-open:hover>span { transform: translate(-2px,-2px); }
    .reference-card:hover { transform: translateY(-4px); }
  }
}
@keyframes menu-enter { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@keyframes photo-enter { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
