/* ============================================================
   TYPOGRAPHIE v3 — raffinée, lisible, éditoriale
   Fraunces (display, optical sizing) + Manrope (texte)
   ============================================================ */

/* --- 1. Optical sizing + kerning pour tout le display serif --- */
h1,h2,h3,.quote,.tl-item .yr,.pcard .num,.stat b,.badge-float b,.tier b{
  font-optical-sizing:auto;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-kerning:normal;
}

/* --- 2. Échelle fluide harmonisée (ratio 1.25) --- */
h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.02em}
h2{font-size:clamp(1.85rem,3.6vw,2.75rem);line-height:1.14;letter-spacing:-.015em;margin-bottom:18px}
h3{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.25;letter-spacing:-.01em}
h1 em,h2 em,h3 em{font-weight:480;letter-spacing:-.01em}

/* --- 3. Poids serif : contraste plus marqué (display fin, accents souples) --- */
h1,h2{font-weight:520}
h3{font-weight:640}
.quote{font-weight:480}
.stat b,.badge-float b,.tier b,.pcard .num{font-weight:560}

/* --- 4. Manrope : corps de texte aéré et calé --- */
body{line-height:1.7;letter-spacing:.001em}
p{text-wrap:pretty}             /* évite les lignes veuves */
h1,h2,h3{max-width:22ch}        /* les titres respirent */
.section-head h2,.section-head h1{margin-left:auto;margin-right:auto}
.split h2{max-width:none}       /* sauf en split : pleine largeur du bloc */
.split p{max-width:58ch}
.lead{font-size:clamp(1rem,1.35vw,1.13rem);line-height:1.65;letter-spacing:.002em}

/* --- 5. Micro-typographie --- */
.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:850}
.hero-chip{letter-spacing:.05em;font-size:.78rem}
.tag{letter-spacing:.16em}
.small,.form-note,.fbottom{font-feature-settings:"tnum"}       /* chiffres tabulaires */
.stat b,.kpi b,.stat b span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums lining-nums}
.ncard .date{font-feature-settings:"tnum"}

/* --- 6. Chiffres géants : chiffres alignés + tabulaires --- */
.stats2 b,.stat b{
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
}

/* --- 7. Listes & tableaux : rhythm vertical --- */
.plist li{line-height:1.62}
.tl-item p{line-height:1.68}

/* --- 8. Sélection & focus --- */
::selection{background:var(--green);color:#fff}
:focus-visible{outline-offset:3px}

/* --- 9. Équilibre titres en ligne --- */
h1,h2,h3{text-wrap:balance}
.quote{text-wrap:balance}

/* --- 10. Ajustements localisés --- */
.hero h1,.h-copy h1{line-height:1.06}
.h-copy h1 .huge{letter-spacing:0;font-weight:700}    /* Space Grotesk XXL */
.page-hero h1{line-height:1.08}
.ncard h3{font-size:1.06rem;line-height:1.38;letter-spacing:-.005em}
.vcard b{font-size:1.06rem;letter-spacing:.01em}
.qdots{gap:10px}

/* --- 11. Mobile : tailles et interlignes revisités --- */
@media(max-width:760px){
  h1{font-size:clamp(1.9rem,7.2vw,2.6rem)}
  h2{font-size:clamp(1.6rem,6vw,2rem)}
  .quote{font-size:clamp(1.15rem,5vw,1.5rem)}
  .stat b{font-size:clamp(1.7rem,7vw,2.2rem)}
  .badge-float b{font-size:1.3rem}
  body{line-height:1.66}
}