/* ===========================================================================
   TextFill — scroll-driven fill-up text (system DEFAULT for scroll reveals)
   Words start on a low-contrast base ink and fill to full ink as the page
   scrolls, left→right, word by word. Driven by the TextFill binding (rAF,
   sleeps offscreen); reduced-motion renders the filled state directly.
   =========================================================================== */
.tfill{--tf-base:var(--ink-disabled);--tf-fill:var(--ink)}
.tfill__w{background-image:linear-gradient(90deg,var(--tf-fill) 46%,var(--tf-base) 54%);background-size:220% 100%;background-position:100% 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@media (prefers-reduced-motion: reduce){.tfill__w{background-position:0% 0}}
