/* No opacity:0, delays, layout animation, persistent layers, or hidden content. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes rdmi-enter {
    from { opacity: .65; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes rdmi-offer-enter {
    0% { transform: scale(.97); }
    65% { transform: scale(1.012); }
    100% { transform: scale(1); }
  }
  .rdmi-enter { animation: rdmi-enter 650ms cubic-bezier(.2,.7,.2,1); }
  .rdmi-offer-enter { animation: rdmi-offer-enter 850ms cubic-bezier(.2,.7,.2,1); }
  @keyframes rdmi-detail-enter {
    from { opacity: .8; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes rdmi-action-enter {
    from { transform: translateY(10px); }
    to { transform: translateY(0); }
  }
  .hero-photo.rdmi-enter { animation-duration: 800ms; }
  .actions.rdmi-enter { animation-name: rdmi-action-enter; }
  .rdmi-enter:focus-within, .rdmi-offer-enter:focus-within { animation: none; }
  .button, .service-card, .facility-photo, .quick a, .language-toggle, .menu,
  .review-mobile-controls button, .gallery-controls button {
    transition: transform 160ms ease-out, background-color 160ms ease-out;
  }
  nav a, .text-link { transition: color 160ms ease-out; }
  .button:active, .service-card:active, .facility-photo:active,
  .language-toggle:active, .menu:active { transform: translateY(1px); }
  details[open] > :not(summary) { animation: rdmi-detail-enter 220ms ease-out; }
  dialog[open] { animation: rdmi-detail-enter 220ms ease-out; }
  @media (hover: hover) and (pointer: fine) {
    .button:hover, .service-card:hover, .quick a:hover { transform: translateY(-3px); }
  }
}
/* Also neutralize the pre-existing gallery zoom and smooth scroll. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .facility-photo:hover img { transform: none !important; }
}
