/* Short, consistent motion. No scroll interception or continuous movement. */
@media (prefers-reduced-motion: no-preference) {
  .hero-visual > img {
    animation: marina-photo-settle 1200ms cubic-bezier(.22,1,.36,1);
  }

  @keyframes marina-photo-settle {
    from { transform: scale(1.025); }
    to { transform: scale(1); }
  }

  .button,
  .care-card,
  .book-tile,
  .doctor-caption a {
    transition: transform 220ms cubic-bezier(.22,1,.36,1),
                background-color 180ms ease, color 180ms ease,
                box-shadow 220ms ease;
  }

  .button:active,
  .doctor-caption a:active {
    transform: scale(.97);
  }

  .text-link svg,
  .care-body h3 > span,
  .event-mini > span {
    transition: transform 220ms cubic-bezier(.22,1,.36,1);
  }

  #main-nav > a {
    position: relative;
  }

  #main-nav > a::after {
    content: '';
    position: absolute;
    bottom: 3px;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 220ms cubic-bezier(.22,1,.36,1);
  }

  #main-nav > a:hover::after,
  #main-nav > a:focus-visible::after,
  #main-nav > a.current::after {
    transform: scaleX(1);
  }

  @media (hover: hover) and (pointer: fine) {
    .care-card:hover,
    .book-tile:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 28px #71304d0e;
    }

    .text-link:hover svg,
    .care-card:hover .care-body h3 > span,
    .event-mini:hover > span {
      transform: translateX(4px);
    }

    .doctor-caption a:hover {
      transform: translateY(-2px);
      background: var(--rose);
    }
  }

  @media (max-width: 900px) {
    #main-nav.open {
      animation: marina-menu-in 220ms cubic-bezier(.22,1,.36,1);
    }
  }

  @keyframes marina-menu-in {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media print {
  * { animation: none !important; transition: none !important; }
}
