How it behaves
Exactly what the prompt builds — every timing and easing is specified, so the result matches the demo.
- The page content lives in a wrapper with position: relative; z-index: 1 and a solid background. The footer is position: sticky; bottom: 0; z-index: 0 after it, so it's revealed from underneath rather than scrolling in.
- Progress runs 0 → 1 over the last *footer-height* pixels of the page (measured, and re-measured whenever the page resizes).
- Footer content fades 0 → 1 between 20% and 80% progress.
- The wordmark translates from 60% → 0% of its height between 10% and 100% progress, and is cut off at the bottom so it looks like it's rising out of the floor.
- Reduced motion: everything is shown immediately with no movement.