/* Progressive enhancement: content stays readable if motion cannot initialize. */
.can-motion-ready .reveal { opacity: 1; transform: none; transition: none; will-change: auto; }
.can-steps li, .can-steps li > span { transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease; }
.can-model-card:active { transform: translateY(0) scale(.98); }
.can-model-card { transition: transform 220ms ease, background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease; }
.can-model-card:hover { border-color: #9fb6c6; }
.can-parameter-group { transition: border-color 220ms ease; }
.can-parameter-group:hover { border-color: #9fb6c6; }
.can-brand-grid[aria-busy="true"] { min-height: 112px; border-radius: 9px; background: #f3f7fa; position: relative; overflow: hidden; }
.can-brand-grid[aria-busy="true"]::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 25%, #fff9 50%, transparent 75%); }

@media (prefers-reduced-motion: no-preference) {
  .can-brand-grid[aria-busy="true"]::before { animation: can-loading-sweep 1.1s ease-in-out 3; }
}
@keyframes can-loading-sweep { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) {
  .can-model-card { transform: none !important; }
  .can-steps li, .can-steps li > span, .can-model-card, .can-parameter-group { transition: none; }
  .can-brand-grid::before { animation: none !important; }
}
