/* Motion: few, quiet, and fully neutralised under reduced motion. */
[data-reveal] { opacity: 0; transform: translateY(12px); transition: opacity 600ms ease, transform 600ms cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--reveal-i, 0) * 70ms); }
[data-reveal].is-in { opacity: 1; transform: none; }
.drawer__overlay { animation: fade 200ms ease both; }
.drawer__panel { animation: slide 260ms cubic-bezier(.2,.7,.2,1) both; }
.drawer.is-closing .drawer__overlay { animation: fade 160ms ease reverse both; }
.drawer.is-closing .drawer__panel { animation: slide 180ms ease reverse both; }
.form__done .form__check { animation: pop 320ms cubic-bezier(.2,.7,.2,1) both; }
.disc__a { animation: fade 240ms ease both; }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes slide { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .drawer__overlay, .drawer__panel, .form__check, .disc__a, .drawer.is-closing .drawer__overlay, .drawer.is-closing .drawer__panel { animation: none; }
  .card__media img { transition: none; }
  .card:hover .card__media img { transform: none; }
}
