Slower, more elegant animations that respect user attention
Clean, elegant fade with no jarring movement
No sliding, no scaling - just a peaceful appearance
Reduced to 20px movement instead of 30px - much gentler
Only moves 20px up, creating a soft entrance
Slower timing makes it feel more premium
Animation starts when more of the container is visible
Each item animates 0.15s after the previous one
Animations start when elements are more visible in viewport
Intersection observer now uses rootMargin: '0px 0px -10% 0px'
Animation waits until element is more visibleSlower animations give users time to notice
Duration increased to 0.8s by defaultElegant timing feels more expensive
Spring easing for natural movementUse the toggle in the top-right to turn motion on/off
Animations are now more subtle, slower, and better timed