/* Short, restrained motion; content always remains accessible. */
@media (prefers-reduced-motion: no-preference) {
  .button, .header-link, .principles article, .request-card {
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
  }
  .button span, .header-link span, .text-link span, .hero-secondary span {
    display: inline-block;
    transition: transform .25s ease;
  }
  .header nav a { position: relative; }
  .header nav a::after {
    content: ''; position: absolute; height: 1px; bottom: 5px; left: 0; right: 0;
    background: #8eedb2; transform: scaleX(0); transform-origin: left;
    transition: transform .25s ease;
  }
  .header nav a:hover::after, .header nav a:focus-visible::after { transform: scaleX(1); }
  .request-card:focus-within { border-color: #00bf63; box-shadow: 0 20px 65px #21483116; }
  .faq-items details[open] p { animation: answer-in .3s ease both; }
  @keyframes answer-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .principles article:hover { transform: translateY(-5px); box-shadow: 0 12px 25px #18372c0d; }
  .button:hover span, .header-link:hover span, .text-link:hover span { transform: translate(3px,-3px); }
  .hero-secondary:hover span { transform: translateY(4px); }
  .landscape-detail img { transition: transform 1s cubic-bezier(.2,.65,.3,1); }
  .landscape-detail:hover img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .button:hover { transform: none; }
}
