Deploy / deploy (push) Successful in 34s
Confirmed via user testing that the jump was in DOM text below the hero (headings using Quicksand), not the YES canvas (which draws in plain Arial, unaffected). swap always paints the fallback font first then reflows once Quicksand loads - a real layout shift if that swap lands after the user has already scrolled past that heading, which is exactly what was happening. optional skips the swap entirely unless the font is already cached/ready almost immediately.