/* ============================================================
   Scroll Scrub Text v2
   Character-level gradient-wave reveal.
   Colour is set entirely by JS; this file governs layout only.
   ============================================================ */

/* Block wrapper — no typographic opinions; style in the theme. */
.scrub-text-v2 {
}

/* Inner split container (aria-hidden). Inherits all type styles. */
.sst-inner {
  display: inline;
}

/* Word wrapper — inline-block so a word never breaks mid-character;
   line breaks still occur at the literal spaces between words. */
.sst-word {
  display: inline-block;
  white-space: nowrap;
}

/* Individual character — colour driven per-frame by JS.
   No transition here: easing is handled in the rAF loop, so a CSS
   transition would double-smooth and cause lag against the wave. */
.sst-char {
  display: inline;
  will-change: color;
}

/* Reduced motion: characters are painted to base once, no loop. */
@media (prefers-reduced-motion: reduce) {
  .sst-char {
    will-change: auto;
  }
}
