/* motion.css — Jerry subtle upgrade (only active when html.jerry) */

/* Reduced-motion: module short-circuits, CSS defangs any leftover states */
@media (prefers-reduced-motion: reduce) {
  html.jerry .mask-line,
  html.jerry [data-stagger-in],
  html.jerry [data-magnet] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Text-mask reveal — pre-reveal state */
html.jerry .mask-wrap { overflow: hidden; display: inline-block; vertical-align: top; }
html.jerry .mask-line { display: inline-block; transform: translateY(105%); will-change: transform; }

/* Stagger-in — pre-reveal state for cards/reviews */
html.jerry [data-stagger-in] { opacity: 0; transform: translateY(24px); will-change: transform, opacity; }

/* Magnetic CTA — reset transform-origin only (movement via JS) */
html.jerry [data-magnet] { will-change: transform; transform-origin: center; }
