Motion · 150–400ms · cubic-bezier(0.2, 0.8, 0.2, 1)
ElementTriggerEffectDuration
Card:hovertranslateY(-2px) + shadow-lg200ms
Button:hoverbrighten · shadow-sm → shadow-md150ms
Imagegroup-hovergrayscale(1) → 0 · opacity 0.55 → 1400ms
Link:hoverunderline color → moss150ms
Accordionopen"+" rotate 45° + body fade-in200ms
Section enterscrollRevealopacity 0→1 · translateY 16→0400ms