/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHY — Canonical scale for charles-avocats.fr
   Single source of truth. Loaded LAST in <head> so it wins
   over any inline <style> drift.

   Edit ONLY here for any change in font-size / family /
   weight / line-height / letter-spacing. Color, margin,
   animation stay in page-local inline styles.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Body ─── */
body {
  font-family: 'Inter', sans-serif;
  font-size: 17.5px;
  -webkit-font-smoothing: antialiased;
}

/* ─── Headings ─── */
h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(36px, 4.6vw, 60px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.03em;
}

h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 300;
  line-height: 1.06;
  letter-spacing: -.025em;
}

h3 {
  font-family: 'Fraunces', serif;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -.015em;
}

h4 {
  font-family: 'Syne', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .03em;
  text-transform: uppercase;
}

/* Legal pages → H2 acts as numbered-article subtitle (smaller scale).
   Add class="legal" to <body> on mentions-legales / politique-confidentialite. */
body.legal h2 {
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.2;
  letter-spacing: -.015em;
}

/* ─── Body text ─── */
p,
.p {
  font-size: 16px;
  line-height: 1.85;
}

/* ─── FAQ question (unified across all pages) ─── */
.fq-q,
.faq-q-text {
  font-family: 'Fraunces', serif;
  font-size: 16.5px;
  font-weight: 300;
  line-height: 1.35;
  letter-spacing: -.01em;
}

/* ─── Eyebrows (hero + section + legal pages variant) ─── */
.h-eyebrow {
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.s-eyebrow,
.header-tag,
.section-eyebrow {
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* ─── Hero lead (light) — single-line above-fold descriptions ─── */
.hero-lead,
.lead,
.page-hero p {
  font-size: 16px;
  line-height: 1.85;
}

/* ─── Hero lead (dense) — competence pages, longer body copy ─── */
.h-body {
  font-size: 17.5px;
  line-height: 1.85;
}

/* ─── Card descriptions ─── */
.c-text,
.dom-desc {
  font-size: 12.5px;
}

/* ─── FAQ answer text (covers all 4 class variants used across pages) ─── */
.fq-ans p,
.fq-body p,
.fq-ans-inner,
.fq-ans-inner p,
.fq-ans-inner ul li,
.faq-a-inner,
.faq-a-inner p,
.defense-list li {
  font-size: 16px;
  line-height: 1.85;
}

/* ─── Form labels ─── */
.field label,
label {
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* ─── Form inputs ─── */
.field input,
.field textarea,
.field select {
  font-size: 15.5px;
  font-weight: 300;
}

/* ─── Footer ─── */
.ft-name {
  font-family: 'Syne', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.ft-sub {
  font-size: 11.5px;
}

.ft-links a {
  font-size: 12px;
}

/* ─── Nav ─── */
.logo-name {
  font-family: 'Syne', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
}

.logo-sub {
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.nav-links a {
  font-size: 13.5px;
}
