:root {
  --af-motion-quick: 140ms;
  --af-motion-panel: 220ms;
  --af-motion-ease: cubic-bezier(.2,.75,.25,1);
}
/* Native focus, navigation and hit areas remain immediate. */
@media (prefers-reduced-motion: no-preference) {
  :where(.site-header,.academy-header,.af-docs-header) :is(button,summary,a),
  :where(main) :is(.button,.btn,.cta,.download-button,.af-web-button) {
    transition: background-color var(--af-motion-quick) ease, color var(--af-motion-quick) ease,
      border-color var(--af-motion-quick) ease, translate var(--af-motion-quick) var(--af-motion-ease);
  }
  :where(main) :is(.button,.btn,.cta,.download-button,.af-web-button):active { translate: 0 1px; }
  :where(main) :is(.product-card,.route-card,.record-card,.download-card,.pricing-card,.catalog-course,.lab-card,.support-category,.support-article-link,.af-catalog-card) {
    transition: translate var(--af-motion-panel) var(--af-motion-ease), border-color var(--af-motion-quick) ease;
  }
  :is(.header-popover,.af-nav-menu,.af-language-menu,.af-theme-menu)[open] > :not(summary),
  dialog[open] { animation: af-panel-in var(--af-motion-panel) var(--af-motion-ease); }
  @media (hover: hover) and (pointer: fine) {
    :where(main) :is(.download-card,.pricing-card,.catalog-course,.lab-card,.support-category,.support-article-link,.af-catalog-card):hover { translate: 0 -3px; }
  }
}
@keyframes af-panel-in {
  from { opacity: .5; translate: 0 6px; }
  to { opacity: 1; translate: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  :is(.site-header,.academy-header,.af-docs-header,.header-popover,.mobile-panel,.mobile-scrim) *,
  main :is([data-reveal],[data-reveal-card],[data-motion-reveal],.button,.btn,.cta,.af-web-button,.product-card,.route-card,.record-card,.download-card,.pricing-card,.catalog-course,.lab-card,.support-category,.support-article-link,.entry-list>.entry,.forum-category-row,.forum-topic,.af-catalog-card),
  dialog[open] { animation: none !important; transition: none !important; translate: none !important; }
  main :is(.product-card,.route-card,.record-card):hover { transform: none !important; }
}
