/* Utility classes — the type ladder, section rhythm and canonical surfaces. */
.cv-display{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--fg-primary)}
.cv-h1{font-weight:var(--fw-bold);font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight)}
.cv-h2{font-weight:var(--fw-bold);font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:var(--tracking-tight)}
.cv-h3{font-weight:var(--fw-bold);font-size:var(--fs-h3);line-height:var(--lh-snug)}
.cv-h4{font-weight:var(--fw-semibold);font-size:var(--fs-h4);line-height:var(--lh-snug)}
.cv-body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-relaxed);color:var(--fg-secondary)}
.cv-body{font-size:var(--fs-body);line-height:var(--lh-relaxed)}
.cv-body-sm{font-size:var(--fs-body-sm);line-height:var(--lh-normal);color:var(--fg-secondary)}
.cv-caption{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--fg-muted)}
.cv-eyebrow{font-weight:var(--fw-semibold);font-size:var(--fs-caption);line-height:1.2;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--cv-blu-mid)}
.cv-eyebrow--wide{letter-spacing:var(--tracking-eyebrow)}
.cv-metric{font-weight:var(--fw-black);font-size:clamp(48px,5vw,72px);line-height:1;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}
.cv-source{font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.06em;color:var(--fg-muted)}

.cv-section{padding:var(--space-section) 0}
.cv-section--alt{background:var(--bg-alt)}
.cv-section--dark{background:var(--bg-dark);color:var(--fg-on-dark)}
@media (max-width:768px){.cv-section{padding:var(--space-section-mobile) 0}}
.cv-container{max-width:var(--container-max);margin:0 auto;padding-inline:var(--space-gutter)}
.cv-content{max-width:var(--content-max)}
.cv-rule-accent{width:var(--rule-accent-w);height:var(--rule-accent-h);background:var(--cv-mint);border-radius:2px}
