/* =====================================================================================
   public/css/typo-legora.css — typographie « Legora » d'Agentis (SPÉCIFICATION FINALE, arbitrage)
   -------------------------------------------------------------------------------------
   Base : proposition « fidèle » (échelle, colonnes et motifs de placement de legora.com).
   Greffes de la proposition « adaptée » : préfixe :not(#_) sans !important, repli métrique
   « Geist Fallback », sur-titres « / … » en capitales, hero d'accueil NON ancré en bas (contraste),
   titre en colonne étroite du cabinet en taille « bloc », bloc titre du cabinet calé à gauche,
   interligne 1,5 des réponses de FAQ, graisse 500 du texte des CTA sur image.

   Portée : <html data-typo="legora"> (posé par le script de tête de Layout.astro ; ?typo=origine le retire).
   Préfixe P = [data-typo="legora"]:not(#_) → spécificité (1,1,0) : bat toutes les règles à classes de
   webflow.css, GlobalStyles.astro et des styles scopés Astro (0,4,1) sans !important.
   Les !important existants (webflow-icons des .w-icon-*, .line-mask) restent prioritaires : voulu.
   Paliers : ≥ 992 fluide (formules legora.com, plateau 992-1070 par les bornes basses des clamp),
   ≤ 767 palier mobile unique (Legora : ≤ 746). Aucune valeur propre à ≤ 991 ni ≤ 479.
   ===================================================================================== */

/* ---------- 0. Repli métrique (limite le saut de mise en page avant le chargement de Geist) ---------- */
@font-face {
  font-family: "Geist Fallback";
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans");
  size-adjust: 103.5%; /* 101,97 % mesuré trop étroit : texte repli 2 à 2,5 % plus court que Geist */
  ascent-override: 99.05%;
  descent-override: 28.44%;
  line-gap-override: 0%;
}

/* ---------- 1. Jetons ---------- */
[data-typo="legora"] {
  --lg-famille: "Geist", "Geist Fallback", "Helvetica Neue", Arial, sans-serif;

  /* graisses (fût équivalent à Aktiv mesuré, recette/typo/lab/correctif.json) */
  --lg-w-titre: 460;   /* Aktiv wght 450 */
  --lg-w-texte: 450;   /* Aktiv wght 440 */
  --lg-w-label: 400;   /* Aktiv wght 400 */
  --lg-w-chiffre: 260; /* Aktiv wght 300 */

  /* tailles ≥ 992 : formules de legora.com (racine clamp(13.714px, 9.9965px + .347423vw, 16px)) */
  --lg-fs-display: clamp(3.2144rem, 2.3429rem + 1.30284vw, 3.75rem);    /* hero accueil 3,75 rem : 56,25 @1440 */
  --lg-fs-hero: clamp(3.8569rem, 2.8115rem + 1.5634vw, 4.5rem);        /* hero de page 4,5 rem : 67,5 @1440 */
  --lg-fs-section: clamp(2.3569rem, 1.7181rem + 0.955413vw, 2.75rem);    /* titre de section 2,75 rem : 41,25 */
  --lg-fs-bloc: clamp(1.9288rem, 1.4058rem + 0.781702vw, 2.25rem);      /* CTA, citation, énoncé 2,25 rem : 33,75 */
  --lg-fs-soustitre: clamp(1.2856rem, 0.9372rem + 0.521135vw, 1.5rem); /* titre-paragraphe 1,5 rem : 22,5 */
  --lg-fs-chiffre: clamp(82.28px, 59.979px + 2.08454vw, 96px); /* px voulu : .kpi nowrap en grille 1fr */    /* chiffres géants 6 rem : 90 */
  --lg-fs-chiffre-m: clamp(54.86px, 39.986px + 1.389692vw, 64px); /* chiffres en colonne étroite 4 rem : 60 */
  --lg-fs-intro: clamp(0.9375rem, 0.6248rem + 0.347423vw, 1rem);        /* intro 1 rem : 15 @1440 ; plancher 15 */
  --lg-fs-corps: clamp(0.8125rem, 0.5498rem + 0.305732vw, 0.88rem);      /* corps 0,88 rem : 13,2 @1440 ; plancher 13 */
  --lg-fs-label: 0.8125rem; /* 13 px (Legora 12) : plancher de lisibilité */                                            /* label fixe */

  --lg-lh-display: 1.05; /* Legora 1,05 (hero produit 1,0 : non repris, collision jambage/accent) */
  --lg-lh-section: 1.05;
  --lg-lh-bloc: 1.2;
  --lg-lh-soustitre: 1.2;
  --lg-lh-texte: 1.4;
  --lg-lh-long: 1.5;     /* réponses de FAQ (texte long) */
  --lg-lh-chiffre: 1;

  /* interlettrages = Legora - 0,005 em (correctif Geist, résidu de chasse 0,71 %) */
  --lg-ls-display: -0.045em;
  --lg-ls-section: -0.033em;
  --lg-ls-bloc: -0.025em;
  --lg-ls-soustitre: -0.015em;
  --lg-ls-texte: -0.004em;
  --lg-ls-caps: 0em;      /* capitales : 0 comme le fil d'Ariane Legora */
  --lg-ls-chiffre: -0.006em;

  /* colonnes = largeur Legora x écart de chasse Geist */
  --lg-col-titre: 43rem;          /* 688 (Legora 680) */
  --lg-col-cta: 50.5rem;          /* 808 (Legora 800) */
  --lg-col-citation: 53rem;       /* 848 (Legora 840) */
  --lg-col-hero: 54.5rem;         /* 872 (Legora 860) */
  --lg-col-texte: 29rem;          /* 464 (Legora 460) */
  --lg-col-texte-centre: 30.5rem; /* 488 (Legora 484) */
  --lg-col-texte-hero: 37.5rem;   /* 600 : paragraphes longs centrés des heros (Agentis : 280-330 car.) */
  --lg-col-legende: 14rem;        /* 224 (Legora 220) */

  /* rythme */
  --lg-gap-titre-texte: 30px;
  --lg-gap-texte-action: 30px;
  --lg-gap-entete-contenu: 60px;
  --lg-gap-eyebrow: 16px;
  --lg-gap-eyebrow-centre: 24px;
  --lg-gap-eyebrow-hero: 30px;
  --lg-gap-citation: 60px;

  /* couleurs (jetons Agentis existants) : hiérarchie par la couleur, pas par la graisse */
  --lg-encre: #1a203d;   /* --_color---primary--950 : titres (Legora #0d1016) */
  --lg-texte-2: #566174; /* --_color---greyscale--600 : texte, sur-titres (Legora #68655e) ; 6,25:1 sur blanc */
}
@media screen and (max-width: 767px) {
  [data-typo="legora"] {
    --lg-fs-display: 2.5713rem;
    --lg-fs-hero: clamp(2rem, 10vw, 3.4288rem); /* Legora 54,86 ; 39 @390 pour « experts-comptables » (8,56 em) */
    --lg-fs-section: 1.7144rem;
    --lg-fs-bloc: 1.5rem;
    --lg-fs-soustitre: 1.2856rem;
    --lg-fs-chiffre: 54.86px;
    --lg-fs-chiffre-m: 54.86px;
    --lg-fs-intro: 0.9375rem;
    --lg-fs-corps: 0.875rem;
    --lg-fs-label: 0.875rem;
    --lg-ls-display: -0.043em;
    --lg-ls-section: -0.034em;
    --lg-ls-bloc: -0.024em;
    --lg-ls-soustitre: -0.019em;
    --lg-gap-entete-contenu: 48px;
    --lg-gap-citation: 30px;
  }
}

/* ---------- 2. Une seule famille ---------- */
/* « * » sous html (et non « body * ») : SplitText mesure un clone des titres hors de <body> */
[data-typo="legora"]:not(#_),
[data-typo="legora"]:not(#_) * {
  font-family: var(--lg-famille);
}
[data-typo="legora"]:not(#_) {
  font-synthesis: none;
}
/* icône du menu mobile : webflow-icons déclarée sans !important (Nav.astro) */
[data-typo="legora"]:not(#_) .nav_button > div {
  font-family: webflow-icons;
}

/* ---------- 3. Accents serif et coupures forcées : supprimés ---------- */
[data-typo="legora"]:not(#_) :is(.font-noto, .font-italic) {
  font-style: normal;
  font-weight: inherit;
  letter-spacing: inherit;
}
[data-typo="legora"]:not(#_) :is(h1, h2, h3, h4, h5, h6):is(.font-noto, .font-italic) {
  font-weight: var(--lg-w-titre);
  letter-spacing: var(--lg-ls-soustitre);
}
[data-typo="legora"]:not(#_) :is(h1, h2, h3, h4, h5, h6, .heading-style-h3, .heading-style-h4, .other-overline) br {
  display: none;
}

/* ---------- 4. Titres ---------- */
[data-typo="legora"]:not(#_) :is(h1, h2, h3, h4, h5, h6) {
  font-weight: var(--lg-w-titre);
  font-style: normal;
  text-wrap: balance;
}
/* h1 de page (cabinet, métiers, 404) : hero produit Legora, centré, colonne 872 */
[data-typo="legora"]:not(#_) h1 {
  font-size: var(--lg-fs-hero);
  line-height: var(--lg-lh-display);
  letter-spacing: var(--lg-ls-display);
  max-width: var(--lg-col-hero);
  margin-left: auto;
  margin-right: auto;
}
/* hero d'accueil */
[data-typo="legora"]:not(#_) h1.h1-home {
  font-size: var(--lg-fs-display);
  max-width: none;
}
/* titre de section */
[data-typo="legora"]:not(#_) h2 {
  font-size: var(--lg-fs-section);
  line-height: var(--lg-lh-section);
  letter-spacing: var(--lg-ls-section);
  max-width: var(--lg-col-titre);
}
[data-typo="legora"]:not(#_) h2.text-align-center {
  margin-left: auto;
  margin-right: auto;
}
/* titres-paragraphes (H5 Legora) : services, FAQ, étapes, cartes de cas, histoire, liens services, direction */
[data-typo="legora"]:not(#_) :is(h3, h4, h5, h6),
[data-typo="legora"]:not(#_) :is(.heading-style-h3, .heading-style-h4, .heading-style-h5) {
  font-size: var(--lg-fs-soustitre);
  line-height: var(--lg-lh-soustitre);
  letter-spacing: var(--lg-ls-soustitre);
  font-weight: var(--lg-w-titre);
  text-wrap: balance;
}
[data-typo="legora"]:not(#_) :is(h3, h4, h5, h6, .heading-style-h3, .heading-style-h4, .heading-style-h5):not(.text-color-white),
[data-typo="legora"]:not(#_) .text-color-grey-1000 {
  color: var(--lg-encre);
}
/* énoncés (H4 Legora) */
[data-typo="legora"]:not(#_) .avantage-wrapper .heading-style-h3,
[data-typo="legora"]:not(#_) .teams-container-1 .heading-style-h3,
[data-typo="legora"]:not(#_) .text-indent-small,
[data-typo="legora"]:not(#_) .section-service h2,
[data-typo="legora"]:not(#_) .newsletter-title h2,
[data-typo="legora"]:not(#_) .section-cta h2.font-w-400 {
  font-size: var(--lg-fs-bloc);
  line-height: var(--lg-lh-bloc);
  letter-spacing: var(--lg-ls-bloc);
  font-weight: var(--lg-w-titre);
}
/* CTA sombres : centré, colonne 808 */
[data-typo="legora"]:not(#_) .section-cta h2.font-w-400 {
  max-width: var(--lg-col-cta);
  margin-left: auto;
  margin-right: auto;
}
/* équipe : énoncé centré colonne 848 */
[data-typo="legora"]:not(#_) .teams-container-1 .heading-style-h3 {
  max-width: var(--lg-col-citation);
  margin-left: auto;
  margin-right: auto;
}
/* préambule : énoncé sans alinéa, colonne 848 */
[data-typo="legora"]:not(#_) .text-indent-small {
  text-indent: 0;
  max-width: var(--lg-col-citation);
}
/* services (accueil + métiers) : titre libre dans la colonne gauche de 453 px */
[data-typo="legora"]:not(#_) .expertise-title-info h2 {
  max-width: none;
}
/* accueil, « le cabinet » : bloc titre calé sur le bord gauche de sa colonne (sinon flex-end : x 587 → 726) */
[data-typo="legora"]:not(#_) .cabinet-info-wrapper > div:first-child {
  align-self: stretch;
}
/* texte 30 px sous le titre, même bord gauche (avant : 161 px plus bas, 333 px plus à droite à 1440) */
[data-typo="legora"]:not(#_) .cabinet-info-wrapper {
  justify-content: flex-start;
  align-items: flex-start;
  row-gap: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .cabinet-info-wrapper .max-width-558 > .margin-bottom.margin-32 {
  margin-bottom: var(--lg-gap-texte-action);
}
/* titres de carte (Legora : 1 rem, wght 440, hiérarchie par la couleur) : typologies, sous-cartes des cas */
[data-typo="legora"]:not(#_) .ressouce-content .heading-style-h4,
[data-typo="legora"]:not(#_) .cas-info-content .ressouce-item h4.heading-style-h4 {
  font-size: var(--lg-fs-intro);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-texte);
}

/* ---------- 5. Textes ---------- */
[data-typo="legora"]:not(#_) :is(p, li) {
  letter-spacing: var(--lg-ls-texte);
  line-height: var(--lg-lh-texte);
}
[data-typo="legora"]:not(#_) a {
  font-weight: var(--lg-w-texte);
  letter-spacing: var(--lg-ls-texte);
}
/* intro (1 rem Legora) : paragraphe sous un titre de section ou de hero */
[data-typo="legora"]:not(#_) :is(.normal-reg, .medium-reg, .medium-b) {
  font-size: var(--lg-fs-intro);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-texte);
}
[data-typo="legora"]:not(#_) .normal-reg:not(.text-color-white),
[data-typo="legora"]:not(#_) .medium-reg {
  color: var(--lg-texte-2);
}
/* corps (0,88 rem Legora) : texte de carte, de liste, sous un énoncé ; navigation, liens, étiquettes */
[data-typo="legora"]:not(#_) :is(.service-item, .avantage-wrapper, .histoire-card, .ressouce-content, .direction-card, .section-preambule) :is(.normal-reg, .medium-reg),
[data-typo="legora"]:not(#_) :is(.small-reg, .nav_menu_link, .basic-link, .text-button-menu, .texte-bandeau, .categorie-tag, .tag) {
  font-size: var(--lg-fs-corps);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-texte);
}
[data-typo="legora"]:not(#_) :is(.tag, .categorie-tag) {
  text-transform: none;
}
/* longueur de ligne des textes de carte : colonne de 464 px (sinon jusqu'à 148 caractères par ligne en 13,2 px) */
[data-typo="legora"]:not(#_) :is(.service-item, .avantage-wrapper, .histoire-card, .direction-card, .section-preambule) :is(.normal-reg, .medium-reg) {
  max-width: var(--lg-col-texte);
}
[data-typo="legora"]:not(#_) .service-item {
  justify-content: space-between;
}
/* la carte texte de la direction a des marges auto : on la garde sur toute sa piste (séparateur et alignement inchangés) */
[data-typo="legora"]:not(#_) .directions-wrapper > .direction-card:not(._1) {
  width: 100%;
}
@media screen and (max-width: 991px) {
  [data-typo="legora"]:not(#_) .expertise-wrapper > div:has(> .service-item) {
    align-self: stretch;
  }
}
/* réponses de FAQ : texte long */
[data-typo="legora"]:not(#_) .faq3_answer .normal-reg,
[data-typo="legora"]:not(#_) .faq3_answer .normal-reg :is(p, div) {
  line-height: var(--lg-lh-long);
}
/* label 12 px (14 en mobile) */
[data-typo="legora"]:not(#_) .tiny-reg,
[data-typo="legora"]:not(#_) .footer a.text-color-white {
  font-size: var(--lg-fs-label);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-label);
}
/* boutons : texte en intro, géométrie Agentis (48 px) conservée, sans gras */
[data-typo="legora"]:not(#_) :is(.button, .text-block, .other-button) {
  font-size: var(--lg-fs-intro);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-texte);
}
/* texte clair sur image (CTA) : graisse 500 (fond métier déjà sous AA : voile à traiter à part) */
[data-typo="legora"]:not(#_) .section-cta .medium-b {
  font-weight: 500;
}
[data-typo="legora"]:not(#_) .normal-bold {
  font-weight: 500;
}

/* ---------- 6. Sur-titres « / … » : fil d'Ariane Legora (capitales gardées, gris, Geist) ---------- */
[data-typo="legora"]:not(#_) .other-overline {
  font-size: var(--lg-fs-corps);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-caps);
  font-weight: var(--lg-w-texte);
  text-transform: uppercase;
}
[data-typo="legora"]:not(#_) .other-overline:is(.text-color-blue-primary-900, .text-color-blue-primary-500) {
  color: var(--lg-texte-2);
}
[data-typo="legora"]:not(#_) .margin-bottom.margin-14:has(> .other-overline) {
  margin-bottom: var(--lg-gap-eyebrow);
}
[data-typo="legora"]:not(#_) .margin-bottom.margin-32:has(> .other-overline.text-align-center) {
  margin-bottom: var(--lg-gap-eyebrow-centre);
}
/* numéro gris + libellé encre (catégorie / page du fil d'Ariane) */
[data-typo="legora"]:not(#_) .hflex-left-top .other-overline.text-color-blue-primary-950,
[data-typo="legora"]:not(#_) .histoire-card .hflex-left-center .other-overline:last-child {
  color: var(--lg-encre);
}
[data-typo="legora"]:not(#_) .histoire-card .hflex-left-center .other-overline:first-child {
  color: var(--lg-texte-2);
}
/* services du cabinet : « / automatiser », « / accompagner »… en capitales comme les autres sur-titres « / … » */
[data-typo="legora"]:not(#_) .section-service .categorie-tag {
  text-transform: uppercase;
  letter-spacing: var(--lg-ls-caps);
  color: var(--lg-texte-2);
}
/* label du bandeau de logos (Legora : 12 px wght 400 gris, casse de la phrase, à gauche des logos) */
[data-typo="legora"]:not(#_) h2.other-overline {
  font-size: var(--lg-fs-label);
  font-weight: var(--lg-w-label);
  letter-spacing: var(--lg-ls-texte);
  text-transform: none;
  text-wrap: wrap;
  color: var(--lg-texte-2);
  max-width: none;
}
@media screen and (min-width: 992px) {
  [data-typo="legora"]:not(#_) .section-logo .logo6_content:has(> .margin-bottom.margin-48) {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    column-gap: 48px;
  }
  [data-typo="legora"]:not(#_) .section-logo .logo6_content > .margin-bottom.margin-48 {
    margin: 0;
    padding-top: calc(3.25rem - 8.4px);
  }
  [data-typo="legora"]:not(#_) .section-logo .logo6_content .text-align-center {
    text-align: left;
  }
}
@media screen and (max-width: 991px) {
  [data-typo="legora"]:not(#_) .section-logo .logo6_content > .margin-bottom.margin-48 {
    margin-bottom: 24px;
  }
}
/* fil d'Ariane du hero métier : pastille retirée */
[data-typo="legora"]:not(#_) .tag-expertise {
  font-size: var(--lg-fs-corps);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-caps);
  font-weight: var(--lg-w-texte);
  text-transform: uppercase;
  color: var(--lg-texte-2);
  background: none;
  border: 0;
  border-radius: 0;
  padding: calc(0.5rem + 1px) 0 0; /* texte à la même hauteur qu'avec la pastille (sinon 9 px plus haut, contre la navigation) */
}

/* sur-titres posés sur le fond teinté des heros (404, métiers) : #566174 tombe à 3,6:1 ; greyscale-800 ≥ 5,6:1 partout */
[data-typo="legora"]:not(#_) .section-white-hero :is(.other-overline, .tag-expertise) {
  color: var(--_color---greyscale--800);
}

/* ---------- 7. Chiffres ---------- */
[data-typo="legora"]:not(#_) .kpi {
  font-size: var(--lg-fs-chiffre);
  line-height: var(--lg-lh-chiffre);
  letter-spacing: var(--lg-ls-chiffre);
  font-weight: var(--lg-w-chiffre);
  color: var(--lg-encre);
  white-space: nowrap;
}
[data-typo="legora"]:not(#_) .kpi.text-align-right {
  text-align: left;
  justify-content: flex-start;
}
[data-typo="legora"]:not(#_) .avantage-kpi:not(._2) .kpi {
  font-size: var(--lg-fs-chiffre-m);
}
[data-typo="legora"]:not(#_) .avantage-kpi .other-overline {
  text-transform: none;
  letter-spacing: var(--lg-ls-texte);
  color: var(--lg-texte-2);
  max-width: var(--lg-col-legende);
}
[data-typo="legora"]:not(#_) .avantage-kpi .margin-bottom.margin-24 {
  margin-bottom: 12px;
}

/* ---------- 8. Rythme titre → texte → action (30 / 30) ---------- */
[data-typo="legora"]:not(#_) .margin-bottom:has(> :is(h1, h2)):has(+ :is(p, .max-width-680, .normal-reg, .medium-b)) {
  margin-bottom: var(--lg-gap-titre-texte);
}

/* ---------- 9. Placement : accueil ---------- */
/* hero : position verticale d'origine (le bas du fond blanchit : texte blanc < 4,5:1), rythme 30 / 30 */
[data-typo="legora"]:not(#_) .section_hero-home .margin-48.z-index-2 {
  margin-bottom: 0;
}
[data-typo="legora"]:not(#_) .section_hero-home .margin-bottom.margin-32 {
  margin-bottom: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .section_hero-home .max-width-680 > p {
  max-width: var(--lg-col-texte-hero);
  margin-left: auto;
  margin-right: auto;
}
[data-typo="legora"]:not(#_) .section_hero-home .custom-top-button {
  margin-top: var(--lg-gap-texte-action);
}
/* témoignages (duo, modèle we-r.co) : en-tête → cartes 60 / 48 ; citation en titre-paragraphe (H5 Legora),
   texte en intro (interligne long), résultat en chiffre fin, signature en corps ; hiérarchie par la couleur */
[data-typo="legora"]:not(#_) .section-temoignages-duo .td-head {
  margin-bottom: var(--lg-gap-entete-contenu);
}
[data-typo="legora"]:not(#_) .td-court {
  font-size: var(--lg-fs-soustitre);
  line-height: var(--lg-lh-soustitre);
  letter-spacing: var(--lg-ls-soustitre);
  font-weight: var(--lg-w-titre);
  color: var(--lg-encre);
  text-wrap: pretty;
}
[data-typo="legora"]:not(#_) .td-long {
  font-size: var(--lg-fs-intro);
  line-height: var(--lg-lh-long);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-texte);
  color: var(--lg-texte-2);
}
[data-typo="legora"]:not(#_) .td-result {
  line-height: 1;
}
[data-typo="legora"]:not(#_) .td-kpi {
  font-size: var(--lg-fs-bloc);
  line-height: var(--lg-lh-chiffre);
  letter-spacing: var(--lg-ls-chiffre);
  font-weight: var(--lg-w-chiffre);
  color: var(--lg-encre);
}
[data-typo="legora"]:not(#_) :is(.td-kpi-label, .td-role) {
  font-size: var(--lg-fs-corps);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-texte);
  color: var(--lg-texte-2);
}
[data-typo="legora"]:not(#_) .td-name {
  font-size: var(--lg-fs-intro);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-titre);
  color: var(--lg-encre);
}
[data-typo="legora"]:not(#_) :is(.td-tag, .td-draft) {
  font-size: var(--lg-fs-label);
  line-height: var(--lg-lh-texte);
  letter-spacing: var(--lg-ls-texte);
  font-weight: var(--lg-w-label);
}
[data-typo="legora"]:not(#_) .td-avatar {
  font-size: var(--lg-fs-corps);
  font-weight: var(--lg-w-texte);
  letter-spacing: var(--lg-ls-texte);
}
/* brouillons (dev) : gris, comme l'ancien carrousel */
[data-typo="legora"]:not(#_) .td-item.is-draft :is(.td-court, .td-long, .td-kpi, .td-name) {
  color: #8a8f9c;
}
/* audit / prise en main : titre → texte 30, texte → bouton 30, texte colonne 464 */
[data-typo="legora"]:not(#_) .simple-item-container .margin-bottom.margin-12 {
  margin-bottom: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .simple-item-container > .margin-bottom.margin-48 {
  margin-bottom: var(--lg-gap-texte-action);
}
[data-typo="legora"]:not(#_) .simple-item-container .normal-reg {
  max-width: var(--lg-col-texte);
}
/* CTA sombres : titre → texte 30, texte centré colonne 488, bloc texte → suite 30 */
[data-typo="legora"]:not(#_) .section-cta .margin-bottom.margin-16 {
  margin-bottom: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .section-cta .max-width-680 > p {
  max-width: var(--lg-col-texte-centre);
  margin-left: auto;
  margin-right: auto;
}
[data-typo="legora"]:not(#_) .section-cta .margin-bottom.margin-40:has(h2) {
  margin-bottom: var(--lg-gap-texte-action);
}
/* avantages */
[data-typo="legora"]:not(#_) .title-info-avantage .margin-bottom.margin-40 {
  margin-bottom: 0;
}
/* cas d'usage et méthode : en-tête → contenu 60 */
[data-typo="legora"]:not(#_) :is(.section-etude-cas, .section-methode) > .padding-global > .container-1384 > .margin-bottom.margin-80 {
  margin-bottom: var(--lg-gap-entete-contenu);
}

/* ---------- 10. Placement : cabinet ---------- */
/* hero du cabinet : texte → boutons 30 (marges haute et latérales de .margin-48 conservées : sinon le h1
   remonte de 48 px et touche la barre de navigation à 390) */
[data-typo="legora"]:not(#_) .section-white-hero .margin-48 {
  margin-bottom: var(--lg-gap-texte-action);
}
[data-typo="legora"]:not(#_) .section-white-hero .margin-bottom.margin-32 {
  margin-bottom: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .section-white-hero :is(.max-width-680, .max-width-915) > p.text-align-center {
  max-width: var(--lg-col-texte-hero);
  margin-left: auto;
  margin-right: auto;
}
[data-typo="legora"]:not(#_) .section-preambule .margin-bottom.margin-40 {
  margin-bottom: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .teams-container-1 .margin-bottom.margin-32:has(> .heading-style-h3) {
  margin-bottom: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .teams-container-1 .normal-reg {
  max-width: var(--lg-col-texte-centre);
  margin-left: auto;
  margin-right: auto;
}

/* ---------- 11. Placement : métiers et 404 ---------- */
[data-typo="legora"]:not(#_) .section-white-hero .margin-bottom.margin-24:has(.tag-expertise) {
  margin-bottom: var(--lg-gap-eyebrow-hero);
}
/* 404 : centré (hero produit), enfants étirés (sinon le h1 serré à 288 px par balance + SplitText) */
[data-typo="legora"]:not(#_) .section-white-hero .max-width-680.margin-auto {
  text-align: center;
}
[data-typo="legora"]:not(#_) .section-white-hero .max-width-680.margin-auto > .margin-bottom {
  align-self: stretch;
}
[data-typo="legora"]:not(#_) .max-width-680.margin-auto > .margin-bottom.margin-14 {
  margin-bottom: var(--lg-gap-eyebrow-hero);
}
[data-typo="legora"]:not(#_) .max-width-680.margin-auto > .margin-bottom.margin-24 {
  margin-bottom: var(--lg-gap-titre-texte);
}
[data-typo="legora"]:not(#_) .max-width-680.margin-auto > .margin-top.margin-32 {
  margin-top: var(--lg-gap-texte-action);
}

/* ---------- 12. Corrections après revue (2026-10-04) ---------- */
/* heros : largeur indépendante du contenu (sinon SplitText rétrécit le h1 équilibré → décalage de mise en page, CLS 0,09 à 0,13) */
[data-typo="legora"]:not(#_) :is(.section_hero-home, .section-white-hero) > .padding-global {
  width: 100%;
}
/* étapes « Comment collaborer » : titres calés en haut, alignés quel que soit le nombre de lignes */
@media screen and (min-width: 992px) {
  [data-typo="legora"]:not(#_) .kpi-methode-container {
    justify-content: flex-start;
  }
}
/* cartes « Les métiers que nous accompagnons » : texte calé en bas ; à partir de 1200 px, le paragraphe réserve 3 lignes
   pour que les titres d'une rangée partent à la même hauteur (en dessous, une réserve commune laissait des bandes vides) */
@media screen and (min-width: 1200px) {
  [data-typo="legora"]:not(#_) .section-ressouces .ressouce-content .normal-reg {
    min-height: calc(3 * 1.4em);
  }
}
/* hauteur des cartes en minimum (381 / 300 px à 16 px) : grandit avec le texte si la police du navigateur est agrandie */
@media screen and (min-width: 480px) {
  [data-typo="legora"]:not(#_) .section-ressouces .ressouce-item {
    height: auto;
    min-height: 23.8125rem;
  }
}
@media screen and (min-width: 480px) and (max-width: 767px) {
  [data-typo="legora"]:not(#_) .section-ressouces .ressouce-item {
    min-height: 18.75rem;
  }
}
/* services à ≤ 479 : gouttière réduite, le titre « Intégration et suivi mensuel » tient sur une ligne */
@media screen and (max-width: 479px) {
  [data-typo="legora"]:not(#_) .service-item {
    column-gap: 0.5rem;
  }
}
