/* Paper-like microinteractions, based on the interaction-design timing scale. */
@media (prefers-reduced-motion: no-preference) {
  .love-card, .opportunity-grid article {
    transition: translate 220ms cubic-bezier(.16,1,.3,1), box-shadow 220ms ease;
  }
  .button, .hero-entry a, .floating-cta, .back-top {
    transition: transform 150ms ease-out, background 150ms ease-out, scale 150ms ease-out;
  }
  .button:active, .hero-entry a:active, .floating-cta:active, .back-top:active { scale: .97; }
  .button span, .hero-entry a span, .text-link span { display: inline-block; transition: translate 150ms ease-out; }
  .button:focus-visible span, .hero-entry a:focus-visible span, .text-link:focus-visible span { translate: 3px -2px; }
  .faq-list summary { transition: color 150ms ease-out; }
  .faq-list summary:focus-visible { color: #315b40; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .love-card:hover, .opportunity-grid article:hover { translate: 0 -7px; box-shadow: 8px 13px 0 #23252017; }
  .button:hover span, .hero-entry a:hover span, .text-link:hover span { translate: 3px -2px; }
}
@media (prefers-reduced-motion: reduce) {
  .love-card, .opportunity-grid article, .button, .hero-entry a, .floating-cta, .back-top { translate: none; scale: none; }
}
