/*
 * Typographie du site braindcode.com (chargée en dernier par le layout).
 * Couple : Plus Jakarta Sans (titres, géométrique, chaleureux) + Inter (texte, très lisible à l'écran).
 * Échelle fluide (clamp) : un seul jeu de tailles du téléphone au grand écran, sans règles par appareil.
 * « :not(#bc) » donne à ces règles la priorité sur les anciennes feuilles (Poppins/Nunito) sans toucher
 * à leurs couleurs ni à leurs marges. Les polices d'icônes (bi, bx, ri) déclarent leur propre famille.
 */
:root {
  --bc-titre: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --bc-texte: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bc-encre: #12223b;
  --bc-gris: #4b5a70;
  --t-h1: clamp(2.15rem, 1.35rem + 3.1vw, 3.6rem);
  --t-h2: clamp(1.7rem, 1.2rem + 1.9vw, 2.6rem);
  --t-h3: clamp(1.15rem, 1.05rem + .45vw, 1.4rem);
  --t-chapo: clamp(1.06rem, .98rem + .4vw, 1.25rem);
  --t-texte: 1.0625rem;
  --t-petit: .9rem;
}

html body:not(#bc) { font-family: var(--bc-texte); font-size: var(--t-texte); line-height: 1.65; color: var(--bc-gris);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-feature-settings: "cv11", "ss01"; }

html body :where(:not(i, code, pre, kbd, samp, [class^="bi"], [class*=" bi-"], [class^="bx"], [class^="ri-"])):not(#bc) {
  font-family: var(--bc-texte);
}

html body :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .card-title, .cardTitle):not(#bc) {
  font-family: var(--bc-titre);
  letter-spacing: -.02em;
  line-height: 1.15;
  text-wrap: balance;
}

/* ---- Hero ---- */
html body .hero h1:not(#bc) { font-size: var(--t-h1); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; }
html body .hero h2:not(#bc) { font-family: var(--bc-texte); font-size: var(--t-chapo); font-weight: 400; line-height: 1.6;
  letter-spacing: 0; color: #4b5a70; max-width: 38em; text-wrap: pretty; }
html body .hero .departments a:not(#bc) { font-size: 1rem; font-weight: 600; letter-spacing: -.005em; }

/* ---- Titres de section ---- */
html body :is(.section-header, .section-header-2) h2:not(#bc) { font-size: var(--t-h2) !important; font-weight: 800; letter-spacing: -.025em; line-height: 1.12; }
html body :is(.section-header, .section-header-2) h2 span:not(#bc) { font-size: inherit !important; }
html body :is(.section-header, .section-header-2) p:not(#bc) { font-family: var(--bc-texte); font-size: var(--t-chapo) !important; line-height: 1.6;
  font-weight: 400; max-width: 44em; margin-left: auto; margin-right: auto; }

html body h3:not(#bc) { font-size: var(--t-h3); font-weight: 700; }
html body h4:not(#bc), html body h5:not(#bc) { font-weight: 700; letter-spacing: -.01em; }

/* ---- Texte courant ---- */
html body main p:not(#bc), html body main li:not(#bc) { line-height: 1.7; text-wrap: pretty; }
html body .card p:not(#bc), html body .bc-ia-carte p:not(#bc) { font-size: 1rem; line-height: 1.65; }
html body .bc-ia-intro:not(#bc) { font-size: var(--t-chapo); line-height: 1.6; max-width: 44em; margin-left: auto; margin-right: auto; }
html body .bc-ia-texte:not(#bc) { font-size: 1.08rem; line-height: 1.75; }
html body small:not(#bc), html body .bc-chat__note:not(#bc) { font-size: var(--t-petit); }

/* ---- Navigation et boutons ---- */
html body .navbar a:not(#bc), html body .navbar a:focus:not(#bc) { font-weight: 600; letter-spacing: -.005em; }
html body :is(.btn-get-started, .btn, .bc-fil__bouton):not(#bc) { font-family: var(--bc-titre); font-weight: 700; letter-spacing: -.005em; }
html body .btn-get-started span:not(#bc) { letter-spacing: 0; }

/* ---- Étiquettes (kickers) ---- */
html body .bc-scene3d__kicker:not(#bc), html body .bc-mcp-bref__titre:not(#bc) { font-family: var(--bc-titre); letter-spacing: .1em; font-weight: 700; }

/* ---- Pied de page ---- */
html body footer p:not(#bc), html body footer li:not(#bc) { font-size: .95rem; line-height: 1.7; }

/* ---- Chiffres alignés dans les tableaux et prix ---- */
html body :is(table, .price, .bc-ia-etapes__num):not(#bc) { font-variant-numeric: tabular-nums; }

@media (max-width: 520px) {
  html body :is(.section-header, .section-header-2) h2 br:not(#bc) { display: none; }
  html body .hero h2:not(#bc) { font-size: 1.05rem; }
}

/* Boutons du hero : l'ancienne feuille met line-height: 0, ce qui superpose les lignes quand le libellé passe à la ligne. */
html body .hero .btn-get-started:not(#bc) { line-height: 1.3; padding: 16px 26px; min-height: 52px; text-align: center; max-width: 100%; }
html body .hero .btn-get-started span:not(#bc) { font-family: var(--bc-titre); font-size: 1.05rem; font-weight: 700; letter-spacing: 0; white-space: normal; }
