/* Motion is progressive enhancement: nothing is hidden before JavaScript loads. */
:root { --motion-ease: cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion: no-preference) {
  .btn, .text-link, .icon-btn, .evidence-card, .document-row {
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 240ms ease;
  }
  .btn .icon, .text-link .icon, .document-row > .icon:last-child {
    transition: transform 260ms var(--motion-ease);
  }
  .btn:is(:hover,:focus-visible) .icon,
  .text-link:is(:hover,:focus-visible) .icon,
  .document-row:is(:hover,:focus-visible) > .icon:last-child { transform: translateX(3px); }
  .btn:active { transform: translateY(1px); }
  .main-nav > button .icon { transition: transform 220ms var(--motion-ease); }
  .main-nav > button[aria-expanded="true"] .icon { transform: rotate(180deg); }
  .main-nav > button::after { transform-origin: left; animation: nav-accent 220ms var(--motion-ease); }
  @keyframes nav-accent { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  .product-photo { overflow: hidden; }
  .product-photo img { transition: transform 650ms var(--motion-ease); }
  .evidence-card:is(:hover,:focus-visible), .document-row:is(:hover,:focus-visible) {
    box-shadow: 0 6px 20px #17202b0d;
    border-color: var(--blue, #0649ff);
  }
  .network-track button > .icon { transition: background-color 450ms ease, border-color 450ms ease, color 450ms ease; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card:hover .product-photo img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  [data-motion-reveal], .hero-photo { transform: none !important; opacity: 1 !important; }
}
