/* Finite, gentle movement; original layout and photography stay intact. */
@media (prefers-reduced-motion: no-preference) {
  .motion-ready .arch-photo img { animation: reve-settle 2.6s cubic-bezier(.2,.65,.3,1) both; }
  @keyframes reve-settle { from { transform: scale(1.055); } to { transform: scale(1); } }
  .care-image img, .about-image img, .gallery-button img {
    transition: transform 850ms cubic-bezier(.22,1,.36,1);
  }
  .button, .branch-call, .branch-card {
    transition: transform 320ms ease, background-color 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
  }
  .button span[aria-hidden], .header-visit span[aria-hidden], .text-link span[aria-hidden],
  .branch-actions span[aria-hidden], .back-top span[aria-hidden], .expand-icon {
    transition: transform 320ms cubic-bezier(.22,1,.36,1);
  }
  .navigation a { position: relative; }
  .navigation a::after {
    content: ''; position: absolute; bottom: 7px; left: 0; width: 100%; height: 1px;
    background: currentColor; transform: scaleX(0); transform-origin: left;
    transition: transform 300ms ease;
  }
  .navigation a:focus-visible::after { transform: scaleX(1); }
  .button:active, .branch-call:active { transform: translateY(1px); }
  .gallery-dialog[open] { animation: reve-dialog 300ms cubic-bezier(.22,1,.36,1); }
  .gallery-dialog[open]::backdrop { animation: reve-backdrop 300ms ease; }
  @keyframes reve-dialog { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
  @keyframes reve-backdrop { from { opacity: 0; } to { opacity: 1; } }
  .menu-toggle span { transition: transform 250ms ease; }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  @media (max-width: 700px) {
    .navigation.is-open { animation: reve-menu 220ms ease-out; }
    @keyframes reve-menu { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
  }
  @media (hover: hover) and (pointer: fine) {
    .care-card:hover .care-image img, .about-image:hover img, .gallery-button:hover img { transform: scale(1.045); }
    .gallery-button:hover .expand-icon { transform: rotate(45deg); }
    .button:hover, .branch-call:hover { transform: translateY(-2px); }
    .branch-card:hover { transform: translateY(-5px); background: #ffffff08; border-color: #eadbd0; box-shadow: 0 15px 30px #342d2817; }
    .button:hover span[aria-hidden], .header-visit:hover span[aria-hidden], .text-link:hover span[aria-hidden], .branch-actions a:hover span[aria-hidden] { transform: translate(3px,-3px); }
    .back-top:hover span[aria-hidden] { transform: translateY(-4px); }
    .navigation a:hover::after { transform: scaleX(1); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-button:hover img { transform: none; }
}
