/* Subtle feedback and reveal motion; honors reduced-motion preferences. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior:smooth; }
  .visual-reveal { opacity:1; transform:none; }
  .visual-reveal:not(.is-visible) { opacity:.78; transform:translateY(10px); }
  .visual-reveal.is-visible { transition:opacity 220ms cubic-bezier(.23,1,.32,1),transform 220ms cubic-bezier(.23,1,.32,1); }
  @media (hover:hover) and (pointer:fine) {
    .button:active,.nav-contact:active,.mp-app button:active { transform:translateY(0); }
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .visual-reveal { opacity:1; transform:none; transition:none; }
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition-duration:.01ms!important; }
}
