/* ==========================================================================
   base/typography.css — weight builds hierarchy, not size
   ========================================================================== */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--crm-ink);
    font-weight: 600;
    letter-spacing: -0.014em;
    line-height: 1.3;
}

h1, .h1 { font-size: 1.375rem; }
h2, .h2 { font-size: 1.1875rem; }
h3, .h3 { font-size: 1.0625rem; }
h4, .h4 { font-size: 0.9375rem; }
h5, .h5 { font-size: 0.875rem; }
h6, .h6 { font-size: 0.8125rem; }

/* KPI numerals: larger but restrained, tabular */
.h3.fw-bold, .display-number {
    font-size: 1.4375rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

small, .small { font-size: var(--crm-fs-sm); }

.text-muted { color: var(--crm-text-muted) !important; }
.text-secondary { color: var(--crm-text-secondary) !important; }
.fw-semibold { font-weight: 600 !important; }
.fw-medium { font-weight: 500 !important; }

/* Eyebrow / section labels */
.text-uppercase.small, .section-label {
    font-size: var(--crm-fs-xs);
    font-weight: 550;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    color: var(--crm-text-muted);
}

code, kbd, pre { font-size: 0.8125em; }
