/* =====================================================================
   Cycled : typographie (DM Sans), octobre 2026
   Chargé en DERNIER sur chaque page. Seul endroit où se règlent la police,
   les graisses de titres, l'interlettrage et les interlignes.
   Rendu éditorial : titres compacts et serrés, texte courant aéré.
   Les sélecteurs listés reprennent ceux des styles de page pour gagner
   la cascade sans !important.
   ===================================================================== */
:root{
  --font-main:"DM Sans",system-ui,sans-serif;
  /* anciens noms, conservés comme alias */
  --font-heading:var(--font-main);
  --font-body:var(--font-main);
  --font-accent:var(--font-main);
  --font-h:var(--font-main);
  --font:var(--font-main);
  --display:var(--font-main);
  --body:var(--font-main);
  --track-h1:-0.04em;
  --track-h2:-0.03em;
  --track-h3:-0.02em;
  --track-body:0.01em;
}

/* ---------- Texte courant ---------- */
body{font-family:var(--font-main);font-optical-sizing:auto;font-weight:400;letter-spacing:var(--track-body);line-height:1.68}
input,select,textarea,button{font-family:var(--font-main)}

/* ---------- h1 et titres hero ---------- */
h1,.hero h1,[data-lang="fr"] .hero h1,.page-hero h1,.article-meta-inner h1,.err-inner h1,.err-wrap h1,.ty-hero h1,.ty-content h1,.intro h1{
  font-family:var(--font-main);font-weight:500;letter-spacing:var(--track-h1);line-height:1.02;overflow-wrap:break-word}
/* Taille des h1. Exception : le titre .hero de l'accueil et de la bêta partage sa rangée
   avec une boîte (colonne d'environ 690px) ; il garde la taille calibrée dans sa page,
   sinon ses lignes débordent sur la boîte au-delà de 1400px. */
h1,.page-hero h1,.article-meta-inner h1,.err-inner h1,.err-wrap h1,.ty-hero h1,.ty-content h1,.intro h1{
  font-size:clamp(2.5rem,5.5vw,4.75rem)}

/* Titres d'articles longs (3 à 4 lignes) : un cran moins serré pour rester lisibles */
.article-meta-inner h1{letter-spacing:-0.03em}

/* ---------- h2 ---------- */
h2,.apply h2,.article-body-inner h2,.article-cta h2,.biz h2,.block h2,.blog-card h2,.coming-next h2,.contact-info h2,.cta h2,.feature-text h2,.final-cta h2,.health-stats-header h2,.hero h2,.no-restriction h2,.page-hero h2,.panel-h h2,.phases-header h2,.plates-header h2,.pricing-header h2,.problem-header h2,.section-head h2,.ty-content .ty-beta h2,.ty-hero h2,.why-header h2{
  font-family:var(--font-main);font-weight:500;letter-spacing:var(--track-h2);line-height:1.08}

/* ---------- h3 et petits titres ---------- */
h3,.apply h3,.article-cta h3,.feature-text h3,.final-cta h3,.how-step h3,.legal-content h3,.map-fallback h3,.nr-them h3,.nr-us h3,.page-hero h3,.phase-info h3,.plate-body h3,.problem-card h3,.related h3,.science-item h3,
.related-card h4,.rcard-name,.bar-name,.cf-channels-title,.ms-title,.compare-app{
  font-family:var(--font-main);font-weight:500;letter-spacing:var(--track-h3);line-height:1.15}

/* ---------- Chiffres et accroches en grand ---------- */
.problem-stat .stat-big,.price-number,.health-number,.step-number,.err-code,.how-n,.deal-n,.dish-r{font-family:var(--font-main);letter-spacing:-0.03em}
.hp-hook,.phase-visual .phase-tagline{font-family:var(--font-main);letter-spacing:-0.015em}
.founder-quote-big{font-family:var(--font-main);font-weight:500;letter-spacing:-0.025em;line-height:1.2}

/* ---------- Accents (ex-Aleo) : DM Sans italique ---------- */
.article-dek,.article-body-inner blockquote,.article-body-inner .pull,.article-body-inner em{font-family:var(--font-main)}
.founder-signature{font-family:'Corinthia',cursive;letter-spacing:0}

/* ---------- Paragraphes longs ---------- */
.article-body-inner p,.article-body-inner li,.legal-content p,.legal-content li,.founder-bio p{max-width:65ch;line-height:1.7}

/* ---------- Boutons, navigation, petits libellés ---------- */
.btn,.btn-lg,.err-btn,.cf-submit,.formkit-submit,.price-cta,.sticky-cta-btn,.lang-btn,.phase-tab,.faq-tab,.hp-tab,
.nav-links a,.mobile-menu-links a,
.eyebrow,.article-eyebrow,.blog-card-eyebrow,.related-card-eyebrow,.err-eyebrow,.cf-label,.badge,.ph,.tags,.f-l,.note-l,.top-h,.phasebar .q,
.footer-col h4,.founder-photo-tag,.founder-title,.hp-label,.hp-sub,.plate-why strong,.press-label,.price-badge,.price-tier,.src-head,
.article-sources h3,.nr-col h3,.ty-steps h3,.ty-content .ty-beta .ty-beta-kicker,.faq-question{
  font-family:var(--font-main);font-weight:500;letter-spacing:0}
.tm,.src-pop{font-family:var(--font-main);letter-spacing:0}
.src-btn{font-family:var(--font-main)}
