Scroll progress bar (sticky)
Scroll-driven animations use zero event listeners.
Motion.scroll() links progress directly to scroll position.
Each section fades and rises as it enters the viewport.
Performance: animations run on the compositor thread.
Works with any scrollable container — not just the page.