GSAP & Interaction
Scroll-linked sequences, transitions and micro-interaction, built on one timeline rather than scattered per-component triggers.

Why GSAP rather than CSS?
CSS handles most of it, and should. GSAP ScrollTrigger earns its place when motion needs to be sequenced, scrubbed against scroll position, or coordinated across elements that do not share a parent. ScrollTrigger in particular does in a few lines what an intersection observer and a pile of state does badly.
What stops it feeling gratuitous?
A rule about what motion is for. Reveal timing that controls reading pace, transitions that preserve context between pages, hover states that confirm something is interactive. Anything that exists to be noticed rather than to help is the thing to cut.
What about people who do not want it?
prefers-reduced-motion is honoured, and not by disabling the site. Sequences collapse to their end state, scroll-linked effects become static, and the page still reads.