/* Motion is progressive: content and navigation stay usable without it. */
:root { --motion-ease: cubic-bezier(.22, 1, .36, 1); }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .primary-link, .text-link, .product-link, .product-card, .family-item,
  .capability, .principle-grid article, .career-values article, .contact-card,
  .product-help a, .site-footer .social a, .work-image img, .product-icon {
    transition: transform .4s var(--motion-ease), border-color .3s, background-color .3s, color .3s, box-shadow .4s;
  }
  .primary-link > span[aria-hidden], .text-link > span[aria-hidden],
  .product-link > span[aria-hidden], .product-help a > span[aria-hidden] {
    transition: transform .35s var(--motion-ease);
  }
  .primary-link:hover { transform: translateY(-3px); box-shadow: 0 8px 24px #b4ed7917; }
  .primary-link:hover > span[aria-hidden], .text-link:hover > span[aria-hidden],
  .product-link:hover > span[aria-hidden], .product-help a:hover > span[aria-hidden] { transform: translate(3px, -3px); }
  .product-card:hover, .family-item:hover, .contact-card:hover { transform: translateY(-5px); border-color: #879c72; }
  .capability:hover, .principle-grid article:hover, .career-values article:hover { transform: translateY(-5px); border-color: var(--ch-green); }
  .family-item:hover .product-icon, .product-card:hover .product-icon { transform: rotate(-5deg); }
  .product-help a:hover { transform: translateX(4px); }
  .site-footer .social a:hover { transform: translateY(-3px); }
  .work-card:hover .work-image img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
