/*
 * Échelle typographique — Unbounded (500/700/800 disponibles) pour les
 * titres, Plus Jakarta Sans pour tout le reste. Un seul poids de titre (700) à
 * toutes les tailles : la hiérarchie vient de la taille, pas de la graisse
 * — plus lisible et moins "écrasé" qu'empiler 700/800/900 partout.
 */
.gs-h1,
h1.gs-h1 {
  font-size: clamp(2.6rem, 5vw + 1rem, 4.4rem);
  line-height: 1.01;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.gs-h2 {
  font-size: clamp(1.9rem, 3vw + 1rem, 2.75rem);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.gs-h3 {
  font-size: clamp(1.25rem, 1.4vw + 1rem, 1.6rem);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.gs-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--gs-font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

/* Casse volontairement le format "eyebrow petites capitales" répété sur toute la page. */
.gs-eyebrow--casual {
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.95rem;
  color: var(--gs-secondary);
}

.gs-body-l {
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--gs-text-secondary);
}

.gs-body {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--gs-text-secondary);
}

/* Dégradé signature réservé au CTA principal : le H1 passe en aplat pour ne pas le diluer. */
.gs-gradient-text {
  color: var(--gs-primary-dark);
}

.gs-section-head {
  max-width: 640px;
  margin-bottom: var(--gs-space-5);
}

.gs-section-head .gs-h2 {
  margin-top: var(--gs-space-1);
}

.gs-section-head .gs-body-l {
  margin-top: var(--gs-space-2);
}

.gs-section-head--center {
  margin-inline: auto;
  text-align: center;
}
