/* ============================================================
   THÈME PLEINES RESSOURCES (thème 2026) : feuille de style UNIQUE du site
   Validé le 20/10/2026 sur la page Coaching de dirigeant.
   Polices : Newsreader (titres) + DM Sans (texte), chargées par le bloc commun « styles ».
   Mode d'emploi et catalogue des sections : _outils/gabarit/LISEZ-MOI.md

   Sommaire
     1. Jetons (couleurs, polices, largeurs)
     2. Base (remise à zéro, texte, titres, liens)
     3. Mise en page et animations
     4. Composants (sur-titre, boutons, liens, pastilles, fil d'Ariane)
     5. Menu du haut
     6. Pied de page
     7. Sections du catalogue
     8. Formulaires
     9. Tablette et mobile

   Règle : aucune page n'a de style propre. Un besoin nouveau = une variante ajoutée ici.
   ============================================================ */

/* ===== 1. Jetons ===== */
:root {
  /* Fonds */
  --fond: #ffffff;               /* sections principales */
  --fond-alt: #f7f7f5;           /* alternance légère */
  --carte: #ffffff;              /* cartes, encadrés, champs de formulaire */
  --ardoise: #222e38;            /* sections fortes, appel final, pied de page */
  --ardoise-2: #2b3640;
  --ardoise-survol: color-mix(in srgb, var(--ardoise) 86%, #ffffff);
  /* Noms historiques, conservés : ils suivent les fonds ci-dessus */
  --blanc: var(--fond);
  --ivoire: var(--fond-alt);
  --sable: var(--fond-alt);
  /* Textes */
  --anthracite: #23272e;
  --texte: #474c53;
  --doux: #6c7077;
  --sur-sombre: #ffffff;         /* texte et éléments clairs sur fond ardoise */
  --sur-sombre-doux: #d3d8dd;
  --sur-sombre-discret: #b9c0c7;
  /* Accents */
  --champagne: #c6a47c;
  --champagne-fonce: #b8956a;
  --champagne-texte: #8a683b;    /* texte doré sur fond clair (contraste ≥ 4,5 sur blanc et blanc cassé) ; sur fond sombre : --champagne */
  --champagne-survol: color-mix(in srgb, var(--champagne) 65%, #ffffff);
  /* Filets et divers */
  --filet: #e6e3dd;
  --trait: #e8e6e1;
  --erreur: #a3352b;
  --noir: #111111;               /* bouton Contact du menu */
  /* Tailles des titres (modifier ici pour tout le site) */
  --titre-principal: 50px;                /* titre du haut des pages avec photo */
  --titre-principal-tablette: 50px;
  --titre-principal-ecran-bas: 44px;      /* ordinateur à écran peu haut */
  --titre-principal-mobile: 40px;
  --titre-accroche: 46px;                 /* grande accroche de l'accueil */
  --titre-accroche-mobile: 36px;
  --titre-page: 50px;                     /* titre du haut des pages sobres */
  --titre-page-mobile: 40px;
  --titre-article: 44px;                  /* titre d'un article du blog */
  --titre-article-mobile: 34px;
  --titre-section: 30px;                  /* titres de section */
  --titre-section-fort: 32px;             /* section « transition » */
  --titre-section-secondaire: 28px;       /* coach, FAQ, autres offres, formulaires… */
  --titre-section-discret: 26px;          /* cadre qualité, pages juridiques */
  --titre-section-mobile: 26px;
  --titre-conviction: 31px;               /* grande phrase des bandes sombres */
  --titre-conviction-mobile: 26px;
  --titre-final: 34px;                    /* appel final */
  --titre-final-mobile: 28px;
  --titre-carte: 19px;                    /* titres de cartes, pictogrammes, étapes */
  --titre-carte-fort: 21px;               /* cartes « Vos enjeux » */
  --titre-carte-moyen: 20px;              /* cartes de tarifs, sous-titres juridiques */
  --titre-carte-discret: 18.5px;          /* autres offres, coach */
  --titre-etape-compact: 17.5px;          /* frise de six étapes */
  /* Typographies et mesures */
  --serif: 'Newsreader', Georgia, serif;
  --sans: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --large: 1166px;
  --menu-h: 72px;
  --ease: cubic-bezier(.4, 0, .2, 1);
}

/* ===== 2. Base ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--sans); color: var(--texte); background: var(--ivoire); line-height: 1.75; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img, video, svg { max-width: 100%; display: block; }
button, input, textarea, select { font-family: inherit; font-size: inherit; }
a { color: inherit; text-decoration: none; transition: color .2s, opacity .2s, background .2s; }
ul, ol { list-style: none; }
p { color: inherit; line-height: inherit; }
h1, h2, h3 { font-family: var(--serif); font-weight: 470; font-variation-settings: 'opsz' 72; color: var(--anthracite); line-height: 1.15; }
h1 { font-size: var(--titre-page); line-height: 1.08; letter-spacing: -.015em; }
h2 { font-size: var(--titre-section); letter-spacing: -.01em; text-wrap: balance; }
h3 { font-size: var(--titre-carte); line-height: 1.25; letter-spacing: -.005em; }
h4 { font-family: var(--sans); font-weight: 600; color: var(--anthracite); }

/* ===== 3. Mise en page et animations ===== */
.cadre { max-width: var(--large); margin: 0 auto; padding: 0 20px; }
.etroit { max-width: 820px; margin: 0 auto; padding: 0 20px; }
.sec { padding: 104px 0; }
.centre { text-align: center; }
/* Apparition douce au défilement (js/site.js ajoute .visible) */
.fade-up { opacity: 0; transform: translateY(24px); transition: opacity .55s var(--ease), transform .55s var(--ease); }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.fade-up.delay-1 { transition-delay: .1s; }
.fade-up.delay-2 { transition-delay: .2s; }
.fade-up.delay-3 { transition-delay: .3s; }
.fade-up.delay-4 { transition-delay: .4s; }
.fade-up.delay-5 { transition-delay: .5s; }
@media (prefers-reduced-motion: reduce) { .fade-up { opacity: 1; transform: none; transition: none; } }

/* ===== 4. Composants ===== */
/* Fil d'Ariane discret (haut de page) */
.fil { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12.5px; color: var(--doux); }
.fil a { color: var(--doux); text-decoration: underline; text-decoration-color: var(--filet); text-underline-offset: 3px; }
.fil a:hover { color: var(--anthracite); }

/* ===== 5. Menu du haut ===== */
/* Haut de page clair (par défaut) : fond transparent, texte anthracite ; fond clair flouté dès qu'on défile.
   Variante .nav--sombre (haut de page sombre) : fond transparent et texte blanc tant qu'on n'a pas défilé.
   Ouverture et fermeture des sous-menus : js/site.js (survol avec délai, clic, clavier, accordéon sur mobile). */
.nav { position: fixed; top: 0; left: 0; right: 0; height: var(--menu-h); z-index: 900; color: var(--anthracite); }
.nav::before { content: ''; position: absolute; inset: 0; z-index: -1; transition: background .28s var(--ease), box-shadow .28s var(--ease); }
.nav.scrolled::before, .nav.menu-ouvert::before { background: color-mix(in srgb, var(--ivoire) 96%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 1px 0 var(--filet); }
.nav__inner { max-width: 1160px; margin: 0 auto; padding: 0 2rem; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.nav-logo { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; font-variation-settings: 'opsz' 72; line-height: 1.75; color: var(--anthracite); transition: color .28s; }
.nav-logo img { display: block; flex-shrink: 0; width: 46px; height: 46px; }
.nav-logo span { display: block; font-family: var(--sans); font-size: .64rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; opacity: .7; margin-top: 1px; }
.nav-menu { display: flex; align-items: center; gap: 2rem; }
.nav-item { position: relative; }
.nav-link { position: relative; display: flex; align-items: center; min-height: 44px; font-family: var(--serif); font-size: 16px; font-weight: 500; color: var(--anthracite); white-space: nowrap; transition: color .28s; }
button.nav-link { background: none; border: 0; padding: 0; margin: 0; cursor: pointer; line-height: inherit; }
.nav-link::after { content: ''; position: absolute; bottom: 8px; left: 0; width: 0; height: 1px; background: var(--champagne-fonce); transition: width .28s var(--ease); }
.nav-link:hover::after, .nav-link.active::after, .nav-item--dropdown.open > .nav-link::after { width: 100%; }
.nav-cta { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--sans); font-size: 14px; font-weight: 500; letter-spacing: .02em; padding: 0 1.1rem; border: 1px solid var(--noir); border-radius: 3px; background: var(--noir); color: var(--sur-sombre); white-space: nowrap; transition: background .28s, border-color .28s, color .28s; }
.nav-toggle { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; background: none; border: none; cursor: pointer; }
.nav-toggle span { display: block; width: 24px; height: 1.5px; background: var(--anthracite); transition: transform .28s, opacity .28s; }
.nav-toggle.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.nav a:focus-visible, .nav button:focus-visible { outline: 2px solid var(--champagne-fonce); outline-offset: 3px; border-radius: 2px; }
/* Sous-menus : panneau ivoire à la largeur des intitulés ; un pont invisible relie la rubrique au panneau */
.nav-item--dropdown::after { content: ''; position: absolute; top: 100%; left: -12px; right: -12px; height: 14px; }
.nav-dropdown { position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(-4px); width: max-content; min-width: 220px; background: var(--ivoire); border: 1px solid var(--filet); border-radius: 6px; padding: 8px 0; box-shadow: 0 14px 34px color-mix(in srgb, var(--ardoise) 10%, transparent); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s; }
.nav-item--dropdown.open .nav-dropdown { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); transition: opacity .2s var(--ease), transform .2s var(--ease), visibility 0s; }
.nav-dropdown__link { display: flex; align-items: center; min-height: 44px; padding: 8px 22px; font-family: var(--sans); font-size: 15.5px; font-weight: 400; line-height: 1.35; color: var(--anthracite); white-space: nowrap; transition: background .2s, color .2s; }
.nav-dropdown__link:hover, .nav-dropdown__link:focus-visible { background: var(--sable); }
.nav-dropdown__link.active { color: var(--champagne-texte); font-weight: 500; }
/* Variante haut de page sombre */
.nav--sombre:not(.scrolled):not(.menu-ouvert) .nav-logo, .nav--sombre:not(.scrolled):not(.menu-ouvert) .nav-link { color: var(--sur-sombre); }
.nav--sombre:not(.scrolled):not(.menu-ouvert) .nav-cta { background: transparent; border-color: color-mix(in srgb, var(--sur-sombre) 50%, transparent); }
.nav--sombre:not(.scrolled):not(.menu-ouvert) .nav-toggle span { background: var(--carte); }

/* ===== 6. Pied de page ===== */
.pied { background: var(--ardoise); color: color-mix(in srgb, var(--sur-sombre) 72%, transparent); font-family: var(--sans); line-height: 1.6; padding: 72px 0 0; }
.pied__cadre { max-width: var(--large); margin: 0 auto; padding: 0 20px; }
.pied__grille { display: grid; grid-template-columns: 1.25fr 1fr 1fr .8fr; gap: 48px; padding-bottom: 56px; }
.pied__marque { display: flex; align-items: center; gap: 14px; }
.pied__marque img { width: 46px; height: 46px; flex: none; }
.pied__nom { font-family: var(--serif); font-weight: 470; font-variation-settings: 'opsz' 72; font-size: 23px; line-height: 1.15; color: var(--sur-sombre); }
.pied__sous-titre { font-size: 14.5px; font-weight: 500; line-height: 1.4; color: color-mix(in srgb, var(--sur-sombre) 85%, transparent); margin-top: 5px; }
.pied__distance { font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; line-height: 1.4; color: var(--champagne); margin-top: 24px; }
.pied__tel { display: inline-block; font-size: 15px; color: color-mix(in srgb, var(--sur-sombre) 80%, transparent); margin-top: 6px; }
.pied__certifs { margin-top: 24px; }
.pied__acc { display: flex; align-items: center; gap: 14px; }
.pied__acc img { width: 64px; height: 64px; flex: none; }
.pied__acc-texte { font-size: 14.5px; font-weight: 500; line-height: 1.4; color: var(--champagne); }
.pied__qualiopi { font-size: 12.5px; line-height: 1.5; color: color-mix(in srgb, var(--sur-sombre) 60%, transparent); margin-top: 10px; max-width: 290px; }
.pied__social { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.pied__linkedin, .pied__news { color: var(--champagne); }
.pied__news { font-size: 14px; font-weight: 500; }
.pied h4 { font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--champagne); line-height: 1.4; }
.pied h4::after { content: ''; display: block; width: 32px; height: 1.5px; background: var(--champagne); opacity: .6; margin-top: 12px; }
.pied__liens { margin-top: 18px; display: flex; flex-direction: column; }
.pied__liens a { display: block; font-size: 15px; line-height: 1.4; padding: 6px 0; color: color-mix(in srgb, var(--sur-sombre) 75%, transparent); }
.pied__liens a:hover, .pied__tel:hover { color: var(--sur-sombre); }
.pied__bas { border-top: 1px solid color-mix(in srgb, var(--sur-sombre) 10%, transparent); padding: 22px 0 26px; font-size: 12.5px; color: color-mix(in srgb, var(--sur-sombre) 50%, transparent); }
.pied__bas a { color: color-mix(in srgb, var(--sur-sombre) 50%, transparent); }
.pied__bas a:hover { color: var(--sur-sombre); }
.pied__bas span { margin: 0 8px; opacity: .6; }
.pied a:focus-visible { outline: 2px solid var(--champagne); outline-offset: 3px; border-radius: 2px; }

/* ===== 7. Sections du catalogue ===== */
/* Label + filet champagne */
.label { display: block; font-size: 12px; line-height: 1.4; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--champagne-texte); }
.label::after { content: ''; display: block; width: 44px; height: 1.5px; background: var(--champagne); margin-top: 16px; }
.centre .label::after { margin-left: auto; margin-right: auto; }
.label + h2 { margin-top: 20px; }
.intro { font-size: 17.5px; line-height: 1.7; margin-top: 20px; }
.centre .intro { max-width: 680px; margin-left: auto; margin-right: auto; }

/* Boutons : rectangles légèrement arrondis */
.bouton { display: inline-flex; align-items: center; gap: 16px; height: 54px; padding: 0 30px; border-radius: 6px; font-size: 15px; font-weight: 500; letter-spacing: .01em; }
.bouton svg { width: 18px; height: 18px; transition: transform .2s; }
.bouton:hover svg { transform: translateX(3px); }
.bouton-ardoise { background: var(--ardoise); color: var(--sur-sombre); }
.bouton-ardoise:hover { background: var(--ardoise-survol); }
.bouton-champagne { background: var(--champagne); color: var(--anthracite); }
.bouton-champagne:hover { background: var(--champagne-survol); }
/* Bouton secondaire à contour et groupe de boutons */
.bouton-contour { background: transparent; color: var(--ardoise); border: 1px solid var(--ardoise); }
.bouton-contour:hover { background: var(--ardoise); color: var(--sur-sombre); }
.sombre .bouton-contour, .final .bouton-contour { color: var(--sur-sombre); border-color: color-mix(in srgb, var(--sur-sombre) 50%, transparent); }
.sombre .bouton-contour:hover, .final .bouton-contour:hover { background: var(--carte); color: var(--ardoise); }
.boutons { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.heros .boutons, .entete .boutons { margin-top: 26px; }
.boutons .bouton { margin-top: 0 !important; }
.centre .boutons, .final-centre .boutons, .cta-inter .boutons { justify-content: center; }
.final .boutons { margin-top: 32px; }
/* Liens texte (CTA intermédiaires) : soulignés, sur une ligne */
.lien { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; color: var(--anthracite); text-decoration: underline; text-decoration-color: var(--champagne-fonce); text-decoration-thickness: 1px; text-underline-offset: 6px; white-space: nowrap; }
.lien:hover { color: var(--champagne-texte); }
.lien svg { width: 16px; height: 16px; }
.cta-inter { text-align: center; margin-top: 64px; }

/* Pastilles et pictogrammes */
.pastille { width: 72px; height: 72px; border-radius: 50%; background: var(--champagne); display: flex; align-items: center; justify-content: center; flex: none; }
.pastille svg { width: 32px; height: 32px; fill: none; stroke: var(--anthracite); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.trois { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px; margin-top: 60px; text-align: center; }
.trois .pastille { margin: 0 auto; }
.trois h3 { margin-top: 22px; }
.trois p { font-size: 15.5px; line-height: 1.65; margin-top: 16px; max-width: 320px; margin-left: auto; margin-right: auto; }
/* Quatre pictogrammes (ex. « Une approche sur mesure » de l'accueil, en section sombre) */
.trois.quatre-col { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px; margin-top: 56px; }
.trois.quatre-col h3 { font-size: var(--titre-carte); line-height: 1.3; }
.trois.quatre-col p { max-width: 260px; margin-top: 12px; }
@media (max-width: 1024px) { .trois.quatre-col { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 40px; } }
@media (max-width: 600px) { .trois.quatre-col { grid-template-columns: 1fr; gap: 40px; } }

/* ===== 01 Héros ===== */
.heros { position: relative; background: var(--ivoire); min-height: 600px; padding-top: 72px; overflow: hidden; }
.heros-photo { position: absolute; top: 72px; right: 0; bottom: 0; width: 50%; background: var(--photo, none) var(--x, 50%) var(--y, 30%) / cover no-repeat; } /* --x / --y : point de cadrage de l'image, propre à chaque page */
.heros-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ivoire) 0%, color-mix(in srgb, var(--ivoire) 92%, transparent) 8%, color-mix(in srgb, var(--ivoire) 55%, transparent) 22%, color-mix(in srgb, var(--ivoire) 15%, transparent) 38%, color-mix(in srgb, var(--ivoire) 0%, transparent) 52%); }
.heros .cadre { position: relative; z-index: 1; padding-top: 44px; padding-bottom: 44px; }
.heros-texte { max-width: 640px; }
.heros .fil { margin: -18px 0 22px; }
.heros h1 { font-size: var(--titre-principal); line-height: 1.05; letter-spacing: -.015em; margin-top: 0; }
.heros-credits { font-size: 14.5px; line-height: 1.6; color: var(--anthracite); font-weight: 500; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--filet); max-width: 620px; }
.heros-credits { display: flex; align-items: center; gap: 14px; }
.heros-credits .credits-badge { width: 46px; height: 46px; flex: none; }
.heros-credits strong { font-weight: 600; color: var(--anthracite); }
.heros-cible { font-size: 17px; font-weight: 500; color: var(--champagne-texte); margin-top: 16px; letter-spacing: .01em; text-wrap: balance; max-width: 460px; }
.heros-intro { font-size: 18px; line-height: 1.7; margin-top: 22px; max-width: 480px; }
.heros .bouton { margin-top: 26px; }
.mentions { font-size: 13.5px; color: var(--doux); margin-top: 16px; letter-spacing: .01em; }

/* ===== 02 Logos clients (sans titre) : chaque logo est recadré par ses variables --w --h --iw --x --y ===== */
.logos-band { padding: 30px 0; background: var(--carte); border-top: 1px solid var(--trait); border-bottom: 1px solid var(--trait); }
.logos-fixed { --k: .85; display: flex; flex-wrap: wrap; align-items: center; gap: 1.75rem 3.5rem; max-width: 1166px; margin: 0 auto; padding: 0 20px; justify-content: space-between; }
.logos-fixed .logo { position: relative; flex: none; overflow: hidden; width: calc(var(--w) * var(--k) * 1px); height: calc(var(--h) * var(--k) * 1px); }
.logos-fixed .logo img { position: absolute; max-width: none; height: auto; width: calc(var(--iw) * var(--k) * 1px); left: calc(var(--x) * var(--k) * 1px); top: calc(var(--y) * var(--k) * 1px); }
.logos-fixed .logo.mono img { filter: brightness(0); }
@media (max-width: 1024px) { .logos-fixed { column-gap: 1.5rem; } } /* les 7 logos restent sur une ligne sur petit écran d'ordinateur ou tablette à l'horizontale */
@media (max-width: 768px) { .logos-fixed { display: grid; grid-template-columns: 1fr 1fr; justify-items: center; gap: 1.5rem 1rem; } .logos-fixed .logo:last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* ===== 03 Situations ===== */
.situations { background: var(--blanc); }
.grille-situations { display: grid; grid-template-columns: 1fr 1fr; gap: 44px 80px; margin-top: 64px; }
.situation { display: flex; gap: 22px; align-items: flex-start; }
.situation .pastille { width: 40px; height: 40px; margin-top: 2px; }
.situation .pastille svg { width: 18px; height: 18px; stroke-width: 1.6; }
.situation p { font-size: 15.5px; line-height: 1.65; margin-top: 8px; }

/* ===== 04 Transition ===== */
.transition { background: var(--sable); }
.transition-bloc { border-left: 2px solid var(--champagne); padding: 6px 0 6px 44px; }
.transition h2 { font-size: var(--titre-section-fort); max-width: 640px; }
.transition p { font-size: 18px; line-height: 1.75; margin-top: 22px; }
.transition .conclusion { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 25px; color: var(--champagne-texte); margin-top: 30px; }

/* ===== 05 Espace (sombre, architecture) ===== */
.espace { position: relative; background: var(--ardoise); color: var(--sur-sombre); overflow: hidden; }
.espace-photo { position: absolute; top: 0; right: 0; bottom: 0; width: 34%; background: var(--photo, none) center / cover no-repeat; }
.espace-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ardoise) 0%, color-mix(in srgb, var(--ardoise) 55%, transparent) 22%, color-mix(in srgb, var(--ardoise) 0%, transparent) 55%); }
.espace .cadre { position: relative; display: flex; align-items: center; min-height: 400px; padding-top: 80px; padding-bottom: 80px; }
.espace-gauche { width: 470px; flex: none; padding-right: 48px; }
.espace .label { color: var(--champagne); }
.espace h2 { color: var(--sur-sombre); }
.espace-gauche p { font-size: 16.5px; line-height: 1.7; color: var(--sur-sombre-doux); margin-top: 22px; }
.espace-droite { border-left: 1px solid color-mix(in srgb, var(--champagne) 45%, transparent); padding-left: 44px; display: flex; flex-direction: column; gap: 30px; }
.espace .cadre.espace-cta { display: block; min-height: 0; padding-top: 0; padding-bottom: 64px; margin-top: -24px; }
.espace-cta .lien { color: var(--sur-sombre); text-decoration-color: var(--champagne); }
.espace-cta .lien:hover { color: var(--champagne); }
/* Variante « conviction » : une grande phrase en Newsreader, sans colonne de points cochés (ex. accueil) */
.espace-conviction .espace-photo { width: 42%; }
.espace-conviction .cadre { min-height: 460px; padding-top: 96px; padding-bottom: 96px; }
.espace-conviction .espace-gauche { width: 620px; max-width: 58%; padding-right: 0; }
.espace-gauche p.conviction-phrase { font-family: var(--serif); font-weight: 420; font-size: var(--titre-conviction); line-height: 1.32; color: var(--sur-sombre); margin-top: 26px; font-variation-settings: 'opsz' 60; text-wrap: pretty; }
.espace-gauche p.conviction-texte { font-size: 17px; line-height: 1.7; color: var(--sur-sombre-doux); margin-top: 18px; }
.espace-gauche p.conviction-phrase + p.conviction-texte { margin-top: 26px; }
.espace-gauche p.conviction-suite { line-height: 1.5; color: var(--champagne); margin-top: 24px; font-family: var(--serif); font-style: italic; font-size: 20px; letter-spacing: .01em; }
@media (max-width: 1150px) { .espace-conviction .espace-photo { width: 36%; } .espace-conviction .espace-gauche { max-width: 60%; } }
@media (min-width: 861px) and (max-width: 1000px) { .espace-conviction .espace-photo { display: block; width: 30%; } }
@media (max-width: 860px) {
  .espace-conviction .espace-photo { width: 100%; height: 240px; }
  .espace-conviction .cadre { min-height: 0; padding-top: 48px; padding-bottom: 64px; }
  .espace-conviction .espace-gauche { width: 100%; max-width: none; }
  .espace-gauche p.conviction-phrase { font-size: var(--titre-conviction-mobile); }
}
.coche { display: flex; align-items: center; gap: 22px; font-size: 16.5px; line-height: 1.5; color: var(--sur-sombre); }
.coche svg { width: 34px; height: 34px; flex: none; fill: none; stroke: var(--champagne); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

/* ===== 06 Sur mesure (photo bureau à gauche) ===== */
.mesure { background: var(--ivoire); }
.mesure-grille { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.mesure-photo { height: 340px; border-radius: 4px; background: var(--photo, none) 38% center / cover no-repeat; }
.mesure p { font-size: 17px; line-height: 1.7; margin-top: 22px; }
.mesure .liens { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; margin-top: 34px; }

/* ===== 07 / 08 / 10 Trois pictogrammes ===== */
.enjeux { background: var(--sable); }
.approche { background: var(--blanc); }
.pourquoi { background: var(--sable); }

/* ===== Fondements (4 références, sobres) ===== */
.fondements { background: var(--sable); }
.sec.fondements { padding: 80px 0; }
.grille-fondements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 64px; max-width: 1040px; margin: 40px auto 0; }
.fondement { border-top: 1.5px solid var(--champagne); padding-top: 18px; }
.fondement p { font-size: 15.5px; line-height: 1.6; margin-top: 8px; }
.fondement p.appuis { font-size: 12.5px; line-height: 1.55; font-weight: 500; letter-spacing: .06em; color: var(--champagne-texte); margin-top: 12px; }
.fondement p.appuis span { display: block; font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--champagne-texte); margin-bottom: 4px; }

/* ===== 09 Résultats (lignes numérotées) ===== */
.resultats { background: var(--ivoire); }
.resultats-grille { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 72px; align-items: start; }
.resultats .intro { font-size: 16.5px; }
.lignes { border-top: 1px solid var(--filet); }
.ligne { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 20px; padding: 34px 0; border-bottom: 1px solid var(--filet); }
.ligne .num { font-family: var(--serif); font-size: 44px; line-height: 1; color: var(--champagne-texte); font-variation-settings: 'opsz' 72; }
.ligne p { font-size: 16px; line-height: 1.65; margin-top: 8px; }

/* ===== 11 Votre coach ===== */
.coach { background: var(--blanc); }
.coach-grille { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 88px; align-items: start; }
.coach-photo { position: relative; }
.photo-badge { position: relative; }
.coach-photo img.portrait { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; object-position: center 22%; border-radius: 4px; display: block; }
.coach-photo img.badge { position: absolute; right: -26px; bottom: -26px; width: 96px; height: 96px; }
.coach h2 { font-size: var(--titre-section-secondaire); }
.coach p.texte.cle { font-family: var(--serif); font-style: italic; font-weight: 450; font-size: 20.5px; line-height: 1.55; color: var(--anthracite); border-left: 2px solid var(--champagne); padding: 4px 0 4px 26px; margin: 30px 0 30px; font-variation-settings: 'opsz' 40; }
.faits { list-style: none; margin-top: 52px; display: flex; flex-direction: column; gap: 14px; }
.faits li { position: relative; padding-left: 20px; font-size: 15.5px; line-height: 1.45; color: var(--anthracite); }
.faits li::before { content: ''; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--champagne-fonce); }
.faits strong { font-weight: 600; }
.chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); margin-bottom: 44px; }
.chiffre { padding: 22px 18px; text-align: center; }
.chiffre + .chiffre { border-left: 1px solid var(--filet); }
.chiffre strong { display: block; font-family: var(--serif); font-weight: 470; font-size: 28px; line-height: 1.15; color: var(--anthracite); font-variation-settings: 'opsz' 72; }
.chiffre span { display: block; font-size: 13.5px; line-height: 1.45; color: var(--doux); margin-top: 6px; }
.coach .sous-titre { font-size: 17px; color: var(--champagne-texte); margin-top: 10px; font-weight: 500; }
.coach p.texte { font-size: 16.5px; line-height: 1.75; margin-top: 18px; }
.coach .lien { margin-top: 30px; }

/* ===== 12 Déroulement (frise) ===== */
.deroule { background: var(--ivoire); }
.frise { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 64px; text-align: center; position: relative; }
.frise::before { content: ''; position: absolute; top: 26px; left: 12.5%; right: 12.5%; height: 1px; background: var(--champagne); transform: scaleX(0); transform-origin: left center; transition: transform 1.3s cubic-bezier(.4,0,.2,1); }
.etape { position: relative; }
.etape .numero { position: relative; width: 52px; height: 52px; border-radius: 50%; background: var(--champagne); color: var(--anthracite); font-family: var(--serif); font-size: 22px; line-height: 1; display: flex; align-items: center; justify-content: center; margin: 0 auto; box-shadow: 0 0 0 8px var(--ivoire); }
/* Animation de la frise : le trait se dessine, puis les pastilles s'allument l'une après l'autre (une seule fois) */
.frise .etape .numero { background: var(--ivoire); color: var(--doux); border: 1px solid var(--champagne); transition: background .45s ease, color .45s ease; }
.frise.anime::before { transform: none; }
.frise.anime .etape .numero { background: var(--champagne); color: var(--anthracite); }
.frise.anime .etape:nth-child(1) .numero { transition-delay: .05s; }
.frise.anime .etape:nth-child(2) .numero { transition-delay: .45s; }
.frise.anime .etape:nth-child(3) .numero { transition-delay: .85s; }
.frise.anime .etape:nth-child(4) .numero { transition-delay: 1.25s; }
.etape h3 { margin-top: 24px; font-size: var(--titre-carte); }
.frise-note { text-align: center; font-size: 14px; font-style: italic; color: var(--doux); margin: 44px auto 0; max-width: 640px; }
.etape p { font-size: 15px; line-height: 1.6; margin-top: 14px; padding: 0 6px; }

/* ===== Diagnostic complémentaire Assess Manager (bande basse) ===== */
.assess { background: var(--blanc); }
.sec.assess { padding: 72px 0; }
.assess-grille { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 72px; align-items: center; max-width: 1040px; }
.assess-visuel img { width: 100%; height: auto; mix-blend-mode: multiply; }
.assess h2 { font-size: var(--titre-section-secondaire); }
.assess-texte { font-size: 16.5px; line-height: 1.7; margin-top: 18px; }
.assess-mentions { font-size: 13.5px; letter-spacing: .02em; color: var(--champagne-texte); font-weight: 500; margin-top: 16px; }
.assess-logo { width: 124px; height: auto; margin-top: 22px; mix-blend-mode: multiply; }

/* ===== Variante sombre réutilisable (ex. « Pourquoi Pleines Ressources ? ») : ajouter la classe .sombre à une section ===== */
.sec.sombre { background: var(--ardoise); color: var(--sur-sombre-doux); }
.sombre .label { color: var(--champagne); }
.sombre h2, .sombre h3 { color: var(--sur-sombre); }
.sombre p, .sombre .intro { color: var(--sur-sombre-doux); }

/* ===== 13 Format et tarifs (sombre) ===== */
.format { background: var(--ardoise); color: var(--sur-sombre); }
.format .label { color: var(--champagne); }
.format h2 { color: var(--sur-sombre); }
.format .intro { color: var(--sur-sombre-doux); }
.quatre { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; margin-top: 56px; text-align: center; }
.quatre .pastille { margin: 0 auto; width: 64px; height: 64px; }
.quatre .pastille svg { width: 28px; height: 28px; }
.quatre p { font-size: 16px; line-height: 1.5; color: var(--sur-sombre); margin-top: 18px; }
.format .mention { font-size: 14px; letter-spacing: .02em; color: var(--sur-sombre-discret); margin-top: 52px; }
.format .lien { color: var(--sur-sombre); text-decoration-color: var(--champagne); }
.format .lien:hover { color: var(--champagne); }
.format .cta-inter { margin-top: 30px; }

/* ===== 14 Témoignages ===== */
.temoignages { background: var(--ivoire); }
.sec.temoignages { padding: 80px 0; }
.temoignages .cadre { max-width: 1280px; }
.cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.cartes:first-child { margin-top: 0; } /* pas de marge quand le témoignage n'a pas de titre au-dessus */
.carte { background: var(--carte); border-radius: 4px; padding: 26px 30px 24px; display: flex; flex-direction: column; position: relative; box-shadow: 0 1px 3px color-mix(in srgb, var(--ardoise) 5%, transparent); transition: opacity .55s ease, transform .35s ease, box-shadow .35s ease; }
@media (hover: hover) { .carte:hover { transform: translateY(-4px); box-shadow: 0 12px 30px color-mix(in srgb, var(--ardoise) 9%, transparent); } }
.carte::before { content: '\201C'; display: block; font-family: var(--serif); font-size: 48px; line-height: .6; height: 18px; color: var(--champagne-texte); }
.carte blockquote { font-family: var(--serif); font-size: 16.5px; line-height: 1.5; color: var(--anthracite); margin-top: 8px; font-variation-settings: 'opsz' 40; }
.carte figcaption { margin-top: auto; }
.temoignage-seul { background: var(--sable); }
.sec.temoignage-seul { padding: 64px 0; }
/* Témoignage seul, section resserrée */
.sec.temoignages.temoignages-compact { padding: 44px 0; }
.temoignages-compact .cartes-une .carte { padding: 26px 40px 24px; }
@media (max-width: 860px) { .temoignages-compact .cartes-une .carte { padding: 26px 24px 24px; } .cartes-enjeux .carte-lien { padding: 30px 26px 28px; } }
.temoignage-seul .cartes { margin-top: 0; }
.cartes.cartes-une { grid-template-columns: minmax(0, 720px); justify-content: center; }
.cartes-une .carte { padding: 34px 44px 30px; }
.cartes-une .carte blockquote { font-size: 18px; }
.cartes.cartes-deux { grid-template-columns: repeat(2, minmax(0, 520px)); justify-content: center; }
.sec.temoignages-suite { padding: 64px 0; }
.carte .nom { font-size: 14.5px; font-weight: 600; color: var(--anthracite); margin-top: 16px; }
.carte .role { font-size: 13.5px; color: var(--doux); margin-top: 2px; }

/* ===== 15 Appel final (sombre, fauteuil) ===== */
.final { position: relative; background: var(--ardoise); color: var(--sur-sombre); overflow: hidden; }
.final-photo { position: absolute; top: 0; right: 0; bottom: 0; width: 58%; background: var(--photo, none) 30% center / cover no-repeat; }
.final-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ardoise) 0%, color-mix(in srgb, var(--ardoise) 70%, transparent) 22%, color-mix(in srgb, var(--ardoise) 0%, transparent) 50%); }
.final .cadre { position: relative; min-height: 460px; display: flex; align-items: center; padding-top: 88px; padding-bottom: 88px; }
.final-texte { max-width: 560px; }
.final .label { color: var(--champagne); }
.final h2 { color: var(--sur-sombre); font-size: var(--titre-final); }
.final p { font-size: 17px; line-height: 1.7; color: var(--sur-sombre-doux); margin-top: 20px; }
.final .bouton { margin-top: 32px; }
.final p.mentions-final, .final p.mentions { font-size: 13.5px; color: var(--sur-sombre-doux); margin-top: 14px; letter-spacing: .01em; }
.final .complement { font-size: 14.5px; color: var(--sur-sombre-discret); margin-top: 22px; }
.final .complement a { color: var(--sur-sombre); text-decoration: underline; text-decoration-color: var(--champagne); text-underline-offset: 4px; }

/* ===== 16 FAQ (accordéon discret) ===== */
.faq { background: var(--blanc); }
.sec.faq { padding: 72px 0; }
.faq h2 { font-size: var(--titre-section-secondaire); }
.faq .cta-inter { margin-top: 40px; }
.questions { margin-top: 32px; border-top: 1px solid var(--filet); }
.questions details { border-bottom: 1px solid var(--filet); }
.questions summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px 0; font-family: var(--serif); font-size: 17.5px; line-height: 1.4; color: var(--anthracite); font-weight: 470; font-variation-settings: 'opsz' 40; }
.questions summary::-webkit-details-marker { display: none; }
.questions summary::after { content: ''; flex: none; width: 9px; height: 9px; border-right: 1.5px solid var(--champagne-fonce); border-bottom: 1.5px solid var(--champagne-fonce); transform: rotate(45deg); margin-top: -6px; transition: transform .25s, margin .25s; }
.questions details[open] summary::after { transform: rotate(225deg); margin-top: 6px; }
.questions details p { font-size: 15px; line-height: 1.7; padding: 0 40px 20px 0; }

/* ===== 17 Autres accompagnements (discret) ===== */
.autres { background: var(--sable); padding: 80px 0; }
.autres h2 { font-size: var(--titre-section-secondaire); }
.autres-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 44px; }
.autre { border-top: 1.5px solid var(--champagne); padding-top: 24px; }
.autre h3 { font-size: var(--titre-carte-discret); }
.autre p { font-size: 15px; line-height: 1.65; margin-top: 10px; }
.autre .lien { font-size: 15px; margin-top: 16px; }


/* ===== Tablette / mobile ===== */
@media (min-width: 861px) { .heros-credits { width: max-content; max-width: 640px; } }
/* Écrans d'ordinateur portable peu hauts (ex. 1366 × 768) : le bouton du haut reste visible sans défiler */
@media (min-width: 861px) and (max-height: 820px) {
  .heros { min-height: 0; }
  .heros .cadre { padding-top: 24px; padding-bottom: 18px; }
  .heros .fil { margin: -16px 0 6px; font-size: 12px; }
  .heros-cible { margin-top: 8px; }
  .heros h1 { font-size: var(--titre-principal-ecran-bas); margin-top: 0; }
  .heros-intro { font-size: 16.5px; line-height: 1.55; margin-top: 14px; }
  .heros-cible { margin-top: 10px; font-size: 15.5px; }
  .heros .bouton { margin-top: 16px; height: 50px; }
  .mentions { margin-top: 8px; }
  .heros-credits { margin-top: 6px; padding-top: 6px; width: max-content; max-width: 720px; font-size: 14px; letter-spacing: 0; }
  .logos-band { padding: 10px 0 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .frise::before, .frise .etape .numero, .carte { transition: none !important; }
}
@media (max-width: 1024px) {
  .sec { padding: 80px 0; }
  .heros h1 { font-size: var(--titre-principal-tablette); }
  .espace-gauche { width: 400px; }
  .resultats-grille, .coach-grille { grid-template-columns: 1fr; gap: 48px; }
  .coach-photo { max-width: 340px; }
  .quatre { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 32px; }
}
@media (max-width: 1150px) { .espace-photo { width: 22%; } }
@media (min-width: 861px) and (max-width: 1000px) { .espace-photo { display: none; } .final-photo { width: 45%; } }
@media (max-width: 860px) {
  .sec { padding: 68px 0; }
  h2, .transition h2 { font-size: var(--titre-section-mobile); }
  .transition-bloc { padding-left: 22px; }
  .final h2 { font-size: var(--titre-final-mobile); }
  .heros { min-height: 0; }
  .heros-photo { position: relative; top: 0; width: 100%; height: 380px; background-position: center 20%; }
  .heros-photo::after { background: linear-gradient(180deg, var(--ivoire) 0%, color-mix(in srgb, var(--ivoire) 0%, transparent) 28%); }
  .heros .cadre { padding-top: 40px; padding-bottom: 48px; }
  .heros h1 { font-size: var(--titre-principal-mobile); line-height: 1.08; }
  .heros h1 br { display: none; }
  .heros-intro { font-size: 17px; }
  .heros .bouton { width: 100%; justify-content: center; }
  .assess-grille { grid-template-columns: 1fr; gap: 32px; }
  .assess-visuel { max-width: 260px; margin: 0 auto; }
  .grille-fondements { grid-template-columns: 1fr; gap: 32px; margin-top: 44px; }
  .grille-situations, .trois, .autres-grille, .mesure-grille { grid-template-columns: 1fr; gap: 36px; }
  .trois { gap: 44px; }
  .espace-photo { position: relative; width: 100%; height: 220px; display: block; }
  .espace-photo::after { background: linear-gradient(0deg, var(--ardoise) 0%, color-mix(in srgb, var(--ardoise) 0%, transparent) 45%); }
  .espace .cadre { flex-direction: column; align-items: flex-start; padding-top: 56px; padding-bottom: 64px; }
  .espace-gauche { width: 100%; padding-right: 0; }
  .espace-droite { border-left: 0; padding-left: 0; margin-top: 36px; gap: 22px; }
  .mesure-photo { height: 230px; }
  .ligne { grid-template-columns: 60px minmax(0, 1fr); }
  .ligne .num { font-size: 34px; }
  .chiffres { grid-template-columns: 1fr; }
  .chiffres.chiffres-deux .chiffre + .chiffre { border-top: 0; border-left: 1px solid var(--filet); }
  .sombre .chiffres.chiffres-deux .chiffre + .chiffre { border-left-color: color-mix(in srgb, var(--sur-sombre) 14%, transparent); }
  .chiffre + .chiffre { border-left: 0; border-top: 1px solid var(--filet); }
  .coach-photo img.badge { right: -10px; bottom: -14px; width: 80px; height: 80px; }
  .frise { grid-template-columns: 1fr; gap: 36px; }
  .frise::before { top: 26px; bottom: 60px; left: 50%; right: auto; width: 1px; height: auto; transform: scaleY(0); transform-origin: center top; }
  .etape { background: var(--ivoire); padding-bottom: 6px; }
  .quatre { gap: 36px 20px; }
  .cartes, .cartes.cartes-une, .cartes.cartes-deux { grid-template-columns: 1fr; }
  .cartes-une .carte { padding: 32px 26px 28px; }
  .carte { padding: 32px 26px 28px; }
  .final-photo { position: relative; width: 100%; height: 240px; background-position: 70% center; }
  .final-photo::after { background: linear-gradient(0deg, var(--ardoise) 0%, color-mix(in srgb, var(--ardoise) 0%, transparent) 50%); }
  .final .cadre { min-height: 0; padding-top: 32px; padding-bottom: 64px; }
  .lien { white-space: normal; }
  .lien { padding: 10px 0; text-underline-offset: 5px; }
  .final .complement a { display: inline-block; padding: 8px 0; }
  .questions summary { font-size: 16.5px; }
  .questions details p { padding-right: 0; }
}

/* ===== Variantes ajoutées pour la migration des pages (21/10/2026) ===== */
/* Titre du haut de page avec sous-titre en italique : <h1>Titre<br><em>Sous-titre</em></h1> */
.heros h1 em, .entete h1 em { display: block; font-size: .5em; line-height: 1.3; font-style: italic; font-weight: 450; letter-spacing: 0; color: var(--champagne-texte); margin-top: 14px; }
/* Haut de page avec portrait : <header class="heros heros-portrait">, photo entière à droite avec le badge ICF */
.heros.heros-portrait { min-height: 0; }
/* Héros sans image (provisoire, en attendant l'image d'ambiance de la page) : <header class="heros heros-sobre"> */
.heros.heros-sobre { min-height: 0; }
.heros.heros-sobre .cadre { padding-top: 64px; padding-bottom: 56px; }
.heros-portrait .cadre { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 72px; align-items: center; }
.heros-figure { position: relative; }
.heros-figure img.portrait { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; object-position: center 22%; border-radius: 4px; }
.heros-figure img.badge { position: absolute; right: -16px; bottom: -22px; width: 88px; height: 88px; }
/* Chiffres clés avec légende et source */
.chiffres.chiffres-deux { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 0; }
.chiffres.chiffres-un { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin: 0 auto; }
.chiffres-un .chiffre strong { font-size: 44px; }
.chiffres-legende { font-size: 16px; line-height: 1.6; text-align: center; color: var(--anthracite); margin-top: 18px; }
.source { font-size: 12.5px; line-height: 1.5; text-align: center; color: var(--doux); margin-top: 8px; }
.grille-deux.centre-v { align-items: center; }
.sec .grille-deux:not(:first-child) { margin-top: 48px; }
.grille-deux .texte-courant p { font-size: 17px; line-height: 1.75; }
.grille-deux .texte-courant p + p { margin-top: 18px; }
/* Chiffres clés sur fond sombre */
.sombre .chiffres { border-color: color-mix(in srgb, var(--sur-sombre) 14%, transparent); }
.sombre .chiffre + .chiffre { border-left-color: color-mix(in srgb, var(--sur-sombre) 14%, transparent); }
.sombre .chiffre strong { color: var(--sur-sombre); font-size: 44px; }
.sombre .chiffre span { color: var(--sur-sombre-doux); font-size: 15px; }
.sombre .source { color: var(--sur-sombre-discret); margin-top: 16px; }
/* Cartes à bordure champagne en trois colonnes, avec numéro (réutilise .fondement) */
.grille-fondements.trois-col { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; gap: 36px 48px; }
.fondement .num, .num-encadre { display: block; font-family: var(--serif); font-size: 30px; line-height: 1; color: var(--champagne-texte); margin-bottom: 14px; font-variation-settings: 'opsz' 72; }
.sombre .fondement { border-top-color: var(--champagne); }
.sombre .fondement p { color: var(--sur-sombre-doux); }
.sombre .fondement .num, .sombre .num-encadre { color: var(--champagne); } /* sur fond sombre, le doré clair reste lisible */
.sombre .fondement p.appuis { color: var(--champagne); }
/* Frise de six étapes (parcours) */
.frise.frise-six { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.frise.frise-six::before { left: 8.33%; right: 8.33%; }
.frise.anime .etape:nth-child(5) .numero { transition-delay: 1.65s; }
.frise.anime .etape:nth-child(6) .numero { transition-delay: 2.05s; }
.frise-six .etape h3 { font-size: var(--titre-etape-compact); }
.frise-six .etape p { font-size: 14.5px; padding: 0; }
/* Grille de cartes sur une seule colonne (dans une moitié de page) */
.grille-fondements.une-col { grid-template-columns: minmax(0, 1fr); margin: 0; gap: 26px; }
.encadre h3 + p { margin-top: 10px; }
/* Liste à coches sur deux colonnes */
.liste-coches.deux-col { columns: 2; column-gap: 48px; }
.liste-coches.deux-col li { break-inside: avoid; }
/* Cartes-liens vers des pages (catalogue de formations) */
.cartes-liens { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.carte-lien { display: flex; flex-direction: column; background: var(--carte); border-radius: 4px; padding: 28px 30px; box-shadow: 0 1px 3px color-mix(in srgb, var(--ardoise) 5%, transparent); transition: transform .35s ease, box-shadow .35s ease; }
@media (hover: hover) { .carte-lien:hover { transform: translateY(-4px); box-shadow: 0 12px 30px color-mix(in srgb, var(--ardoise) 9%, transparent); } }
/* Préambule centré, dans une bande claire avant une section (ex. accueil, avant « Vos enjeux ») */
.preambule-bande { background: var(--blanc); }
.sec.preambule-bande { padding: 60px 0; }
.preambule { max-width: 760px; margin: 0 auto; text-align: center; }
.preambule p { font-size: 18px; line-height: 1.75; color: var(--anthracite); }
.preambule p + p { margin-top: 14px; }
@media (max-width: 860px) { .sec.preambule-bande { padding: 44px 0; } .preambule p { font-size: 16.5px; } }
/* Variante plus présente (ex. « Vos enjeux » de l'accueil) */
.cartes-enjeux .carte-lien { position: relative; overflow: hidden; padding: 36px 34px 32px; border: 1px solid var(--filet); box-shadow: 0 4px 18px color-mix(in srgb, var(--ardoise) 7%, transparent); }
.cartes-enjeux .carte-lien h3 { font-size: var(--titre-carte-fort); line-height: 1.25; color: var(--champagne-texte); } /* or plus soutenu que --champagne-fonce, lisible sur fond blanc */
/* Liseré doré qui se dessine à l'apparition de la carte, puis s'épaissit au survol */
.cartes-enjeux .carte-lien::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--champagne-fonce), var(--champagne)); transform: scaleX(0); transform-origin: left center; transition: transform 1.1s cubic-bezier(.4,0,.2,1) .3s, height .3s ease; }
.cartes-enjeux .carte-lien.visible::before { transform: scaleX(1); }
.cartes-enjeux .carte-lien.delay-1::before { transition-delay: .5s, 0s; }
.cartes-enjeux .carte-lien.delay-2::before { transition-delay: .7s, 0s; }
@media (hover: hover) { .cartes-enjeux .carte-lien:hover::before { height: 5px; } }
@media (prefers-reduced-motion: reduce) { .cartes-enjeux .carte-lien::before { transform: none; transition: none; } }
.cartes-enjeux .carte-lien p { font-size: 16px; line-height: 1.7; color: var(--anthracite); margin-top: 14px; }
.cartes-enjeux .carte-lien .voir { padding-top: 24px; font-size: 15px; }
.carte-lien h3 { font-size: var(--titre-carte); }
.carte-lien .accroche { font-size: 15px; font-weight: 500; color: var(--champagne-texte); margin-top: 8px; line-height: 1.5; }
.carte-lien p { font-size: 15px; line-height: 1.6; margin-top: 10px; }
.carte-lien .voir { margin-top: auto; padding-top: 18px; font-size: 14.5px; font-weight: 500; color: var(--anthracite); text-decoration: underline; text-decoration-color: var(--champagne-fonce); text-underline-offset: 5px; }
/* Logo Qualiopi sur fond blanc */
.logo-qualiopi { display: inline-block; background: var(--carte); padding: 10px 14px; border-radius: 4px; margin-bottom: 18px; }
.logo-qualiopi img { width: 150px; height: auto; }
.sombre .lien { color: var(--sur-sombre); text-decoration-color: var(--champagne); }
.sombre .lien:hover { color: var(--champagne); }
.sous-label { font-size: 14px; font-weight: 500; color: var(--doux); margin-top: 10px; }
.coach h3 { font-size: var(--titre-carte-discret); margin-top: 26px; }
.coach h3 + p.texte { margin-top: 6px; }
/* Étape de frise avec plusieurs paragraphes */
.etape p + p { margin-top: 8px; }
/* Ligne numérotée : précision sous le titre (durée, format) */
.ligne p.meta { font-size: 13.5px; font-weight: 500; letter-spacing: .01em; color: var(--champagne-texte); margin-top: 4px; }
.encadre .bouton { margin-top: 26px; }
/* Bouton centré avec mention, sous une section */
.cta-inter .mentions { margin-top: 12px; }
.sombre .cta-inter .mentions, .final .mentions { color: var(--sur-sombre-discret); }
/* Liste à coches */
.liste-coches { margin-top: 8px; }
.liste-coches li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.55; margin-top: 12px; }
.liste-coches li::before { content: ''; position: absolute; left: 2px; top: .38em; width: 12px; height: 7px; border-left: 1.5px solid var(--champagne-fonce); border-bottom: 1.5px solid var(--champagne-fonce); transform: rotate(-45deg); }
/* Encadré (offre, tarif) */
.encadre { background: var(--carte); border: 1px solid var(--filet); border-radius: 4px; padding: 32px 36px; }
.encadre p.encadre-titre { margin-top: 0; font-family: var(--serif); font-size: 21px; line-height: 1.3; color: var(--anthracite); font-variation-settings: 'opsz' 40; }
.encadre p.prix { font-family: var(--serif); font-size: 34px; line-height: 1.2; color: var(--anthracite); margin-top: 8px; font-variation-settings: 'opsz' 72; }
.encadre p.note { font-size: 14.5px; line-height: 1.6; color: var(--doux); margin-top: 14px; }
/* Appel final sans photo, centré */
.final.final-centre .cadre { justify-content: center; text-align: center; min-height: 0; }
.final-centre .final-texte { margin: 0 auto; }
.final-centre .label::after { margin-left: auto; margin-right: auto; }

/* Haut de page simple : public visé, bouton et crédits (comme le haut de page avec photo) */
.entete-cible { font-size: 17px; font-weight: 500; color: var(--champagne-texte); margin-top: 16px; }
.entete .bouton { margin-top: 26px; }
.entete .heros-credits { margin-top: 18px; }
/* Bloc à trait vertical utilisé dans une autre section que .transition */
.transition-bloc .phrase-forte { font-family: var(--serif); font-size: 23px; line-height: 1.35; color: var(--anthracite); font-variation-settings: 'opsz' 40; }
.transition-bloc p:not(.phrase-forte) { font-size: 17px; line-height: 1.75; margin-top: 18px; }
.transition-bloc p.conclusion { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: 21px; line-height: 1.4; color: var(--champagne-texte); margin-top: 24px; }
/* Citation seule, centrée */
.citation { background: var(--sable); }
.sec.citation { padding: 72px 0; }
.citation p { font-family: var(--serif); font-style: italic; font-weight: 450; font-size: 25px; line-height: 1.5; color: var(--anthracite); text-align: center; max-width: 840px; margin: 0 auto; font-variation-settings: 'opsz' 40; }
/* Source propre à un chiffre */
.chiffre .chiffre-source { font-size: 12px; color: var(--doux); margin-top: 8px; }
/* Texte placé sous une grille */
.texte-bas { margin-top: 48px; }
/* Trois visuels légendés (ex. extraits de rapport) */
.trois-visuels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 52px; }
.trois-visuels a { display: block; background: var(--carte); border: 1px solid var(--filet); border-radius: 4px; padding: 18px; }
.trois-visuels img { width: 100%; height: 220px; object-fit: contain; }
.trois-visuels h3 { margin-top: 22px; }
.trois-visuels p { font-size: 15.5px; line-height: 1.65; margin-top: 10px; }
/* Encadré : paragraphes de texte courant */
.encadre h3 + .liste-coches { margin-top: 14px; }
.encadre p:not([class]) { font-size: 16px; line-height: 1.7; margin-top: 12px; }
.encadre .liste-coches + p { margin-top: 20px; }
@media (max-width: 860px) { .trois-visuels { grid-template-columns: 1fr; gap: 36px; } }

/* ===== Autres accompagnements en une ligne discrète (bas de page, après la FAQ) ===== */
.autres-ligne { background: var(--sable); padding: 30px 0; }
.autres-ligne p { text-align: center; font-size: 15px; line-height: 1.9; color: var(--doux); text-wrap: balance; }
.autres-ligne__titre { color: var(--anthracite); font-weight: 500; margin-right: 6px; }
.autres-ligne a { color: var(--anthracite); text-decoration: underline; text-decoration-color: var(--champagne-fonce); text-underline-offset: 4px; white-space: nowrap; }
.autres-ligne a:hover { color: var(--champagne-texte); }
.autres-ligne .sep { margin: 0 10px; color: var(--champagne-texte); }
.autres-ligne a, .autres-ligne .sep { display: inline-block; } /* permet le retour à la ligne entre les liens sur petit écran */
@media (max-width: 860px) { .autres-ligne__titre { display: block; margin: 0 0 4px; } }

/* ===== Haut de page simple, sans photo (pages pratiques : contact, mentions, merci…) ===== */
.entete { background: var(--ivoire); padding: calc(var(--menu-h) + 56px) 0 64px; border-bottom: 1px solid var(--filet); }
.entete .fil { margin-bottom: 26px; }
.entete .label + h1, .heros .label + h1 { margin-top: 20px; }
.entete-intro { font-size: 18px; line-height: 1.7; margin-top: 22px; max-width: 640px; }
.entete-complement { font-size: 16px; margin-top: 14px; }
.entete-complement a { white-space: nowrap; color: var(--anthracite); font-weight: 500; text-decoration: underline; text-decoration-color: var(--champagne-fonce); text-underline-offset: 4px; }

/* ===== Deux colonnes (ex. réserver un créneau / envoyer un message) ===== */
.deux-colonnes { background: var(--blanc); }
.grille-deux { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 72px; align-items: start; }
.grille-deux h2 { font-size: var(--titre-section-secondaire); }
.grille-deux h2 + p { font-size: 16.5px; line-height: 1.7; margin-top: 16px; }
.grille-deux .bouton { margin-top: 28px; }
.note-centre { text-align: center; font-size: 15px; color: var(--doux); margin-top: 72px; }
.note-centre .lien { margin-top: 4px; }

/* ===== Tarifs (cartes d'offres groupées) ===== */
.tarifs { background: var(--blanc); }
.tarifs.tarifs-prives { background: var(--ivoire); }
.tarifs-bloc { margin-top: 48px; }
.grille-tarifs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 4px; }
.grille-tarifs.deux-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tarif { display: flex; flex-direction: column; }
.tarif h3 { font-size: var(--titre-carte-moyen); }
.encadre .tarif-prix { font-size: 15px; line-height: 1.5; font-weight: 500; color: var(--champagne-texte); margin-top: 10px; }
.encadre .tarif-prix + .tarif-prix { margin-top: 0; }
.encadre .tarif-mention { font-size: 14px; line-height: 1.55; color: var(--doux); margin-top: 10px; }
.tarif-actions { margin-top: auto; padding-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.tarif-actions .bouton { margin-top: 0; }
@media (max-width: 1024px) { .grille-tarifs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .grille-tarifs, .grille-tarifs.deux-col { grid-template-columns: 1fr; } }

/* ===== Page Qui suis-je : chiffres sous le titre, légende photo, repères de parcours ===== */
.entete .chiffres { max-width: 760px; margin: 40px 0 0; }
.citation p + p.citation-suite { font-family: var(--sans); font-style: normal; font-size: 17px; line-height: 1.7; color: var(--anthracite); margin-top: 22px; }
.coach-legende { text-align: center; margin-top: 22px; }
.coach-legende .nom { font-size: 15px; font-weight: 600; color: var(--anthracite); }
.coach-legende .role { font-size: 13.5px; line-height: 1.5; color: var(--doux); margin-top: 4px; }
.reperes-titre { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--champagne-texte); font-family: var(--sans); }
.reperes-titre + * { margin-top: 14px; }
* + .reperes-titre { margin-top: 36px; }
.reperes li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 4px 20px; padding: 14px 0; border-bottom: 1px solid var(--filet); }
.reperes .date { font-size: 13.5px; font-weight: 500; color: var(--champagne-texte); padding-top: 2px; }
.reperes strong { display: block; font-size: 16px; font-weight: 500; color: var(--anthracite); }
.reperes .lieu { display: block; font-size: 14.5px; color: var(--doux); margin-top: 2px; }
.liste-filets li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--filet); font-size: 15px; line-height: 1.5; color: var(--anthracite); }
.liste-filets .auteur { font-size: 13.5px; color: var(--doux); white-space: nowrap; }
@media (max-width: 640px) { .reperes li { grid-template-columns: 1fr; } }

/* ===== Accueil : titre court + accroche, logo Assess Manager, cadre qualité ===== */
.heros h1.heros-surtitre { font-family: var(--sans); font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; color: var(--champagne-texte); }
.heros h2.heros-accroche { font-size: var(--titre-accroche); line-height: 1.12; letter-spacing: -.012em; margin-top: 18px; }
.coach-photo .logo-assess { display: block; width: 108px; height: auto; margin-top: 40px; }
.coach-photo .logo-assess + .faits { margin-top: 24px; }
.qualite { background: var(--blanc); }
.qualite-grille { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 56px; align-items: center; }
.qualite-sceau img { height: 52px; width: auto; }
.qualite-sceau p { font-size: 13.5px; line-height: 1.55; color: var(--doux); margin-top: 14px; }
.qualite h2 { font-size: var(--titre-section-discret); }
.qualite h2 + p { font-size: 16.5px; line-height: 1.7; margin-top: 12px; }
.qualite .lien { margin-top: 18px; }
@media (max-width: 860px) {
  .heros h2.heros-accroche { font-size: var(--titre-accroche-mobile); }
  .qualite-grille { grid-template-columns: 1fr; gap: 28px; }
}

/* ===== Texte juridique (mentions légales, CGV, confidentialité) ===== */
.juridique { background: var(--blanc); }
.juridique h2 { font-size: var(--titre-section-discret); margin-top: 52px; }
.juridique h2:first-child { margin-top: 0; }
.juridique h3 { font-size: var(--titre-carte-moyen); margin-top: 32px; }
.juridique p, .juridique li { font-size: 16px; line-height: 1.75; }
.juridique h2 + p, .juridique h3 + p, .juridique p + p, .juridique ul + p, .juridique p + ul { margin-top: 14px; }
.juridique ul { list-style: disc; padding-left: 1.4em; }
.juridique li + li { margin-top: 6px; }
.juridique a { color: var(--anthracite); text-decoration: underline; text-decoration-color: var(--champagne-fonce); text-underline-offset: 3px; overflow-wrap: anywhere; }
.juridique hr { border: 0; border-top: 1px solid var(--filet); margin: 56px 0; }
.juridique .encadre { margin-top: 24px; }
.juridique .encadre p { font-size: 15px; line-height: 2; margin-top: 18px; }
.juridique .encadre p:first-child { margin-top: 0; }
.juridique .encadre p.note { font-size: 13.5px; line-height: 1.6; }

/* ===== 8. Formulaires (envoyés à HubSpot par js/form-lead.js) ===== */
button.bouton { border: 0; cursor: pointer; font-family: inherit; }
.lead-card { background: var(--carte); border: 1px solid var(--filet); border-radius: 4px; padding: clamp(24px, 4vw, 40px); }
.lead-card h2 { font-size: var(--titre-section-secondaire); margin: 0 0 8px; }
.formulaire-seul { background: var(--blanc); }
.formulaire-seul .etroit { max-width: 680px; }
.lead-card__sub { color: var(--doux); margin: 0 0 28px; }
.lead-form { display: grid; gap: 20px; margin-top: 28px; }
.lead-form[hidden], .lead-success[hidden] { display: none; }
.lead-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lead-form__field { display: grid; gap: 6px; min-width: 0; }
.lead-form__field label { font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--anthracite); }
.lead-form__opt { font-weight: 400; color: var(--doux); }
.lead-form input[type="text"], .lead-form input[type="email"], .lead-form select, .lead-form textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--filet); border-radius: 4px; background: var(--carte); color: var(--anthracite); font-family: var(--sans); font-size: 15px; line-height: 1.4; outline: none; transition: border-color .2s, box-shadow .2s; }
.lead-form textarea { min-height: 140px; resize: vertical; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: var(--doux); }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: var(--champagne-fonce); box-shadow: 0 0 0 3px color-mix(in srgb, var(--champagne-fonce) 15%, transparent); }
.lead-form input:user-invalid, .lead-form select:user-invalid, .lead-form textarea:user-invalid { border-color: var(--erreur); }
.lead-form__consent { display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: start; }
.lead-form__consent input { width: 17px; height: 17px; margin-top: 4px; accent-color: var(--champagne-fonce); }
.lead-form__consent label { font-size: 13.5px; line-height: 1.5; color: var(--doux); }
/* Champ piège : hors écran (pas display:none, que certains robots repèrent) */
.lead-form__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lead-form__submit { justify-self: start; }
.lead-form__submit[disabled] { opacity: .6; cursor: wait; }
.lead-form__note { margin: 0; font-size: 13px; line-height: 1.55; color: var(--doux); }
.lead-form__note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.lead-form__status { margin: 0; font-size: 14.5px; color: var(--erreur); }
.lead-form__status:empty { display: none; }
.lead-form__status a { color: inherit; text-decoration: underline; }
.lead-success h2 { margin-bottom: 16px; }
.lead-success p { margin: 0 0 20px; }
.lead-success .lead-form__note { margin-top: 20px; }
.lead-success [data-lead-email] { overflow-wrap: anywhere; font-weight: 500; }

/* ===== 9. Tablette et mobile : menu, pied de page, sections ajoutées ===== */
@media print { .nav, .pied { display: none; } body { background: var(--carte); } }
@media (max-width: 1024px) { .pied__grille { grid-template-columns: 1fr 1fr; } }
/* Menu entre la tablette et le grand écran : on resserre les espaces, pas les polices */
@media (min-width: 769px) and (max-width: 1100px) {
  .nav__inner { padding: 0 1.25rem; gap: 1rem; }
  .nav-logo img { width: 38px; height: 38px; }
  .nav-logo span { display: none; }
  .nav-menu { gap: 1.25rem; }
}
@media (min-width: 769px) and (max-width: 900px) {
  .nav-logo { font-size: 1.2rem; }
  .nav-menu { gap: .9rem; }
  .nav-cta { padding: 0 .8rem; }
}
@media (max-width: 768px) {
  :root { --menu-h: 64px; }
  /* Menu mobile : panneau ivoire plein écran, rubriques en accordéon */
  .nav-toggle { display: flex; }
  .nav-menu { position: fixed; top: var(--menu-h); left: 0; right: 0; bottom: 0; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 12px 24px 40px; background: var(--ivoire); overflow-y: auto; transform: translateX(100%); transition: transform .45s var(--ease), visibility .45s; pointer-events: none; visibility: hidden; }
  .nav-menu.open { transform: translateX(0); pointer-events: auto; visibility: visible; }
  .nav-item { border-bottom: 1px solid var(--filet); }
  .nav-link { width: 100%; justify-content: space-between; min-height: 56px; font-size: 20px; }
  .nav-link::after { display: none; }
  .nav-link--dropdown::before { content: ''; order: 2; width: 8px; height: 8px; border-right: 1.5px solid var(--champagne-fonce); border-bottom: 1.5px solid var(--champagne-fonce); transform: rotate(45deg); margin: -4px 4px 0 0; transition: transform .25s, margin .25s; }
  .nav-item--dropdown.open > .nav-link--dropdown::before { transform: rotate(225deg); margin-top: 4px; }
  .nav-item--dropdown::after { display: none; }
  .nav-dropdown { position: static; display: none; width: auto; min-width: 0; transform: none; opacity: 1; visibility: visible; pointer-events: auto; background: transparent; border: 0; box-shadow: none; padding: 0 0 12px; transition: none; }
  .nav-item--dropdown.open .nav-dropdown { display: block; transform: none; }
  .nav-dropdown__link { padding: 8px 0 8px 14px; font-size: 16px; white-space: normal; }
  .nav-dropdown__link:hover, .nav-dropdown__link:focus-visible { background: transparent; color: var(--champagne-texte); }
  .nav-item--cta { border-bottom: 0; margin-top: 28px; }
  .nav-cta { width: 100%; justify-content: center; min-height: 50px; font-size: 15px; }
  .pied__grille { grid-template-columns: 1fr; gap: 40px; }
  .pied { padding-top: 56px; }
  .pied__liens a { padding: 11px 0; }
  .pied__bas { line-height: 2.2; }
  /* Zones tactiles d'au moins 44 px pour LinkedIn, la newsletter et les liens légaux */
  .pied__linkedin, .pied__news, .pied__tel { display: inline-flex; align-items: center; min-height: 44px; }
  .pied__bas a { display: inline-block; padding: 12px 0; line-height: 1.6; }
}
/* Petits téléphones : logo compact pour que le bouton du menu tienne dans l'écran */
@media (max-width: 480px) {
  .nav__inner { padding: 0 1.25rem; gap: 1rem; }
  .nav-logo span { font-size: .56rem; letter-spacing: .08em; }
  .nav-logo img { width: 38px; height: 38px; }
}
@media (max-width: 1024px) { .grille-fondements.trois-col { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .frise.frise-six { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 40px; } .frise.frise-six::before { display: none; } }
@media (max-width: 1024px) { .cartes-liens { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .cartes-liens { grid-template-columns: 1fr; }
  .liste-coches.deux-col { columns: 1; }
  .frise.frise-six { grid-template-columns: 1fr; }
  .citation p { font-size: 21px; }
  .heros-portrait .cadre { grid-template-columns: 1fr; gap: 40px; }
  .heros-figure { max-width: 220px; margin: 0 auto; }
  .heros-figure img.badge { right: -14px; bottom: -14px; width: 70px; height: 70px; }
  .grille-fondements.trois-col { grid-template-columns: 1fr; }
  .encadre { padding: 26px 22px; }
  .entete { padding: calc(var(--menu-h) + 36px) 0 48px; }
  .entete h1 { font-size: var(--titre-page-mobile); }
  .entete-intro { font-size: 17px; }
  .grille-deux { grid-template-columns: 1fr; gap: 56px; }
  .note-centre { margin-top: 56px; }
}
@media (max-width: 520px) {
  .lead-form__row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .lead-form__submit { justify-self: stretch; justify-content: center; }
}

/* Fonds de section imposés par page, pour garder une alternance lisible (blanc / blanc cassé) */
main > .fond-blanc { background: var(--fond); }
main > .fond-alt { background: var(--fond-alt); }
/* Section qui prolonge la précédente sur le même fond (ex. introduction puis « Vos enjeux ») */
.sec.preambule-bande.suivie { padding-bottom: 0; }
.sec.suite { padding-top: 56px; }
