Foundation
Motion
Calm, confident, never bouncy. Motion is a luxury cue, not entertainment. HODL Club uses the slow-end of the scale.
Philosophy
Things move because they're being handed to you, not because they want attention. We favor short fades, gentle scales (0.98 → 1.00), and emphasized easing on entrance. Spring is reserved for direct manipulation (drag, swipe). Avoid bouncy overshoots on UI — they read as toy, not as luxury.
Duration & easing
fast (taps, toggles)150ms · standard
base (cards, popovers)250ms · standard
slow (sheets, modals)400ms · emphasized
hero (page entrance)700ms · emphasized
standard easingcubic-bezier(.2,.8,.2,1)
emphasized easingcubic-bezier(.22,1,.36,1)
spring (direct manipulation)stiffness 220 · damping 26
Try it
01
Staggered card
02
Staggered card
03
Staggered card
Code
import { m, LazyMotion, domAnimation } from "motion/react";
<LazyMotion features={domAnimation}>
<m.div
initial={{ opacity: 0, y: 24 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.7, ease: [0.22, 1, 0.36, 1] }}
/>
</LazyMotion>