/* ==========================================================================
   Cnam — Typography
   Two official typefaces (charte 2024):
   · Raleway     — linéale (sans). Titrailles, sous-titres, UI, running text.
                   "dynamique · clarté · honnêteté de la marque".
   · Crimson Pro — serif. The ONLY typeface allowed in the framed
                   "surtitre-encadré" blocks (SemiBold), and the PREFERRED face
                   for editorial running text (texte courant). Raleway is the
                   alternative for body & the preferred face for subtitles.
   · Maple       — logo only (logotype & composante names, Maple Light);
                   never compose text with it.
   ========================================================================== */
:root {
  /* --- Families ----------------------------------------------------------- */
  --font-sans: 'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif: 'Crimson Pro', 'Iowan Old Style', Georgia, serif;
  --font-title: var(--font-sans);      /* titrailles = Raleway                 */
  --font-body: var(--font-sans);        /* UI body; editorial prose prefers serif */
  --font-body-editorial: var(--font-serif); /* texte courant à privilégier (charte p.25) */
  --font-logo: 'Maple', 'Raleway', sans-serif; /* @kind font */
  --font-surtitre: var(--font-serif);  /* framed overline blocks = Crimson Pro */

  /* --- Weights ------------------------------------------------------------ */
  --fw-light: 300;    /* @kind font */
  --fw-regular: 400;  /* @kind font */
  --fw-medium: 500;   /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold: 700;     /* @kind font */
  --fw-extrabold: 800;/* @kind font */

  /* --- Type scale (rem, 16px base). Titles skew Raleway ExtraBold. -------- */
  --fs-display: 4.5rem;    /* 72px — hero                                     */
  --fs-h1: 3rem;           /* 48px                                            */
  --fs-h2: 2.25rem;        /* 36px                                            */
  --fs-h3: 1.625rem;       /* 26px                                            */
  --fs-h4: 1.25rem;        /* 20px                                            */
  --fs-lead: 1.375rem;     /* 22px — intro paragraphs                         */
  --fs-body: 1rem;         /* 16px                                            */
  --fs-body-sm: 0.875rem;  /* 14px                                            */
  --fs-caption: 0.75rem;   /* 12px                                            */
  --fs-surtitre: 1.125rem; /* 18px — Crimson Pro SemiBold framed block        */

  /* --- Line heights ------------------------------------------------------- */
  --lh-tight: 1.05;    /* @kind other */
  --lh-heading: 1.15;  /* @kind other */
  --lh-snug: 1.35;     /* @kind other */
  --lh-body: 1.6;      /* @kind other */

  /* --- Letter spacing ----------------------------------------------------- */
  --ls-tight: -0.02em; /* @kind other */
  --ls-normal: 0;      /* @kind other */
  --ls-wide: 0.04em;   /* @kind other */
  --ls-caps: 0.08em;   /* @kind other */

  /* --- Semantic aliases --------------------------------------------------- */
  --text-display-weight: var(--fw-extrabold); /* @kind font */
  --text-heading-weight: var(--fw-bold);      /* @kind font */
  --text-eyebrow-weight: var(--fw-semibold);  /* @kind font */
}
