/* Page « formation par métier » · NIKITA · version 30
   Posée sur accueil.css : mêmes jetons (--ac-*), polices (Figtree, DM Mono), boutons (.ac-btn), titres (.ac-h2),
   repères (.ac-kicker), en-têtes de section (.ac-entete-ligne) et blocs de la home (haut de page, chiffres, avis,
   questions, contact).
   Même échelle typographique que la home : Figtree 400 partout, titres de section en .ac-h2, intertitres de 24 à 44 px,
   textes de 17 à 21 px, repères et boutons en DM Mono. Pas de gras, pas d'italique.
   Sections : pleine largeur, un fond chacune (blanc, fond crème, sable), contenu aligné dans .ac-cadre (1360 px),
   jamais de boîte dans une boîte. */

html { color-scheme: light; }
body { margin: 0; background: var(--ac-fond); color: var(--ac-encre); font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif; font-size: 16px; line-height: 1.5; overflow-x: clip; -webkit-font-smoothing: antialiased; }
.fm-sec { padding: 120px var(--ac-marge); scroll-margin-top: 90px; }
.fm-blanc { background: #fff; } .fm-fond { background: var(--ac-fond); } .fm-sable2 { background: var(--ac-sable-2); }
.fm-gauche { justify-content: flex-start; }
.ac-avis, .ac-faq, .ac-chiffres { scroll-margin-top: 90px; }
.ac-entete-ligne > div { max-width: 820px; }
.ac-entete-ligne > .ac-btn { flex: none; }
.fm-intro { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.5; color: var(--ac-texte); max-width: 760px; }

/* Pastille « inscriptions » qui respire */
.fm-urg { display: inline-flex; align-items: center; gap: 8px; color: var(--ac-magenta) !important; background: #fbeefb; padding: 5px 11px; border-radius: 99px; white-space: nowrap; }
.fm-urg i { width: 7px; height: 7px; border-radius: 50%; background: var(--ac-magenta); animation: ac-pulse 2s infinite; flex: none; }

/* ---------- 1. Haut de page : la promesse à gauche, la fiche de la formation à droite ---------- */
.ac-hero-boite.fh-boite { padding-bottom: 0; }
.fh-grille { position: relative; max-width: 1360px; margin: 0 auto; padding: 150px clamp(20px, 3vw, 48px) 72px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 88px); align-items: center; }
.fh-texte { display: flex; flex-direction: column; gap: 26px; }
.fh-fil { display: flex; gap: 10px; font-size: 13px; color: var(--ac-gris); }
.fh-fil a { text-decoration: none; } .fh-fil a:hover { color: var(--ac-magenta); }
.fh h1 { font-weight: 400; font-size: clamp(42px, 5.4vw, 80px); line-height: 1; letter-spacing: -0.035em; text-wrap: balance; max-width: none; }
.fh .ac-h1-surtitre { margin-bottom: 20px; }
.fh-intro { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.5; color: var(--ac-texte); max-width: 600px; }

/* ---------- 2. Les outils de la formation ---------- */
.fm-outils { padding: 64px var(--ac-marge) 48px; }
.fm-outils .ac-cadre { display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.page-accueil-v5 .fm-outils-liste { display: flex; flex-wrap: wrap; justify-content: center; row-gap: 10px; margin: 0; padding: 0; list-style: none; }
.fm-outils-liste li { display: inline-flex; align-items: center; gap: 10px; padding: 2px clamp(14px, 2.2vw, 30px); font-size: clamp(19px, 1.9vw, 26px); letter-spacing: -0.02em; color: var(--ac-gris); border-left: 1px solid var(--ac-ligne); }
.fm-outils-liste li:first-child { border-left: 0; }

/* ---------- Sommaire : pilule comme l'en-tête de la home, visible dès qu'on quitte le haut de page ---------- */
.sn { position: fixed; top: 14px; left: 0; right: 0; z-index: 50; padding: 0 calc(18px + var(--ac-marge)); pointer-events: none; opacity: 0; transform: translateY(-14px); transition: opacity .3s ease, transform .3s ease; }
.sn.on { opacity: 1; transform: none; }
.sn.on .sn-pilule { pointer-events: auto; }
.sn-pilule { max-width: 1240px; margin: 0 auto; display: flex; align-items: center; gap: 14px; padding: 8px 8px 8px 10px; border-radius: 99px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(35, 11, 32, .06); box-shadow: 0 12px 34px rgba(35, 11, 32, .1); }
.sn-liens { flex: 1; min-width: 0; display: flex; gap: 2px; }
.sn-liens a { padding: 10px 14px; border-radius: 99px; font-size: 15px; color: var(--ac-texte); text-decoration: none; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.sn-liens a:hover { color: var(--ac-magenta); }
.sn-liens a.on { background: var(--ac-sable); color: var(--ac-encre); }
.sn-info { display: grid; gap: 1px; text-align: right; line-height: 1.25; }
.sn-info .ac-mono { font-size: 11px; color: var(--ac-gris); }
.sn-info b { font-weight: 400; font-size: 15px; white-space: nowrap; }
.sn-cta { flex: none; font-size: 13px; padding: 12px 18px; }

/* ---------- 3. Programme : une journée par rangée, image et texte alternés ---------- */
.pj { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); align-items: center; }
.pj + .pj { margin-top: clamp(72px, 9vw, 120px); }

/* en attendant les images de Laura : un fond hachuré, comme un plan */

/* fenêtre de lecture des vidéos */
.pv-dlg { width: min(1040px, calc(100vw - 32px)); max-width: none; padding: 0; border: 0; border-radius: 22px; background: var(--ac-nuit); color: #fff; overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, .4); }
.pv-dlg::backdrop { background: rgba(26, 10, 24, .72); }
.pv-dlg-titre { padding: 20px 72px 18px 24px; font-size: 15px; }
.pv-dlg-cadre { aspect-ratio: 16 / 9; display: grid; place-items: center; background: #0d050c; }
.pv-dlg-cadre video, .pv-dlg-cadre iframe { width: 100%; height: 100%; border: 0; background: #000; }
.pv-vide { display: grid; gap: 8px; padding: 24px; text-align: center; font-size: 15px; color: rgba(255, 255, 255, .75); }
.pv-vide b { font-weight: 400; font-size: 24px; color: #fff; }
.pv-dlg-fermer { position: absolute; top: 10px; right: 12px; width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer; }
.pv-dlg-fermer:hover { background: var(--ac-magenta); }
.pv-dlg-fermer svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

/* ---------- 4. Programme complet sur demande ---------- */
.rp { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(30px, 6vw, 96px); align-items: center; }
.rp-vis { position: relative; height: 340px; }
.rp-feuille { position: absolute; left: 50%; top: 14px; width: 226px; height: 312px; border-radius: 10px; background: #fff; box-shadow: 0 24px 50px rgba(35, 11, 32, .14); }
.rp-f2 { transform: translateX(-28%) rotate(7deg); background: #f9f6f2; }
.rp-f1 { transform: translateX(-72%) rotate(-4deg); display: flex; flex-direction: column; gap: 10px; padding: 22px 20px 20px; }
.rp-logo { width: 74px; height: auto; }
.rp-f1 > .ac-mono { margin-top: 8px; font-size: 9px; color: var(--ac-gris); }
.rp-f1 b { font-weight: 400; font-size: 19px; line-height: 1.12; letter-spacing: -0.02em; }
.rp-lignes { display: grid; gap: 6px; margin-top: 2px; }
.rp-lignes i { display: block; height: 5px; border-radius: 4px; background: #efe9ee; }
.rp-lignes i:nth-child(2) { width: 88%; } .rp-lignes i:nth-child(3) { width: 94%; } .rp-lignes i:nth-child(4) { width: 60%; }
.rp-jours { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 4px; }
.rp-jours em { font-style: normal; font: 8.5px var(--ac-mono); text-align: center; padding: 10px 2px; border-radius: 7px; background: var(--ac-sable); }
.rp-jours em:first-child { background: var(--ac-nuit); color: #fff; }
.rp-tags { margin-top: auto; display: flex; flex-wrap: wrap; gap: 4px; }
.rp-tags em { font-style: normal; font: 8.5px var(--ac-mono); padding: 4px 7px; border-radius: 99px; background: #fbeefb; color: #9a0b9a; }
.rp-badge { position: absolute; left: 50%; bottom: 0; transform: translateX(-10%); padding: 7px 12px; border-radius: 99px; background: var(--ac-nuit); color: #fff; font-size: 11px; box-shadow: 0 10px 24px rgba(35, 11, 32, .2); }
.rp-corps { display: flex; flex-direction: column; gap: 18px; max-width: 640px; }
.page-accueil-v5 .rp-points { display: grid; gap: 8px; margin: 0 0 6px; padding: 0; list-style: none; }
.rp-points li { display: flex; gap: 12px; align-items: baseline; font-size: clamp(16px, 1.3vw, 18px); color: var(--ac-texte); }
.rp-points li::before { content: ""; flex: none; width: 7px; height: 7px; background: var(--ac-magenta); transform: translateY(-2px); }
.rp-l { display: block; font-size: 14px; color: var(--ac-texte); }
.rp-ligne { display: flex; flex-wrap: wrap; gap: 8px; }
.rp-ligne input { flex: 1 1 260px; min-width: 0; font: inherit; font-size: 16px; padding: 14px 20px; border-radius: 999px; border: 1px solid var(--ac-ligne-2); background: #fff; color: var(--ac-encre); }
.rp-ligne input:focus { outline: 2px solid var(--ac-magenta); outline-offset: 1px; }
.rp-ligne .ac-btn { flex: 0 0 auto; cursor: pointer; } .rp-ligne .ac-btn:disabled { opacity: .5; cursor: default; }
.rp-msg { font-size: 14px; min-height: 1.4em; } .rp-ok { color: #2f7a4f; } .rp-err { color: #b3261e; }

/* ---------- 5. Formatrice ---------- */
.fz { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); align-items: center; }
.fz-photo { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 24px; background: #000; }
.fz-texte { display: flex; flex-direction: column; gap: 20px; }
.fz-role { margin-top: -6px !important; font-size: 14px; color: var(--ac-gris); }
.fz-bio { max-width: 640px; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; color: var(--ac-texte); }
.page-accueil-v5 .fz-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fz-tags li { padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--ac-sable-2); font-size: 14px; }

/* ---------- 6. Preuves : chiffres puis avis, sur fond blanc ---------- */
.fm-chiffres { padding-top: 110px; padding-bottom: 10px; }
.ac-avis.fm-blanc { padding-top: 90px; }
.ac-avis-carte.fm-avis-txt { background: var(--ac-sable-2); color: var(--ac-encre); justify-content: space-between; }
.ac-avis-carte.fm-avis-txt::before { content: "“"; position: static; inset: auto; background: none; font: 110px/.8 Georgia, serif; height: 60px; color: var(--ac-magenta); z-index: auto; }
.ac-avis-carte.fm-avis-txt blockquote p { font-size: clamp(24px, 2vw, 30px); line-height: 1.15; letter-spacing: -0.02em; }
.ac-avis-carte.fm-avis-txt .ac-avis-qui { border-color: var(--ac-ligne-2); } .ac-avis-carte.fm-avis-txt .ac-avis-qui span { color: var(--ac-gris); }
.ac-avis-carte.fm-avis-nuit { background: var(--ac-encre); color: #fff; }
.ac-avis-carte.fm-avis-nuit::before { color: var(--ac-magenta-clair); }
.ac-avis-carte.fm-avis-nuit .ac-avis-qui { border-color: rgba(255, 255, 255, .2); } .ac-avis-carte.fm-avis-nuit .ac-avis-qui span { color: rgba(255, 255, 255, .65); }

/* ---------- 7. Modalités : ce que la fiche du haut de page ne dit pas ---------- */
.page-accueil-v5 .ip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ip li { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 18px; row-gap: 4px; align-content: start; padding: 24px; border-radius: 20px; background: #fff; border: 1px solid var(--ac-sable-2); }
.ip-ic { grid-row: 1 / span 3; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--ac-sable); color: var(--ac-magenta); }
.ip-ic .ico { width: 20px; height: 20px; stroke-width: 1.8; }
.ip li > p { grid-column: 2; }
.ip-l { font: 12px var(--ac-mono); color: var(--ac-gris); }
.ip-v { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.25; letter-spacing: -0.01em; color: var(--ac-encre); }
.ip-d { font-size: 15px; line-height: 1.45; color: var(--ac-texte); }

/* ---------- 8. Financement : le guide FIF PL écran par écran ---------- */
.tu { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }

.fi-aide { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; margin-top: 12px; }
.fi-aide > p { display: flex; align-items: flex-start; gap: 14px; padding: 22px 24px; border-radius: 20px; background: rgba(255, 255, 255, .55); font-size: 15.5px; line-height: 1.5; color: var(--ac-texte); }
.fi-aide > p:last-child { flex-direction: column; gap: 12px; }
.fi-aide b { font-weight: 400; color: var(--ac-encre); }
.fi-aide .ico { width: 20px; height: 20px; margin-top: 2px; color: var(--ac-magenta); }
.fi-note { margin-top: 16px !important; font-size: 13px; color: var(--ac-gris); }

/* ---------- 9. Calendrier : une ligne par session, la prochaine mise en avant ---------- */
.cal-compteur { flex: none; display: flex; align-items: baseline; gap: 10px; padding: 12px 20px; border-radius: 99px; background: #e6f4ea; color: #24613b; }
.cal-compteur b { font-size: 26px; font-weight: 500; line-height: 1; }
.cal-compteur span { font-size: 15px; }
.page-accueil-v5 .cal-liste { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.cal-s { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1.5fr) minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 26px 30px; border-radius: 26px; background: var(--ac-fond); border: 1px solid var(--ac-sable-2); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.cal-s:hover, .cal-s:focus-within { background: #fff; border-color: rgba(204, 0, 204, .45); box-shadow: 0 20px 44px rgba(35, 11, 32, .08); }
.cal-prochaine { background: #fff; border-color: rgba(204, 0, 204, .35); box-shadow: 0 20px 44px rgba(35, 11, 32, .07); }
.cal-ic { width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; background: var(--ac-sable); color: var(--ac-encre); }
.cal-prochaine .cal-ic { background: #fbeefb; color: var(--ac-magenta); }
.cal-ic .ico { width: 26px; height: 26px; stroke-width: 1.7; }
.cal-dates { display: grid; gap: 4px; }
.cal-tag { font: 11.5px var(--ac-mono); color: var(--ac-magenta); }
.page-accueil-v5 .cal-s h3 { font-weight: 400; font-size: clamp(22px, 2.1vw, 29px); line-height: 1.15; letter-spacing: -0.02em; }
.cal-etat { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 2px; align-items: baseline; font-size: 17px; color: #24613b; }
.cal-etat i { width: 9px; height: 9px; border-radius: 50%; background: #2fb36b; transform: translateY(-1px); }
.cal-etat small { grid-column: 2; font-size: 14.5px; color: var(--ac-gris); }
.cal-etat small:empty { display: none; }
.cal-btn { display: inline-flex; align-items: center; gap: 12px; padding: 17px 28px; border-radius: 999px; background: var(--ac-nuit); color: #fff !important; font-size: 18px; text-decoration: none; white-space: nowrap; box-shadow: 0 12px 24px rgba(35, 11, 32, .18); transition: box-shadow .2s ease; }
/* toute la ligne est cliquable : le lien s'étend sur la carte (pas de transform ni de position sur .cal-btn, sinon la zone se réduit au bouton) */
.cal-btn::after { content: ""; position: absolute; inset: 0; border-radius: 26px; }
.cal-s:hover .cal-btn { box-shadow: 0 16px 30px rgba(35, 11, 32, .26); }
.cal-btn:focus-visible { outline: 2px solid var(--ac-magenta); outline-offset: 3px; }
.cal-btn .ico { width: 18px; height: 18px; transition: transform .2s ease; }
.cal-s:hover .cal-btn .ico { transform: translateX(4px); }
.cal-mention { margin-top: 24px !important; max-width: 1000px; font-size: 13.5px; line-height: 1.6; color: var(--ac-gris); }

/* ---------- 10. Questions, 11. Dernier appel ---------- */
.ac-faq.fm-fond { padding-top: 120px; padding-bottom: 110px; }
.ac-faq .content-review { display: none; }
.fm-cta.fm-blanc { padding-top: 110px; }
.fm-cta .ac-contact-carte { max-width: 640px; }
.fm-cta-contact { font-size: 14px !important; color: var(--ac-gris) !important; }

/* ---------- Écrans moyens ---------- */
@media (max-width: 1150px) {
  .sn-info { display: none; }
  .sn-liens a { padding: 10px 11px; font-size: 14.5px; }
  
  .cal-s { grid-template-columns: 56px minmax(0, 1fr) auto; row-gap: 10px; } .cal-ic { width: 56px; height: 56px; grid-row: 1 / span 2; } .cal-etat { grid-column: 2; grid-row: 2; } .cal-btn { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 900px) {
  /* sommaire : barre de réservation en bas d'écran, sans les liens */
  .sn { top: auto; bottom: 12px; padding: 0 12px; transform: translateY(14px); }
  .sn-liens { display: none; }
  .sn-pilule { justify-content: space-between; padding: 8px 8px 8px 22px; }
  .sn-info { display: grid; text-align: left; }
  .fh-grille { grid-template-columns: 1fr; padding-bottom: 40px; }
  .pj, .fz, .rp { grid-template-columns: 1fr; }
  
  
  .fz-photo { max-width: 360px; }
  .rp-vis { height: 300px; }
  .page-accueil-v5 .ip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fi-aide { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .tu { grid-template-columns: 1fr; }
  
}

/* ---------- Téléphone ---------- */
@media (max-width: 640px) {
  .fm-sec { padding: 80px 18px; }
  .ac-hero-boite.fh-boite { border-radius: 22px; }
  .fh-grille { padding: 118px 16px 18px; gap: 32px; }
  .fm-outils { padding: 48px 18px 32px; }
  .fm-outils-liste li { border-left: 0; padding: 2px 10px; }
  
  
  .page-accueil-v5 .ip { grid-template-columns: 1fr; }
  .ip li { padding: 20px; }
  
  
  .fm-chiffres { padding-top: 72px; }
  .ac-faq.fm-fond { padding-top: 80px; padding-bottom: 80px; }
  .fm-cta.fm-blanc { padding-top: 72px; }
  .rp-ligne { flex-direction: column; } .rp-ligne input { flex: none; }
  .cal-s { grid-template-columns: 1fr; gap: 14px; padding: 22px 20px; } .cal-ic { display: none; } .cal-etat, .cal-btn { grid-column: auto; grid-row: auto; } .cal-btn { justify-self: start; }
  .ac-btn { white-space: normal; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .sn { transition: none; }
  .fm-urg i { animation: none; }
}

/* Outils : logos officiels en une couleur */
.fm-logo { flex: none; width: .95em; height: .95em; fill: currentColor; color: var(--ac-encre); }

/* Qualiopi : bloc validé par Laura (carte blanche, grand titre, logo à droite) */
.ar-qualiopi { margin-top: 64px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 40px; align-items: center; background: #fff; border-radius: 24px; padding: clamp(28px, 4vw, 48px); }
.ar-qualiopi > div { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.page-accueil-v5 .ar-qualiopi h3 { margin: 0; font-size: clamp(36px, 4vw, 56px); font-weight: 400; letter-spacing: -0.03em; line-height: 1; }
.ar-qualiopi p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ac-texte); max-width: 580px; }
.ar-qualiopi img { width: 100%; height: auto; }
@media (max-width: 760px) { .ar-qualiopi { grid-template-columns: 1fr; } .ar-qualiopi img { max-width: 260px; } }
@media (max-width: 1100px) and (min-width: 761px) { .ar-qualiopi { grid-template-columns: minmax(0, 1fr) 260px; } }

/* Le journal : cartes d'articles sans photo */
.jo-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 40px; }
@media (max-width: 860px) { .jo-grille { grid-template-columns: 1fr; } }

/* Outils : défilement continu, pause au survol, arrêt si l'utilisateur limite les animations */
.fm-outils .ac-cadre { max-width: none; padding: 0; }
.fm-defile { display: flex; width: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.page-accueil-v5 .fm-defile .fm-outils-liste { flex: none; flex-wrap: nowrap; justify-content: flex-start; animation: fm-defile 60s linear infinite; }
.fm-defile .fm-outils-liste li { white-space: nowrap; }
.fm-defile .fm-outils-liste li:first-child { border-left: 1px solid var(--ac-ligne); }
.fm-defile:hover .fm-outils-liste { animation-play-state: paused; }
@keyframes fm-defile { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .page-accueil-v5 .fm-defile .fm-outils-liste { animation: none; } .fm-defile { overflow-x: auto; } }

/* Haut de page : Qualiopi seul, avec le logo */
.page-accueil-v5 .fh-qualiopi { display: flex; align-items: center; gap: 14px; margin: 0; }
.fh-qualiopi img { width: 92px; height: auto; mix-blend-mode: multiply; }
.fh-qualiopi span { display: grid; gap: 2px; padding-left: 14px; border-left: 1px solid var(--ac-ligne-2); font-size: 16px; color: var(--ac-encre); }
.fh-qualiopi small { font-size: 12px; color: var(--ac-gris); }

/* Fiche de la formation : une lecture de haut en bas, une info par ligne */
.fh-fiche { position: relative; display: flex; flex-direction: column; padding: 30px 32px 22px; border-radius: 24px; background: #fff; box-shadow: 0 30px 70px rgba(35, 11, 32, .1); }
.fh-f-tete { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.fh-f-tete > .ac-mono { margin: 0; font-size: 13px; color: var(--ac-gris); }
.fh-fiche .fm-urg { font-family: var(--ac-mono); font-size: 11.5px; padding: 4px 10px; }
.page-accueil-v5 .fh-f-date { margin: 14px 0 0; font-size: clamp(26px, 2.4vw, 32px); line-height: 1.1; letter-spacing: -0.02em; color: var(--ac-encre); }
.fh-f-suite { align-self: flex-start; margin-top: 8px; font-size: 14px; color: var(--ac-gris); text-decoration: underline; text-underline-offset: 3px; }
.fh-f-suite:hover { color: var(--ac-encre); }
.fh-f-prix { display: grid; gap: 6px; margin-top: 22px; padding: 20px 0; border-top: 1px solid var(--ac-ligne); }
.fh-f-prix b { font-weight: 400; font-size: clamp(36px, 3.2vw, 46px); line-height: 1; letter-spacing: -0.03em; color: var(--ac-encre); }
.fh-f-prix span { font-size: 15px; color: var(--ac-magenta); }
.page-accueil-v5 .fh-f-infos { margin: 0; border-top: 1px solid var(--ac-ligne); }
.fh-f-infos > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--ac-ligne); }
.fh-f-infos dt { font: 12px var(--ac-mono); color: var(--ac-gris); }
.fh-f-infos dd { margin: 0; font-size: 15.5px; text-align: right; color: var(--ac-encre); }
.fh-f-btn { width: 100%; margin-top: 22px; }
.page-accueil-v5 .fh-f-note { margin: 12px 0 0; text-align: center; font-size: 12px; color: var(--ac-gris); }
@media (max-width: 1100px) { .fh-fiche { max-width: 520px; } }
@media (max-width: 560px) { .fh-fiche { padding: 24px 20px 18px; } .fh-qualiopi img { width: 76px; } }

/* Programme : l'animation de chaque journée à la place de l'image */

/* Financement : deux parcours côte à côte, mêmes proportions, une action chacun */
.fi-tete { max-width: 760px; display: grid; gap: 16px; }
.fi-voies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 48px; }
.fi-voie { display: flex; flex-direction: column; padding: clamp(28px, 3.4vw, 44px); border-radius: 24px; background: #fff; }
.page-accueil-v5 .fi-voie-qui { margin: 0; font-size: 13px; color: var(--ac-gris); }
.page-accueil-v5 .fi-voie h3 { margin: 18px 0 0; font-weight: 400; font-size: 18px; color: var(--ac-magenta); font-family: var(--ac-mono); }
.page-accueil-v5 .fi-voie-montant { margin: 6px 0 0; font-size: clamp(34px, 3.4vw, 48px); line-height: 1.05; letter-spacing: -0.03em; color: var(--ac-encre); }
.fi-voie-montant span { display: block; font-size: 17px; letter-spacing: 0; color: var(--ac-texte); margin-top: 6px; }
.page-accueil-v5 .fi-voie-def { margin: 18px 0 0; font-size: 15px; line-height: 1.55; color: var(--ac-texte); }
.page-accueil-v5 .fi-faits { margin: 26px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ac-ligne); }
.fi-faits li { display: grid; grid-template-columns: 112px 1fr; align-items: baseline; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--ac-ligne); }
.fi-faits b { font-weight: 400; font-size: 21px; letter-spacing: -0.02em; color: var(--ac-encre); }
.fi-faits span { font-size: 15px; color: var(--ac-texte); }
.fi-voie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: auto; padding-top: 30px; }
.fi-tel { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ac-texte); text-decoration: none; }
.fi-tel:hover { color: var(--ac-encre); }
.fi-tel .ico { width: 16px; height: 16px; color: var(--ac-magenta); }
.page-accueil-v5 .fi-note { margin: 18px 0 0; font-size: 13px; color: var(--ac-gris); }
@media (max-width: 860px) { .fi-voies { grid-template-columns: 1fr; } .fi-faits li { grid-template-columns: 96px 1fr; } }
.fi-faits li { grid-template-columns: 120px 1fr; }
.fi-etapes b { font-family: var(--ac-mono); font-size: 14px !important; color: var(--ac-magenta) !important; }
.fi-etapes li { grid-template-columns: 44px 1fr; }

.jo-grille .jr-carte { border-radius: 16px; }
.jo-grille .jr-panneau-mot { font-size: clamp(40px, 4vw, 58px); }

/* Programme aligné sur le PDF */

/* ---------- Reprise après relecture ---------- */
/* Emplacements des 3 images du programme */

/* Outils fixes */
.fm-outils .ac-cadre { max-width: 1360px; padding: 0 var(--ac-marge); }
.page-accueil-v5 .fm-outils-liste { flex-wrap: wrap; justify-content: center; row-gap: 14px; }
/* Programme sur demande : la vraie couverture */
.rp-vis { display: grid; place-items: center; }
.rp-couv { width: min(100%, 300px); height: auto; border-radius: 10px; box-shadow: 0 30px 60px rgba(35, 11, 32, .16); transform: rotate(-3deg); }
.page-accueil-v5 .rp-desc { margin: 0; font-size: 17px; line-height: 1.5; color: var(--ac-texte); max-width: 460px; }
/* Calendrier : couleurs de la charte, bouton du site */
.cal-compteur { background: #fbeefb; color: var(--ac-encre); }
.cal-etat { color: var(--ac-encre); }
.cal-etat i { background: var(--ac-magenta); }
.cal-btn { font-family: var(--ac-mono); font-size: 15px; padding: 15px 24px; box-shadow: none; }
.cal-s:hover .cal-btn { box-shadow: none; background: var(--ac-encre); }
/* Haut de page : pas de point qui clignote */
.fm-urg i { animation: none; }
/* Dernier appel : fond sable, sans photo */
.fm-cta .ac-contact { background: var(--ac-sable); border-radius: 28px; padding: clamp(48px, 7vw, 96px) clamp(20px, 4vw, 48px); }
.fm-cta .ac-contact-carte { margin: 0 auto; text-align: center; align-items: center; background: transparent; box-shadow: none; }
.fm-cta .ac-contact-carte .ac-actions { justify-content: center; }

.fm-cta .ac-contact { padding: clamp(40px, 5vw, 72px) clamp(20px, 4vw, 48px); }

/* ---------- Deuxième relecture ---------- */
/* Haut de page : la date de clôture, sans pastille clignotante */
.fh-fiche .fm-urg { background: transparent; padding: 0; color: var(--ac-gris) !important; }
/* Outils : une seule ligne à 1000 px */
.fm-outils-liste li { font-size: clamp(16px, 1.55vw, 20px); padding: 2px clamp(10px, 1.4vw, 20px); }
/* Programme : le livrable juste sous le titre du jour */

/* Financement : le calcul du PDF */
.fi-calcul { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 0 26px; margin-top: 14px; }
.fi-calcul span { display: grid; gap: 4px; font-size: 13px; color: var(--ac-gris); }
.fi-calcul b { font-weight: 400; font-size: clamp(30px, 3vw, 42px); line-height: 1; letter-spacing: -0.03em; color: var(--ac-encre); }
.fi-calcul .fi-zero b { color: var(--ac-magenta); }
.page-accueil-v5 .fi-voie-titre { margin: 14px 0 0; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; letter-spacing: -0.02em; color: var(--ac-encre); }
.fm-outils-liste li { font-size: clamp(15px, 1.45vw, 19px); padding: 2px clamp(8px, 1.1vw, 16px); gap: 8px; }
/* Formatrice : photo plus petite, texte plus présent */
.fz { grid-template-columns: minmax(0, 340px) minmax(0, 1fr) !important; align-items: center; }
.page-accueil-v5 .fz-bio { font-size: clamp(19px, 1.7vw, 23px) !important; line-height: 1.45 !important; color: var(--ac-encre) !important; max-width: 520px; }
@media (max-width: 860px) { .fz { grid-template-columns: 1fr !important; } .fz-photo { max-width: 320px; } }

/* Formatrice : citation et faits vérifiés */
.page-accueil-v5 .fz-citation { margin: 4px 0 0; padding: 0 0 0 20px; border-left: 2px solid var(--ac-magenta); }
.fz-citation p { margin: 0; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.45; color: var(--ac-encre); }
.page-accueil-v5 .fz-faits { margin: 8px 0 0; border-top: 1px solid var(--ac-ligne); }
.fz-faits > div { display: grid; grid-template-columns: 110px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--ac-ligne); }
.fz-faits dt { font: 12px var(--ac-mono); color: var(--ac-gris); padding-top: 3px; }
.fz-faits dd { margin: 0; font-size: 15.5px; line-height: 1.45; color: var(--ac-encre); }
/* Dernier appel : l'inscription à gauche, Laura à droite */
.fc { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 18px; }
.fc-texte, .fc-laura { border-radius: 28px; padding: clamp(32px, 4vw, 56px); display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
.fc-texte { background: var(--ac-encre); color: var(--ac-creme); justify-content: space-between; }
.page-accueil-v5 .fc-texte h2 { margin: 0; color: var(--ac-creme); }
.fc-texte p { margin: 0; font-size: 17px; color: rgba(244, 240, 236, .75); }
.fc-texte .ac-btn-sombre { background: #fff; color: var(--ac-encre) !important; }
.fc-laura { background: var(--ac-sable); }
.fc-qui { display: flex; align-items: center; gap: 14px; }
.fc-photo { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--ac-encre); color: #fff; font-family: var(--ac-mono); font-size: 15px; }
.fc-qui p { margin: 0; display: grid; gap: 2px; font-size: 14px; color: var(--ac-gris); }
.fc-qui b { font-weight: 400; font-size: 18px; color: var(--ac-encre); }
.page-accueil-v5 .fc-q { margin: 0; font-size: 17px; line-height: 1.5; color: var(--ac-encre); }
.fc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: auto; }
.fc-tel { font-family: var(--ac-mono); font-size: 15px; color: var(--ac-encre); text-decoration: none; }
.fm-cta .ac-contact { background: none; padding: 0; }
@media (max-width: 860px) { .fc { grid-template-columns: 1fr; } }

/* ---------- Relief ---------- */
/* Programme : grand numéro de journée */

/* Avis : le bloc foncé du milieu de page */
.ac-avis.fm-nuit { background: var(--ac-encre); color: var(--ac-creme); }
.fm-nuit .ac-kicker { color: rgba(244, 240, 236, .6); }
.fm-nuit .ac-h2 { color: var(--ac-creme); }
.fm-nuit .ac-avis-fleches button { border-color: rgba(244, 240, 236, .5); color: var(--ac-creme); }
.fm-nuit .ac-avis-fleches button:hover { background: var(--ac-creme); color: var(--ac-encre); }
.ac-avis-carte.fm-avis-mag { background: var(--ac-magenta); color: #fff; }
.ac-avis-carte.fm-avis-mag2 { background: #3a1534; color: #fff; }
.ac-avis-carte.fm-avis-clair { background: var(--ac-creme); color: var(--ac-encre); }
.fm-avis-clair .ac-avis-qui { border-color: var(--ac-ligne-2); }
.fm-avis-clair .ac-avis-qui span { color: var(--ac-gris); }
.fm-avis-mag blockquote::before, .fm-avis-mag2 blockquote::before { color: #fff !important; }
.fm-avis-mag .ac-avis-qui span, .fm-avis-mag2 .ac-avis-qui span { color: rgba(255, 255, 255, .8); }
/* Financement : le 0 € en grand */
.fi-calcul .fi-zero b { font-size: clamp(48px, 5vw, 72px); }
.fi-calcul { align-items: end; }
.ac-avis-carte.fm-avis-txt.fm-avis-mag, .ac-avis-carte.fm-avis-txt.fm-avis-mag2 { color: #fff; }
.ac-avis-carte.fm-avis-txt.fm-avis-mag { background: var(--ac-magenta); }
.ac-avis-carte.fm-avis-txt.fm-avis-mag2 { background: #3a1534; }
.ac-avis-carte.fm-avis-txt.fm-avis-clair { background: var(--ac-creme); }
.ac-avis-carte.fm-avis-txt.fm-avis-mag::before { color: #fff; }
.ac-avis-carte.fm-avis-txt.fm-avis-mag2::before { color: var(--ac-magenta-clair); }
.ac-avis-carte.fm-avis-txt.fm-avis-mag .ac-avis-qui, .ac-avis-carte.fm-avis-txt.fm-avis-mag2 .ac-avis-qui { border-color: rgba(255, 255, 255, .3); }
.ac-avis-carte.fm-avis-txt.fm-avis-mag .ac-avis-qui span, .ac-avis-carte.fm-avis-txt.fm-avis-mag2 .ac-avis-qui span { color: rgba(255, 255, 255, .8); }

/* ======================= Une forme par section (modèles de la home) ======================= */
/* Haut de page : les outils en bas de la boîte, comme les logos clients de la home */
.fh-outils { position: relative; max-width: 1360px; margin: 0 auto; padding: 0 clamp(20px, 3vw, 48px) 44px; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.page-accueil-v5 .fh-outils > .ac-mono { margin: 0; font-size: 13px; color: var(--ac-gris); }
.fh-outils .fm-outils-liste li { color: var(--ac-texte); border-color: rgba(35, 11, 32, .12); }

/* Programme : onglets par journée */

/* Formatrice : bande foncée pleine largeur à motif de points */
.fz-nuit { position: relative; overflow: hidden; background: var(--ac-encre); color: var(--ac-creme); }
.fz-nuit::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(244, 240, 236, .22) 1px, transparent 1.4px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(120deg, transparent 20%, #000 70%); mask-image: linear-gradient(120deg, transparent 20%, #000 70%); pointer-events: none; }
.fz-nuit .ac-cadre { position: relative; }
.fz-nuit .ac-kicker { color: rgba(244, 240, 236, .6); }
.fz-nuit .ac-h2 { color: var(--ac-creme); }
.fz-nuit .fz-citation { border-left-color: var(--ac-magenta-clair); }
.fz-nuit .fz-citation p { color: var(--ac-creme); }
.fz-nuit .fz-faits, .fz-nuit .fz-faits > div { border-color: rgba(244, 240, 236, .16); }
.fz-nuit .fz-faits dt { color: var(--ac-magenta-clair); }
.fz-nuit .fz-faits dd { color: rgba(244, 240, 236, .85); }

/* Financement : encart encadré, bandeau foncé avec les chiffres (modèle AMIA) */
.fe { border-radius: 28px; overflow: hidden; background: #fff; box-shadow: 0 1px 0 rgba(35, 11, 32, .04); }
.fe-bandeau { position: relative; padding: clamp(36px, 5vw, 64px); background: linear-gradient(160deg, var(--ac-encre) 0%, #4a1446 100%); color: var(--ac-creme); }
.fe-bandeau::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(244, 240, 236, .18) 1px, transparent 1.4px); background-size: 22px 22px; pointer-events: none; }
.fe-bandeau > * { position: relative; }
.fe-bandeau .ac-kicker { color: rgba(244, 240, 236, .6); }
.page-accueil-v5 .fe-bandeau .ac-h2 { margin: 14px 0 0; color: #fff; max-width: 760px; }
.page-accueil-v5 .fe-intro { margin: 16px 0 0; max-width: 620px; font-size: 17px; line-height: 1.55; color: rgba(244, 240, 236, .8); }
.fe-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 44px; border-top: 1px solid rgba(244, 240, 236, .2); }
.fe-chiffres > div { display: grid; gap: 8px; padding: 26px 24px 0 0; }
.fe-chiffres > div + div { padding-left: 24px; border-left: 1px solid rgba(244, 240, 236, .2); }
.fe-chiffres b { font-weight: 400; font-size: clamp(40px, 4.6vw, 64px); line-height: 1; letter-spacing: -0.03em; color: #fff; }
.fe-chiffres span { font-size: 14px; color: rgba(244, 240, 236, .7); }
.fe-chiffres .fe-zero b { color: var(--ac-magenta-clair); }
.fe-voies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fe-voie { display: flex; flex-direction: column; gap: 14px; padding: clamp(28px, 4vw, 48px); }
.fe-voie + .fe-voie { border-left: 1px solid var(--ac-ligne); }
.page-accueil-v5 .fe-voie > .ac-mono { margin: 0; font-size: 13px; color: var(--ac-magenta); }
.page-accueil-v5 .fe-def { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ac-texte); }
.fe-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: auto; padding-top: 12px; }
#financement .ar-qualiopi { margin-top: 48px; }
/* v71 : deux profils mis en avant, colonnes symétriques (bouton puis lien d'aide, alignés en bas) */
.page-accueil-v5 .fe-voie .fe-titre { margin: -4px 0 0; font-size: clamp(24px, 2.2vw, 30px); font-weight: 400; line-height: 1.15; letter-spacing: -0.02em; color: var(--ac-encre); }
.fe-voie .fe-actions { flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 18px; }
.page-accueil-v5 .fe-voie .fe-actions .ac-btn { padding: 15px 22px; font-size: 15px; }

@media (max-width: 860px) {
  
  
  
  .fe-chiffres { grid-template-columns: 1fr; } .fe-chiffres > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(244, 240, 236, .2); padding-bottom: 20px; }
  .fe-voies { grid-template-columns: 1fr; } .fe-voie + .fe-voie { border-left: 0; border-top: 1px solid var(--ac-ligne); }
}

/* ---------- Programme : modèle Made in AI ---------- */
.mp-tete { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 48px; }
.mp-tete > div { display: grid; gap: 14px; }
.page-accueil-v5 .mp-compte { margin: 0; font-size: 13px; color: var(--ac-gris); }
.mp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.mp-liste { display: grid; gap: 6px; }
.mp-etape { border-radius: 18px; transition: background .3s; }
.mp-etape[data-on="true"] { background: var(--ac-fond); }
.mp-etape button { all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: flex; align-items: center; gap: 18px; padding: 18px 22px; }
.mp-etape button:focus-visible { outline: 2px solid var(--ac-magenta); outline-offset: -2px; border-radius: 18px; }
.mp-n { font-size: 15px; font-family: var(--ac-mono); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; flex: none; border: 1px solid var(--ac-ligne-2); color: var(--ac-gris); transition: all .3s; }
.mp-etape[data-on="true"] .mp-n { background: var(--ac-magenta); border-color: var(--ac-magenta); color: #fff; }
.mp-titre { display: grid; gap: 3px; font-size: clamp(20px, 1.9vw, 25px); line-height: 1.2; letter-spacing: -0.01em; color: var(--ac-encre); }
.mp-titre .ac-mono { font-size: 12px; letter-spacing: 0; color: var(--ac-gris); }
.mp-etape:not([data-on="true"]) .mp-titre { opacity: .55; }
.mp-etape button:hover .mp-titre { opacity: 1; }
.mp-detail { display: none; padding: 0 22px 22px 74px; }
.mp-etape[data-on="true"] .mp-detail { display: block; }
.page-accueil-v5 .mp-detail > p { margin: 0 0 14px; font-size: 16px; line-height: 1.55; color: var(--ac-texte); }
.page-accueil-v5 .mp-detail ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.mp-detail li { display: grid; gap: 3px; font-size: 14.5px; line-height: 1.45; color: var(--ac-texte); padding-top: 12px; border-top: 1px solid var(--ac-ligne); }
.mp-detail li .ac-mono { font-size: 11.5px; color: var(--ac-magenta); }
.mp-detail li b { font-weight: 400; font-size: 16px; color: var(--ac-encre); }
/* le visuel à droite : une fenêtre, comme Made in AI */

 

.page-accueil-v5 .mp-liv { margin: 6px 0 4px; display: grid; gap: 4px; font-size: 15px; line-height: 1.45; color: var(--ac-encre); }
.mp-liv .ac-mono { font-size: 11.5px; color: var(--ac-gris); }

/* ---------- Dernier appel : modèle Section ---------- */
.fm-final { position: relative; overflow: hidden; padding: clamp(80px, 10vw, 140px) var(--ac-marge); background: var(--ac-encre); color: #fff; }
.fm-final::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(244, 240, 236, .2) 1px, transparent 1.4px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(90deg, transparent 35%, #000 100%); mask-image: linear-gradient(90deg, transparent 35%, #000 100%); pointer-events: none; }
.fm-final .ac-cadre { position: relative; display: grid; gap: 36px; }
.page-accueil-v5 .fm-final .ac-h2 { margin: 0; max-width: 900px; color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: 1.04; }
.fm-final .ac-h2 span { color: var(--ac-magenta-clair); }
.fm-final-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.fm-final-btn { background: #fff; color: var(--ac-encre) !important; }
.fm-final-lien { font-size: 15px; color: rgba(244, 240, 236, .75); text-decoration: underline; text-underline-offset: 4px; }
.fm-final-lien:hover { color: #fff; }

@media (max-width: 860px) {
  .mp { grid-template-columns: 1fr; } 
  .mp-detail { padding-left: 22px; }
  .mp-tete { align-items: flex-start; flex-direction: column; }
}

/* Formatrice : portrait détouré sur beige, comme les référents de la home */
.fz { grid-template-columns: minmax(0, 300px) minmax(0, 1fr) !important; }
.fz-photo.fz-detour { aspect-ratio: 4 / 5; border-radius: 14px; background: var(--ac-sable-2); object-position: center top; }
/* Qualiopi du haut de page : logo dans un encart blanc, comme France 2030 sur la home */
.fh-qualiopi img { width: 104px; mix-blend-mode: normal; background: #fff; padding: 10px 14px; border-radius: 12px; box-sizing: content-box; box-shadow: 0 1px 0 rgba(35, 11, 32, .04); }
.fh-qualiopi span { border-left: 0; padding-left: 4px; }

/* ---------- Haut de page façon Mister IA, charte NIKITA ---------- */
.page-accueil-v5 .fh-fil { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 6px; font-size: 12.5px; color: var(--ac-gris); }
.fh-fil a { color: var(--ac-gris); text-decoration: none; } .fh-fil a:hover { color: var(--ac-encre); }
.fh-fil [aria-current] { color: var(--ac-encre); }
.page-accueil-v5 .fh-par { margin: -8px 0 0; font-size: 16px; color: var(--ac-texte); }
.page-accueil-v5 .fh-texte .fh-intro { margin: 0; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.45; color: var(--ac-encre); max-width: 560px; }
.page-accueil-v5 .fh-puces { margin: -6px 0 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.fh-puces li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.45; color: var(--ac-texte); }
.fh-puces li::before { content: ""; position: absolute; left: 0; top: .5em; width: 9px; height: 9px; border-radius: 2px; background: var(--ac-magenta); }
.fh-texte { gap: 22px !important; }

/* Fonds possibles du haut de page (une classe sur .fh-boite) */
.fh-boite { background-color: var(--ac-sable); }
.fh-fond-flou { background: var(--ac-sable) url(../img/architectes/fond-flou-architectes.webp) center / cover no-repeat; }
.fh-fond-flou::before { background: linear-gradient(90deg, rgba(244, 240, 236, .94) 0%, rgba(244, 240, 236, .86) 45%, rgba(244, 240, 236, .35) 100%) !important; }
.fh-fond-lavis { background: radial-gradient(ellipse 60% 70% at 95% 10%, rgba(204, 0, 204, .16), transparent 70%), radial-gradient(ellipse 50% 60% at 70% 100%, rgba(255, 102, 255, .12), transparent 70%), var(--ac-sable); }
.fh-fond-motif { background: radial-gradient(ellipse 55% 65% at 90% 20%, rgba(204, 0, 204, .12), transparent 70%), var(--ac-sable); }
.fh-fond-motif::before { background-image: radial-gradient(rgba(35, 11, 32, .16) 1px, transparent 1.4px) !important; background-size: 22px 22px !important; -webkit-mask-image: linear-gradient(110deg, transparent 30%, #000 85%); mask-image: linear-gradient(110deg, transparent 30%, #000 85%); }

/* Haut de page v50 : puces en phrases, Qualiopi déplacé dans le bloc preuves */
.fh-puces li { line-height: 1.45; }

/* Bloc preuves (v50) : une rangée sous le haut de page, comme les chiffres de la home */
.page-accueil-v5 .pv { padding: 34px 0 10px; }
.pv-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: auto 1fr 1fr auto; align-items: center; gap: 0; border-top: 1px solid var(--ac-ligne-2); border-bottom: 1px solid var(--ac-ligne-2); }
.pv-liste > li { display: flex; align-items: center; gap: 14px; padding: 22px 28px; min-height: 104px; box-sizing: border-box; }
.pv-liste > li + li { border-left: 1px solid var(--ac-ligne-2); }
.pv-liste > li:first-child { padding-left: 0; }
.pv-liste > li:last-child { padding-right: 0; }
.pv-liste b { font-weight: 500; font-size: clamp(38px, 4vw, 52px); line-height: 1; letter-spacing: -.03em; color: var(--ac-encre); }
.pv-liste li > span { font-size: 15px; line-height: 1.35; color: var(--ac-encre); max-width: 190px; }
.pv-logo img { display: block; height: 58px; width: auto; background: #fff; border-radius: 12px; padding: 8px 14px; box-sizing: content-box; }
.pv-qualiopi img { height: 50px; }
.pv-qualiopi span { display: grid; gap: 3px; font-size: 15px; max-width: 150px; }
.pv-qualiopi small { font-size: 11.5px; color: var(--ac-gris); }
@media (max-width: 900px) {
  .pv-liste { grid-template-columns: 1fr 1fr; }
  .pv-liste > li { padding: 20px 16px; min-height: 0; }
  .pv-liste > li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .pv-liste > li:nth-child(n+3) { border-top: 1px solid var(--ac-ligne-2); }
  .pv-logo img { height: 46px; }
}
@media (max-width: 520px) { .pv-liste b { font-size: 34px; } .pv-liste > li { flex-direction: column; align-items: flex-start; gap: 8px; } }
.page-accueil-v5 .pv { padding: 34px var(--ac-marge) 0; }
.pv-liste { grid-template-columns: auto minmax(0,1fr) minmax(0,1fr) auto; }
.pv-liste > li { padding: 20px 24px; }
.pv-liste li > span { max-width: 170px; }
.pv-logo img { height: 50px; padding: 6px 10px; }
.pv-qualiopi img { height: 44px; }
@media (max-width: 900px) { .page-accueil-v5 .pv { padding: 24px 18px 0; } .pv-liste { grid-template-columns: 1fr 1fr; } }
.pv-liste > li:not(.pv-logo) { flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; }
.pv-liste li > span { max-width: 200px; }
.pv-liste > li { min-height: 0; padding-top: 26px; padding-bottom: 26px; align-self: stretch; }
.pv-liste li.pv-qualiopi > span { max-width: 140px; }
.pv-liste > li:not(.pv-logo) { justify-content: flex-start; }

/* Fond des formations métier (v51), sur le modèle Mister IA : même mise en page pour tous les métiers,
   un lavis de couleur qui part du coin haut droit (derrière la fiche), un pictogramme du métier et le métier en couleur dans le titre.
   Pour un autre métier : changer --metier (couleur de la charte) et le pictogramme. */
.fh-boite { --metier: 204, 0, 204; }
.fh-fond-metier { background:
  radial-gradient(ellipse 70% 85% at 100% 0%, rgba(var(--metier), .20), rgba(var(--metier), .07) 45%, transparent 75%),
  linear-gradient(180deg, transparent 70%, rgba(255,255,255,.35)),
  var(--ac-sable) !important; }
.fh-fond-metier::before { display: none; }
.fh-picto { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: #fff; box-shadow: 0 1px 0 rgba(35,11,32,.05); margin-bottom: -6px; }
.fh-picto svg { width: 28px; height: 28px; fill: none; stroke: rgb(var(--metier)); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.page-accueil-v5 .fh-metier { font-style: normal; color: rgb(var(--metier)); }

/* Formatrice dans le haut de page : un visage, sans en faire trop */
.page-accueil-v5 .fh-par { display: flex; align-items: center; gap: 12px; margin: -4px 0 0; font-size: 16px; color: var(--ac-texte); }
.fh-par img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 1px 4px rgba(35, 11, 32, .12); }
.fh-par b { font-weight: 500; color: var(--ac-encre); }
.page-accueil-v5 .fh-texte .fh-intro { margin: 4px 0 -6px; }
.fh-puces li { line-height: 1.4; }

/* Financement : lien vers l'agenda au lieu du numéro */
.fi-tel { text-decoration: underline; text-underline-offset: 3px; }

/* Pied de page : la mention France 2030 était écrasée dans une colonne étroite entre 900 et 1240 px (même défaut sur la home) */
@media (max-width: 1240px) { .ac-pied-bas { flex-direction: column; gap: 10px; } .ac-pied-bas p:last-child { white-space: normal; } }

/* Programme à télécharger (v52), sur le modèle de la publicité Dust aimée par Laura :
   tout centré, grand titre, les pages du PDF en éventail (couverture devant, deux pages intérieures inclinées derrière), puis le champ e-mail. */
.rp.rp-centre { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; max-width: 900px; margin: 0 auto; }
.rp-centre .ac-kicker { margin: 0 0 14px; }
.page-accueil-v5 .rp-centre .ac-h2 { margin: 0; font-size: clamp(36px, 4.6vw, 60px); line-height: 1.04; }
.rp-centre .ac-h2 span { color: var(--ac-magenta); }
.rp-eventail { position: relative; width: min(100%, 640px); height: clamp(300px, 40vw, 430px); margin: 44px 0 40px; }
.rp-p { position: absolute; top: 0; left: 50%; height: auto; border-radius: 8px; background: #fff; box-shadow: 0 1px 0 rgba(35, 11, 32, .05), 0 24px 50px rgba(35, 11, 32, .16); }
.rp-p-c { width: clamp(210px, 28vw, 300px); transform: translateX(-50%); z-index: 2; }
.rp-p-g, .rp-p-d { width: clamp(180px, 24vw, 258px); top: 26px; z-index: 1; }
.rp-p-g { transform: translateX(-108%) rotate(-7deg); transform-origin: bottom right; }
.rp-p-d { transform: translateX(8%) rotate(7deg); transform-origin: bottom left; }
.rp-centre .rp-l { margin: 0 0 10px; font-size: 14px; color: var(--ac-texte); }
.rp-centre .rp-ligne { width: min(100%, 560px); justify-content: center; }
.rp-centre .rp-msg { margin: 10px 0 0; }
.rp-centre .rp-contenu { margin: 6px 0 0; font-size: 12.5px; color: var(--ac-gris); }
@media (max-width: 600px) {
  .rp-eventail { height: 300px; margin: 32px 0 28px; }
  .rp-p-c { width: 190px; } .rp-p-g, .rp-p-d { width: 160px; }
  .rp-p-g { transform: translateX(-96%) rotate(-7deg); } .rp-p-d { transform: translateX(-4%) rotate(7deg); }
}

/* v53 : haut de page sur sable uni (pas de halo ni de texture), en attendant le choix parmi les 5 propositions */
.fh-boite { background: var(--ac-sable) !important; }
.fh-boite::before { display: none !important; }

/* ===== v54 : haut de page « éditorial centré » (proposition 4, choisie le 11 nov.) =====
   Fond sable avec une grille de 12 colonnes très légère qui s'efface vers le bas. Titre, phrase, formatrice, boutons centrés,
   puis la fiche en bandeau (quand, comment, combien, bouton), puis les outils. */
.fh-centre .fh-boite::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(90deg, rgba(35, 11, 32, .06) 1px, transparent 1px); background-size: calc(100% / 12) 100%; background-position: calc(100% / 24) 0; -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .5) 55%, transparent 90%); mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .5) 55%, transparent 90%); }
.fh-centre .fh-boite > * { position: relative; z-index: 1; }
.fc { max-width: 1000px; margin: 0 auto; padding: 168px 24px 52px; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.page-accueil-v5 .fc .fh-fil { justify-content: center; margin: 0; }
.page-accueil-v5 .fh-centre h1 { margin: 0; font-size: clamp(44px, 6.4vw, 96px); line-height: 1; letter-spacing: -0.035em; text-wrap: balance; }
.fh-centre .ac-h1-surtitre { margin-bottom: 22px; }
.page-accueil-v5 .fc-sous { margin: 0; max-width: 640px; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.5; color: var(--ac-encre); }
.page-accueil-v5 .fc .fh-par { justify-content: center; margin: 0; }
.fc .ac-actions { justify-content: center; }

/* Fiche en bandeau */
.fb-zone { max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px, 3vw, 48px) 44px; }
.fb { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 22px 22px 22px 30px; border-radius: 24px; background: #fff; box-shadow: 0 30px 70px rgba(35, 11, 32, .08); text-align: left; }
.fb-infos { display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 18px; }
.fb-cel { display: grid; align-content: start; gap: 4px; }
.fb-cel + .fb-cel { padding-left: 24px; border-left: 1px solid var(--ac-ligne); }
.page-accueil-v5 .fb-cel .ac-mono { margin: 0 0 2px; font-size: 11.5px; color: var(--ac-gris); }
.fb-cel b { font-weight: 400; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.15; letter-spacing: -0.02em; color: var(--ac-encre); white-space: nowrap; }
.fb-cel span, .fb-cel a { font-size: 13.5px; line-height: 1.4; color: var(--ac-texte); }
.fb-cel a { justify-self: start; text-decoration: underline; text-underline-offset: 3px; color: var(--ac-gris); }
.fb-cel a:hover { color: var(--ac-encre); }
.fb-cel .fb-zero { color: var(--ac-magenta); }
.fb-action { display: grid; justify-items: center; gap: 8px; }
.fb-action .ac-btn { white-space: nowrap; }
.page-accueil-v5 .fb-note { margin: 0; max-width: 210px; text-align: center; font-size: 11px; line-height: 1.35; color: var(--ac-gris); }
@media (max-width: 1240px) {
  .fb { grid-template-columns: 1fr; gap: 0; padding: 24px 26px 18px; }
  .fb-action { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--ac-ligne); }
  .page-accueil-v5 .fb-note { max-width: none; text-align: left; }
}
@media (max-width: 800px) {
  .fb-infos { grid-template-columns: 1fr; gap: 0; }
  .fb-cel + .fb-cel { padding: 14px 0 0; margin-top: 14px; border-left: 0; border-top: 1px solid var(--ac-ligne); }
  .fb-cel b { white-space: normal; }
  .fb-action { flex-direction: column-reverse; align-items: stretch; }
  .fb-action .ac-btn { justify-content: center; }
  .page-accueil-v5 .fb-note { text-align: center; }
}
@media (max-width: 760px) {
  .fc { padding: 118px 4px 32px; gap: 18px; }
  .fb-zone { padding: 0 10px 28px; }
  .fh-centre .fh-boite::after { background-size: calc(100% / 6) 100%; }
}
@media (max-width: 1240px) { .fb-action { flex-direction: row-reverse; } }
@media (max-width: 800px) { .fb-action { flex-direction: column; } }
@media (max-width: 760px) { .page-accueil-v5 .fc .fh-par { flex-direction: column; gap: 8px; } }

/* ===== v54 : programme, une vidéo par journée (vidéos de Laura, 1080 × 1350, 4:5) =====
   Les vidéos ont leur propre fond papier et leurs cartes : ni bordure ni ombre autour. On garde le ratio, sans recadrage. */
.mp { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); }
.mp-videos { position: sticky; top: 100px; }
.mp-ecran { margin: 0; display: grid; gap: 10px; }
.mp-ecran[hidden] { display: none; }
.mp-ecran video { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; border-radius: 16px; background: #f6f3ee; }
.page-accueil-v5 .mp-source { margin: 0; font-size: 11.5px; line-height: 1.45; color: var(--ac-gris); }
.page-accueil-v5 .mp-liv { margin: 14px 0 0; display: grid; gap: 4px; padding-top: 12px; border-top: 1px solid var(--ac-ligne); font-size: 15px; line-height: 1.45; color: var(--ac-encre); }
.mp-liv .ac-mono { font-size: 11.5px; color: var(--ac-magenta); }
@media (max-width: 900px) {
  .mp { grid-template-columns: 1fr; }
  .mp-videos { position: static; padding: 0 22px 18px; }
  .mp-ecran video { max-width: 460px; }
}
/* Portrait de Mélanie (photo du 11 nov., fond beige et lumière en biais), 4:5 sans détourage */
.fz-photo.fz-lumiere { aspect-ratio: 4 / 5; border-radius: 16px; object-fit: cover; object-position: center top; background: var(--ac-sable-2); }

/* ===== v55 : les deux formatrices ===== */
/* Haut de page : deux pastilles visibles (photo 52 px, nom, rôle) */
.page-accueil-v5 .fc-duo { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.fc-duo li { display: flex; align-items: center; gap: 12px; padding: 6px 20px 6px 6px; border-radius: 99px; background: #fff; box-shadow: 0 1px 0 rgba(35, 11, 32, .04), 0 10px 24px rgba(35, 11, 32, .06); text-align: left; }
.fc-duo img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex: none; }
.fc-duo span { display: grid; gap: 1px; font-size: 13px; line-height: 1.3; color: var(--ac-gris); }
.fc-duo b { font-weight: 500; font-size: 15.5px; color: var(--ac-encre); }

/* Section binôme : deux cartes portrait, puis le texte */
.fz.fz-duo { grid-template-columns: minmax(0, 520px) minmax(0, 1fr) !important; align-items: center; }
.fz-cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fz-carte { margin: 0; display: grid; gap: 14px; justify-items: center; padding: 10px 10px 16px; border-radius: 24px; background: var(--ac-sable); }
.fz-carte img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: 16px; }
.fz-carte figcaption { display: grid; justify-items: center; gap: 10px; text-align: center; }
.fz-carte b { font-weight: 400; font-size: clamp(18px, 1.6vw, 22px); letter-spacing: -0.015em; color: var(--ac-encre); }
.fz-carte span { padding: 7px 14px; border-radius: 99px; background: #fff; font-size: 13px; color: var(--ac-encre); }
.page-accueil-v5 .fz-intro { margin: 0; max-width: 560px; font-size: clamp(17px, 1.4vw, 19px); line-height: 1.55; color: var(--ac-texte); }
.fz-citation cite { display: block; margin-top: 10px; font: 12px var(--ac-mono); font-style: normal; color: var(--ac-gris); }
.page-accueil-v5 .fz-plus { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ac-gris); }
@media (max-width: 860px) {
  .fz.fz-duo { grid-template-columns: 1fr !important; }
  .fz-cartes { max-width: 520px; }
}
@media (max-width: 480px) {
  .fz-cartes { gap: 10px; }
  .fz-carte { padding: 8px 8px 12px; border-radius: 18px; }
  .fz-carte span { font-size: 11.5px; padding: 6px 10px; }
  .fc-duo li { width: 100%; max-width: 320px; }
}
.fz-carte span { white-space: nowrap; }
@media (max-width: 480px) { .fz-carte span { white-space: normal; text-align: center; } }

/* ===== v56 : détail d'une journée plus lisible =====
   La phrase du jour, puis les 2 modules en lignes nettes (moment en pastille grise), puis le livrable dans un encart blanc. Moins de rose. */
.mp-detail { padding: 0 22px 22px 74px; }
.page-accueil-v5 .mp-phrase { margin: 0 0 18px; font-size: 16.5px; line-height: 1.5; color: var(--ac-encre); }
.page-accueil-v5 .mp-mods { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; border-top: 1px solid var(--ac-ligne); }
.mp-mods li { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--ac-ligne); }
.mp-moment { justify-self: start; margin-bottom: 4px; padding: 3px 9px; border-radius: 99px; background: #fff; font-size: 11px; color: var(--ac-gris); }
.mp-mods b { font-weight: 400; font-size: 16px; line-height: 1.35; color: var(--ac-encre); }
.mp-desc { font-size: 14px; line-height: 1.5; color: var(--ac-texte); }
.mp-livrable { display: flex; align-items: flex-start; gap: 12px; margin-top: 16px; padding: 14px 16px; border-radius: 14px; background: #fff; }
.mp-livrable .ico { flex: none; width: 20px; height: 20px; margin-top: 1px; padding: 4px; border-radius: 50%; background: var(--ac-encre); color: #fff; box-sizing: content-box; }
.page-accueil-v5 .mp-livrable p { margin: 0; display: grid; gap: 3px; font-size: 15px; line-height: 1.45; color: var(--ac-encre); }
.mp-livrable .ac-mono { font-size: 11px; color: var(--ac-gris); }
@media (max-width: 900px) { .mp-detail { padding-left: 22px; } }
.mp-detail .mp-mods li { padding: 14px 0; border-top: 0; }
.mp-detail .mp-mods .mp-moment { color: var(--ac-gris); }

/* ===== v56 : programme à télécharger =====
   Couverture « brochure » faite en HTML (choix de Laura pour le site), deux pages intérieures du vrai PDF (jours 1 et 2) calées derrière, floutées.
   Pages tirées du PDF : à refaire (nouveau nom de fichier) si le programme change. */
.rp-eventail { width: min(100%, 620px); height: auto; aspect-ratio: auto; display: grid; place-items: center; margin: 40px 0 40px; padding: 18px 0 10px; }
.rp-couv2, .rp-eventail .rp-p { grid-area: 1 / 1; width: clamp(220px, 29vw, 300px); }
.rp-eventail .rp-p { position: relative; left: auto; top: auto; aspect-ratio: 640 / 906; height: auto; border-radius: 8px; filter: blur(1.6px) saturate(.85); opacity: .85; box-shadow: 0 20px 40px rgba(35, 11, 32, .12); }
.rp-eventail .rp-p-g { transform: translateX(-24%) rotate(-6deg); }
.rp-eventail .rp-p-d { transform: translateX(24%) rotate(6deg); }
.rp-couv2 { position: relative; z-index: 2; container-type: inline-size; aspect-ratio: 1 / 1.414; box-sizing: border-box; display: flex; flex-direction: column; padding: 4.5cqw; border-radius: 10px; background: #faf8f5; box-shadow: 0 1px 0 rgba(35, 11, 32, .05), 0 30px 60px rgba(35, 11, 32, .18); text-align: left; }
.rp-c-photo { position: relative; flex: none; height: 54%; border-radius: 3cqw; overflow: hidden; }
.rp-c-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rp-c-logo { position: absolute; left: 3.5cqw; top: 3.5cqw; display: flex; align-items: center; padding: 1.8cqw 3cqw; border-radius: 99px; background: #fff; }
.rp-c-logo img { width: 15cqw; height: auto; display: block; }
.rp-c-type { position: absolute; right: 3.5cqw; top: 3.5cqw; padding: 2cqw 3cqw; border-radius: 99px; background: rgba(255, 255, 255, .88); font: 2.3cqw var(--ac-mono); color: var(--ac-encre); }
.page-accueil-v5 .rp-c-kicker { margin: 6cqw 0 0; font: 2.5cqw/1.3 var(--ac-mono); color: var(--ac-gris); }
.page-accueil-v5 .rp-c-titre { margin: 2.4cqw 0 0; font-size: 7.4cqw; line-height: 1.04; letter-spacing: -0.035em; color: var(--ac-encre); text-wrap: balance; }
.rp-c-chiffres { margin-top: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ac-ligne); padding-top: 3cqw; }
.rp-c-chiffres span { display: grid; gap: .8cqw; padding-right: 2cqw; font-size: 2.3cqw; line-height: 1.25; color: var(--ac-gris); }
.rp-c-chiffres span + span { padding-left: 3cqw; border-left: 1px solid var(--ac-ligne); }
.rp-c-chiffres b { font-weight: 400; font-size: 8cqw; line-height: 1; letter-spacing: -0.03em; color: var(--ac-encre); }
.rp-centre .rp-l, .rp-centre .rp-contenu { text-wrap: balance; }
@media (max-width: 600px) {
  .rp-couv2, .rp-eventail .rp-p { width: 196px; }
  .rp-eventail .rp-p-g { transform: translateX(-20%) rotate(-6deg); }
  .rp-eventail .rp-p-d { transform: translateX(20%) rotate(6deg); }
}
.rp-couv2 { display: block; padding: 0; }
.rp-c-in { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; padding: 4.5cqw 4.5cqw 5cqw; }
/* Sous-titre du haut de page : la promesse en gras, le format en dessous */
.page-accueil-v5 .fc-sous { max-width: 720px; font-size: clamp(19px, 1.8vw, 23px); line-height: 1.45; color: var(--ac-texte); }
.fc-sous b { display: block; font-weight: 500; color: var(--ac-encre); }
.page-accueil-v5 .fc-sous { font-size: clamp(16px, 1.5vw, 18px); max-width: 760px; }
.fc-sous b { margin-bottom: 10px; font-size: clamp(20px, 2.2vw, 27px); line-height: 1.3; letter-spacing: -0.012em; text-wrap: balance; }
.nw { white-space: nowrap; }
/* Binôme : une phrase par personne, ce que chacune apporte */
.fz-duo-txt { display: grid; gap: 12px; max-width: 560px; }
.page-accueil-v5 .fz-duo-txt p { margin: 0; font-size: clamp(16.5px, 1.35vw, 18.5px); line-height: 1.55; color: var(--ac-texte); }
.fz-duo-txt b { font-weight: 500; color: var(--ac-encre); }

/* ===== v60 : couverture du programme façon brochure =====
   Photo pleine largeur en haut (escalier en spirale, bois et lumière chaude), logo blanc et mention en haut,
   puis le titre et trois faits sur fond crème. Unités cqw : tout suit la largeur de la couverture. */
.rp-couv2 { container-type: inline-size; position: relative; z-index: 2; display: block; padding: 0; overflow: hidden; aspect-ratio: 1 / 1.414; border-radius: 10px; background: #faf8f5; box-shadow: 0 1px 0 rgba(35, 11, 32, .05), 0 30px 60px rgba(35, 11, 32, .2); }
.rp-c-photo { position: absolute; left: 0; right: 0; top: 0; height: 60%; border-radius: 0; overflow: hidden; }
.rp-c-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 8, 18, .5) 0%, rgba(20, 8, 18, 0) 34%); }
.rp-c-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 45% 50%; }
.rp-couv2 .rp-c-logo { position: absolute; z-index: 1; left: 6cqw; top: 6cqw; width: 19cqw; height: auto; padding: 0; background: none; border-radius: 0; }
.rp-couv2 .rp-c-type { position: absolute; z-index: 1; right: 6cqw; top: 6.6cqw; padding: 0; background: none; font: 2.4cqw var(--ac-mono); color: rgba(255, 255, 255, .92); }
.rp-c-bas { position: absolute; left: 0; right: 0; bottom: 0; height: 40%; box-sizing: border-box; display: flex; flex-direction: column; padding: 5.5cqw 6cqw 5cqw; }
.page-accueil-v5 .rp-couv2 .rp-c-kicker { margin: 0; font: 2.3cqw/1.3 var(--ac-mono); color: var(--ac-gris); }
.page-accueil-v5 .rp-couv2 .rp-c-titre { margin: 2.6cqw 0 0; font-size: 6.9cqw; line-height: 1.04; letter-spacing: -0.035em; color: var(--ac-encre); text-wrap: balance; }
.page-accueil-v5 .rp-c-faits { margin: auto 0 0; display: flex; padding-top: 3cqw; border-top: 1px solid var(--ac-ligne); font: 2.3cqw var(--ac-mono); color: var(--ac-encre); }
.rp-c-faits span + span { margin-left: 3cqw; padding-left: 3cqw; border-left: 1px solid var(--ac-ligne); }

/* ===== v61 : détail d'une journée en plan lisible =====
   Trois lignes alignées : matin, après-midi, livrables. Le moment à gauche, le titre en noir, une ligne grise en dessous. */
.mp-detail { padding: 0 22px 20px 74px; }
.page-accueil-v5 .mp-plan { margin: 4px 0 0; padding: 0; list-style: none; }
.mp-plan li { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid var(--ac-ligne); }
.mp-quand { display: flex; align-items: flex-start; gap: 6px; padding-top: 3px; font-size: 11.5px; color: var(--ac-gris); }
.page-accueil-v5 .mp-plan p { margin: 0; display: grid; gap: 4px; font-size: 14.5px; line-height: 1.45; color: var(--ac-texte); }
.mp-plan b { font-weight: 500; font-size: 16px; line-height: 1.35; color: var(--ac-encre); }
.mp-plan-liv .mp-quand { color: var(--ac-encre); }
.mp-plan-liv .ico { flex: none; width: 13px; height: 13px; margin-top: 1px; padding: 2px; border-radius: 50%; background: var(--ac-encre); color: #fff; box-sizing: content-box; }
.mp-plan-liv b { font-weight: 400; }
@media (max-width: 900px) { .mp-detail { padding-left: 22px; } .mp-plan li { grid-template-columns: 78px minmax(0, 1fr); } }
.mp-detail .mp-plan .mp-quand { color: var(--ac-gris); }
.mp-detail .mp-plan .mp-plan-liv .mp-quand { color: var(--ac-encre); }
/* FAQ : deux groupes, la formation puis l'IA et le métier */
.page-accueil-v5 .faq-groupe { margin: 0; padding: 26px 0 10px; font-size: 12px; color: var(--ac-gris); }
.page-accueil-v5 .faq-groupe:first-child { padding-top: 0; }
.faq-answer p { margin: 0; }
/* FAQ : la question est un titre h3 (structure lisible par Google et les IA), sans changer l'apparence */
.page-accueil-v5 .faq-list summary h3 { display: inline; margin: 0; font: inherit; letter-spacing: inherit; color: inherit; }
.faq-answer a { color: var(--ac-encre); text-decoration: underline; text-underline-offset: 3px; }
.faq-answer a:hover { color: var(--ac-magenta); }

/* ===== v63 ===== */
/* Détail d'une journée : trois niveaux nets. Le moment au-dessus (petit, gris), le titre du module (noir, 17 px),
   la phrase (gris, 14,5 px). Les livrables sont un encart blanc, pas une troisième ligne du programme. */
.mp-detail { padding: 2px 22px 22px 74px; }
.page-accueil-v5 .mp-plan { margin: 6px 0 0; padding: 0; list-style: none; display: block; }
.mp-plan li { display: block; padding: 16px 0 18px; border-top: 1px solid var(--ac-ligne); }
.mp-detail .mp-plan .mp-quand { display: flex; align-items: center; gap: 7px; padding: 0; margin: 0 0 8px; font-size: 12px; line-height: 1; color: var(--ac-gris); }
.page-accueil-v5 .mp-plan p { margin: 0; display: block; font-size: 14.5px; line-height: 1.5; color: var(--ac-gris); }
.mp-plan p b { display: block; margin: 0 0 5px; font-weight: 500; font-size: 17px; line-height: 1.3; letter-spacing: -.01em; color: var(--ac-encre); }
.mp-plan li.mp-plan-liv { margin-top: 4px; padding: 14px 16px 15px; border: 0; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--ac-ligne); }
.mp-detail .mp-plan .mp-plan-liv .mp-quand { margin-bottom: 7px; color: var(--ac-encre); }
.mp-plan-liv .ico { width: 10px; height: 10px; margin: 0; padding: 2px; }
.mp-plan .mp-plan-liv p b { margin: 0; font-weight: 400; font-size: 14.5px; line-height: 1.5; letter-spacing: 0; color: var(--ac-texte); }
.mp-titre { font-size: clamp(21px, 2.1vw, 26px); }
@media (max-width: 900px) { .mp-detail { padding-left: 22px; } .mp-plan li { display: block; } }

/* Calendrier : les infos pratiques en une ligne sous les sessions (exigées par Qualiopi, visibles sans cliquer) */
.page-accueil-v5 .cal-pratique { margin: 24px 0 0; padding: 0 6px; list-style: none; display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 14.5px; line-height: 1.4; color: var(--ac-texte); }
.cal-pratique li { display: flex; align-items: center; gap: 8px; }
.cal-pratique .ico { flex: none; width: 10px; height: 10px; padding: 3px; border-radius: 50%; background: var(--ac-sable); color: var(--ac-encre); box-sizing: content-box; }
.cal-pratique a { color: inherit; text-decoration: underline; text-decoration-color: var(--ac-ligne-2, #cfc5bc); text-underline-offset: 3px; }
.cal-pratique a:hover { color: var(--ac-encre); text-decoration-color: var(--ac-magenta); }
@media (max-width: 760px) { .page-accueil-v5 .cal-pratique { flex-direction: column; gap: 10px; padding: 0 2px; } }

/* Questions : deux colonnes dès 861 px (titre fixe à gauche), deux thèmes en onglets, lignes plus fines.
   Sans JavaScript, les deux listes restent visibles l'une sous l'autre. */
.page-accueil-v5 .ac-faq.fm-fond { padding-top: clamp(80px, 9vw, 120px); padding-bottom: clamp(80px, 9vw, 110px); }
.faq-v2 .faq-tete { display: grid; gap: 16px; align-content: start; }
.faq-v2 .faq-tete .ac-kicker, .faq-v2 .faq-tete .ac-h2 { margin: 0; }
.faq-autre { margin: 4px 0 0; font-size: 15.5px; line-height: 1.5; color: var(--ac-texte); }
.faq-autre a { color: var(--ac-encre); text-decoration: underline; text-decoration-color: var(--ac-magenta); text-underline-offset: 3px; }
@media (min-width: 861px) {
  .ac-faq .faq-v2 { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
  .faq-v2 .faq-tete { position: sticky; top: 110px; }
}
.faq-onglets { display: none; }
.faq-js .faq-onglets { display: inline-flex; gap: 4px; margin: 0 0 14px; padding: 4px; border-radius: 999px; background: var(--ac-sable); }
.faq-onglets button { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; font-size: 15px; line-height: 1.2; color: var(--ac-texte); transition: background .2s, color .2s; }
.faq-onglets button span { font-family: var(--ac-mono); font-size: 12px; color: var(--ac-gris); }
.faq-onglets button:hover { color: var(--ac-encre); }
.faq-onglets button[aria-selected="true"] { background: #fff; color: var(--ac-encre); box-shadow: 0 1px 3px rgba(35, 11, 32, .1); }
.faq-onglets button:focus-visible { outline: 2px solid var(--ac-magenta); outline-offset: 2px; }
.faq-js .faq-groupe { display: none; }
.faq-v2 .faq-list[hidden] { display: none; }
.faq-v2 .faq-list + .faq-list { margin-top: 28px; }
.faq-js .faq-list + .faq-list { margin-top: 0; }
.ac-faq .faq-v2 details { padding: 18px 0; }
.ac-faq .faq-v2 summary { font-size: clamp(16.5px, 1.3vw, 19px); line-height: 1.35; }
.ac-faq .faq-v2 .faq-answer { margin-top: 10px; font-size: 16px; line-height: 1.6; }
@media (max-width: 520px) {
  .faq-js .faq-onglets { display: flex; }
  .faq-onglets button { flex: 1 1 auto; justify-content: center; padding: 9px 10px; font-size: 14px; }
}

/* Dernier appel : photo d'intérieur au soir, floutée, voile sombre à gauche pour le texte. Plus de trame de points. */
.fm-final-photo { background: var(--ac-nuit); }
.fm-final-photo::before { display: none; }
.fm-final-fond { position: absolute; inset: 0; }
.fm-final-fond img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fm-final-fond::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(26, 10, 24, .88) 0%, rgba(26, 10, 24, .66) 45%, rgba(26, 10, 24, .3) 100%); }
.page-accueil-v5 .fm-final-photo .ac-h2 { max-width: 760px; }
@media (max-width: 760px) { .fm-final-fond::after { background: rgba(26, 10, 24, .7); } }
.fm-final-fond img { object-position: 72% 50%; }
/* v63 · finitions : pas de mot seul en fin de titre ou de phrase */
.mp-titre, .mp-plan p b, .ac-faq .faq-v2 summary h3, .faq-v2 .faq-tete .ac-h2, .fm-final .ac-h2 { text-wrap: balance; }
.page-accueil-v5 .mp-plan p, .faq-autre, .faq-answer p, .cal-pratique li { text-wrap: pretty; }
.fm-final-fond img { object-position: 72% 18%; }
@media (min-width: 761px) { .page-accueil-v5 .cal-pratique { display: grid; grid-template-columns: repeat(2, max-content); gap: 12px 44px; } }
/* Dernier appel (photo de Laura) : composition centrée, la lampe nette en haut éclaire le titre ;
   le bas de la photo est flouté (dans l'image) et assombri pour le texte. */
.fm-final-photo { padding-top: clamp(230px, 27vw, 380px); padding-bottom: clamp(70px, 8vw, 110px); text-align: center; }
.fm-final-photo .ac-cadre { justify-items: center; }
.page-accueil-v5 .fm-final-photo .ac-h2 { max-width: 820px; margin-inline: auto; }
.fm-final-photo .fm-final-actions { justify-content: center; }
.fm-final-photo .fm-final-fond img { object-position: 50% 18%; }
.fm-final-photo .fm-final-fond::after { background: linear-gradient(180deg, rgba(26, 10, 24, .18) 0%, rgba(26, 10, 24, .42) 38%, rgba(26, 10, 24, .8) 72%, rgba(26, 10, 24, .9) 100%); }
@media (max-width: 760px) { .fm-final-photo .fm-final-fond::after { background: linear-gradient(180deg, rgba(26, 10, 24, .2) 0%, rgba(26, 10, 24, .5) 35%, rgba(26, 10, 24, .86) 70%); } }
.fm-final-photo { padding-top: clamp(230px, 24vw, 330px); }
.page-accueil-v5 .fm-final-photo .ac-h2 { max-width: 1000px; }

/* ===== v64 ===== */
/* Haut de page, téléphone : le binôme tient sur une ligne (photos qui se chevauchent) pour remonter la fiche date et prix */
.fc-duo-court { display: none; }
@media (max-width: 760px) {
  .page-accueil-v5 .fc .fc-duo { display: none; }
  .page-accueil-v5 .fc-duo-court { display: inline-flex; align-items: center; gap: 10px; margin: 18px auto 0; font-size: 15px; line-height: 1.3; color: var(--ac-texte); }
  .fc-duo-av { display: inline-flex; flex: none; }
  .fc-duo-av img { display: block; width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; }
  .fc-duo-av img + img { margin-left: -10px; }
}

/* Dernier appel : rappel de la prochaine session (rempli depuis le calendrier par le script) */
.page-accueil-v5 .fm-final-date { margin: 0; font-size: 13px; color: rgba(244, 240, 236, .72); }
.av-resultats-zone { padding: 0 var(--ac-marge); }
@media (max-width: 760px) { .av-resultats-zone { padding: 0 16px; } }

/* Avis : les résultats de la dernière session (Qualiopi, indicateur 2), présentés comme la fiche du haut de page */
.page-accueil-v5 .av-res { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 34px; padding: 24px 0 26px; border: 1px solid var(--ac-ligne); border-radius: 22px; background: var(--ac-fond); }
.av-res-cel { display: grid; align-content: start; gap: 8px; padding: 0 28px; }
.av-res-cel + .av-res-cel { border-left: 1px solid var(--ac-ligne); }
.page-accueil-v5 .av-res-cel .ac-mono { margin: 0; font-size: 11.5px; color: var(--ac-gris); }
.av-res-cel b { font-weight: 400; font-size: clamp(32px, 3.2vw, 42px); line-height: 1; letter-spacing: -.03em; color: var(--ac-encre); }
.av-res-cel span { max-width: 260px; font-size: 14px; line-height: 1.4; color: var(--ac-texte); text-wrap: pretty; }
.page-accueil-v5 .av-res-note { margin: 12px 6px 0; font-size: 12px; line-height: 1.45; color: var(--ac-gris-2); }
@media (max-width: 760px) {
  .page-accueil-v5 .av-res { grid-template-columns: 1fr; padding: 4px 22px; }
  .av-res-cel { padding: 18px 0; }
  .av-res-cel + .av-res-cel { border-left: 0; border-top: 1px solid var(--ac-ligne); }
}
/* Programme : un bouton qui ouvre le formulaire Tally (l'e-mail est gardé, puis le PDF s'ouvre) */
.rp-centre .rp-action { display: grid; justify-items: center; gap: 10px; }
.page-accueil-v5 .rp-centre .rp-action .rp-l { margin: 0; }
/* Largeur des blocs sous le haut de page : un cadre commun plus étroit que les 1360 px de l'accueil */
.page-accueil-v5 .pv .ac-cadre,
.page-accueil-v5 .fm-sec .ac-cadre,
.page-accueil-v5 .ac-avis .ac-cadre,
.page-accueil-v5 .ac-faq .ac-cadre,
.page-accueil-v5 .fm-final .ac-cadre { max-width: 1160px; }
/* Échelle plus fine que l'accueil sur toute la page : grand titre, titres de section, espaces */
.page-accueil-v5 .fh-centre h1 { font-size: clamp(40px, 5.2vw, 76px); }
.page-accueil-v5 .fc-sous b { font-size: clamp(19px, 1.7vw, 23px); }
.page-accueil-v5 .fm-sec .ac-h2,
.page-accueil-v5 .ac-avis .ac-h2,
.page-accueil-v5 .ac-faq .ac-h2,
.page-accueil-v5 .rp-centre .ac-h2 { font-size: clamp(30px, 3.1vw, 44px); line-height: 1.1; }
.page-accueil-v5 .fm-final .ac-h2 { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.06; }
@media (min-width: 901px) {
  .page-accueil-v5 .fm-sec { padding-top: 96px; padding-bottom: 96px; }
  .page-accueil-v5 .ac-entete-ligne, .page-accueil-v5 .mp-tete { margin-bottom: 40px; }
}
/* Fiche du haut de page : trois repères et un bouton, sans renvoi ni note */
.page-accueil-v5 .fb { padding: 18px 18px 18px 28px; }
.page-accueil-v5 .fb-cel b { font-size: clamp(17px, 1.4vw, 20px); }
.page-accueil-v5 .fb-cel span { font-size: 13px; }
/* Formatrices : hiérarchie plus calme (un titre, un texte courant, une citation discrète) */
.page-accueil-v5 #formatrice .fz-texte { gap: 18px; }
.page-accueil-v5 #formatrice .fz-duo-txt { max-width: 480px; gap: 10px; }
.page-accueil-v5 #formatrice .fz-duo-txt p { font-size: 16px; line-height: 1.6; }
.page-accueil-v5 #formatrice .fz-citation { margin-top: 10px; max-width: 480px; padding-left: 18px; border-left-width: 1px; }
.page-accueil-v5 #formatrice .fz-citation p { font-size: 17px; line-height: 1.55; color: var(--ac-texte); }
.page-accueil-v5 #formatrice .fz-carte b { font-size: 18px; }
/* Fiche sans bouton : trois repères sur toute la largeur */
.page-accueil-v5 .fb { grid-template-columns: 1fr; padding: 20px 30px; }
@media (min-width: 901px) { .page-accueil-v5 .fb-infos { grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; } }
.page-accueil-v5 .fc-sous b { margin-bottom: 0; }
/* Preuves : chiffres au même poids que les logos */
.page-accueil-v5 .pv-liste b { font-weight: 400; font-size: clamp(26px, 2.6vw, 36px); }
/* Financement : chiffres moins massifs, titre Qualiopi au niveau d'un sous-titre */
.page-accueil-v5 .fe-chiffres { margin-top: 32px; }
.page-accueil-v5 .fe-chiffres b { font-size: clamp(28px, 3vw, 42px); }
.page-accueil-v5 .ar-qualiopi h3 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; letter-spacing: -0.02em; }
.page-accueil-v5 .ar-qualiopi > div { gap: 14px; }
/* Barre de sommaire alignée sur la largeur des blocs */
.page-accueil-v5 .sn-pilule { max-width: 1160px; }
/* Avis : le carrousel démarre à l'aplomb du titre (cadre de 1160 px), citations un peu moins grosses */
.page-accueil-v5 .ac-avis .ac-cadre { max-width: calc(1160px + 2 * var(--ac-marge)); }
.page-accueil-v5 .ac-avis-piste { --bord: max(var(--ac-marge), (100vw - 1160px) / 2); }
.page-accueil-v5 .ac-avis-carte.fm-avis-txt blockquote p { font-size: clamp(20px, 1.7vw, 24px); line-height: 1.2; }
