/* =================================================================== TITLE REVEAL — per-line masked rise (global css) ===================================================================

   Each line of a heading rises out of its own mask when the heading scrolls in.
   The wrappers are generated at runtime by assets/js/global/title-reveal.js
   (GSAP SplitText, `type: 'lines,words'` + `mask: 'lines'`), so there is nothing
   to write in the markup and nothing for a section to style.

   `.title-line` is ours; the mask wrapper SplitText puts around it, and the word
   wrappers under it, belong to the library — do not select or restyle them.

   Sections write nothing for this.

   NOTE: vendor.css still carries `.title-char { will-change: transform }` from
   the per-character version of this effect (dropped by client request
   2026-08-20). It is inert now — nothing generates that class — and it is left
   alone because vendor.css is closed (CLAUDE.md 5.2 / delivery checklist).
   =================================================================== */

/* The only declaration this needs. GSAP animates yPercent, so the line is the
   layer that moves; hinting it keeps the mask edge from re-rasterising per
   frame on the 80px display face. */
.title-line { will-change: transform; }
