Display - Fabiola Capitals

Hero / headline ONLY, weight 400. Metric-override @font-face is baked in - do not hand-nudge. Never route working sub-heads through it.

One Fabiola per piece. The second line here is Inter 900, shown only so the two faces can be compared at working size; it is not a second hero.

Working scale - Inter

All headings, body, labels. Real variable weights (400–900) - brand-correct and structurally sound.

900 · --text-xl
Greenville Triumph SC
800 · --text-lg
Portland Hearts of Pine
700 · --text-md
Section heading
400 · --text-body
Body copy: warm, direct, local-first. Short lines, no filler.
700 · --text-label
Uppercase label

Side bearings - two stacked Fabiola lines

Fabiola's left side bearing changes with the glyph, so two stacked lines sit at different insets from their own text boxes and the left edge goes ragged. The fix is per line, keyed to the first glyph, from the measured table in tokens.css. It is per content, so never bake it into a class or a template.

The stacked WIN / NOW pair below is a measurement demo, not a shippable hero. A column of single stacked words is banned by RULE 1b; it is set here only because two short lines are the clearest way to see the bearing difference, which is what the specimen carve-out in the contract covers.

Before · no correction

WIN

NOW

W and N carry different bearings, so the two lines do not share a left edge.

After · per-line nudge

WIN

NOW

W +0.003em and N -0.015em, applied as margin-left. The edges line up on the guide.