Problem
We ship scroll-driven entrance effects (.sf-entrance--*) but no symmetric exit effects that trigger as an element scrolls out of view. The keyframes already exist (sf-fade-out, sf-scale-down) and --sf-transition-exit is defined.
Scope
.sf-exit--fade / -fade-up / -fade-down / -scale-down etc., using animation-timeline: view() with a cover exit range.
- Graceful fallback where
view() unsupported; prefers-reduced-motion safe.
Acceptance
Problem
We ship scroll-driven entrance effects (
.sf-entrance--*) but no symmetric exit effects that trigger as an element scrolls out of view. The keyframes already exist (sf-fade-out,sf-scale-down) and--sf-transition-exitis defined.Scope
.sf-exit--fade / -fade-up / -fade-down / -scale-downetc., usinganimation-timeline: view()with acoverexit range.view()unsupported;prefers-reduced-motionsafe.Acceptance
.sf-exit--*fire on scroll-out without JS