/** * Shared motion tokens. * * The same two curves as `--ease-out-expo` / `--ease-out-soft` in * `globals.css`, in the tuple form Framer Motion expects. Keeping them here * means a CSS hover and a Framer entrance land on the same feel instead of * drifting apart file by file. */ export const EASE_OUT_EXPO = [0.22, 1, 0.36, 1] as const satisfies [ number, number, number, number, ]; export const EASE_OUT_SOFT = [0.33, 1, 0.68, 1] as const satisfies [ number, number, number, number, ]; /** How far a scroll-triggered element has to be inside the viewport to fire. */ export const VIEWPORT = { once: true, margin: "-80px" } as const;