/* CSS leaves content visible; GSAP prepares entrances only after initialization. */
:where(a, button, summary, input, textarea) {
  transition: color var(--motion-hover) ease, background-color var(--motion-hover) ease,
    border-color var(--motion-hover) ease, text-decoration-color var(--motion-hover) ease;
}

@media (prefers-reduced-motion: no-preference) {
  :where(.shell-button, .form-submit, .hero-promotion__link, .menu-toggle, .carousel-controls button, .social-menu a) {
    transition: scale var(--motion-press) var(--motion-ease-out),
      color var(--motion-hover) ease, background-color var(--motion-hover) ease;
  }
  :where(.shell-button, .form-submit, .hero-promotion__link, .menu-toggle, .carousel-controls button, .social-menu a):active:not(:disabled) {
    scale: 0.98;
  }
  :where(.hero__primary, .hero__secondary, .hero-promotion__link)::after,
  .accordion-list summary::after {
    transition: transform var(--motion-ui) var(--motion-ease-out),
      translate var(--motion-hover) var(--motion-ease-out);
  }
  @media (hover: hover) and (pointer: fine) {
    :where(.hero__primary, .hero__secondary, .hero-promotion__link):hover::after { translate: 4px 0; }
    :where(.service-tile, .doctor-card, .post-card) a img {
      transition: translate var(--motion-hover) var(--motion-ease-out);
    }
    :where(.service-tile, .doctor-card, .post-card) a:hover img { translate: 4px 0; }
  }
  @media (max-width: 1199px) {
    .menu-ready .navigation.is-open {
      animation: navigation-enter var(--motion-ui) var(--motion-ease-out);
    }
  }
}

@keyframes navigation-enter {
  from { opacity: 0.8; translate: 0 -4px; }
  to { opacity: 1; translate: 0 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
