/* =====================================================
   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;
    text-transform: uppercase;
    margin: 0;
}
.h-display { font-size: clamp(48px, 10vw, 120px); }
.h1        { font-size: clamp(40px,  7vw,  72px); }
.h2        { font-size: clamp(30px,  5vw,  48px); }
.h3        { font-size: clamp(24px,  4vw,  34px); }
.h4        { font-size: clamp(20px,  3vw,  26px); }

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

/* Texte courant. */
.text {
    font-family: var(--body);
    font-size: 17px;
    line-height: 1.55;
}
.lead {
    font-size: 18px;
    line-height: 1.55;
    margin: 0;
}
.text-sm { font-size: 14px; }
.text-xs { font-size: 12px; }
.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: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    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); }
