/* ---------- Typography ---------- */
h1, h2, h3, h4, h5 {
    font-family: var(--font-sans);
    color: inherit;
    line-height: 1.08;
    letter-spacing: -.02em;
    margin: 0 0 .6em;
    font-weight: 800;
}
h1 { font-size: var(--fs-2xl); letter-spacing: -.035em; }
h2 { font-size: var(--fs-xl); letter-spacing: -.03em; }
h3 { font-size: var(--fs-lg); font-weight: 700; }
h4 { font-size: var(--fs-md); font-weight: 700; letter-spacing: -.01em; }
h5 { font-size: var(--fs-base); font-weight: 700; letter-spacing: 0; }

p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

strong { font-weight: 700; }

ul, ol { padding-left: 1.2em; margin: 0 0 1.1em; }
li { margin-bottom: .35em; }

/* Mono label above headings */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    font-family: var(--font-mono);
    font-size: var(--fs-xs);
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--turquoise-ink);
    margin: 0 0 1.1rem;
}
.eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
}
.eyebrow--plain::before { display: none; }

.display {
    font-size: var(--fs-3xl);
    line-height: .92;
    letter-spacing: -.05em;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0;
}

.lede {
    font-size: var(--fs-lg);
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: -.01em;
    max-width: 46ch;
    color: var(--ink);
}

.serif { font-family: var(--font-serif); }

/* Editorial statement (NOT a quotation) */
.statement {
    font-family: var(--font-serif);
    font-size: var(--fs-xl);
    font-weight: 400;
    line-height: 1.22;
    letter-spacing: -.015em;
    max-width: 30ch;
    margin: 0;
}
.statement em { font-style: italic; color: var(--forest); }

.mono {
    font-family: var(--font-mono);
    font-size: var(--fs-sm);
    letter-spacing: .02em;
}

.small { font-size: var(--fs-sm); }
.muted { color: var(--ink-soft); }

/* Long-form text column */
.prose { max-width: 68ch; }
.prose h2 { margin-top: 1.6em; }
.prose h3 { margin-top: 1.5em; }
.prose > :first-child { margin-top: 0; }
.prose p, .prose li { color: var(--ink); }

.prose--cols {
    max-width: none;
    columns: 2 32ch;
    column-gap: var(--space-4);
    column-rule: 1px solid var(--rule);
}
.prose--cols h3, .prose--cols h4 { break-after: avoid; }
.prose--cols p { break-inside: avoid-column; }

/* Dark grounds */
.on-dark, .band--pine, .band--forest { color: var(--on-dark); }
.band--pine .eyebrow, .band--forest .eyebrow { color: var(--citrus); }
.band--pine a, .band--forest a { color: var(--on-dark); }
.band--pine .muted, .band--forest .muted { color: var(--on-dark-soft); }
.band--pine .statement em, .band--forest .statement em { color: var(--citrus); }
.band--pine .prose p, .band--pine .prose li,
.band--forest .prose p, .band--forest .prose li { color: var(--on-dark); }
.band--pine .lede, .band--forest .lede { color: var(--on-dark); }
