/* Interaction-only motion. No scroll reveals or automatic animations. */
a, .btn, .menu-toggle {
  transition: color var(--duration-fast) var(--ease-standard),
    background-color var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard);
}
.nav-link::after, .menu-icon span {
  transition: transform var(--duration-normal) var(--ease-standard);
}
.card {
  transition: border-color var(--duration-normal) var(--ease-standard),
    box-shadow var(--duration-normal) var(--ease-standard);
}
.hero-portrait-frame {
  transition: border-color var(--duration-normal) var(--ease-standard);
}
.project-card, .expertise-card {
  transition: border-color var(--duration-normal) var(--ease-standard),
    transform var(--duration-normal) var(--ease-standard);
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .project-card:hover, .expertise-card:hover { transform: translateY(-3px); }
}
@media (hover: hover) {
  .project-card:hover, .expertise-card:hover { border-color: var(--color-link); }
  .card:hover { border-color: var(--color-muted); box-shadow: var(--shadow-card); }
  .menu-toggle:hover { background: var(--color-surface-hover); }
  .hero-portrait-frame:hover { border-color: var(--color-link); }
}
@media (max-width: 48rem) {
  .site-header.nav-ready .site-nav {
    transition: grid-template-rows var(--duration-normal) var(--ease-standard),
      opacity var(--duration-normal) var(--ease-standard),
      visibility var(--duration-normal);
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
