/* =====================================================
   Typographie générique — titres, texte, surtitres, liens.
   Classes utilitaires : applicables sur n’importe quelle balise,
   indépendamment du niveau sémantique.
   ===================================================== */

/* Titres (Anton). Une échelle de 5 niveaux remplace les tailles ad hoc. */
.h-display,
.h1,
.h2,
.h3,
.h4 {
    font-family: var(--display);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: 0.005em;
    text-transform: uppercase;
    margin: 0;
}
.h-display { font-size: clamp(52px, 10vw, 96px); line-height: 0.88; }
.h1        { font-size: clamp(36px,  7vw, 56px); line-height: 0.95; }
.h2        { font-size: clamp(26px,  5vw, 36px); line-height: 1.0; }
.h3        { font-size: 24px; line-height: 1.05; }
.h4        { font-size: 20px; line-height: 1.1; }

/* Échappatoire pour les rares titres en casse normale. */
.h--sentence { text-transform: none; letter-spacing: 0; }

/* Texte courant. */
.text {
    font-family: var(--body);
    font-size: 16px;
    line-height: 1.65;
}
.lead {
    font-size: 19px;
    line-height: 1.6;
    margin: 0;
    color: var(--ink-soft);
}
.text-sm { font-size: 14px; }
.text-xs { font-size: 12px; }
.mono    { font-family: var(--mono); }
.text-muted { color: var(--muted); }
.text-soft  { color: var(--ink-soft); }
.text-red   { color: var(--red); }
.text-center { text-align: center; }
.text-upper  { text-transform: uppercase; }

/* Surtitre mono (eyebrow / overline). */
.eyebrow {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0;
}

/* Liens. .link reprend le comportement du a global ; variantes pour couper. */
.link {
    color: var(--red);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
}
.link:hover { color: var(--ink); }
.link-plain { text-decoration: none; }
.link-ink   { color: var(--ink); }
.link-yellow {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 3px solid var(--yellow);
    padding-bottom: 1px;
}
