/* Restrained motion for the current RAQ prototypes. No external dependencies. */
@media (prefers-reduced-motion: no-preference) {
  .site-header {
    transition: background-color 220ms ease, box-shadow 260ms ease;
  }

  .btn {
    transition: transform 180ms ease, box-shadow 180ms ease,
      background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  }

  .btn:active { transform: translateY(0); }

  .primary-nav__list a::after {
    transition: transform 220ms cubic-bezier(.2, .7, .2, 1);
  }

  .faq summary { transition: color 180ms ease; }
  .faq details[open] > p { animation: raq-answer-in 220ms ease-out; }

  @keyframes raq-answer-in {
    from { opacity: .35; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
  }

  @media (hover: hover) and (pointer: fine) {
    .btn:not(:disabled):hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 16px rgba(20, 51, 13, .12);
    }

    .btn:not(:disabled):active { transform: translateY(0); }

    .svc__title,
    .expertise__name,
    .area__link {
      transition: color 180ms ease;
    }

    .svc:focus-within .svc__title,
    .svc:hover .svc__title,
    .expertise__row:focus-within .expertise__name,
    .expertise__row:hover .expertise__name,
    .area__link:hover {
      color: var(--green-700);
    }
  }
}

/* Restore normal reading immediately for print and reduced-motion preferences. */
@media (prefers-reduced-motion: reduce), print {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}
