/* ─────────────────────────────────────────────────────────────────────────────
   KreaBoard Public Core — Typographie globale
   Source unique des variables et règles typographiques du site public.
   ───────────────────────────────────────────────────────────────────────────── */

/* ──────────────────────────────────────────────────────────────────────────────
   Typographie globale KreaBoard
   Police SaaS / logiciel, sans italic parasite.
   ────────────────────────────────────────────────────────────────────────────── */

:root {
  /* Polices globales publiées. */
  --kb-font-main: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --kb-font-title: "Sora", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

  /*
   * Valeurs typographiques publiques par défaut.
   * Elles correspondent exactement aux fallbacks déjà utilisés
   * dans les composants afin de préserver le rendu actuel.
   */
  --kb-title-weight: 800;
  --kb-title-letter-spacing: -0.065em;
  --kb-paragraph-size: 18px;
  --kb-eyebrow-size: 13px;
  --kb-eyebrow-spacing: 0.12em;
  --kb-button-font-size: 15px;
  --kb-button-font-weight: 900;

  /* Compensations relatives du profil de police des textes. */
  --kb-text-profile-size-scale: 1;
  --kb-text-profile-letter-spacing-delta: 0em;
  --kb-text-profile-line-height-scale: 1;
  --kb-text-profile-weight-delta: 0;

  /* Compensations relatives du profil de police des titres. */
  --kb-title-profile-size-scale: 1;
  --kb-title-profile-letter-spacing-delta: 0em;
  --kb-title-profile-line-height-scale: 1;
  --kb-title-profile-weight-delta: 0;

  /*
   * Variables calculées du moteur typographique.
   *
   * Elles préparent le raccordement progressif des profils sans
   * modifier immédiatement les tailles, graisses ou hauteurs de ligne
   * des composants publics déjà validés.
   */
  --kb-text-size-scale-calibrated:
    var(--kb-text-profile-size-scale, 1);

  --kb-text-letter-spacing-calibrated:
    var(--kb-text-profile-letter-spacing-delta, 0em);

  --kb-text-line-height-scale-calibrated:
    var(--kb-text-profile-line-height-scale, 1);

  --kb-text-weight-delta-calibrated:
    var(--kb-text-profile-weight-delta, 0);

  --kb-title-size-scale-calibrated:
    var(--kb-title-profile-size-scale, 1);

  --kb-title-letter-spacing-calibrated:
    calc(
      var(--kb-title-letter-spacing, -0.065em) +
      var(--kb-title-profile-letter-spacing-delta, 0em)
    );

  --kb-title-line-height-scale-calibrated:
    var(--kb-title-profile-line-height-scale, 1);

  --kb-title-weight-calibrated:
    calc(
      var(--kb-title-weight, 800) +
      var(--kb-title-profile-weight-delta, 0)
    );
}

html,
body {
  font-family: var(--kb-font-main);
  font-style: normal;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
p,
a,
button,
input,
textarea,
select,
span,
small,
li {
  font-family: var(--kb-font-main);
  font-style: normal;
  letter-spacing: var(
    --kb-text-letter-spacing-calibrated,
    0em
  );
}

h1,
h2,
h3,
h4,
h5,
h6,
.kb-hero h1,
.kb-evolution__content h2,
.kb-connected__title h2,
.kb-profiles__title h2,
.kb-seo-platform__title h2,
/*
 * Les fragments internes d’un titre doivent conserver la police du titre.
 * La règle globale appliquée aux spans ne doit pas les repasser en police texte.
 */
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

.kb-eyebrow,
.kb-button,
.kb-trust-text,
.kb-real-tool strong,
.kb-profile-card strong,
.kb-stat strong,
/* Les balises <i> sont utilisées pour certains pictogrammes : elles ne doivent pas passer en italic. */
i,
em,
.kb-trust-icon,
.kb-orbit__node span,
