/* Calmer motion site-wide (Katie, Oct 2026: "too much movement, feels cheesy").
   Loaded after animate.css + main.css in partials/head.php. */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 12px, 0); } to { opacity: 1; transform: none; } }
.wow.animate__animated, .animate__fadeInUp { animation-duration: .5s !important; animation-delay: 0s !important; animation-timing-function: ease-out !important; }
/* image hover zooms: 110% / 105% -> 103% */
.hover\:scale-110:hover, .hover\:scale-105:hover, .group-hover\:scale-110:is(:where(.group):hover *) {
  --tw-scale-x: 103%; --tw-scale-y: 103%; --tw-scale-z: 103%;
}
.gc-card:hover .gc-img img { transform: scale(1.03) !important; }
.sj-card:hover, .sj-goal:hover { transform: translateY(-2px) !important; }
@media (prefers-reduced-motion: reduce) {
  .wow, .animate__animated { animation: none !important; visibility: visible !important; opacity: 1 !important; }
  *, *::before, *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
