/* GSAP controla entradas e scroll. CSS responde somente à interação direta. */
@media (prefers-reduced-motion: no-preference) {
  .site-header { transition: transform 240ms ease, opacity 200ms ease, visibility 240ms; }
  .button, .nav-contact {
    transition: background-color 220ms ease, box-shadow 280ms ease;
  }
  .button span, .nav-contact span {
    display: inline-block;
    transition: transform 280ms cubic-bezier(.2,.7,.2,1);
  }
  .button:is(:hover, :focus-visible) span,
  .nav-contact:is(:hover, :focus-visible) span { transform: translate(3px, -3px); }
  .button-primary:hover { box-shadow: 0 8px 24px rgb(31 78 95 / .18); }
  .button-light:hover { box-shadow: 0 8px 24px rgb(0 0 0 / .14); }
  .faq summary { transition: color 200ms ease; }
  .faq-icon { transition: transform 280ms cubic-bezier(.2,.7,.2,1), background-color 200ms ease; }
  .faq details[data-open='false'] .faq-icon { transform: none; }
  .faq summary:hover { color: var(--terra-text); }
  .step-arrow { transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease; }
  .step-dot::before { transition: background-color 220ms ease; }
}
@media (prefers-reduced-motion: reduce), print {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
