/* ============ polices ============
   Fontes auto-hébergées : aucune requête vers un tiers, donc aucune adresse IP
   de visiteur transmise hors du site. Outfit et Plus Jakarta Sans sont diffusées
   sous licence SIL Open Font, qui autorise l'hébergement. Fichiers variables,
   sous-ensemble latin. */
@font-face{
  font-family:"Outfit";
  src:url("fonts/outfit-latin.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Plus Jakarta Sans";
  src:url("fonts/plus-jakarta-sans-latin.woff2") format("woff2");
  font-weight:200 800;font-style:normal;font-display:swap;
}

/* ============ tokens ============ */
:root{
  --navy:#191B54;
  --navy-2:#23276E;
  --navy-3:#2E3390;
  --yellow:#E8F470;
  --yellow-2:#DCEB4C;
  --ice:#D9EAF8;
  --ice-2:#C3DDF2;
  --ground:#FFFFFF;
  --tint:#F4F6FB;
  --ink:#191B54;
  --body:#4B5077;
  --muted:#5E6388;        /* 5,81:1 sur blanc, 5,37:1 sur --tint : AA tenu sur les petits libellés */
  --line:#E2E5F0;         /* filets décoratifs seulement */
  --bordure-champ:#7A7FA3;/* limite d'un composant de saisie : 3,89:1 sur blanc, règle 1.4.11 */
  --cible-min:44px;       /* cible tactile, règle 2.5.8 */
  --line-dark:rgba(255,255,255,.18);
  --nav-h:88px;
  --nav-pastille:48px;
  --r-pill:999px;
  --r-panel:28px;
  --r-card:20px;
  --display:"Outfit","Helvetica Neue",Arial,sans-serif;
  --text:"Plus Jakarta Sans","Segoe UI",Roboto,Arial,sans-serif;
  --mono:"Plus Jakarta Sans","Segoe UI",Roboto,Arial,sans-serif;
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--ground);color:var(--body);
  font-family:var(--text);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--display);text-wrap:balance}
h1,h2{text-transform:uppercase;font-weight:600;letter-spacing:-.005em;line-height:1.06}
h1{font-size:clamp(2.1rem,5.2vw,4rem)}
h2{font-size:clamp(1.65rem,3.6vw,2.8rem)}
h3{font-family:var(--display);font-size:1.06rem;font-weight:600;line-height:1.3}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:inherit}
img{max-width:100%}

.wrap{width:100%;max-width:1260px;margin-inline:auto;padding-inline:clamp(16px,3.4vw,38px)}
.band{padding-block:clamp(56px,7vw,104px)}
.band-tint{background:var(--tint)}
.kicker{font-family:var(--text);font-weight:500;font-size:0.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:14px}
.statement{font-family:var(--display);font-weight:500;text-transform:uppercase;
  font-size:clamp(1rem,1.75vw,1.4rem);line-height:1.34;color:var(--ink)}
.lede{font-size:1.04rem;max-width:56ch}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,4vw,60px);align-items:start;margin-top:32px}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* ============ buttons ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--text);font-weight:600;font-size:.92rem;
  padding:13px 24px;border-radius:var(--r-pill);border:1px solid transparent;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background .16s ease,border-color .16s ease,color .16s ease}
.btn-yellow{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
.btn-yellow:hover{background:var(--yellow-2);border-color:var(--yellow-2)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn-ice{background:var(--ice);color:var(--navy);border-color:var(--ice)}
/* Appel principal d'une carte de session : bleu ciel au repos, marine au survol.
   Répété treize fois sur une page, le marine plein assombrissait la lecture. */
.btn-glacier{background:var(--ice);color:var(--navy);border-color:var(--ice)}
.btn-glacier:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-glacier:focus-visible{outline-offset:3px}
.btn-ice:hover{background:var(--ice-2);border-color:var(--ice-2)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--line)}
.btn-outline:hover{border-color:var(--navy)}
.btn-sm{padding:9px 17px;font-size:.85rem}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* ============ announce ============ */
.announce{background:var(--navy);color:#fff;font-size:.85rem}
.announce-in{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:center;padding-block:11px;text-align:center}
.announce a{background:var(--yellow);color:var(--navy);border-radius:var(--r-pill);padding:6px 16px;font-weight:700;font-size:.8rem;text-decoration:none}
.announce a:hover{background:var(--yellow-2)}

/* ============ nav ============ */
.nav{position:sticky;top:0;z-index:80;padding-block:20px}
.nav-in{display:flex;align-items:center;gap:10px}
.brand{display:flex;flex-direction:column;gap:2px;text-decoration:none;margin-right:auto;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 22px;
  height:var(--nav-pastille)}
.brand b{font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:var(--navy);text-transform:uppercase;line-height:1.05}
.brand span{font-family:var(--text);font-weight:500;font-size:0.69rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1}
.nav-pill{display:flex;align-items:center;gap:2px;background:var(--ground);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 7px;
  height:var(--nav-pastille)}
.nav-pill a{text-decoration:none;font-size:.88rem;font-weight:600;color:var(--navy);padding:8px 15px;border-radius:var(--r-pill);white-space:nowrap}
.nav-pill a:hover,.nav-pill a[aria-current="page"]{background:var(--tint)}
.nav-cta{height:var(--nav-pastille);padding-block:0}
/* Sous-menu : le libellé est un lien vers la page d'entrée de la rubrique, la flèche est
   un bouton de divulgation. Le script commande l'attribut « hidden » ; sans lui, la flèche
   reste masquée et seul le lien subsiste. */
.nav-groupe{position:relative;display:flex}
.nav-groupe-tete{display:flex;align-items:center}
.nav-groupe-tete>a{padding-right:9px}
.nav-fleche{display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:26px;height:32px;padding:0;background:none;border:0;border-radius:var(--r-pill);
  color:var(--navy);cursor:pointer}
.nav-fleche svg{width:15px;height:15px;transition:transform .16s ease}
.nav-fleche[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-fleche:hover{background:var(--tint)}
.nav-fleche[hidden]{display:none}
.nav-sous{position:absolute;top:100%;left:0;z-index:20;min-width:212px;margin-top:6px;padding:6px;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:0 12px 30px rgba(25,27,84,.10)}
.nav-sous[hidden]{display:none}
.nav-sous a{display:block;white-space:nowrap}
/* --------------------------------------------------------------------------
   Menu replié, en dessous de 960 pixels
   La pastille de navigation cède la place à un bouton de bascule de la même
   hauteur que les deux autres pastilles ; le panneau reprend les mêmes entrées.
   -------------------------------------------------------------------------- */
.nav-bascule{display:none;align-items:center;justify-content:center;
  width:var(--nav-pastille);height:var(--nav-pastille);padding:0;flex:none;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-pill);
  color:var(--navy);cursor:pointer}
.nav-barres{display:flex;flex-direction:column;justify-content:center;gap:4px;width:18px}
.nav-barres i{display:block;height:2px;border-radius:2px;background:currentColor;
  transition:transform .16s ease,opacity .16s ease}
.nav-bascule[aria-expanded="true"] .nav-barres i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-bascule[aria-expanded="true"] .nav-barres i:nth-child(2){opacity:0}
.nav-bascule[aria-expanded="true"] .nav-barres i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.nav-replie{position:absolute;left:0;right:0;top:100%;margin-top:-8px}
.nav-replie-in{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:0 12px 30px rgba(25,27,84,.10);padding:10px;
  max-height:calc(100vh - var(--nav-h) - 24px);overflow:auto}
.nav-replie ul{display:flex;flex-direction:column;gap:2px}
.nav-replie a{display:block;text-decoration:none;font-size:.95rem;font-weight:600;
  color:var(--navy);padding:12px 14px;border-radius:var(--r-pill)}
.nav-replie a:hover,.nav-replie a[aria-current="page"]{background:var(--tint)}
.nav-replie ul ul{margin:2px 0 2px 14px;padding-left:12px;border-left:1px solid var(--line)}
.nav-replie ul ul a{font-weight:500;font-size:.9rem;color:var(--body)}
/* dans le panneau replié, la flèche déplie les offres en dessous, sans superposition */
.nav-replie-groupe-tete{display:flex;align-items:center;gap:6px}
.nav-replie-groupe-tete>a{flex:1;min-width:0}
.nav-replie-groupe .nav-fleche{width:44px;height:44px;border:1px solid var(--line)}
.nav-replie-sous[hidden]{display:none}

/* en deçà, le menu ne tient plus sur une ligne à côté de la marque et de l'appel à
   l'action : la pastille demande 1 035 pixels, gouttières comprises */
@media (max-width:1080px){
  .nav-pill{display:none}
  .nav-bascule{display:inline-flex}
}
/* sur téléphone, la marque, l'appel à l'action et la bascule tiennent côte à côte */
@media (max-width:480px){
  .nav-cta{padding-inline:14px;font-size:.85rem}
  .nav-in{gap:8px}
}

/* ============ hero ============ */
.hero{position:relative;overflow:hidden;color:#fff;margin-top:calc(var(--nav-h) * -1);padding-top:var(--nav-h);
  background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 62%,var(--navy-3) 100%)}
.hero-art{position:absolute;inset:0;pointer-events:none;opacity:.55}
.hero-art svg{position:absolute;right:-8%;top:-14%;width:min(1050px,92%);height:auto}
.hero .wrap{position:relative;z-index:2}
.hero-in{padding-block:clamp(34px,4.6vw,66px) clamp(26px,3.4vw,44px);max-width:60rem}
.hero .lede{max-width:46ch}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero .lede{margin-top:24px;color:#C9D2EC}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* en-tête vidéo : la vidéo est en niveaux de gris sur fond noir ; fondue en « écran »
   sur le marine, le noir disparaît et seuls les tracés clairs demeurent */
.hero--video{display:flex;flex-direction:column;justify-content:center;
  min-height:clamp(520px,68svh,640px);background:var(--navy)}
.hero--video .wrap{width:100%}
.hero-media{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 62%,var(--navy-3) 100%)}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;mix-blend-mode:screen}
/* voile de lecture : dense sous le texte, ouvert sur la silhouette, fermé vers le bas */
.hero--video::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(25,27,84,.94) 0%,rgba(25,27,84,.72) 34%,rgba(25,27,84,0) 64%),
    linear-gradient(0deg,rgba(25,27,84,.85) 0%,rgba(25,27,84,0) 26%),
    linear-gradient(180deg,rgba(25,27,84,.6) 0%,rgba(25,27,84,0) 22%)}
@media (min-width:961px){
  /* la silhouette, centrée dans la vidéo, glisse dans la moitié droite */
  .hero-media img,.hero-media video{left:30%;width:70%;object-position:15% 50%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 24%);
    mask-image:linear-gradient(90deg,transparent 0%,black 24%)}
}
.hero--video .hero-in{max-width:42rem;padding-block:clamp(28px,3.6vw,56px)}
.hero--video h1{font-size:clamp(2.2rem,4.4vw,3.9rem);line-height:1.04}
.hero--video .lede{color:#DCE3F5}
@media (max-width:700px){
  .hero--video{min-height:78svh;justify-content:flex-end}
  .hero--video::before{background:
    linear-gradient(0deg,rgba(25,27,84,.96) 0%,rgba(25,27,84,.82) 48%,rgba(25,27,84,.25) 78%,rgba(25,27,84,.55) 100%)}
  .hero--video .hero-in{padding-block:0 76px}
}
.hero-pause{position:absolute;z-index:3;right:clamp(16px,3.4vw,38px);bottom:clamp(16px,2.4vw,28px);
  width:var(--cible-min);height:var(--cible-min);border-radius:50%;display:grid;place-items:center;
  color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.34);cursor:pointer;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s}
.hero-pause:hover{background:rgba(255,255,255,.2)}
.hero-pause:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.hero-pause svg{width:18px;height:18px;fill:currentColor}
.hero-pause .ic-lecture,.hero-pause[aria-pressed="true"] .ic-pause{display:none}
.hero-pause[aria-pressed="true"] .ic-lecture{display:block}
@media print{.hero-media,.hero-pause{display:none}}

.logoband{position:relative;z-index:2;border-top:1px solid var(--line-dark)}
.logoband-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;padding-block:20px}
.logoband .lab{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.16em;text-transform:uppercase;color:#9FADD6;width:100%}
.logoband .org{font-family:var(--display);font-weight:600;font-size:.95rem;color:#fff;opacity:.72;text-transform:uppercase;letter-spacing:.01em}

/* ============ réalité de l'IA ============ */
.reel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px}
@media (max-width:900px){.reel{grid-template-columns:1fr}}
.reel-item{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  padding:clamp(22px,2.2vw,30px);display:flex;flex-direction:column}
.gaufre{display:block;width:min(184px,58%);height:auto;margin:0 auto 22px}
.gaufre .d{fill:var(--line)}
.gaufre .d.on{fill:var(--navy)}
.gaufre--jaune .d.on{fill:var(--yellow)}
.gaufre--rouge .d.on{fill:var(--framboise)}
.reel-item .n{display:block;font-family:var(--display);font-weight:600;
  font-size:clamp(2.6rem,4.6vw,3.6rem);line-height:1;letter-spacing:-.025em;color:var(--navy);
  font-variant-numeric:tabular-nums;text-align:center}
.reel-item .t{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
  font-weight:600;font-size:1rem;line-height:1.45;color:var(--ink)}
.reel-item .p{margin-top:10px;font-size:.86rem;line-height:1.58}
.reel-item .src{white-space:nowrap;color:var(--navy);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:var(--line)}
.reel-item .src:hover{text-decoration-color:var(--navy)}

/* ============ offer panels ============ */
.panel{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-panel);
  padding:clamp(22px,2.8vw,38px);margin-top:20px}
.panel-head{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,1fr) auto;gap:16px 26px;
  align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}
@media (max-width:900px){.panel-head{grid-template-columns:1fr;align-items:start}}
.panel-head .lab{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:.98rem;color:var(--muted)}
.panel-head .num{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(1.05rem,1.9vw,1.42rem);color:var(--navy)}
.panel-body{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,1fr);gap:24px 26px;padding-top:24px}
@media (max-width:900px){.panel-body{grid-template-columns:1fr}}
.plist li{border-top:1px solid var(--line)}
.plist li:first-child{border-top:0}
.plist a{display:flex;gap:12px;align-items:baseline;padding-block:11px;text-decoration:none;font-size:.89rem;color:var(--body)}
.plist a:hover{color:var(--navy)}
.plist a:hover .t{text-decoration:underline}
.plist .c{font-family:var(--text);letter-spacing:.05em;font-weight:500;font-size:.78em;color:var(--muted);white-space:nowrap}
.plist .t{flex:1}
.panel-lead{font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1rem,1.65vw,1.26rem);line-height:1.32;color:var(--navy)}
.panel-list{margin-top:16px;display:flex;flex-direction:column;gap:10px;font-size:.93rem}
.panel-list li{padding-left:18px;position:relative}
.panel-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--yellow);outline:1px solid var(--navy-3)}

/* ============ catalogue ============ */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chip{display:inline-flex;align-items:center;min-height:var(--cible-min);
  font-family:var(--text);font-size:.84rem;font-weight:600;padding:0 17px;border-radius:var(--r-pill);
  border:1px solid var(--line);background:var(--ground);color:var(--navy);cursor:pointer}
.chip:hover{border-color:var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.ico-puce{width:13px;height:13px;flex:none;color:var(--navy-3);margin-top:.3em}

/* ============ formats ============ */
.fmt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px}
@media (max-width:940px){.fmt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.fmt-grid{grid-template-columns:1fr}}
.fmt{border:1px solid var(--line);border-radius:var(--r-card);padding:24px;background:var(--ground)}
.fmt .d{font-family:var(--display);font-weight:600;font-size:1.75rem;color:var(--navy);line-height:1;display:block}
.fmt .d s{text-decoration:none;color:var(--navy-3)}
.fmt h3{margin-top:12px}
.fmt p{font-size:.88rem;margin-top:9px}

/* ============ steps ============ */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:38px}
@media (max-width:940px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{border-top:3px solid var(--yellow);padding-top:18px}
.step .n{font-family:var(--text);font-weight:500;font-size:0.84rem;letter-spacing:.12em;color:var(--muted);display:block;margin-bottom:10px}
.step p{font-size:.9rem;margin-top:10px}

/* ============ navy section ============ */
.navy{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.navy-art{position:absolute;inset:0;pointer-events:none;opacity:.5}
.navy-art svg{position:absolute;left:-4%;top:-40%;width:min(1500px,118%);height:auto}
.navy .wrap{position:relative;z-index:2}
.navy h2,.navy h3{color:#fff}
.navy .statement{color:var(--ice)}
.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 46px;margin-top:38px}
@media (max-width:820px){.dgrid{grid-template-columns:1fr}}
.ditem{border-top:1px solid var(--line-dark);padding-top:18px}
.ditem p{color:#C2CBE8;font-size:.93rem;margin-top:10px}

/* ============ audiences ============ */
.aud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px}
@media (max-width:820px){.aud{grid-template-columns:1fr}}
.aud-card{border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(22px,2.6vw,34px);
  display:flex;flex-direction:column;gap:16px;background:var(--ground)}
.aud-card.alt{background:var(--ice)}
/* panneau blanc sur fond marine : le texte de la carte garde ses couleurs de lecture */
.navy .aud-card{color:var(--body)}
.navy .aud-card h3{color:var(--ink)}
.aud-card ul{display:flex;flex-direction:column;gap:9px;font-size:.93rem}
.aud-card li{padding-left:18px;position:relative}
.aud-card li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--yellow);outline:1px solid var(--navy-3)}
.aud-card .go{margin-top:auto;padding-top:6px}

/* ============ resource ============ */
.res{background:var(--yellow);border-radius:var(--r-panel);padding:clamp(24px,3.4vw,46px);
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:26px;align-items:center}
@media (max-width:820px){.res{grid-template-columns:1fr}}
.res h2,.res p{color:var(--navy)}
.res .kicker{color:var(--navy-3)}

/* ============ bio ============ */
.bio-body p+p{margin-top:15px}
.press{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:24px;align-items:center;border-top:1px solid var(--line);padding-top:18px}
.press .lab{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.press .t{font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--navy);opacity:.62;text-transform:uppercase}

/* ============ faq ============ */
.acc{margin-top:32px;border-top:1px solid var(--line);max-width:82ch}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding-block:18px;gap:20px;
  font-family:var(--display);font-weight:600;font-size:1rem;color:var(--navy);
  display:flex;justify-content:space-between;align-items:flex-start}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--text);letter-spacing:.11em;font-weight:500;color:var(--navy-3);font-size:1.27rem;line-height:1.15}
details[open] summary::after{content:"–"}
details .ans{padding-bottom:20px;font-size:.93rem;max-width:72ch}

/* ============ contact ============ */
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,54px);align-items:start;margin-top:32px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.coord li{padding-block:13px;border-top:1px solid var(--line);font-size:.93rem}
.coord li:first-child{border-top:0}
.coord .k{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}
.coord a{color:var(--navy);text-decoration:none;font-weight:700}
.coord a:hover{text-decoration:underline}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
  background:var(--tint);border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(20px,2.8vw,32px)}
@media (max-width:560px){form{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font-family:var(--text);font-size:.94rem;color:var(--navy);background:var(--ground);
  border:2px solid var(--bordure-champ);border-radius:12px;padding:10px 12px;min-height:var(--cible-min)}
input:hover,select:hover,textarea:hover{border-color:var(--navy)}
textarea{resize:vertical;min-height:98px}
input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(46,51,144,.14)}
.form-note{grid-column:1/-1;font-size:.79rem;color:var(--muted)}

/* ============ footer ============ */
/* ============ pied de page ============
   Quatre colonnes sur fond marine : la marque, le catalogue, le site, les mentions. */
.foot{background:var(--navy);color:rgba(255,255,255,.82);font-size:.92rem}
.foot-in{display:grid;grid-template-columns:1.6fr repeat(3,minmax(0,1fr));gap:clamp(26px,3vw,44px);
  padding-block:clamp(44px,5vw,66px) 0}
@media (max-width:1000px){
  .foot-in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-marque{grid-column:1/-1}
}
@media (max-width:560px){.foot-in{grid-template-columns:1fr}}
.foot-logo{max-width:300px}
.foot-logo .logo{width:100%;height:auto;color:#fff}
.foot-p{margin-top:16px;max-width:46ch;line-height:1.6}
.foot-contact{margin-top:26px}
.foot-contact ul{display:grid;gap:4px}
.foot-col ul{display:grid;gap:2px}
.foot a{color:rgba(255,255,255,.82);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot a:focus-visible,.foot-bar :focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:4px}
.foot li{padding-block:2px}
.foot a{display:inline-flex;align-items:center;min-height:var(--cible-min)}
.foot-bar a{min-height:auto}
.foot [aria-current="page"]{color:#fff}
.foot-plus{color:var(--yellow)!important;font-weight:600}
.foot-plus:hover{color:var(--yellow)!important}

/* ============ programme page ============ */
.phead{position:relative;overflow:hidden;color:#fff;margin-top:calc(var(--nav-h) * -1);padding-top:var(--nav-h);
  background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 70%,var(--navy-3) 100%)}
.phead-art{position:absolute;inset:0;pointer-events:none;opacity:.5}
.phead-art svg{position:absolute;right:-6%;top:-24%;width:min(900px,80%);height:auto}
.phead .wrap{position:relative;z-index:2}
/* En-tête illustré : texte à gauche, visuel à droite. Sans visuel, rien ne change. */
.phead--illustre .phead-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);
  gap:clamp(24px,4vw,64px);align-items:center;max-width:none}
.phead--illustre .phead-texte{min-width:0}
.phead-visuel{margin:0;justify-self:end;width:100%;max-width:480px}
.phead-visuel img{display:block;width:100%;height:auto}
/* Illustration au trait : elle se dissout vers le bas dans le fond de l'en-tête. */
.phead-visuel--fondu{align-self:stretch;display:flex;align-items:flex-end;
  margin-bottom:calc(-1 * clamp(26px,3.4vw,44px))}
.phead-illu{-webkit-mask-image:linear-gradient(to bottom,var(--navy) 0%,var(--navy) 50%,transparent 100%);
  mask-image:linear-gradient(to bottom,var(--navy) 0%,var(--navy) 50%,transparent 100%)}
@media (max-width:900px){
  .phead--illustre .phead-in{grid-template-columns:minmax(0,1fr);gap:clamp(18px,4vw,30px)}
  .phead-visuel{justify-self:center;max-width:min(62vw,340px)}
}
.phead-in{padding-block:clamp(38px,4.6vw,66px) clamp(26px,3.4vw,44px);max-width:56rem}
.phead--aside .phead-in,.phead--illustre .phead-in{max-width:none}
.crumb{font-family:var(--text);font-weight:500;font-size:0.84rem;letter-spacing:.08em;color:#9FADD6;margin-bottom:20px}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--yellow)}
.phead .code{font-family:var(--text);font-weight:500;font-size:0.94rem;letter-spacing:.1em;color:var(--yellow);display:block;margin-bottom:12px}
.phead h1{color:#fff;font-size:clamp(1.75rem,3.9vw,3rem)}
.phead-st{margin-top:12px;color:var(--ice);font-family:var(--display);font-weight:400;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.35;max-width:48ch}
.phead .sum{margin-top:20px;color:#C9D2EC;max-width:54ch;font-size:1.02rem}
.pmeta{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.pmeta span{border:1px solid var(--line-dark);border-radius:var(--r-pill);padding:7px 15px;font-size:.82rem;color:#DCE3F5}
.pmeta span b{color:#fff;font-weight:600}
.phead-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.player{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:clamp(22px,3.6vw,56px);align-items:start}
@media (max-width:900px){.player{grid-template-columns:1fr}}
.pside{position:sticky;top:96px;border:1px solid var(--line);border-radius:var(--r-panel);padding:24px;background:var(--tint)}
@media (max-width:900px){.pside{position:static}}
.pside h4{font-family:var(--text);font-size:0.79rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.pside li{font-size:.88rem;padding-block:9px;border-top:1px solid var(--line);color:var(--navy)}
.pside li:first-child{border-top:0;padding-top:0}
.pside-t + ul{margin-top:16px}
.pside .btn{width:100%;margin-top:18px}
.pcol{display:flex;flex-direction:column;gap:22px}
/* la fiche ne s'épingle pas dans cette colonne : elle passerait sur le médaillon placé dessous */
.pcol .pside{position:static}

.hub-lede{margin-bottom:28px}

.contact-medaillon{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  padding:22px;text-align:center}
.contact-medaillon__titre{font-family:var(--display);font-weight:600;font-size:.94rem;letter-spacing:.03em;
  text-transform:uppercase;color:var(--navy);margin-bottom:14px}
.contact-medaillon__portrait{display:block;width:96px;height:96px;margin:0 auto 12px;
  border-radius:50%;object-fit:cover}
.contact-medaillon__nom{font-size:1rem;font-weight:600;color:var(--navy)}
.contact-medaillon__fonction{font-size:.88rem;margin-bottom:16px}
.contact-medaillon__coord{margin-top:14px;font-size:.82rem;color:var(--navy)}
.contact-medaillon__coord li{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px}
.contact-medaillon__coord a{text-decoration:none}
.contact-medaillon__coord a:hover,.contact-medaillon__coord a:focus-visible{text-decoration:underline}

.psec{margin-top:0}
.psec + .psec{margin-top:clamp(34px,4vw,56px)}
.psec h2{font-size:clamp(1.3rem,2.4vw,1.85rem)}
.psec .body{margin-top:18px}
.psec .body>p+p{margin-top:14px}
.ouv-couv{float:right;width:220px;height:auto;margin:4px 0 18px clamp(20px,3vw,36px);border-radius:18px}
@media (max-width:600px){.ouv-couv{float:none;display:block;width:160px;margin:0 0 18px}}
.onum{counter-reset:o;list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;margin-top:18px}
.onum li{counter-increment:o;position:relative;padding-left:42px;font-size:.96rem}
.onum li::before{content:counter(o,decimal-leading-zero);position:absolute;left:0;top:1px;
  font-family:var(--text);letter-spacing:.11em;font-weight:500;font-size:0.87rem;color:var(--navy);background:var(--yellow);
  border-radius:var(--r-pill);padding:3px 9px;line-height:1.5}
.mod{border:1px solid var(--line);border-radius:var(--r-card);padding:22px;margin-top:14px}
.mod-top{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;justify-content:space-between}
.mod-top .t{font-family:var(--display);font-weight:600;font-size:1.02rem;color:var(--navy)}
.mod-top .d{font-family:var(--text);letter-spacing:.11em;font-weight:500;font-size:0.85rem;color:var(--muted)}
.mod ul{margin-top:14px;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.mod li{display:flex;align-items:flex-start;gap:8px}
.mod-at{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.92rem;font-style:italic}
.dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
@media (max-width:640px){.dl{grid-template-columns:1fr}}
.dl div{border-top:1px solid var(--line);padding-top:12px}
.dl dt{font-family:var(--text);font-weight:500;font-size:0.79rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.dl dd{margin:6px 0 0;font-size:.92rem;color:var(--body)}

.ctaband{background:var(--ice);border-radius:var(--r-panel);padding:clamp(24px,3.2vw,42px);
  display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:22px;align-items:center;margin-top:clamp(40px,5vw,70px)}
@media (max-width:760px){.ctaband{grid-template-columns:1fr}}
.ctaband h2{font-size:clamp(1.3rem,2.4vw,1.9rem)}
.ctaband p{color:var(--navy);opacity:.8;margin-top:10px;font-size:.95rem}
.ctaband .g{display:flex;flex-wrap:wrap;gap:12px}

.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
@media (max-width:900px){.related{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ============ accessibilité ============ */
.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--navy);color:#fff;
  padding:12px 20px;border-radius:0 0 var(--r-card) 0;font-weight:700;font-size:.9rem}
.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible{outline:3px solid var(--navy-3);outline-offset:2px}

/* ============ en-tête court ============ */
.phead-court{padding-bottom:clamp(30px,4vw,54px)}
.crumb{font-family:var(--text);font-weight:500;font-size:0.82rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.62);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.crumb a{color:rgba(255,255,255,.82);text-decoration:none}
.crumb a:hover{color:var(--yellow)}
.pside-p{border-radius:18px;margin-bottom:18px;max-width:100%;height:auto;aspect-ratio:1}
.pside-p.prt--mono{height:auto;aspect-ratio:1;width:100%}
.pside-t{font-family:var(--display);font-size:.98rem;text-transform:uppercase;letter-spacing:.02em}
.pside-f{font-size:.9rem;color:var(--body);margin-top:6px}

/* ============ chips ============ */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.empty{margin-top:22px;color:var(--muted);font-size:.9rem}

/* ============ formulaires ============ */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-panel);
  padding:clamp(20px,2.6vw,34px)}
@media (max-width:760px){.form{grid-template-columns:1fr}}
.form .field{display:flex;flex-direction:column;gap:7px}
.form .field.full{grid-column:1/-1}
.form label{font-family:var(--text);font-weight:500;font-size:0.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.form .req{color:var(--navy-3);margin-left:3px}
.form input,.form select,.form textarea{font-family:var(--text);font-size:.95rem;color:var(--ink);
  background:var(--tint);border:2px solid var(--bordure-champ);border-radius:12px;padding:11px 13px;width:100%;
  min-height:var(--cible-min)}
.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--navy)}
.form textarea{resize:vertical;min-height:104px}
.form input[aria-invalid="true"],.form select[aria-invalid="true"]{border-color:var(--navy-2)}
.form .err{color:var(--navy-2);font-size:.82rem;margin:0}
.form .consent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;align-items:start}
.form .consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy)}
.form .consent label{font-family:var(--text);font-size:.88rem;letter-spacing:0;text-transform:none;
  color:var(--body);line-height:1.5}
.form .consent .err{grid-column:1/-1}
.form-note{grid-column:1/-1;font-size:.83rem;color:var(--muted);margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ============ sessions et calendrier ============ */
.sess-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;align-items:stretch}
.sess-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.sess-grid,.sess-grid-3{grid-template-columns:1fr}}
.sess{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  padding:20px 22px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.sess[hidden]{display:none!important}
.sess-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sess-c{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sess-p{text-decoration:none;display:block}
.sess-p .t{font-family:var(--display);font-weight:600;font-size:1rem;line-height:1.25;
  color:var(--ink);display:block;margin-top:3px}
.sess-p:hover .t{color:var(--navy-3)}
.sess-d{font-family:var(--display);font-weight:600;font-size:1.18rem;line-height:1.15;color:var(--ink)}
.sess-x{font-family:var(--text);letter-spacing:.11em;font-weight:500;font-size:0.94rem;color:var(--navy-3)}
.sess-l{display:grid;gap:7px}
.sess-l li{display:flex;align-items:center;gap:9px;font-size:.88rem;color:var(--body)}
.sess-l .ico{color:var(--navy-3);flex:none}
.sess-l a{color:var(--navy);font-weight:600;text-decoration:none}
.sess-l a:hover{color:var(--navy-3)}
.sess .btn{margin-top:auto}
.sess-plus{margin-top:16px;font-size:.88rem;color:var(--muted);
  display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.sess-plus .go{font-weight:700;color:var(--navy);text-decoration:none}
.sess-plus .go:hover{color:var(--navy-3)}
.intra{background:var(--tint);border-radius:var(--r-card);padding:20px 22px;
  display:grid;gap:14px;justify-items:start;margin-top:20px}
.pside-s{display:flex;gap:9px;align-items:flex-start;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--line);font-size:.87rem}
.pside-s b{display:block;font-family:var(--text);font-size:0.78rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:2px}
.pside-s a{color:var(--navy);font-weight:600;text-decoration:none}
.pside-s a:hover{color:var(--navy-3)}
.pside-s .ico{color:var(--navy-3);flex:none;margin-top:3px}
.agenda-f{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}
.f-champ{display:grid;gap:6px;min-width:210px;flex:1 1 210px;max-width:320px}
.f-champ label{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted)}
.f-champ select{font-family:var(--text);font-size:.9rem;color:var(--ink);background:var(--ground);
  border:2px solid var(--bordure-champ);border-radius:var(--r-pill);padding:11px 17px;min-height:46px}
.f-champ select:focus-visible{outline:2px solid var(--navy-3);outline-offset:2px}
.mois{margin-bottom:36px}
.mois[hidden]{display:none!important}
.mois-t{font-family:var(--text);font-weight:500;font-size:0.84rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted)}
.btn-s{padding:9px 17px;font-size:.82rem}
.s{font-family:var(--text);font-weight:500;font-size:0.8rem;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 11px;border-radius:var(--r-pill);border:1px solid var(--line)}
.s-ouvert{background:var(--ice);color:var(--navy);border-color:var(--ice)}
.s-derniers{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
.s-complet{background:var(--tint);color:var(--muted)}

/* ============ intervenants ============ */
.regle-band{background:var(--navy);color:#fff;border-radius:var(--r-panel);
  padding:clamp(20px,2.6vw,32px);display:grid;gap:10px}
.regle-band .lab{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--yellow)}
.regle-band p{font-family:var(--display);font-size:clamp(1.05rem,2vw,1.4rem);
  font-weight:600;line-height:1.35;color:#fff;margin:0}
.regle{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);
  font-size:.86rem;color:var(--muted)}
.regle b{color:var(--ink);display:block;font-size:0.92rem;text-transform:uppercase;
  letter-spacing:.1em;font-family:var(--text);font-weight:500;margin-bottom:5px}
/* ============ corps d'intervenants ============
   Un portrait d'intervenant tient toujours le carré que le gabarit lui donne ;
   tant que la photographie n'est pas déposée, le monogramme occupe la place. */
.prt{width:var(--t,96px);height:var(--t,96px);flex:none;display:block;object-fit:cover}
.prt--mono{display:grid;place-items:center;background:var(--navy);color:#fff;
  font-family:var(--display);font-weight:600;letter-spacing:.02em;line-height:1;
  font-size:calc(var(--t,96px) * .34)}

/* Bloc « Intervenants » de la page Leadership : son ancre dégage la barre de navigation */
#intervenants{scroll-margin-top:var(--nav-h)}
.civ-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.civ-liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.civ-liste{grid-template-columns:1fr}}
.civ{background:var(--ground);border:1px solid var(--line);border-radius:26px;
  padding:clamp(18px,2vw,22px);display:flex;flex-direction:column;align-items:flex-start}
.civ-p{border-radius:18px;width:100%;height:auto;aspect-ratio:1}
.civ-n{font-family:var(--display);font-weight:600;font-size:1.12rem;
  text-transform:uppercase;letter-spacing:.01em;color:var(--navy);margin-top:16px}
.civ-f{font-family:var(--text);font-weight:500;font-size:.88rem;color:var(--navy-3);margin-top:6px}
.civ-a{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:auto;padding-top:18px}
.civ-a .btn{border-color:var(--bordure-champ);min-height:var(--cible-min)}
.anims{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.anim a{display:flex;flex-direction:column;gap:4px;text-decoration:none;
  border:1px solid var(--line);border-radius:var(--r-card);padding:16px 20px;background:var(--tint)}
.anim a:hover{border-color:var(--navy)}
.anim-n{font-family:var(--display);font-weight:600;color:var(--ink);font-size:1rem}
.anim-f{font-size:.85rem;color:var(--body)}
.bul{display:flex;flex-direction:column;gap:9px;margin-top:14px;font-size:.93rem}
.bul li{padding-left:17px;position:relative}
.bul li::before{content:"";position:absolute;left:0;top:.64em;width:7px;height:2px;background:var(--navy-3)}

/* ============ pages de texte ============ */
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.15rem,2.2vw,1.6rem);margin-top:clamp(32px,4vw,52px)}
.prose h2:first-child{margin-top:0}
.prose p{margin-top:14px;font-size:.95rem}
.prose a{color:var(--navy);font-weight:600}
.prose .onum{margin-top:16px}

/* ---- médaillon de document téléchargeable ---- */
.pub-doc{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  border:1px solid var(--line);border-radius:var(--r-card);background:var(--tint);
  padding:16px 20px;margin-bottom:clamp(26px,3.2vw,38px)}
.pub-doc>.ico{color:var(--navy-3);flex:none}
.pub-doc-id{min-width:0}
.pub-doc-t{display:block;font-family:var(--display);font-weight:600;font-size:.98rem;
  color:var(--ink);text-transform:uppercase;letter-spacing:.01em;line-height:1.2}
.pub-doc-m{display:block;font-family:var(--text);font-weight:500;font-size:0.8rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-top:5px}
.pub-doc .btn{margin-left:auto}
.prose .pub-doc .btn-navy{color:#fff;font-weight:500}
@media (max-width:560px){.pub-doc{gap:12px}.pub-doc .btn{margin-left:0;width:100%}}
@media print{.pub-doc{display:none}}
.confirm{max-width:60ch}
.confirm .lede{font-family:var(--display);font-size:clamp(1.1rem,2.2vw,1.5rem);
  font-weight:600;color:var(--ink);line-height:1.35}
.confirm p{margin-top:16px}
.confirm-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.res-p{margin-top:16px;max-width:48ch}
.res-band{padding-bottom:clamp(56px,7vw,104px)}
.cta-final .res{background:var(--ice)}
.assoc{margin-top:clamp(40px,5vw,70px)}
.foot-t{font-family:var(--text);font-weight:600;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--yellow);margin-bottom:12px}
.foot-bar{margin-top:clamp(30px,4vw,50px);padding-top:20px;padding-bottom:clamp(28px,3vw,40px);
  border-top:1px solid rgba(217,234,248,.16);display:flex;flex-wrap:wrap;gap:10px 24px;
  justify-content:space-between;font-size:.85rem;color:rgba(255,255,255,.82)}
.foot-legal{display:flex;flex-wrap:wrap;gap:18px}
.foot-legal a{color:#B8C2E2;text-decoration:none}
.foot-legal a:hover{color:var(--yellow)}
.mention-loi{grid-column:1/-1;font-size:.78rem;line-height:1.55;color:var(--muted);
  margin:0;padding-top:14px;border-top:1px solid var(--line)}
.mention-loi a{color:var(--navy);font-weight:600}

/* ============ icônes ============ */
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;vertical-align:-.26em}
.ico-s{width:17px;height:17px;vertical-align:-.22em}
.pastille{display:inline-grid;place-items:center;width:34px;height:26px;flex:none;
  border-radius:var(--r-pill);background:var(--yellow);color:var(--navy);margin-right:11px}
.pastille .ico{width:17px;height:17px;vertical-align:0}
h2 .pastille{width:46px;height:34px;margin-right:14px;vertical-align:-.18em}
h2 .pastille .ico{width:20px;height:20px}
.pside li .ico,.dl dt .ico{color:var(--navy-3);margin-right:9px}
.pmeta span .ico{color:var(--yellow);margin-right:8px}
.foot ul .ico{color:var(--ice-2);margin-right:9px}

/* ============ composant séquence ============ */
.mth-runway{position:relative}
.mth-stick{position:sticky;top:clamp(28px,9vh,96px)}
.mth-grid{display:grid;grid-template-columns:clamp(70px,6.5vw,112px) minmax(0,1fr) minmax(0,1.2fr);
  gap:clamp(16px,2.6vw,40px);align-items:start;margin-top:clamp(26px,4vw,46px)}
.mth-tick{font-family:var(--display);font-weight:600;font-size:clamp(2.8rem,5.6vw,5rem);line-height:.86;
  color:var(--ink);opacity:.09;font-variant-numeric:tabular-nums;letter-spacing:-.03em;padding-top:4px}

.mth-list{display:flex;flex-direction:column;gap:4px}
.mth-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 14px;align-items:start;
  background:transparent;border:1px solid transparent;border-radius:var(--r-card);
  padding:15px 18px;transition:background .24s ease,border-color .24s ease,opacity .24s ease}
.mth-step .ico{grid-row:1/4;margin-top:3px;color:var(--muted);transition:color .26s ease}
.mth-step .n{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.mth-step h3{margin-bottom:5px}
.mth-step p{font-size:.88rem;line-height:1.54}
.mth-step[data-on="0"]{opacity:.44}
.mth-step[data-on="1"]{background:var(--ground);border-color:var(--line)}
.mth-step[data-on="1"] .ico{color:var(--navy-3)}

.mth-canvas{position:relative;margin:0;padding:clamp(16px,1.9vw,28px) clamp(14px,1.6vw,24px);
  border-radius:var(--r-panel);
  background-image:radial-gradient(var(--line) 1.1px,transparent 1.1px);
  background-size:24px 24px;background-position:8px 8px}
.mth-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.mth-links g{opacity:0;transition:opacity .28s ease}
.mth-links g[data-on="1"]{opacity:1}
.mth-links path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.mth-links .rail{stroke:var(--line);stroke-width:2.2}
.mth-links .flux{stroke:var(--navy-3);stroke-width:1.8;transition:stroke-dashoffset .72s cubic-bezier(.4,0,.25,1)}
.mth-links .flux-ret{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 5 !important;stroke-dashoffset:0 !important}
.mth-links .tete{fill:var(--navy-3);stroke:none;opacity:0;transition:opacity .22s ease .58s}
.mth-links .tete-ret{fill:var(--muted)}
.mth-links g[data-on="1"] .tete{opacity:1}
.mth-links text{font-family:var(--text);font-weight:500;font-size:11px;letter-spacing:.11em;text-transform:uppercase;fill:var(--muted)}
.mth-links rect{fill:var(--tint)}

.mth-nodes{position:relative;z-index:2;display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));
  gap:clamp(46px,5.2vw,74px) clamp(32px,4.2vw,60px)}
.mth-node{position:relative;display:flex;align-items:center;gap:13px;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;
  transition:border-color .26s ease,box-shadow .26s ease,opacity .26s ease,background .26s ease}
.mth-node .pas{flex:none;min-width:42px;height:42px;border-radius:var(--r-pill);display:grid;place-items:center;
  font-family:var(--text);letter-spacing:.11em;font-size:0.9rem;font-weight:500;background:var(--tint);color:var(--muted);
  border:1px solid var(--line);transition:background .3s ease,color .3s ease,border-color .3s ease}
.mth-node b{display:block;font-family:var(--display);font-weight:600;font-size:.97rem;color:var(--ink);line-height:1.24}
.mth-node .s{display:block;font-family:var(--text);font-weight:500;font-size:0.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.mth-node .st{position:absolute;top:-11px;right:15px;display:inline-flex;align-items:center;gap:7px;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 11px;
  font-family:var(--text);font-weight:500;font-size:0.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--body);
  white-space:nowrap;opacity:0;transform:translateY(3px);transition:opacity .3s ease,transform .3s ease}
.mth-node .st i{width:6px;height:6px;border-radius:50%;background:var(--ice-2);font-style:normal;flex:none;
  transition:background .3s ease}

.mth-node[data-etat="attente"]{border-style:dashed;background:transparent;opacity:.5}
.mth-node[data-etat="attente"] b{color:var(--muted)}
.mth-node[data-etat="acquis"] .pas{background:var(--ice);color:var(--navy);border-color:var(--ice)}
.mth-node[data-etat="acquis"] .st,
.mth-node[data-etat="actif"] .st{opacity:1;transform:none}
.mth-node[data-etat="actif"]{border-color:var(--navy);box-shadow:0 0 0 3px rgba(25,27,84,.09)}
.mth-node[data-etat="actif"] .pas{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
.mth-node[data-etat="actif"] .st i{background:var(--yellow-2)}
.mth-node[data-etat="lie"]{border-style:dashed;border-color:var(--navy-3)}
.mth-node[data-etat="lie"] .pas{background:var(--ground);color:var(--navy-3);border-color:var(--navy-3);border-style:dashed}

.mth-node.ctl .pas{padding-inline:11px}
.mth-node.ctl .st{left:15px;right:auto}
.mth-node.ctl b{font-size:.94rem}
.mth-node.ctl[data-etat="acquis"]{border-style:dashed;border-color:var(--ice-2)}

.mth:not(.js) .mth-node{border-style:solid;background:var(--ground);opacity:1}
.mth:not(.js) .mth-node .pas{background:var(--ice);color:var(--navy);border-color:var(--ice)}
.mth:not(.js) .mth-node .st{opacity:1;transform:none}
.mth:not(.js) .mth-step{opacity:1;background:var(--ground);border-color:var(--line)}
.mth:not(.js) .mth-step .ico{color:var(--navy-3)}

@media (max-width:1020px){
  .mth-grid{grid-template-columns:1fr;gap:22px}
  .mth-tick{display:none}
  .mth-stick{position:static}
  .mth-runway{height:auto !important}
  .mth-canvas{display:none}
  .mth-step{opacity:1 !important;background:var(--ground);border-color:var(--line)}
  .mth-step .ico{color:var(--navy-3)}
  .mth-list{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  .mth-step,.mth-node,.mth-node .st,.mth-node .pas,.mth-node .st i,
  .mth-step .ico,.mth-links path,.mth-links g,.mth-links .tete{transition:none}
}

/* alignement des listes porteuses d'icône */
.pside li{display:flex;gap:9px;align-items:flex-start}
.pside li .ico{margin-right:0;margin-top:.24em}
.foot ul li{display:flex;gap:9px;align-items:flex-start}
.foot ul li .ico{margin-right:0;margin-top:.3em}
.dl dt{display:flex;gap:8px;align-items:flex-start}
.dl dt .ico{margin-right:0;margin-top:.1em}

/* ============ échelle typographique ============ */
:root{
  --fs-h1:32px;
  --fs-h2:18px;
  --fs-h3:16px;
  --fs-body:17px;
  --fs-lead:18px;
  --fs-tab:15px;
  --fs-meta:13px;
}
@media (max-width:640px){
  :root{--fs-h1:26px;--fs-h2:17px;--fs-body:16px;--fs-lead:17px}
}

body{font-size:var(--fs-body)}
h1{font-size:var(--fs-h1);line-height:1.18}
h2{font-size:var(--fs-h2);line-height:1.26}
h3{font-size:var(--fs-h3);line-height:1.34}
.phead h1,.psec h2,.ctaband h2,.prose h2{font-size:inherit}
.phead h1{font-size:var(--fs-h1)}
.psec h2,.ctaband h2,.prose h2{font-size:var(--fs-h2)}

/* le hero de la page d'accueil porte l'accroche de marque, non un titre de lecture */
.hero h1{font-size:clamp(1.4rem,2.4vw,2.05rem);line-height:1.12}
.hero .lede{font-size:clamp(1rem,1.5vw,1.14rem)}

/* énoncés de section et chapeaux des pages éditoriales */
.enonce,.chapeau{font-size:var(--fs-lead)}

/* tableaux, encarts et listes de données des pages éditoriales */
.tab,.encart,.defs,.qlist,.refs,.sigles{font-size:var(--fs-tab)}

/* métadonnées et étiquettes des pages éditoriales */
.tab thead th,.tab caption,.rfmt,.ratt,.rdate,.rcompte,
.pubmeta,.duree,.maj,.pub-som h2,.rattache .lab,.produit b{font-size:var(--fs-meta)}

/* ============ blocs d'offre, rubrique conseil ============ */
.soffs{display:grid;gap:16px}
@media (min-width:900px){.soffs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.soff{display:flex;flex-direction:column;gap:12px;background:var(--ground);border:1px solid var(--line);
  border-radius:var(--r-card);padding:clamp(20px,2.4vw,30px);min-width:0}
.soff-t{display:flex;align-items:baseline;gap:12px}
.soff-n{font-family:var(--text);font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--navy-3)}
.soff-i{color:var(--body)}
.soff-a{margin-top:auto;padding-top:6px}
/* points à attaque en gras */
.pts{display:flex;flex-direction:column;gap:10px}
.pts li{padding-left:18px;position:relative;line-height:1.55}
.pts li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;
  background:var(--yellow);outline:1px solid var(--navy-3)}
.pts b{color:var(--ink);font-weight:700}
.navy .pts b{color:#fff}
.aud-card .pts b{color:var(--ink)}
/* équipe */
.seq-grid{display:grid;gap:18px;align-items:start}
@media (min-width:900px){.seq-grid{grid-template-columns:minmax(0,1fr) 300px}}
.seq-m{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:10px}
.seq-f{font-family:var(--text);font-weight:500;font-size:var(--fs-meta);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.seq-c{margin:0;padding-left:16px;border-left:2px solid var(--yellow);color:var(--body)}
.seq-m .go{font-weight:700;color:var(--navy);text-decoration:none}
.seq-m .go:hover{text-decoration:underline}
.sform-suite{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px}
.cta-final-act{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}


/* ============ organisations, certificat et équipe ============ */
/* Le texte d'une organisation, sa phrase de présentation et ses adresses tiennent
   une colonne ; le logo est posé seul en regard, sans cadre ni fond, et passe
   au-dessus du texte quand la place manque. */
.org{display:grid;gap:clamp(22px,3vw,44px);align-items:start}
@media (min-width:900px){.org{grid-template-columns:minmax(0,1fr) 320px}}
.org .sh{margin-bottom:0}
/* le logo est centré dans sa colonne, à mi-hauteur du texte sur grand écran */
.org-m{display:flex;align-items:center;justify-content:center;min-height:var(--h,72px);align-self:center}
.org-g{display:block;height:var(--h,72px);width:auto;max-width:100%}
.org-c{margin-top:18px;font-size:.93rem;color:var(--body);max-width:62ch}
.org-l{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:10px}
.org-a{display:inline-flex;align-items:center;gap:8px;min-height:var(--cible-min);
  font-family:var(--text);font-weight:700;font-size:.88rem;color:var(--navy);text-decoration:none}
.org-a .ico{width:18px;height:18px;color:var(--navy-3)}
.org-a:hover span:first-of-type{text-decoration:underline}

.certif{display:grid;gap:clamp(18px,2.4vw,32px);align-items:center;background:var(--ice);
  border-radius:var(--r-panel);padding:clamp(22px,2.6vw,36px);margin-top:clamp(28px,3.4vw,48px)}
@media (min-width:860px){.certif{grid-template-columns:auto minmax(0,1fr)}}
.certif .sh{margin-bottom:18px}
.certif .sh-k{color:var(--navy-3)}
.certif-i{display:grid;place-items:center;width:96px;height:96px;border-radius:var(--r-card);
  background:var(--ground);color:var(--navy)}
.certif-i .ico{width:44px;height:44px;stroke-width:1.3}
.certif-t .btn{margin-top:18px}
.eq-grid{display:grid;gap:18px;align-items:stretch}
@media (min-width:900px){.eq-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.eq{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:10px}
.eq-p{border-radius:var(--r-card)}
.eq-f{font-family:var(--text);font-weight:500;font-size:var(--fs-meta);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.eq-n{margin:0;padding-left:16px;border-left:2px solid var(--yellow);color:var(--body)}
.eq .go{margin-top:auto;font-weight:700;color:var(--navy);text-decoration:none}
.eq .go:hover{text-decoration:underline}
/* Les quatre fondements : une liste numérotée, lue en deux colonnes. */
.fond{display:grid;gap:14px;margin-top:32px;list-style:none;padding:0}
@media (min-width:760px){.fond{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fond-i{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:8px}
.fond-n{font-family:var(--display);font-weight:600;font-size:1.5rem;line-height:1;color:var(--navy-3);
  padding-bottom:10px;border-bottom:2px solid var(--yellow);align-self:start}
.fond-t{font-family:var(--display);font-weight:600;font-size:1.03rem;color:var(--navy);margin-top:4px}
.fond-x{font-size:.93rem;color:var(--body)}
.acc-l{margin-top:22px}
.acc-l .go{font-weight:700;color:var(--navy);text-decoration:none}
.acc-l .go:hover{text-decoration:underline}
/* Nos partenaires : une carte par organisation — logo, rôle, nom, présentation, lien.
   Les logos sont posés à hauteur fixe, séparés du texte par un filet. Sur grand écran,
   les cartes partagent leurs lignes : rôles, noms et liens s'alignent d'une carte à l'autre. */
.partenaires-liste{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.partenaire{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);padding:24px}
.partenaire-logo{display:flex;align-items:center;box-sizing:content-box;height:112px;
  padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.partenaire-logo img{display:block;height:var(--h,72px);width:auto;max-width:100%}
.partenaire-role{margin:0 0 8px;font-family:var(--text);font-weight:500;font-size:12px;line-height:1.3;
  letter-spacing:.12em;text-transform:uppercase;color:var(--navy-3)}
.partenaire-nom{margin:0 0 12px;font-family:var(--display);font-weight:600;font-size:16px;line-height:1.3;
  letter-spacing:.02em;text-transform:uppercase;color:var(--navy)}
.partenaire-texte{margin:0 0 20px;font-size:15px;line-height:1.6;color:var(--body)}
.partenaire-lien{display:inline-flex;align-items:center;min-height:var(--cible-min);
  justify-self:start;align-self:end;font-family:var(--text);font-weight:500;font-size:14px;line-height:1.3;
  color:var(--navy-3);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.partenaire-lien:hover{color:var(--navy)}
@media (min-width:860px){
  .partenaires-liste{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto 1fr auto;gap:20px}
  .partenaire{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
}

/* ============ appel à l'action fixe, petit écran ============
   Sur une fiche longue, la demande de proposition reste à portée. Retirée sur
   grand écran, où l'en-tête reste proche, et à l'impression. */
.cta-fixe{position:fixed;left:12px;right:12px;bottom:12px;z-index:25;justify-content:center;
  box-shadow:0 14px 32px -12px rgba(25,27,84,.55)}
body:has(.cta-fixe){padding-bottom:calc(var(--cible-min) + 28px)}
@media (min-width:1000px){
  .cta-fixe{display:none}
  body:has(.cta-fixe){padding-bottom:0}
}
@media print{.cta-fixe{display:none}}

/* ============ carte « Prochaine session » ============
   Posée à droite du titre de page, sur le marine de l'en-tête : la date la plus
   proche se lit avant le corps de la page. */
.pro{background:var(--ground);color:var(--body);border-radius:var(--r-panel);
  padding:clamp(22px,2.6vw,30px);box-shadow:0 18px 40px -18px rgba(0,0,0,.45);
  border-top:4px solid var(--navy-3);display:grid;gap:10px;align-content:start;min-width:0}
.pro .kicker{margin-bottom:0}
.pro-d{display:flex;align-items:baseline;gap:12px;font-family:var(--display);color:var(--ink)}
.pro-d b{font-size:clamp(2.6rem,5vw,3.4rem);font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.pro-d span{font-size:var(--fs-h3);font-weight:500}
.pro-t{font-family:var(--display);font-weight:600;font-size:1rem;line-height:1.3}
.pro-t a{color:var(--ink);text-decoration:none}
.pro-t a:hover{text-decoration:underline}
.pro-l{color:var(--body)}
.pro-e{margin-top:2px}
.pro .btn{justify-self:start;margin-top:4px}
.pro-a{font-size:var(--fs-meta);color:var(--muted)}
.pro-a a{color:var(--navy-3)}
@media (min-width:901px){
  .phead--aside .phead-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);
    gap:clamp(26px,4vw,56px);align-items:start}
}

/* ============ en-tête de section ============
   Surtitre, titre en deux tons, introduction. Pas de colonne vide, pas de
   coupure de ligne forcée : le titre s'équilibre seul. */
.sh{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:26px;
  grid-template-areas:"k k" "t a" "p p";align-items:end;max-width:820px;margin-bottom:44px}
.sh-k{grid-area:k;font-family:var(--text);font-weight:600;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy-3);margin-bottom:12px}
.sh-k::before{content:"";display:block;width:48px;height:4px;margin-bottom:16px;border-radius:999px;
  background:linear-gradient(90deg,var(--navy-3) 70%,var(--yellow) 70%)}
.sh--fonce .sh-k::before{background:linear-gradient(90deg,var(--ice) 70%,var(--yellow) 70%)}
.sh--centre .sh-k::before{margin-inline:auto}
.sh-t{grid-area:t;font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:clamp(26px,1.2rem + 1.4vw,38px);line-height:1.12;letter-spacing:.005em;
  color:var(--ink);text-wrap:balance}
.sh-p{grid-area:p;font-size:18px;line-height:1.6;color:var(--body);max-width:62ch;margin-top:18px}
.sh-act{grid-area:a;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:var(--text);font-weight:600;font-size:15px;color:var(--navy-3);text-decoration:none}
.sh-act svg{width:16px;height:16px;flex:none}
.sh-act:hover{text-decoration:underline}
.tt-a{font-weight:300;color:var(--navy-3)}
@media (min-width:901px){.sh-t .tt-a{display:block}}
.sh--fonce .sh-k{color:var(--yellow)}
.sh--fonce .sh-t{color:#fff}
.sh--fonce .sh-t .tt-a{color:var(--ice)}
.sh--fonce .sh-p{color:rgba(255,255,255,.82)}
.sh--fonce .sh-act{color:var(--yellow)}
.sh--centre{grid-template-columns:minmax(0,1fr);grid-template-areas:"k" "t" "p" "a";
  justify-items:center;text-align:center;margin-inline:auto}
.sh--centre .sh-p{margin-inline:auto}
@media (max-width:700px){
  .sh{grid-template-columns:minmax(0,1fr);grid-template-areas:"k" "t" "p" "a";
    justify-items:start;margin-bottom:28px}
  .sh-p{font-size:16px}
  .sh-act{margin-top:16px}
}
/* titre de page : même système en deux tons */
.phead h1 .tt-a,.hero h1 .tt-a{font-weight:300}
.phead h1 .tt-a{color:var(--ice)}
.hero h1 .tt-a{color:var(--ice)}
@media (min-width:901px){.phead h1 .tt-a,.hero h1 .tt-a{display:block}}
/* titre de bloc, à l'intérieur d'une fiche, d'une page longue ou d'une carte */
.bt{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:18px;
  letter-spacing:.02em;color:var(--ink)}

/* ============ profils, catalogue et rubrique conseil ============ */
/* Bandeau du socle : la formation ouverte à tous, portée hors des cartes de profil. */
.ctous{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,42px);
  align-items:center;background:var(--tint);border:1px solid var(--line);border-radius:var(--r-panel);
  padding:clamp(22px,2.8vw,34px);margin-top:26px}
@media (max-width:860px){.ctous{grid-template-columns:1fr}}
.ctous-t p{margin-top:10px}
.plist .t{min-width:0}
.plist .d{margin-left:auto;font-family:var(--text);letter-spacing:.11em;font-weight:500;
  font-size:var(--fs-meta);color:var(--muted);white-space:nowrap}

/* Cartes de profil : une par profil couvert, produites depuis profils.json. */
.pfs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px;align-items:stretch}
@media (max-width:1000px){.pfs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.pfs{grid-template-columns:1fr}}
.pf{display:flex;flex-direction:column;gap:12px;background:var(--ground);border:1px solid var(--line);
  border-radius:var(--r-card);padding:22px;min-width:0}
.pf h3{text-transform:uppercase}
.pf-pre{font-size:var(--fs-meta);color:var(--muted)}
.pf-pied{margin-top:auto;padding-top:6px;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.pf-second{font-weight:600;font-size:var(--fs-tab);color:var(--navy);text-align:center}
.pfs-pied{margin-top:22px}

/* Catalogue : les filtres sont révélés par le script ; sans script, toutes les cartes paraissent. */
.cfiltres{margin-top:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.cfiltres[hidden]{display:none}
.cfiltres .chips{margin-top:14px}
.cfiltres-pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.cfiltres-pied .rcompte{margin-top:0}
.chip-raz[hidden]{display:none}

/* Hors catalogue, en pied du catalogue */
.chors{background:var(--tint);border:1px solid var(--line);border-radius:var(--r-panel);
  padding:clamp(22px,2.8vw,34px)}
.chors-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}
@media (max-width:760px){.chors-l{grid-template-columns:1fr}}
.chors-l h3{text-transform:uppercase}
.chors-l h3 a{text-decoration:none}
.chors-l h3 a:hover{text-decoration:underline}
.chors-l p{margin-top:6px}

/* Rubrique conseil et accompagnement */
.soffres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
@media (max-width:860px){.soffres{grid-template-columns:1fr}}
.soffre{display:flex;flex-direction:column;gap:16px;background:var(--ground);border:1px solid var(--line);
  border-radius:var(--r-card);padding:clamp(20px,2.4vw,30px)}
.soffre h2 a{text-decoration:none}
.soffre h2 a:hover{text-decoration:underline}
.soffre-d{display:grid;gap:12px}
.soffre-d dt{font-family:var(--text);font-weight:500;font-size:var(--fs-meta);letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted)}
.soffre-d dd{margin:3px 0 0;color:var(--body)}
.soffre .go{margin-top:auto;font-weight:700;color:var(--navy);text-decoration:none}
.soffre .go:hover{text-decoration:underline}
.sder{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:14px}
.sder>li{border:1px solid var(--line);border-radius:var(--r-card);padding:18px 20px}
.sder-t{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
.sder>li ul{margin-top:12px;display:grid;gap:8px}
.sder>li li{padding-left:18px;position:relative}
.sder>li li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--navy-3)}

/* ============ rubrique ressources ============ */
.band-serre{padding-block:clamp(34px,4vw,58px) clamp(56px,7vw,104px)}
.rfiltre{display:flex;flex-direction:column;gap:8px;max-width:520px;
  background:none;border:0;padding:0;border-radius:0}
.rfiltre label{font-family:var(--text);font-weight:500;font-size:calc(var(--fs-meta) + 2px);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.rfiltre input{font-family:var(--text);font-size:var(--fs-body);color:var(--ink);
  background:var(--ground);border:2px solid var(--bordure-champ);border-radius:var(--r-pill);
  padding:13px 22px;width:100%}
.rfiltre input::placeholder{color:var(--muted)}
.rfiltre input:hover{border-color:var(--navy)}
.rcompte{font-family:var(--text);font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-top:22px}
.rvide{margin-top:26px;color:var(--body)}

.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px;align-items:stretch}
@media (max-width:1020px){.rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:690px){.rgrid{grid-template-columns:1fr}}

.rcard{display:flex;flex-direction:column;background:var(--ground);border:1px solid var(--line);
  border-radius:var(--r-card);overflow:hidden;text-decoration:none;color:var(--body);
  transition:border-color .16s ease,transform .16s ease}
a.rcard:hover{border-color:var(--navy);transform:translateY(-2px)}
a.rcard:hover h3{color:var(--navy-3)}
.rcard[hidden]{display:none!important}
.rvis{position:relative;height:148px;background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 70%,var(--navy-3) 100%)}
.rvis svg{position:absolute;inset:0;width:100%;height:100%}
.rcard-in{display:flex;flex-direction:column;gap:11px;padding:22px;flex:1}
.rcard-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rfmt{font-family:var(--text);font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--navy-3)}
.rdate{font-family:var(--text);letter-spacing:.11em;font-weight:500;color:var(--muted)}
.ratt{font-family:var(--text);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
  background:var(--tint);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 11px}
.rcard h3{color:var(--ink);text-transform:none;letter-spacing:0}
.rliv{font-size:var(--fs-tab);color:var(--body)}
.rcard-foot{margin-top:auto;padding-top:13px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:10px}
.rprog-lab{font-family:var(--text);font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.rcard-foot .go{font-weight:700;font-size:var(--fs-tab);color:var(--navy)}
.rcard-attente{background:var(--tint)}
.rcard-attente .rvis{opacity:.62}

.rlegende{margin-top:clamp(44px,5vw,72px);padding-top:clamp(26px,3vw,38px);border-top:1px solid var(--line)}
.rlegende dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;margin:20px 0 0}
@media (max-width:760px){.rlegende dl{grid-template-columns:1fr}}
.rlegende dt{font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:var(--fs-h3);color:var(--ink)}
.rlegende dd{margin:4px 0 0;font-size:var(--fs-tab)}

/* ============ publication ============ */
.phead-pub .chapeau{color:var(--ice);max-width:62ch;margin-top:18px}
.pubmeta{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.pubmeta li{font-family:var(--text);letter-spacing:.11em;font-weight:500;border:1px solid var(--navy-3);background:var(--navy-2);
  color:var(--ice);padding:6px 13px;border-radius:var(--r-pill)}

.pub{display:grid;grid-template-columns:1fr;gap:34px}
@media (min-width:1060px){.pub{grid-template-columns:232px minmax(0,1fr);gap:clamp(30px,4vw,56px)}}
.pub-som{display:none}
@media (min-width:1060px){
  .pub-som{display:block;position:sticky;top:96px;align-self:start}
  .pub-som h2{font-family:var(--text);font-weight:500;letter-spacing:.14em;text-transform:uppercase;
    color:var(--muted);margin-bottom:12px}
  .pub-som ol{counter-reset:som;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
  .pub-som li{counter-increment:som;font-size:var(--fs-tab)}
  .pub-som li::before{content:counter(som,decimal-leading-zero);font-family:var(--text);letter-spacing:.11em;font-weight:500;
    font-size:calc(var(--fs-meta) + 2px);color:var(--navy-3);margin-right:9px}
  .pub-som a{color:var(--body);text-decoration:none}
  .pub-som a:hover{color:var(--navy);text-decoration:underline}
}
/* sommaire des pages longues : sans numérotation, et défilant s'il dépasse l'écran */
@media (min-width:1060px){
  .pub-som--page{max-height:calc(100vh - 128px);overflow-y:auto}
  .pub-som--page li::before{content:none}
}

/* une ancre s'arrête sous la barre de navigation, qui reste collée en haut */
.prose h2[id],.psec[id]{scroll-margin-top:104px}

/* retour en haut de page */
.haut{position:fixed;right:clamp(16px,2.4vw,28px);bottom:clamp(16px,2.4vw,28px);z-index:70;
  display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:var(--navy);color:#fff;border:2px solid var(--ground);
  box-shadow:0 10px 26px rgba(25,27,84,.22);
  transition:background .16s ease,color .16s ease,opacity .16s ease,visibility .16s}
.haut:hover,.haut:focus-visible{background:var(--yellow);color:var(--navy)}
/* masqué en haut de page et devant le pied de page ; sans script, il reste visible */
.haut.est-cache{opacity:0;visibility:hidden}
.haut .ico{width:19px;height:19px}
.haut-bulle{position:absolute;right:calc(100% + 10px);white-space:nowrap;
  background:var(--navy);color:#fff;border-radius:var(--r-pill);padding:7px 14px;
  font-size:var(--fs-meta);opacity:0;visibility:hidden;transform:translateX(4px);
  transition:opacity .14s ease,transform .14s ease,visibility .14s}
.haut:hover .haut-bulle,.haut:focus .haut-bulle,.haut:focus-visible .haut-bulle{opacity:1;visibility:visible;transform:none}
@media (max-width:560px){
  .haut{width:42px;height:42px}
  .haut-bulle{display:none}
}

.pub-corps{min-width:0;max-width:78ch}
.pub-corps>.psec+.psec{margin-top:clamp(38px,4.4vw,60px);padding-top:clamp(28px,3.4vw,42px);
  border-top:1px solid var(--line)}
.pub-corps .psec p+p{margin-top:13px}
.pub-corps .enonce{color:var(--ink);margin-bottom:18px}
.pub-corps h3{margin-top:26px;text-transform:uppercase}

.essentiel{background:var(--ice);border-radius:var(--r-card);padding:24px 26px;margin-bottom:clamp(38px,4.4vw,56px)}
.essentiel h2{margin-bottom:12px}
.essentiel ol{counter-reset:ess;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.essentiel li{counter-increment:ess;color:var(--navy);padding-left:26px;position:relative}
.essentiel li::before{content:counter(ess);position:absolute;left:0;top:0;
  font-family:var(--text);letter-spacing:.11em;font-weight:500;font-size:calc(var(--fs-meta) + 2px);color:var(--navy-3)}

.tabwrap{overflow-x:auto;margin-top:16px}
.tab{width:100%;border-collapse:collapse;line-height:1.5}
.tab caption{text-align:left;font-family:var(--text);font-weight:500;font-size:calc(var(--fs-meta) + 2px);
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-bottom:10px}
.tab th{font-family:var(--text);letter-spacing:.11em;font-weight:500;color:var(--ink);text-align:left;vertical-align:top;
  padding:10px 12px;border-bottom:1px solid var(--line)}
.tab thead th{letter-spacing:.11em;text-transform:uppercase;color:var(--muted);background:var(--tint)}
.tab td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tab tbody tr:last-child td,.tab tbody tr:last-child th{border-bottom:0}
@media (max-width:640px){
  .tab,.tab thead,.tab tbody,.tab tr,.tab th,.tab td,.tab caption{display:block}
  .tab caption{width:100%}
  .tab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tab tr{border:1px solid var(--line);border-radius:var(--r-card);padding:6px 4px;margin-bottom:12px;background:var(--ground)}
  .tab td,.tab th{border-bottom:0;padding:7px 12px}
  .tab td::before{content:attr(data-col);display:block;font-family:var(--text);font-weight:500;
    font-size:calc(var(--fs-meta) + 2px);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
  .tab tbody th{font-family:var(--display);text-transform:uppercase;color:var(--ink);padding-top:12px}
}
.matrice tbody th{white-space:nowrap}
.st{display:inline-block;white-space:nowrap;font-family:var(--text);letter-spacing:.11em;font-weight:500;font-size:calc(var(--fs-meta) + 2px);
  padding:4px 11px;border-radius:var(--r-pill);border:1px solid transparent}
.st-ok{background:var(--ice);color:var(--navy);border-color:var(--ice-2)}
.st-cond{background:var(--yellow);color:var(--navy);border-color:var(--yellow-2)}
.st-no{background:var(--navy);color:#fff;border-color:var(--navy)}

.encart{background:var(--tint);border-left:3px solid var(--yellow);border-radius:0 var(--r-card) var(--r-card) 0;
  padding:16px 20px;margin-top:20px;color:var(--ink)}

.lt{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.lt li{border-top:1px solid var(--line);padding-top:13px}
.lt li:first-child{border-top:0;padding-top:0}
.lt b{font-family:var(--display);font-size:var(--fs-h3);font-weight:600;text-transform:uppercase;
  color:var(--ink);display:block;margin-bottom:5px}
.lt p{font-size:var(--fs-body)}

.qlist{counter-reset:q;list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;margin:8px 0 0}
.qlist li{counter-increment:q;padding-left:34px;position:relative}
.qlist li::before{content:counter(q,decimal-leading-zero);position:absolute;left:0;top:2px;
  font-family:var(--text);letter-spacing:.11em;font-weight:500;font-size:calc(var(--fs-meta) + 2px);color:var(--navy-3)}
.qlist b{display:block;color:var(--ink);font-weight:600}
.qlist span{display:block;color:var(--muted);margin-top:2px}

.defs{margin-top:18px;display:grid;gap:10px}
.defs dt{font-family:var(--text);font-weight:500;color:var(--navy-3);letter-spacing:.04em}
.defs dd{margin:3px 0 0;color:var(--body)}

.echelle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px;
  font-family:var(--text);font-weight:500;font-size:calc(var(--fs-meta) + 2px);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.echelle span{border-top:2px solid var(--yellow);padding-top:7px}
@media (max-width:640px){.echelle{display:none}}
.etapes{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:20px}
.etapes>li{border:1px solid var(--line);border-radius:var(--r-card);padding:20px 22px;background:var(--ground)}
.etape-t{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.etape-t h3{margin:0;text-transform:uppercase}
.duree{font-family:var(--text);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-3)}
.etapes ul{display:flex;flex-direction:column;gap:8px;margin-top:14px;font-size:var(--fs-body)}
.etapes ul li{padding-left:16px;position:relative}
.etapes ul li::before{content:"";position:absolute;left:0;top:.66em;width:7px;height:2px;background:var(--navy-3)}
.produit{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);
  font-size:var(--fs-tab);color:var(--ink)}
.produit b{display:block;font-family:var(--text);letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted);font-weight:500;margin-bottom:4px}

.pub-liste{list-style:decimal;padding-left:22px;margin:14px 0}
.pub-liste li{margin-bottom:7px}
.refs{list-style:decimal;padding-left:22px;margin-top:8px}
.refs li{line-height:1.55;margin-bottom:11px}
.pub-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.rattache{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:var(--fs-tab)}
.rattache .lab{display:block;font-family:var(--text);font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px}
.rattache a{color:var(--navy);font-weight:600;text-decoration:none}
.rattache a:hover{text-decoration:underline}
.maj{margin-top:22px;font-family:var(--text);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* Score IA. Jetons portés par .sc pour ne pas interférer avec ceux du site. */
.sc{
  --marine:#191B54;--marine-soutenu:#23276E;--marine-clair:#2E3390;--jaune:#E8F470;--glacier:#D9EAF8;
  --blanc:#FFFFFF;--fond-attenue:#F4F6FB;--texte:#4B5077;--filets:#E2E5F0;
  --etat-construire:#C9445F;--etat-construire-fond:#F9E4E9;--etat-construire-encre:#8C2440;
  --etat-cours:#E4804F;--etat-cours-fond:#FCEBE1;--etat-cours-encre:#8A3E16;
  --etat-acquis:#1F8F84;--etat-acquis-fond:#DCF1EE;--etat-acquis-encre:#0F5F57;
  --f-titre:"Outfit",system-ui,sans-serif;--f-texte:"Plus Jakarta Sans",system-ui,sans-serif;--f-code:"Plus Jakarta Sans",system-ui,sans-serif;
  --r-panneau:26px;--r-carte:18px;
}

.sc,.sc *,.sc *::before,.sc *::after{box-sizing:border-box}

/* La règle « label » générale du site impose capitales, interlettrage et gris : elle est
   faite pour les étiquettes courtes du formulaire de contact. Dans le Score IA, les
   libellés sont des phrases entières, ils la neutralisent. Écrite avec :where() pour que
   chaque composant du score garde la main sur sa propre fonte. */
.sc :where(label){font-family:var(--f-texte);font-weight:400;font-size:1rem;letter-spacing:normal;text-transform:none;color:var(--texte)}

/* ---------- États ---------- */
.sc-etat--construire{--signal:var(--etat-construire);--signal-fond:var(--etat-construire-fond);--signal-encre:var(--etat-construire-encre)}
.sc-etat--cours{--signal:var(--etat-cours);--signal-fond:var(--etat-cours-fond);--signal-encre:var(--etat-cours-encre)}
.sc-etat--acquis{--signal:var(--etat-acquis);--signal-fond:var(--etat-acquis-fond);--signal-encre:var(--etat-acquis-encre)}
.sc-etiquette{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px 4px 8px;background:var(--signal-fond);color:var(--signal-encre);font:600 .8rem/1 var(--f-texte);white-space:nowrap}
.sc-icone{flex:none}
.sc-piste{fill:none;stroke:var(--filets)}
.sc-trace{fill:none;stroke:var(--signal);stroke-linecap:round}
.sc-anneau-val{font-family:var(--f-titre);font-weight:600;fill:var(--marine)}
.sc-ne{display:inline-block;font:500 0.87rem var(--f-texte);letter-spacing:.11em;color:var(--texte)}

/* ---------- Boutons ---------- */
.sc-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:0 24px;border-radius:999px;border:2px solid var(--marine);background:var(--marine);color:var(--blanc);font:600 .95rem var(--f-texte);text-decoration:none;cursor:pointer}
.sc-btn:hover{background:var(--marine-clair);border-color:var(--marine-clair)}
.sc-btn--ligne{background:transparent;color:var(--marine)}
.sc-btn--ligne:hover{background:var(--glacier);border-color:var(--marine);color:var(--marine)}
.sc-btn--jaune{background:var(--jaune);border-color:var(--jaune);color:var(--marine)}
.sc-btn--jaune:hover{background:var(--blanc);border-color:var(--blanc);color:var(--marine)}
.sc-lien{background:none;border:0;padding:0;color:var(--marine);font:500 0.9rem var(--f-texte);letter-spacing:.11em;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sc :focus-visible,.sc-app :focus-visible{outline:3px solid var(--marine-clair);outline-offset:3px}
.sc-sombre :focus-visible{outline-color:var(--jaune)}


/* ---------- Pages de la rubrique ---------- */
.sc-rubrique{background:var(--fond-attenue);color:var(--texte);font-family:var(--f-texte);padding-bottom:64px}
.sc h1,.sc h2,.sc h3,.sc h4{font-family:var(--f-titre);color:var(--marine);line-height:1.12;margin:0}
.sc-conteneur{max-width:1180px;margin:0 auto;padding:0 24px}
.sc-hero{background:var(--marine);color:var(--glacier);padding:64px 0 88px}
.sc-hero h1{color:var(--blanc);text-transform:uppercase;font-size:clamp(2rem,4.6vw,3.1rem);max-width:20ch}
.sc-hero p{max-width:58ch;font-size:1.08rem;margin:18px 0 22px}
.sc-hero .sc-meta{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 28px;padding:0}
.sc-meta li{font:500 0.92rem var(--f-texte);letter-spacing:.11em;color:var(--blanc);border:1px solid var(--marine-clair);border-radius:999px;padding:4px 12px}
.sc-hero-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
.sc-hero-actions a:not(.sc-btn){color:var(--glacier);text-underline-offset:3px}
.sc-surtitre-hero{font:500 0.92rem var(--f-texte);color:var(--jaune);margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em}
/* Hero à deux colonnes : énoncé et clé de lecture du score */
.sc-hero-deux{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 56px;align-items:center}
.sc-cle{margin:0;justify-self:end;width:288px;max-width:100%;padding:26px 24px 22px;border-radius:var(--r-panneau);background:var(--marine-soutenu);border:1px solid rgba(217,234,248,.16);text-align:center}
.sc-cle-surtitre{margin:0 0 10px;font:500 0.82rem var(--f-texte);letter-spacing:.11em;text-transform:uppercase;color:var(--jaune)}
.sc-cle-cadran{position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto}
.sc-cle .sc-cadran{width:min(208px,52vw);height:auto}
.sc-cle .sc-piste{stroke:rgba(217,234,248,.16)}
.sc-cle-val{position:absolute;margin:0;display:flex;flex-direction:column;align-items:center;line-height:1}
.sc-cle-val b{font:600 2.9rem/1 var(--f-titre);color:var(--blanc);font-variant-numeric:tabular-nums}
.sc-cle-val span{margin-top:6px;font:500 0.82rem var(--f-texte);letter-spacing:.11em;color:var(--glacier)}
.sc-cle-etat{margin:14px 0 0;min-height:30px}
.sc-cle figcaption{margin-top:12px;font-size:.8rem;color:var(--glacier)}
@media (max-width:980px){
  .sc-hero-deux{grid-template-columns:minmax(0,1fr)}
  .sc-cle{justify-self:start}
}
.sc-panneau{background:var(--blanc);border-radius:var(--r-panneau);padding:36px;position:relative}
.sc-remonte{margin-top:-48px}
.sc-section{padding:28px 0}
.sc-section-tete{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:22px}
.sc-section-tete h2{text-transform:uppercase;font-size:1.6rem}
.sc-section-tete p{margin:6px 0 0;max-width:62ch}

/* Portes de la page d'accueil de la rubrique */

/* ---------- Grille des cinq niveaux ---------- */
.sc-grille{overflow-x:auto;padding-top:4px}
.sc-regle{position:relative;min-width:900px;height:58px}
.sc-regle-piste{position:absolute;left:0;right:0;top:30px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.sc-regle-seg{height:10px;background:var(--glacier);border-radius:2px;overflow:hidden}
.sc-regle-seg span{display:block;height:100%;background:var(--marine)}
.sc-regle-grad{position:absolute;left:0;right:0;top:44px;display:flex;justify-content:space-between;font:0.84rem var(--f-texte);letter-spacing:.11em;font-weight:500}
.sc-regle-curseur{position:absolute;top:0;transform:translateX(-50%)}
.sc-regle-curseur b{display:block;background:var(--jaune);color:var(--marine);font:500 0.94rem var(--f-texte);letter-spacing:.11em;padding:2px 9px;border-radius:6px}
.sc-regle-curseur::after{content:"";display:block;width:2px;height:8px;background:var(--marine);margin:0 auto}
.sc-niveaux{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;min-width:900px}
.sc-niveau{background:var(--fond-attenue);padding:16px 16px 18px;position:relative}
.sc-niveau:first-child{border-radius:0 0 0 14px}.sc-niveau:last-child{border-radius:0 0 14px 0}
.sc-niveau-num{font:500 0.87rem var(--f-texte);letter-spacing:.11em}
.sc-niveau-nom{font-size:1.1rem;margin:4px 0 6px}
.sc-niveau-desc{margin:0 0 12px;font-size:.84rem;line-height:1.45}
.sc-niveau-obs{font:500 0.78rem var(--f-texte);text-transform:uppercase;letter-spacing:.04em;color:var(--marine);margin:0 0 4px}
.sc-niveau ul{list-style:none;margin:0;padding:0;font-size:.8rem;line-height:1.4}
.sc-niveau li{padding:5px 0;border-top:1px solid var(--filets)}
.sc-niveau-etat{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:4px;font:500 0.8rem var(--f-texte);letter-spacing:.11em}
.sc-niveau.est-franchi{background:rgba(217,234,248,.5)}
.sc-niveau.est-franchi .sc-niveau-etat{color:var(--marine)}
.sc-niveau.est-actuel{background:var(--marine);color:var(--glacier)}
.sc-niveau.est-actuel .sc-niveau-nom,.sc-niveau.est-actuel .sc-niveau-obs{color:var(--blanc)}
.sc-niveau.est-actuel .sc-niveau-num,.sc-niveau.est-actuel .sc-niveau-etat{color:var(--jaune)}
.sc-niveau.est-actuel li{border-top-color:rgba(217,234,248,.25)}
.sc-niveau.est-suivant{background:var(--blanc);box-shadow:inset 0 0 0 2px var(--marine)}
.sc-niveau.est-suivant .sc-niveau-etat{color:var(--marine)}

/* Échelle seule, hors tableau de bord : bande de score portée par le niveau,
   filet supérieur d'intensité croissante, lignes alignées d'une colonne à l'autre. */
.sc-niveau-tete{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px;margin:0}
.sc-niveau-rang{display:inline-flex;align-items:center;gap:8px}
.sc-niveau-num{white-space:nowrap}
.sc-escalier{flex:none}
.sc-esc-plein{fill:var(--marine)}
.sc-esc-vide{fill:var(--filets)}
.sc-niveau-bande{font:500 0.8rem var(--f-texte);letter-spacing:.06em;color:var(--marine);background:var(--blanc);border:1px solid var(--filets);border-radius:999px;padding:2px 9px;white-space:nowrap}
.sc-grille--echelle .sc-niveau:first-child{border-radius:14px 0 0 14px}
.sc-grille--echelle .sc-niveau:last-child{border-radius:0 14px 14px 0}
.sc-grille--echelle .sc-niveaux{margin-top:0}
.sc-grille--echelle .sc-niveau-desc{margin-bottom:10px}
.sc-grille--echelle .sc-niveau ul{border-top:1px solid var(--filets);padding-top:4px}
.sc-grille--echelle .sc-niveau li{border-top:0;padding:4px 0}
@supports (grid-template-rows:subgrid){
  .sc-grille--echelle .sc-niveaux{grid-template-rows:repeat(4,auto)}
  .sc-grille--echelle .sc-niveau{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-content:start}
}

/* ---------- Questionnaire ---------- */
.sc-app{scroll-margin-top:96px}
.sc-questionnaire{display:grid;grid-template-columns:280px minmax(0,1fr);background:var(--blanc);border-radius:var(--r-panneau);overflow:hidden;min-height:620px}
.sc-sommaire{background:var(--fond-attenue);padding:28px 22px;border-right:1px solid var(--filets)}
.sc-som-titre{font:500 0.84rem var(--f-texte);text-transform:uppercase;letter-spacing:.04em;color:var(--marine);margin:0 0 12px}
.sc-sommaire ol{list-style:none;margin:0;padding:0}
.sc-som{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:9px 0;position:relative}
.sc-som:not(:last-child)::after{content:"";position:absolute;left:14px;top:40px;bottom:-9px;width:2px;background:var(--filets)}
.sc-som.est-fait:not(:last-child)::after{background:var(--marine)}
.sc-som-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:500 0.87rem var(--f-texte);letter-spacing:.11em;border:2px solid var(--filets);background:var(--blanc);color:var(--texte);position:relative;z-index:1}
.sc-som.est-fait .sc-som-num{background:var(--marine);border-color:var(--marine);color:var(--blanc)}
.sc-som.est-encours .sc-som-num{border-color:var(--marine);color:var(--marine);box-shadow:0 0 0 4px var(--jaune)}
.sc-som-lib{font-size:.85rem;line-height:1.3;padding-top:5px}
.sc-som.est-fait .sc-som-lib,.sc-som.est-encours .sc-som-lib{color:var(--marine);font-weight:600}
.sc-som-points{display:flex;gap:4px;margin-top:6px}
.sc-som-points i{width:18px;height:4px;border-radius:2px;background:var(--filets)}
.sc-som-points i.est-fait{background:var(--marine)}
.sc-som-points i.est-encours{background:var(--jaune);box-shadow:inset 0 0 0 1px var(--marine)}
.sc-som-temps{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--filets);font-size:.82rem}
.sc-som-temps b{display:block;font:600 1.25rem var(--f-titre);color:var(--marine)}
.sc-zone{padding:30px 42px 34px;display:flex;flex-direction:column;min-width:0}
.sc-rail{display:flex;gap:6px;margin-bottom:24px}
.sc-rail-groupe{display:flex;gap:2px;flex-basis:0}
.sc-rail-groupe i{flex:1;height:6px;border-radius:1px;background:var(--glacier)}
.sc-rail-groupe i.est-fait{background:var(--marine)}
.sc-rail-groupe i.est-encours{background:var(--jaune);box-shadow:inset 0 0 0 1px var(--marine)}
.sc-surtitre{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:500 0.88rem var(--f-texte);text-transform:uppercase;letter-spacing:.03em;margin:0 0 10px}
.sc-surtitre-simple{font:500 0.88rem var(--f-texte);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}
.sc-q-titre{font:600 1.5rem/1.2 var(--f-titre);color:var(--marine);max-width:34ch;margin:0}
.sc-q-titre:focus{outline:none}
.sc-aide{margin:8px 0 20px;font-size:.92rem}
.sc-question{border:0;margin:0 0 8px;padding:0;min-width:0}
.sc-question legend{padding:0;float:left;width:100%}
.sc-question legend+*{clear:both}
.sc-question--tache{margin-bottom:22px}
.sc-tache{display:block;font-weight:600;color:var(--marine);margin:4px 0 10px}
.sc-echelle{position:relative}
.sc-echelle::before{content:"";position:absolute;left:21px;top:24px;bottom:24px;width:2px;background:var(--glacier)}
.sc-rep{position:relative;display:grid;grid-template-columns:44px 1fr;align-items:center;min-height:52px;margin-bottom:8px;border:1px solid var(--filets);border-radius:14px;background:var(--blanc);cursor:pointer}
.sc-rep input,.sc-puce input,.sc-nsp input,.sc-tuile-choix input,.sc-accord input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.sc-rep-pt{width:18px;height:18px;border-radius:50%;border:2px solid var(--marine-clair);background:var(--blanc);justify-self:center;position:relative;z-index:1}
.sc-rep-txt{padding:12px 16px 12px 0;color:var(--marine);font-size:.93rem}
.sc-rep:hover{border-color:var(--marine-clair)}
.sc-rep:has(input:checked){background:var(--glacier);border-color:var(--marine)}
.sc-rep input:checked+.sc-rep-pt{background:var(--marine);box-shadow:inset 0 0 0 3px var(--blanc)}
.sc-rep:has(input:focus-visible){outline:3px solid var(--marine-clair);outline-offset:2px}
.sc-echelle--compacte .sc-rep{min-height:40px;margin-bottom:5px}
.sc-echelle--compacte .sc-rep-txt{padding:8px 14px 8px 0;font-size:.86rem}
.sc-echelle--compacte::before{top:18px;bottom:18px}
.sc-nsp{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:4px;cursor:pointer;color:var(--marine);font-size:.9rem;position:relative}
.sc-nsp span{text-decoration:underline;text-underline-offset:3px}
.sc-nsp small{font-size:.8rem;color:var(--texte)}
.sc-nsp:has(input:checked) span{background:var(--glacier);border-radius:6px;padding:2px 8px;text-decoration:none;font-weight:600}
.sc-nsp:has(input:focus-visible){outline:3px solid var(--marine-clair);outline-offset:2px;border-radius:6px}
.sc-puces{border:0;margin:0 0 20px;padding:0}
.sc-puces legend{font-weight:600;color:var(--marine);margin-bottom:10px;padding:0}
.sc-puces div{display:flex;flex-wrap:wrap;gap:8px}
.sc-puce{position:relative;cursor:pointer}
.sc-puce span{display:inline-block;border:1px solid var(--filets);border-radius:999px;padding:8px 14px;font-size:.88rem;color:var(--marine);background:var(--blanc)}
.sc-puce:hover span{border-color:var(--marine-clair)}
.sc-puce input:checked+span{background:var(--glacier);border-color:var(--marine);font-weight:600}
.sc-puce input:focus-visible+span{outline:3px solid var(--marine-clair);outline-offset:2px}
.sc-erreur{color:var(--marine);font-weight:600;min-height:1.5em;margin:10px 0 0}
.sc-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px}

/* Choix des fonctions */
.sc-chaine{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.sc-maillon{display:grid;gap:10px}
.sc-maillon-tete{background:var(--marine);color:var(--glacier);padding:10px 22px 10px 14px;font-size:.78rem;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.sc-maillon-tete b{font:600 .9rem var(--f-titre);color:var(--blanc);text-transform:uppercase}
.sc-maillon-num{font:500 0.82rem var(--f-texte);letter-spacing:.11em;color:var(--jaune);margin-right:6px}
.sc-tuile{border:1px solid var(--filets);border-radius:14px;padding:12px 13px;background:var(--blanc)}
.sc-tuile-choix{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;cursor:pointer;position:relative}
.sc-tuile-choix b{color:var(--marine);font-size:.88rem;line-height:1.3}
.sc-case{width:20px;height:20px;border-radius:5px;border:2px solid var(--marine-clair);background:var(--blanc);display:grid;place-items:center;margin-top:1px}
.sc-tuile-choix input:checked+.sc-case{background:var(--marine);border-color:var(--marine)}
.sc-tuile-choix input:checked+.sc-case::after{content:"";width:9px;height:5px;border-left:2px solid var(--blanc);border-bottom:2px solid var(--blanc);transform:rotate(-45deg) translate(1px,-1px)}
.sc-tuile-choix input:focus-visible+.sc-case{outline:3px solid var(--marine-clair);outline-offset:2px}
.sc-tuile.est-evaluee{border-color:var(--marine);box-shadow:inset 0 0 0 1px var(--marine)}
.sc-tuile.est-absente{background:var(--fond-attenue)}
.sc-tuile.est-absente .sc-case{border-color:var(--filets);background:var(--fond-attenue)}
.sc-tuile.est-absente b{color:var(--texte)}
.sc-tuile.est-absente .sc-tuile-taches{display:none}
.sc-tuile-taches{list-style:none;margin:8px 0 6px 30px;padding:0;font-size:.76rem;line-height:1.35}
.sc-tuile-taches li{padding:3px 0;border-top:1px solid var(--filets)}
.sc-tuile .sc-lien{display:block;margin-left:30px;text-align:left;line-height:1.35}
.sc-bilan{margin-top:20px;background:var(--fond-attenue);border-radius:var(--r-carte);padding:14px 20px;display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center}
.sc-bilan div{font-size:.82rem}
.sc-bilan b{display:block;font:600 1.3rem var(--f-titre);color:var(--marine)}
.sc-bilan p{margin:0;font-size:.85rem;flex:1;min-width:220px}

/* ---------- Résultat ---------- */
.sc-encadre{background:var(--glacier);color:var(--marine);border-radius:14px;padding:12px 16px;margin:14px 0 0}
.sc-bloc{padding-top:26px;margin-top:26px;border-top:1px solid var(--filets)}
.sc-bloc-titre{font:600 1rem var(--f-titre);text-transform:uppercase;margin:0 0 16px}
.sc-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.sc-carte{border:1px solid var(--filets);border-radius:var(--r-carte);padding:16px;background:var(--blanc)}
.sc-carte h4{font:600 .95rem var(--f-texte);color:var(--marine);margin:0}
.sc-carte-score{display:flex;align-items:center;gap:12px;margin:12px 0 10px}
.sc-carte-taches{list-style:none;margin:0;padding:0;font-size:.8rem}
.sc-carte-taches li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid var(--filets)}
.sc-rang{font:500 0.84rem var(--f-texte);letter-spacing:.11em;color:var(--marine);white-space:nowrap}
/* Le formulaire du rapport ne reprend ni la grille à deux colonnes ni le cadre de la
   règle « form » générale, ni les capitales de la règle « label » : il doit tenir aussi
   bien dans la colonne de 300 px du tableau de bord que sur la largeur d'un téléphone. */
.sc-form{display:block;max-width:560px;min-width:0;background:none;border:0;border-radius:0;padding:0;gap:0}
.sc-champ{margin-bottom:14px;min-width:0}
.sc-champ label{display:block;font-weight:600;font-size:.9rem;line-height:1.35;color:var(--marine);margin-bottom:6px}
.sc-champ input{display:block;width:100%;max-width:100%;min-height:48px;background:var(--blanc);border:2px solid var(--bordure-champ);border-radius:14px;padding:0 13px;font:1rem var(--f-texte);color:var(--marine)}
.sc-champ input:hover{border-color:var(--marine)}
.sc-champ input:focus-visible{outline:3px solid var(--marine-clair);outline-offset:1px}
.sc-accord{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:.85rem;line-height:1.5;position:relative;cursor:pointer}
.sc-accord span::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border:2px solid var(--marine-clair);border-radius:5px;background:var(--blanc)}
.sc-accord span{grid-column:2;overflow-wrap:anywhere}
.sc-accord input:checked+span::before{background:var(--marine);border-color:var(--marine);box-shadow:inset 0 0 0 3px var(--blanc)}
.sc-accord input:focus-visible+span::before{outline:3px solid var(--marine-clair);outline-offset:2px}
.sc-note{font-size:.8rem;margin:10px 0 0}
.sc-apercu{border:1px solid var(--filets);border-radius:6px;aspect-ratio:1/1.414;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:10px}
.sc-apercu-tete{background:var(--marine);width:100%;padding:14px 12px;display:grid;gap:5px}
.sc-apercu-tete i{height:5px;background:var(--blanc);border-radius:2px}
.sc-apercu-tete i:first-child{width:22%;background:var(--jaune)}
.sc-apercu-tete i:nth-child(2){width:80%}.sc-apercu-tete i:nth-child(3){width:55%}
.sc-apercu-lignes{width:78%;display:grid;gap:6px}
.sc-apercu-lignes i{height:4px;background:var(--filets);border-radius:2px}
.sc-suite{margin-top:26px}
.sc-suite-mission{background:var(--marine);color:var(--glacier);border-radius:var(--r-carte);padding:26px}
.sc-suite-mission h3{color:var(--blanc);text-transform:uppercase;font-size:1.2rem;margin-bottom:8px}
.sc-suite-mission p{max-width:64ch;margin:0 0 16px}
.sc-suite-mission .sc-surtitre-simple{color:var(--jaune)}
.sc-suite-mission :focus-visible{outline-color:var(--jaune)}
.sc-suite-deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sc-suite-deux h3{font-size:1.05rem;text-transform:uppercase;margin-bottom:6px}
.sc-suite-deux p{margin:0 0 14px}


/* Portes de la page Score IA */
.sc-portes{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.sc-porte{background:var(--blanc);border-radius:var(--r-panneau);display:flex;flex-direction:column;border:1px solid var(--filets);overflow:hidden}
.sc-porte-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.sc-porte-corps{padding:32px;display:flex;flex-direction:column;gap:14px;flex:1}
.sc-porte h2{text-transform:uppercase;font-size:1.5rem}
.sc-porte p{margin:0}
.sc-porte ul{margin:0;padding:0;list-style:none}
.sc-porte-tete{display:flex;align-items:center;gap:12px;min-height:44px}
.sc-porte-tete .sc-surtitre-simple{margin:0}
.sc-porte-ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:12px;background:var(--glacier);color:var(--marine)}
.sc-porte--organisation .sc-porte-ico{background:var(--jaune)}
.sc-porte-ico .ico{width:22px;height:22px}
.sc-porte .sc-meta{display:flex;flex-wrap:wrap;gap:8px}
.sc-porte .sc-meta li{color:var(--marine);border:1px solid var(--filets);border-radius:999px;padding:4px 12px}
.sc-porte-obtient li{padding:8px 0;border-top:1px solid var(--filets);font-size:.93rem}
.sc-porte .sc-btn{align-self:flex-start;margin-top:auto}
/* Règle de traitement des données, au moment de l'arbitrage */
.sc-garantie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin:18px 0 0;padding:0 8px;font-size:.9rem}
.sc-garantie span{max-width:74ch}
.sc-garantie .sc-btn{min-height:44px;flex:none}
@media (max-width:760px){.sc-portes{grid-template-columns:1fr}.sc-garantie{padding:0}.sc-garantie .sc-btn{width:100%}}

/* Aperçu du rapport type */
.sc-apercus{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.sc-apercu{margin:0}
.sc-apercu a{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--filets);background:var(--blanc)}
.sc-apercu a:hover{border-color:var(--marine-clair)}
.sc-apercu img{display:block;width:100%;height:auto}
.sc-apercu figcaption{margin-top:9px;font:600 .82rem var(--f-texte);color:var(--marine)}
.sc-apercus-legende{margin:16px 0 0;font-size:.82rem}
@media (max-width:760px){.sc-apercus{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}

/* Onglets d'échelle, sans script : l'état est porté par deux boutons radio */
.sc-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sc-onglets-barre{display:inline-flex;gap:4px;margin:0 0 18px;padding:4px;min-width:0;max-width:100%;border:1px solid var(--filets);border-radius:999px;background:var(--fond-attenue)}
.sc-onglet-champ{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.sc-onglet{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:999px;font:600 .92rem var(--f-texte);color:var(--marine);cursor:pointer}
.sc-onglet:hover{background:var(--glacier)}
/* sans prise en charge de :has(), les deux échelles restent affichées et la barre disparaît */
@supports not selector(:has(*)){
  .sc-onglets-barre{display:none}
  .sc-onglet-vue+.sc-onglet-vue{margin-top:20px}
}
@supports selector(:has(*)){
  .sc-onglet-vue{display:none}
  .sc-onglets:has(#sc-ech-pratique:checked) .sc-onglet[for="sc-ech-pratique"],
  .sc-onglets:has(#sc-ech-organisation:checked) .sc-onglet[for="sc-ech-organisation"]{background:var(--marine);color:var(--blanc)}
  .sc-onglets:has(#sc-ech-pratique:focus-visible) .sc-onglet[for="sc-ech-pratique"],
  .sc-onglets:has(#sc-ech-organisation:focus-visible) .sc-onglet[for="sc-ech-organisation"]{outline:3px solid var(--marine-clair);outline-offset:3px}
  .sc-onglets:has(#sc-ech-pratique:checked) .sc-vue--pratique,
  .sc-onglets:has(#sc-ech-organisation:checked) .sc-vue--organisation{display:block}
}

/* ---------- Tableau de bord ---------- */
.sc-btn--clair{background:transparent;border-color:var(--blanc);color:var(--blanc)}
.sc-btn--clair:hover{background:var(--marine-soutenu);border-color:var(--blanc);color:var(--blanc)}
.sc-btn--plein{width:100%;margin-top:14px}
.sc-tdb{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
.sc-tdb-bandeau{background:var(--marine);color:var(--glacier);border-radius:var(--r-panneau);padding:28px 32px;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.sc-tdb-bandeau .sc-surtitre-simple{color:var(--jaune)}
.sc-tdb-bandeau :focus-visible{outline-color:var(--jaune)}
.sc-tdb-titre{color:var(--blanc)!important;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.2rem)}
.sc-tdb-titre:focus{outline:none}
.sc-tdb-meta{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0 0;padding:0}
.sc-tdb-meta li{font:500 0.9rem var(--f-texte);letter-spacing:.11em;color:var(--blanc);border:1px solid var(--marine-clair);border-radius:999px;padding:4px 12px}
.sc-tdb-bandeau-act{display:flex;gap:12px;flex-wrap:wrap}
.sc-tdb-panneau{background:var(--blanc);border-radius:var(--r-panneau);padding:30px}
.sc-tdb-tete{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.sc-tdb-tete h3{font-size:1.1rem;text-transform:uppercase}
.sc-tdb-tete p{margin:0;font-size:.88rem}
.sc-tdb-synthese{display:grid;grid-template-columns:210px minmax(0,1fr) 280px;gap:30px;align-items:center}
.sc-tdb-cadran{position:relative;display:grid;justify-items:center}
.sc-tdb-cadran .sc-etiquette{margin-top:-12px}
.sc-tdb-score{position:absolute;top:54px;left:0;right:0;text-align:center;margin:0;line-height:1}
.sc-tdb-score b{display:block;font:700 3.5rem var(--f-titre);color:var(--marine)}
.sc-tdb-score span{font:500 0.97rem var(--f-texte);letter-spacing:.11em}
.sc-tdb-lecture h3{font-size:2rem;text-transform:uppercase;margin-bottom:10px}
.sc-tdb-lecture p{margin:0}
.sc-tdb-cles{display:grid;gap:12px}
.sc-tdb-cle{background:var(--fond-attenue);border-radius:16px;padding:14px 16px;font-size:.85rem}
.sc-tdb-cle>span{font:500 0.84rem var(--f-texte);text-transform:uppercase;letter-spacing:.03em}
.sc-tdb-cle b{display:block;font:600 1.35rem var(--f-titre);color:var(--marine);margin:2px 0 4px}
.sc-tdb-cle p{margin:0}
.sc-tdb-cle--duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:center}
.sc-tdb-cle--duo div{display:grid;justify-items:center;gap:4px;font:500 0.84rem var(--f-texte);letter-spacing:.11em;text-transform:uppercase}
.sc-tdb-colonnes{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:20px;align-items:start}
.sc-tdb-gauche{display:grid;gap:20px;min-width:0}
.sc-tdb-anneaux{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px 10px}
.sc-tdb-anneaux li{display:grid;justify-items:center;gap:8px;text-align:center;font-size:.8rem;color:var(--marine);line-height:1.3}
.sc-tdb-deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sc-tdb-liste{background:var(--fond-attenue);border-radius:16px;padding:14px 16px}
.sc-tdb-liste h4{font:600 .85rem var(--f-titre);text-transform:uppercase;margin:0 0 8px;color:var(--marine)}
.sc-tdb-liste ul{list-style:none;margin:0;padding:0}
.sc-tdb-liste li{display:grid;grid-template-columns:1fr 28px auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--filets);font-size:.85rem;color:var(--marine)}
.sc-tdb-v{font:500 0.97rem var(--f-texte);letter-spacing:.11em;color:var(--marine);text-align:right}
.sc-tdb-chaine{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sc-tdb-maillon ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.sc-tdb-maillon li{border:1px solid var(--filets);border-radius:14px;padding:10px 12px;display:grid;gap:8px}
.sc-tdb-maillon li.est-hors{background:var(--fond-attenue);border-color:transparent}
.sc-tdb-fn{font-weight:600;color:var(--marine);font-size:.84rem;line-height:1.3}
.est-hors .sc-tdb-fn{color:var(--texte);font-weight:500}
.sc-tdb-droite{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}
.sc-tdb-hors{font:500 0.84rem var(--f-texte);letter-spacing:.11em}
.sc-rangs{display:inline-flex;gap:3px}
.sc-rangs i{width:9px;height:9px;border-radius:2px;background:var(--glacier)}
.sc-rangs i.est-plein{background:var(--marine)}
.sc-tdb-actions{list-style:none;margin:0;padding:0}
.sc-tdb-actions li{display:grid;grid-template-columns:34px 1fr 72px;gap:12px;padding:12px 0;border-top:1px solid var(--filets);align-items:start}
.sc-tdb-num{width:28px;height:28px;border-radius:50%;background:var(--jaune);color:var(--marine);display:grid;place-items:center;font:700 .85rem var(--f-titre)}
.sc-tdb-actions p{margin:0;color:var(--marine);font-weight:600}
.sc-tdb-actions small{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:.8rem}
.sc-tdb-h{font:500 0.92rem var(--f-texte);letter-spacing:.11em;color:var(--marine);text-align:right}
.sc-tdb-rapport{position:sticky;top:96px;max-height:calc(100vh - 116px);overflow-y:auto;
  min-width:0;background:var(--blanc);border-radius:var(--r-panneau);padding:24px;box-shadow:inset 0 0 0 2px var(--marine);
  scroll-margin-top:96px}
#sc-rapport-form{scroll-margin-top:96px;scroll-margin-bottom:88px}
.sc-tdb-rap-tete{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:12px}
.sc-tdb-rap-tete h3{font-size:1.15rem;text-transform:uppercase}
.sc-tdb-rap-tete p{margin:4px 0 0;font-size:.85rem}
.sc-tdb-rap-tete .sc-apercu{display:flex}
.sc-tdb-rap-contenu{margin:0 0 16px;padding:0 0 0 18px;font-size:.82rem}
.sc-tdb-rap-contenu li{padding:2px 0}
.sc-champ-err{margin:6px 0 0;font-size:.8rem;color:var(--etat-construire-encre);font-weight:600}
.sc-champ-err:empty{display:none}
.sc-champ input[aria-invalid=true]{border-color:var(--etat-construire)}
.sc-mention{font-size:.75rem;margin-top:10px;overflow-wrap:anywhere}
.sc-suite-mission{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.sc-suite-deux section{background:var(--blanc);border-radius:var(--r-carte);padding:22px}
.sc-tdb-barre{display:none}
@media (max-width:1080px){
  .sc-tdb-synthese,.sc-tdb-colonnes{grid-template-columns:minmax(0,1fr)}
  .sc-tdb-chaine{grid-template-columns:1fr 1fr}
  .sc-tdb-barre{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;background:var(--marine);border-radius:999px;padding:8px 8px 8px 20px;align-items:center;justify-content:space-between;gap:10px;color:var(--blanc);font:600 .85rem var(--f-titre)}
  .sc-tdb-barre>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sc-tdb-barre .sc-btn{flex:none;min-height:40px;padding:0 16px}
  .sc-tdb-barre[hidden]{display:none}
  .sc-tdb-rapport{position:static;max-height:none;overflow:visible}
  .sc-rubrique{padding-bottom:96px}
}
@media (max-width:600px){
  .sc-tdb-panneau,.sc-tdb-bandeau,.sc-tdb-rapport{padding:22px 18px}
  .sc-tdb-deux,.sc-tdb-chaine,.sc-suite-mission{grid-template-columns:1fr}
  .sc-tdb-anneaux{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-tdb-actions li{grid-template-columns:34px 1fr}
  .sc-tdb-h{grid-column:2;text-align:left}
}

/* ---------- Page méthode ---------- */
.sc-doc h2{text-transform:uppercase;font-size:1.25rem;margin:34px 0 10px}
.sc-doc h2:first-child{margin-top:0}
.sc-doc p,.sc-doc ol{max-width:78ch}
.sc-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:10px 0}
.sc-table th{text-align:left;font:500 0.87rem var(--f-texte);letter-spacing:.11em;color:var(--marine);border-bottom:2px solid var(--marine);padding:8px 10px;vertical-align:bottom}
.sc-table td{vertical-align:top;border-bottom:1px solid var(--filets);padding:9px 10px}
.sc-table-defil{overflow-x:auto}

/* ---------- Adaptation ---------- */
@media (max-width:980px){
  .sc-questionnaire{grid-template-columns:1fr}
  .sc-sommaire{border-right:0;border-bottom:1px solid var(--filets);padding:14px 20px}
  .sc-sommaire ol{display:none}
  .sc-som-titre{margin:0}
  .sc-som-temps{margin:6px 0 0;padding:0;border:0;display:flex;gap:6px;align-items:baseline}
  .sc-som-temps b{display:inline;font-size:1rem}
  .sc-zone{padding:22px 20px 26px}
  .sc-chaine{grid-template-columns:1fr 1fr}

}
@media (max-width:760px){
  .sc-regle,.sc-niveaux{min-width:0}
  .sc-niveaux{grid-template-columns:1fr;gap:4px}
  .sc-niveau,.sc-niveau:first-child,.sc-niveau:last-child{border-radius:12px}
  .sc-grille--echelle .sc-niveau:first-child,.sc-grille--echelle .sc-niveau:last-child{border-radius:12px}
  .sc-grille--echelle .sc-niveaux{grid-template-rows:none}
  .sc-grille--echelle .sc-niveau{display:block;grid-row:auto}
  .sc-regle-grad span:nth-child(even){visibility:hidden}
}
@media (max-width:600px){
  .sc-onglets-barre{display:flex;width:100%;border-radius:22px}
  .sc-onglet{flex:1 1 0;min-width:0;justify-content:center;padding:0 10px;font-size:.84rem;text-align:center}
  .sc-hero{padding:44px 0 72px}
  .sc-panneau{padding:22px 18px}
  .sc-chaine{grid-template-columns:1fr}
  .sc-q-titre{font-size:1.25rem}
  .sc-nav .sc-btn{flex:1 1 100%}
}

/* ---------- Rapport imprimé ---------- */
#sc-rapport{display:none}
@media print{
  @page{size:A4;margin:0}
  html,body{background:var(--blanc)!important;margin:0}
  body>*:not(#sc-rapport){display:none!important}
  .sc-tdb-barre{display:none!important}
  #sc-rapport{display:block;color:var(--texte);font:9.2pt/1.45 var(--f-texte);-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #sc-rapport h1,#sc-rapport h2,#sc-rapport h3,#sc-rapport h4{font-family:var(--f-titre);color:var(--marine);margin:0;line-height:1.12}
  .scr-page{width:210mm;height:297mm;padding:15mm 16mm 13mm;display:flex;flex-direction:column;overflow:hidden;break-after:page;page-break-after:always}
  .scr-page:last-child{break-after:auto;page-break-after:auto}
  .scr-hero{background:var(--marine);color:var(--glacier);margin:-15mm -16mm 8mm;padding:12mm 16mm 11mm}
  .scr-hero-l{display:flex;justify-content:space-between;font:8pt var(--f-texte);letter-spacing:.11em;font-weight:500}
  .scr-hero-l b{font:700 11pt var(--f-titre);color:var(--blanc)}
  .scr-hero h1{color:var(--blanc)!important;text-transform:uppercase;font-size:22pt;margin:9mm 0 3mm!important;max-width:150mm}
  .scr-hero p{font:500 8pt var(--f-texte);letter-spacing:.11em;margin:0}
  .scr-intro{display:grid;grid-template-columns:58mm 1fr;gap:8mm;align-items:center;margin-bottom:5mm}
  .scr-cadran{position:relative;text-align:center}
  .scr-cadran>svg{width:54mm;height:54mm}
  .scr-score{position:absolute;top:15mm;left:0;right:0;margin:0;line-height:1}
  .scr-score b{display:block;font:700 34pt var(--f-titre);color:var(--marine)}
  .scr-score span{font:500 8pt var(--f-texte);letter-spacing:.11em}
  .scr-cadran .sc-etiquette{margin-top:-5mm}
  .scr-niv{font:600 12.5pt var(--f-titre);text-transform:uppercase;color:var(--marine);margin:0 0 2mm}
  .scr-intro p{margin:0 0 2.5mm}
  .scr-ecart{background:var(--fond-attenue);border-radius:3mm;padding:2.5mm 3.5mm}
  .scr-ecart b{color:var(--marine)}
  #sc-rapport .sc-encadre{margin:0 0 5mm;padding:3mm 4mm;border-radius:3mm}
  .scr-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm;margin:2mm 0 6mm}
  .scr-chiffre{background:var(--fond-attenue);border-radius:4mm;padding:3.5mm 4.5mm;font-size:8.2pt}
  .scr-chiffre span{font:500 8pt var(--f-texte);letter-spacing:.11em;display:block}
  .scr-chiffre b{display:block;font:700 20pt var(--f-titre);color:var(--marine);line-height:1.15}
  .scr-h{font-size:10pt!important;text-transform:uppercase;margin:5mm 0 2.5mm!important}
  .scr-sommaire{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:3mm;font-size:8pt;line-height:1.35}
  .scr-sommaire li{background:var(--fond-attenue);border-radius:3mm;padding:2.5mm 3mm}
  .scr-sommaire span{font:500 7.5pt var(--f-texte);letter-spacing:.11em;display:block}
  .scr-sommaire b{display:block;font:600 9pt var(--f-titre);color:var(--marine);margin:1mm 0}
  .scr-pied{margin-top:auto;border-top:.3mm solid var(--filets);padding-top:2.5mm;display:flex;justify-content:space-between;font-size:7pt}
  .scr-tete{display:flex;justify-content:space-between;font:8pt var(--f-texte);letter-spacing:.11em;font-weight:500;margin-bottom:7mm}
  .scr-tete b{font:700 10pt var(--f-titre);color:var(--marine)}
  .scr-titre{font-size:17pt!important;text-transform:uppercase;margin-bottom:2mm!important}
  .scr-chapo{margin:0 0 6mm;max-width:155mm}
  #sc-rapport .sc-grille{overflow:visible}
  #sc-rapport .sc-regle,#sc-rapport .sc-niveaux{min-width:0}
  #sc-rapport .sc-niveau{padding:3mm 3mm 3.5mm}
  #sc-rapport .sc-niveau-nom{font-size:10pt}
  #sc-rapport .sc-niveau-desc{font-size:7.6pt}
  #sc-rapport .sc-niveau ul{font-size:7.2pt}
  #sc-rapport .sc-niveau-etat{position:static;display:flex;margin-bottom:1mm;font-size:6.5pt}
  .scr-etats{display:flex;flex-wrap:wrap;gap:3mm 4mm;align-items:center;font-size:8pt}
  .scr-liste{margin:0;padding-left:5mm}
  .scr-anneaux{list-style:none;margin:0 0 6mm;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:2mm;text-align:center;font-size:7.6pt;color:var(--marine);line-height:1.25}
  .scr-anneaux li{display:flex;flex-direction:column;align-items:center;gap:1.5mm}
  .scr-table{width:100%;border-collapse:collapse;font-size:7.8pt}
  .scr-table th[scope=col]{text-align:left;font:500 7.2pt var(--f-texte);letter-spacing:.11em;color:var(--marine);border-bottom:.4mm solid var(--marine);padding:1.5mm 2mm}
  .scr-table th[scope=row]{text-align:left;vertical-align:top;width:36mm;color:var(--marine);font-weight:600;padding:2mm;border-bottom:.3mm solid var(--filets)}
  .scr-table td{vertical-align:top;border-bottom:.3mm solid var(--filets);padding:2mm;line-height:1.35}
  .scr-table ul{margin:0;padding-left:3.5mm}
  .scr-table li{margin-bottom:1mm}
  .scr-val{display:block;font:500 8pt var(--f-texte);letter-spacing:.11em;margin:1mm 0}
  .scr-table .sc-etiquette{font-size:7pt;padding:1mm 2.2mm 1mm 1.6mm}
  .scr-cartes{grid-template-columns:1fr 1fr;gap:4mm}
  #sc-rapport .sc-carte{padding:3.5mm;border-radius:4mm}
  #sc-rapport .sc-carte-taches{font-size:7.6pt}
  .scr-cadre{background:var(--fond-attenue);border-radius:4mm;padding:4mm 5mm;margin:5mm 0 3mm}
  .scr-cadre .scr-h{margin-top:0!important}
  .scr-cadre p{margin:0 0 2mm}
  .scr-cadre--marine{background:var(--marine);color:var(--glacier)}
  .scr-cadre--marine .scr-h{color:var(--blanc)!important}
  .scr-jaune{color:var(--jaune);font-weight:600}
  .scr-deux{display:grid;grid-template-columns:1fr 1fr;gap:4mm}
  .scr-deux .scr-cadre{margin:4mm 0 0}
  .scr-actions{list-style:none;margin:0;padding:0}
  .scr-actions li{display:grid;grid-template-columns:8mm 1fr 18mm;gap:3mm;padding:2.6mm 0;border-top:.3mm solid var(--filets);align-items:start}
  .scr-num{width:6.5mm;height:6.5mm;border-radius:50%;background:var(--jaune);color:var(--marine);display:grid;place-items:center;font:700 8.5pt var(--f-titre)}
  .scr-actions p{margin:0;color:var(--marine);font-weight:600}
  .scr-actions small{display:flex;align-items:center;gap:2mm;flex-wrap:wrap;margin-top:1mm;font-size:7.6pt}
  .scr-actions .sc-etiquette{font-size:7pt;padding:.8mm 2.2mm .8mm 1.6mm}
  .scr-horizon{font:500 8pt var(--f-texte);letter-spacing:.11em;text-align:right;color:var(--marine)}
  .scr-petit{font-size:7.6pt;margin:0}
  .scr-sigles{columns:2;column-gap:6mm;font-size:7.2pt;margin:0}
  .scr-sigles div{break-inside:avoid;display:flex;gap:1.5mm}
  .scr-sigles dt{font-weight:600;color:var(--marine)}
  .scr-sigles dd{margin:0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* ============ à propos ============ */
.eco{margin-top:34px;background:var(--tint);border:1px solid var(--line);
  border-radius:var(--r-panel);padding:clamp(20px,3vw,34px)}
.eco-fig{display:block;width:100%;max-width:820px;margin-inline:auto;height:auto}
.eco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
@media (max-width:860px){.eco-grid{grid-template-columns:1fr}}
.eco-item{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}
.eco-item .rl{font-family:var(--text);font-weight:500;font-size:0.8rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--navy-3);display:block}
.eco-item .nm{font-family:var(--display);font-weight:600;font-size:1.08rem;
  color:var(--ink);margin-top:8px;display:block}
.eco-item p{font-size:.9rem;margin-top:9px}


.part{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
@media (max-width:900px){.part{grid-template-columns:1fr}}
.part-card{background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  padding:24px;display:flex;flex-direction:column;gap:14px}
.part-card .nm{font-family:var(--display);font-weight:600;font-size:1.1rem;color:var(--ink);display:block}
.part-card .ql{font-size:.86rem;color:var(--muted);margin-top:6px}
.part-dl{display:flex;flex-direction:column;gap:0}
.part-dl div{border-top:1px solid var(--line);padding-top:11px;margin-top:11px}
.part-dl div:first-child{border-top:0;padding-top:0;margin-top:0}
.part-dl dt{font-family:var(--text);font-weight:500;font-size:0.78rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--navy-3)}
.part-dl dd{margin:6px 0 0;font-size:.89rem}

/* ============ marque ============ */
.logo{display:block;width:auto}
.logo-nav{height:13.3px;color:var(--navy)}
.logo-foot{height:22px;color:#fff}
/* la pastille de marque s'aligne sur la hauteur de la pastille de navigation */
.brand{flex-direction:row;align-items:center;justify-content:center;padding-inline:22px}
@media (max-width:480px){.brand{padding-inline:16px}}

/* ============ coaching IA ============ */
.viz{border:1px dashed var(--line);border-radius:var(--r-card);background:var(--tint);
  padding:clamp(26px,4vw,44px);margin-top:20px;text-align:center}
.viz .t{font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:.95rem;color:var(--navy);display:block}
.viz .s{display:block;margin-top:8px;font-size:.9rem;max-width:56ch;margin-inline:auto}
.viz .f{display:block;margin-top:10px;font-family:var(--text);font-weight:500;font-size:0.78rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sst{margin-top:26px;font-size:1.02rem}
.mesures{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.mesures li{border-top:1px solid var(--line);padding-top:12px;font-size:.93rem}
.mesures li:first-child{border-top:0;padding-top:0}
.mesures b{display:block;color:var(--navy);font-size:.96rem;margin-bottom:4px}
.navy .chapeau{color:#C9D2EC;max-width:56ch}
.dgrid.recap{margin-top:34px}
.dgrid.recap ul{margin-top:12px;display:flex;flex-direction:column;gap:8px;font-size:.93rem}
.dgrid.recap li{padding-left:18px;position:relative;color:#C2CBE8}
.dgrid.recap li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;
  border-radius:50%;background:var(--yellow);outline:1px solid var(--navy-3)}

/* ==========================================================================
   Visuels d'accueil : encadrés, panneaux et agenda
   Les jetons de charte déjà déclarés plus haut ne sont pas redéclarés.
   ========================================================================== */
:root{
  /* couleurs sémantiques : un état, jamais une décoration */
  --jade:#1F8F84; --abricot:#E4804F; --framboise:#C9445F;
  /* nuances pour fonds foncés */
  --jade-c:#35B3A6; --abricot-c:#F09A6C; --framboise-c:#E4697F;
  /* teintes de fond des pastilles */
  --jade-t:#EAF4F3; --abricot-t:#FDF1EA; --framboise-t:#FBEBEE;
  /* encres d'état, pour le texte sur fond clair : les couleurs vives n'y passent pas AA */
  --jade-e:#0F5F57; --abricot-e:#8A3E16; --framboise-e:#8C2440;

  --sh:0 14px 34px rgba(16,20,58,.13);
  --sh-photo:0 20px 48px rgba(12,16,50,.26);
}

/* --------------------------------------------------------------------------
   1 · Étiquette — petits libellés en capitales, graisse 500, interlettrage augmenté
   Appliquer .et sur tout code de programme, durée, ville, état, petit libellé.
   -------------------------------------------------------------------------- */
.et{
  font-family:var(--text);
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-size:.66rem;
  color:var(--muted);
}

/* --------------------------------------------------------------------------
   2 · Contenants d'encadré
   Le filet de 1 px est obligatoire : sans lui, l'encadré blanc disparaît
   sur fond blanc et sur glacier.
   -------------------------------------------------------------------------- */
.k{background:var(--ground);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh)}
.k-pill{background:var(--ground);border:1px solid var(--line);border-radius:999px;box-shadow:var(--sh)}
.plaque{background:var(--ground);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);padding:12px 14px;display:inline-block}

/* sur marine : le filet disparaît, un liseré intérieur le remplace */
.k.on-navy,.k-pill.on-navy{border-color:transparent}
.plaque.on-navy{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.24);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* au-dessus d'une photographie : ombre renforcée, jamais de flou seul */
.sur-photo{box-shadow:var(--sh-photo)}

/* ancrage des encadrés en débord */
.pin{position:absolute;z-index:3}

/* --------------------------------------------------------------------------
   3 · Encadré 01 · Axes du Score IA
   -------------------------------------------------------------------------- */
.e-axes{width:min(196px,64vw);display:flex;flex-direction:column;gap:12px}
.ax-lab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px}
.ax-lab b{font-weight:500;font-size:.83rem;color:var(--navy)}
.ax-lab em{font-weight:500;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;font-style:normal;white-space:nowrap}
.bar{position:relative;height:5px;border-radius:999px;background:var(--line)}
.bar i{position:absolute;inset:0 auto 0 0;border-radius:999px}
.bar u{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:2px;background:var(--muted)}

.t-jade{color:var(--jade-e)} .t-abr{color:var(--abricot-e)} .t-frm{color:var(--framboise-e)}
.f-jade{background:var(--jade)} .f-abr{background:var(--abricot)} .f-frm{background:var(--framboise)}
.on-navy .ax-lab b{color:var(--ground)}
.on-navy .bar{background:rgba(255,255,255,.2)}
.on-navy .bar u{background:rgba(255,255,255,.5)}
.on-navy .t-jade{color:var(--jade-c)} .on-navy .t-abr{color:var(--abricot-c)} .on-navy .t-frm{color:var(--framboise-c)}
.on-navy .f-jade{background:var(--jade-c)} .on-navy .f-abr{background:var(--abricot-c)} .on-navy .f-frm{background:var(--framboise-c)}

/* --------------------------------------------------------------------------
   4 · Encadré 08 · Étiquette de session
   -------------------------------------------------------------------------- */
.e-sess{height:40px;padding:0 15px;display:inline-flex;align-items:center;gap:9px;background:var(--ground);color:var(--navy);border:1px solid var(--line);border-radius:999px;box-shadow:var(--sh)}
.e-sess span{font-weight:500;font-size:.74rem}
.e-sess em{font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-style:normal;padding-left:10px;border-left:1px solid rgba(25,27,84,.16)}
.e-sess.on-navy{background:rgba(255,255,255,.12);color:var(--ground);box-shadow:inset 0 0 0 1px rgba(255,255,255,.26)}
.e-sess.on-navy em{border-left-color:rgba(255,255,255,.3)}

/* --------------------------------------------------------------------------
   5 · Encadré 11 · Point de vigilance
   -------------------------------------------------------------------------- */
.e-vig{width:230px;padding:13px;display:flex;align-items:center;gap:13px}
.badge{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center}
.b-abr{background:var(--abricot-t);color:var(--abricot-e)}
.b-frm{background:var(--framboise-t);color:var(--framboise-e)}
.e-vig .tx b{display:block;font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--navy)}
.e-vig .tx span{display:block;font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* --------------------------------------------------------------------------
   6 · Panneau photographique
   -------------------------------------------------------------------------- */
.pan{position:relative;border-radius:26px;overflow:hidden;background:var(--ice);box-shadow:0 18px 42px rgba(16,20,58,.1)}
.pan img{display:block;width:100%;height:100%;object-fit:cover}
.pan.r11{aspect-ratio:1/1}
.pan.r34{aspect-ratio:3/4}
.pan.r45{aspect-ratio:4/5}
.pan.r32{aspect-ratio:3/2}
/* réserve à gauche pour le débord de l'encadré */
.pan-wrap{position:relative;padding-left:30px}

/* --------------------------------------------------------------------------
   7 · Scène de détourage dans l'en-tête marine
   -------------------------------------------------------------------------- */
.stage{position:relative;min-height:470px}
.stage > img{position:absolute;right:-2%;bottom:0;height:100%;width:auto;max-width:none;display:block;z-index:2}
/* aplat glacier, à n'employer que si le sujet porte des vêtements sombres */
.stage .aplat{position:absolute;right:-2%;bottom:0;width:84%;height:82%;border-radius:26px 26px 0 0;background:var(--ice)}

/* --------------------------------------------------------------------------
   8 · Agenda des sessions
   -------------------------------------------------------------------------- */
.ag-grid{display:grid;grid-template-columns:36% minmax(0,1fr);gap:clamp(22px,3.4vw,48px);align-items:center}
.ag-list{display:flex;flex-direction:column;background:var(--ground);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.ag-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 20px}
.ag-row + .ag-row{border-top:1px solid var(--line)}
.ag-row .dt{font-family:var(--display);font-weight:600;font-size:.94rem;color:var(--navy)}
.ag-row .dt s{display:block;text-decoration:none;font-family:var(--text);font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.ag-row .pr{min-width:0}
.ag-row .pr b{display:block;font-weight:500;font-size:.94rem;color:var(--navy)}
.ag-row .pr span{display:block;font-weight:500;font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.ag-row .etat{font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ag-foot{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:baseline;justify-content:space-between;padding:16px 20px;background:var(--tint);border-top:1px solid var(--line)}
.ag-foot b{font-weight:500;font-size:.9rem;color:var(--navy)}
.ag-foot span{font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* --------------------------------------------------------------------------
   9 · Adaptation au téléphone
   -------------------------------------------------------------------------- */
@media (max-width:960px){
  .stage{min-height:430px}
  .stage > img{right:0}
  .stage .aplat{width:100%;right:0}
  .ag-grid{grid-template-columns:1fr}
  .ag-row{grid-template-columns:82px minmax(0,1fr);row-gap:6px}
  .ag-row .etat{grid-column:2}
  .pan-wrap{padding-left:22px}
  .pin{transform:scale(.86);transform-origin:left top}
}

/* --------------------------------------------------------------------------
   Mise en place des visuels d'accueil
   -------------------------------------------------------------------------- */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center}
@media (min-width:960px){.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
/* Le sujet est tranché au cadre dans sa moitié basse : on ne montre que la partie
   réellement détourée, buste et épaules, et la coupe tombe sur le filet du bandeau.
   Le cadre ne rogne que la photographie : les encadrés en débord restent entiers. */
.stage-cadre{position:absolute;inset:0;overflow:hidden}
/* 135 % de la hauteur visible : on s'arrête à 74 % du fichier, tête et buste dégagés,
   juste avant que le cadre d'origine ne tranche les bras du sujet */
.stage-cadre > img{position:absolute;top:0;right:-6%;height:135%;width:auto;max-width:none;display:block}
@media (min-width:960px){
  .hero-grid{align-items:end}
  .stage{align-self:end;min-height:470px}
}
.pin-axes{left:0;top:auto;bottom:12%}
@media (min-width:960px){.pin-axes{left:-42px}}
.pin-sess-haut{left:-16px;top:6%}
.pin-sess-bas{left:14px;bottom:12%}
.pin-vig{left:-20px;bottom:11%}
.e-axes{width:min(196px,64vw)}
.ag-list{margin-top:24px}
.ag-cta{margin-top:24px}
.split-visuel{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,54px);align-items:center}
@media (min-width:960px){.split-visuel{grid-template-columns:42% minmax(0,1fr)}}
.split-visuel .lede{margin-top:16px}
.ag-row .etat,.e-sess em,.ax-lab em{font-family:var(--text)}
/* sur écran étroit, la scène se réduit : le sujet reste un buste, pas un portrait serré */
@media (max-width:960px){.stage{min-height:320px}}
@media (max-width:560px){
  .stage{min-height:300px}
  .pin{transform:scale(.8)}
  .pin-axes{top:auto;bottom:2px;left:-8px}
  .pin-sess-haut,.pin-sess-bas,.pin-vig{left:-6px}
}

/* --------------------------------------------------------------------------
   Bandeau des partenaires, dans l'en-tête
   Chaque logo est posé sur le fond que sa marque demande : le marine pour
   celui qui est dessiné en blanc, un cartouche clair pour les autres.
   -------------------------------------------------------------------------- */
.partenaires{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.part{display:flex;align-items:center;justify-content:center;height:68px}
.part img{display:block;width:auto;height:var(--h,34px);max-width:100%}
.part-clair{background:var(--ground);border-radius:var(--r-card);padding:0 18px}
@media (max-width:640px){
  .part{height:56px}
  .part img{height:calc(var(--h,34px) * .82)}
  .part-clair{padding:0 13px}
}

/* --------------------------------------------------------------------------
   Bande des outils, sur fond clair, sous les chiffres de l'en-tête
   -------------------------------------------------------------------------- */
.outils{background:var(--ground);border-bottom:1px solid var(--line);padding-block:clamp(22px,3vw,34px)}
.outils-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px clamp(24px,3.4vw,46px)}
.outils .kicker{margin-bottom:0;width:100%}
.outils-liste{display:flex;flex-wrap:wrap;align-items:center;gap:18px clamp(26px,2.4vw,36px)}
.outil{display:flex;align-items:center}
.outil img{display:block;width:auto;height:var(--h,30px);max-width:100%}
/* logo sans mot-symbole : l'icône est suivie de son nom, écrit dans la police du site */
.outil--libelle{gap:10px}
.outil-lib{font-family:var(--display);font-weight:600;font-size:1.06rem;line-height:1.1;
  letter-spacing:-.005em;color:var(--ink);white-space:nowrap}
@media (max-width:640px){
  .outils-liste{gap:16px 26px}
  .outil img{height:calc(var(--h,30px) * .84)}
  .outil-lib{font-size:.96rem}
}

/* --------------------------------------------------------------------------
   Calendrier : la date commande la ligne
   Jetons de charte uniquement ; la couleur ne porte qu'un état.
   -------------------------------------------------------------------------- */
.agenda-f{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 20px}
.f-champ{display:flex;flex-direction:column;gap:6px;min-width:190px}
.f-champ label{font-family:var(--text);font-weight:500;font-size:.72rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted)}
.f-champ select{min-height:44px;border:2px solid var(--bordure-champ);border-radius:var(--r-pill);
  padding:0 16px;background:var(--ground);color:var(--navy);font:inherit;font-size:.9rem}
.f-etat{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:.88rem;color:var(--muted)}
.f-raz{border:0;background:none;padding:0;font:inherit;font-size:.88rem;color:var(--navy);
  font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.agenda-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;
  margin-top:26px;padding:clamp(20px,2.6vw,28px);border-radius:var(--r-card);
  background:var(--navy);color:#fff}
.agenda-next[hidden]{display:none}
.agenda-next .kicker{color:var(--ice);margin-bottom:8px}
.agenda-next-t{font-family:var(--display);font-weight:600;font-size:1.08rem}
.agenda-next-d{margin-top:6px;font-size:.9rem;color:#C9D2EC}

.mois{margin-top:clamp(28px,3.4vw,40px)}
.mois[hidden]{display:none}
.mois-b .mois-t{display:flex;align-items:center;gap:16px;flex:1;min-width:0}
.mois-b .mois-t::after{content:"";flex:1;height:1px;background:var(--line)}
.mois-b{position:sticky;top:var(--nav-h);z-index:3;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:10px 0;margin-bottom:14px;
  background:var(--ground)}
.mois-t{font-family:var(--text);font-weight:500;font-size:.82rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink)}
.mois-n{font-size:.82rem;color:var(--muted)}


.ses-liste{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}
/* Carte de session. En liste : pavé de date, corps, actions empilées à droite,
   intervenants en pied. En grille : tout s'empile dans une colonne. */
.ses{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 20px;
  padding:22px 24px;align-items:start;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  transition:border-color .16s ease,box-shadow .16s ease}
.ses:hover{border-color:var(--navy);box-shadow:0 12px 30px rgba(25,27,84,.10)}
.ses[hidden]{display:none}
/* ligne atteinte par une ancre : elle s'arrête sous la barre de navigation */
.ses[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}
.ses-passe{opacity:.72}

.jr{display:grid;place-content:center;gap:2px;width:78px;height:78px;border-radius:16px;
  text-align:center;background:var(--ice);color:var(--navy)}
.jr-m{display:block;font-family:var(--text);font-weight:600;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase}
.jr-q{display:block;font-family:var(--display);font-weight:600;font-size:2.3rem;line-height:1;
  font-variant-numeric:tabular-nums;white-space:nowrap}
/* deux journées : le corps cède pour que « 15–16 » tienne sur une ligne */
.jr-duo .jr-q{font-size:1.45rem;letter-spacing:-.01em}
.jr-passe{background:var(--tint);color:var(--muted)}
/* date non arrêtée : le pavé garde sa place et le dit */
.jr-avenir{gap:5px;margin:0}
.jr-v{display:block;font-family:var(--text);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.jr-h{font-family:var(--text);font-weight:500;font-size:.72rem;letter-spacing:.06em;color:var(--muted)}

.ses-e{margin-bottom:10px}
.ses-c>*+*{margin-top:0}
.ses-e span{display:inline-flex;align-items:center;gap:7px;border-radius:var(--r-pill);
  padding:5px 12px;font-family:var(--text);font-weight:500;font-size:.74rem;letter-spacing:.06em;
  text-transform:uppercase}
.ses-e span::before{content:"";width:8px;height:8px;border-radius:50%;flex:none;background:currentColor}
.et-ouvert{background:var(--jade-t);color:var(--jade-e)}
.et-tension{background:var(--abricot-t);color:var(--abricot-e)}
.et-complet{background:var(--framboise-t);color:var(--framboise-e)}
.ses-code{font-family:var(--text);font-weight:500;font-size:.72rem;letter-spacing:.1em;color:var(--muted)}
.ses-t{font-family:var(--display);font-weight:600;font-size:1.12rem;line-height:1.25;margin-top:2px;
  text-wrap:normal}
.ses-t a{color:var(--ink);text-decoration:none}
.ses-t a:hover{color:var(--navy-3)}
.ses-pitch{margin-top:6px;font-size:.9rem;line-height:1.5;color:var(--body);max-width:62ch}
.ses-p{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;margin-top:10px;font-size:.9rem;color:var(--body)}
.ses-p .ico{color:var(--navy-3);flex:none}
.ses-p i{font-style:normal;color:var(--muted)}
.ses-x{font-weight:600;color:var(--ink);white-space:nowrap}
.ses-x i{margin-right:7px;font-weight:400}

.ses-f{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:14px}
/* En liste, chaque intervenant porte son nom : la ligne de noms n'a pas lieu d'être. */
.ses-noms{display:none}
.intv{display:flex;align-items:center;gap:11px}
.intv-p{border-radius:50%;box-shadow:0 0 0 2px var(--ground),0 0 0 3px var(--line)}
.intv-t{display:flex;flex-direction:column;gap:2px}
.intv-n{font-size:.88rem;font-weight:600;color:var(--ink);text-decoration:none}
.intv-n:hover{color:var(--navy-3);text-decoration:underline}
.intv-q{font-size:.76rem;color:var(--muted)}
/* Les deux actions occupent la place libre à droite, l'une sous l'autre. */
.ses-a{display:grid;gap:8px;justify-items:stretch;align-content:start;min-width:186px}
.ses-a .btn{width:100%}

/* Vue en grille : la carte s'empile, la liste devient une grille de cartes. */
.ses-liste--grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.ses-liste--grille .ses{grid-template-columns:minmax(0,1fr);gap:14px}
.ses-liste--grille .jr{width:66px;height:66px;border-radius:14px}
.ses-liste--grille .jr-m{font-size:.66rem}
.ses-liste--grille .jr-q{font-size:1.85rem}
.ses-liste--grille .jr-duo .jr-q{font-size:1.2rem}
.ses-liste--grille .ses-a{min-width:0}
.ses-liste--grille .ses-t{font-size:1.04rem}
/* Les actions se posent au bas de la carte, alignées d'une carte à l'autre. */
.ses-liste--grille .ses-a{margin-top:auto;padding-top:4px}
/* Plusieurs intervenants : les portraits se chevauchent, les noms se lisent en toutes
   lettres sous eux. Rien n'est caché derrière un survol, que le doigt n'a pas. */
.ses-liste--grille .ses-f--duo{gap:0 0;align-items:center}
.ses-liste--grille .ses-f--duo .intv-t{display:none}
.ses-liste--grille .ses-f--duo .intv+.intv{margin-left:-12px}
.ses-liste--grille .ses-f--duo .intv-p{width:38px;height:38px}
.ses-liste--grille .ses-f--duo .ses-noms{display:block;flex:1 0 100%;margin-top:8px;
  font-size:.86rem;color:var(--body)}


/* Bascule entre les deux vues */
.vues{display:inline-flex;gap:4px;padding:4px;background:var(--tint);border-radius:var(--r-pill)}
.vues[hidden]{display:none}
.vues button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;
  border:0;border-radius:var(--r-pill);background:none;color:var(--body);cursor:pointer;
  font:600 .84rem var(--text)}
.vues button[aria-pressed="true"]{background:var(--ground);color:var(--ink);
  box-shadow:0 1px 3px rgba(25,27,84,.12)}
.vues .ico{width:16px;height:16px}

.agenda-vide{margin-top:26px;padding:clamp(22px,3vw,32px);background:var(--tint);
  border:1px solid var(--line);border-radius:var(--r-card)}
.agenda-vide[hidden]{display:none}
.agenda-vide-t{font-family:var(--display);font-weight:600;font-size:1.08rem;color:var(--ink);margin-bottom:8px}
.agenda-vide-f{font-size:.9rem;color:var(--body)}
.agenda-vide .pub-cta{margin-top:18px}
.agenda-intra-t{min-width:0}
.agenda-intra-t p{margin-top:10px;max-width:56ch}
.agenda-intra{display:grid;gap:clamp(20px,3vw,36px);align-items:center;
  margin-top:clamp(28px,3.4vw,42px);padding:clamp(22px,3vw,32px);background:var(--tint);
  border:1px solid var(--line);border-radius:var(--r-card)}
@media (min-width:860px){.agenda-intra{grid-template-columns:minmax(0,1fr) 300px}}
.agenda-intra h2{font-size:1.08rem}
.agenda-intra .contact-medaillon{background:var(--ground);border-radius:var(--r-card);padding:22px}
.agenda-intra p{margin-top:8px;font-size:.92rem;color:var(--body);max-width:62ch}

@media (max-width:768px){
  .agenda-f{flex-direction:column;align-items:stretch}
  .f-champ{min-width:0}
  .f-etat{margin-left:0}
  .ses{grid-template-columns:minmax(0,1fr);padding:18px}
  .jr{width:72px;height:72px;border-radius:14px}
  .jr-q{font-size:2.1rem}
  .ses-a{min-width:0}
  .ses-a .btn{min-height:44px}
}

/* ——— Fiche formation en onglets ———————————————————————————————————— */
/* La colonne de gauche s'épingle d'un bloc : fiche, contact et sessions
   restent sous les yeux quel que soit l'onglet ouvert. */
/* la colonne suit le fil de la page : rien ne s'y épingle */
.pcol{position:static}
/* médaillon resserré dans la colonne de la fiche */
.pcol .contact-medaillon{padding:18px}
.pcol .contact-medaillon__portrait{width:80px;height:80px}
.pcol .pside{border-radius:var(--r-card)}
/* un libellé long ne doit pas déborder de la carte : le bouton passe à la ligne */
.pside .btn{white-space:normal;padding-inline:18px;line-height:1.25}
.pside-t .ico{color:var(--navy-3);margin-right:8px;vertical-align:-2px}

.pside-ses{background:var(--ground)}
.pses{display:grid;gap:14px}
/* la règle générale .pside li met les puces en ligne : ici, un bloc */
.pside .pses-i{display:block;padding:14px 0 0;border-top:1px solid var(--line);font-size:1rem}
.pside .pses-i:first-child{border-top:0;padding-top:0}
.pses-d{font-family:var(--display);font-weight:600;font-size:1rem;color:var(--navy)}
.pses-l{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--body);margin-top:5px}
.pses-l .ico{color:var(--navy-3);flex:none;margin-top:.2em}
.pses-e{display:inline-block;margin-top:9px;font-size:.76rem;font-weight:600;letter-spacing:.01em;
  padding:4px 11px;border-radius:var(--r-pill)}
.pses-x{font-size:.88rem;color:var(--body)}
.pside-ses .sess-plus{font-size:.83rem;color:var(--muted);margin-top:14px}

/* l'écart entre l'en-tête de fiche et le corps, réduit d'un tiers */
.phead + .band{padding-top:clamp(37px,4.7vw,69px)}

/* Chapeau : cible et problème traité, avant la barre d'onglets */
.pchapo{margin-bottom:26px}
.pchapo p{color:var(--body);max-width:68ch}
.pchapo p + p{margin-top:12px}
.pchapo p:first-of-type{color:var(--ink)}
.pchapo .pchapo-st{margin-top:36px}
.pchapo .pchapo-st + p{margin-top:18px}
.pchapo .onum{margin-top:18px}
.pchapo .onum li,.pmain .body > .onum li{font-size:inherit}

/* Barre d'onglets */
.pmain{min-width:0}
.obarre{display:flex;gap:4px;position:sticky;top:var(--nav-h);z-index:6;background:var(--ground);
  border-bottom:1px solid var(--line);margin:0 0 24px;padding:6px 0 0;
  overflow-x:auto;scrollbar-width:none}
.obarre::-webkit-scrollbar{display:none}
.ong{appearance:none;border:0;background:none;cursor:pointer;white-space:nowrap;
  font-family:var(--display);font-size:.95rem;font-weight:600;line-height:1;color:var(--muted);
  padding:13px 16px;min-height:44px;border-radius:10px 10px 0 0;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.ong:hover{color:var(--navy);background:var(--tint)}
.ong[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--yellow)}
.ong:focus-visible{outline:2px solid var(--navy-3);outline-offset:-3px}
.opan[hidden]{display:none}
.opan:focus{outline:none}
.opan > .psec:first-child > h2{margin-top:0}

/* Onglet intervenant */
.ivxs{display:grid;gap:18px}
.ivx{border:1px solid var(--line);border-radius:var(--r-card);padding:20px 22px;background:var(--tint)}
.ivx-h{display:flex;gap:16px;align-items:center}
.ivx-p{border-radius:50%}
.ivx-n{font-family:var(--display);font-size:1.08rem;font-weight:600;color:var(--navy)}
.ivx-f{font-size:.88rem;color:var(--body);margin-top:3px}
.ivx-b{font-size:.92rem;color:var(--body);margin-top:14px}
.ivx .btn{margin-top:16px}

@media (max-width:900px){
  /* le corps passe avant la colonne : la barre d'onglets doit rester atteignable */
  .player{display:flex;flex-direction:column;align-items:stretch}
  .pmain{order:1}
  .pcol{order:2}
  .obarre{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .ivx-h{gap:12px}
  .ivx-p{width:64px;height:64px}
}
@media print{
  .obarre{display:none}
  .opan[hidden]{display:block !important}
  .pcol{position:static}
}

/* Session tenue : elle reste au calendrier, sans appel à l'inscription */
.et-passe{background:var(--tint);color:var(--muted)}
.mois-passe{margin-top:8px}
.mois-passe .mois-t{color:var(--muted)}
.ses-passe{background:var(--tint)}
.ses-passe .ses-t a{color:var(--body)}
.ses-passe .ses-x b{color:var(--body)}

/* ==========================================================================
   Accueil — offre en tuiles, billets de session, Score IA
   ========================================================================== */

/* bouton à contour clair, sur fond marine */
.btn-contour{background:transparent;color:#fff;border-color:rgba(255,255,255,.9)}
.btn-contour:hover{background:rgba(255,255,255,.1)}

/* Carte formation : composant unique (catalogue, formations associées, intervenant).
   La carte entière est le lien ; le bandeau bas se cale en pied pour rester aligné. */
.fgrille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px;align-items:stretch}
.fgrille--4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.fgrille--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1080px){.fgrille--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.fgrille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.fgrille,.fgrille--4,.fgrille--2{grid-template-columns:minmax(0,1fr)}}
.fcarte{display:flex;flex-direction:column;min-width:0;background:var(--ground);border:1px solid var(--line);
  border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
.fcarte[hidden]{display:none}
a.fcarte:hover{box-shadow:0 18px 40px -18px rgba(25,27,84,.28);transform:translateY(-2px)}
a.fcarte:focus-visible{outline:3px solid var(--navy-3);outline-offset:3px}
.fc-vis{position:relative;aspect-ratio:16/10;background:var(--ice)}
.fc-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fc-niv{position:absolute;top:14px;left:14px;display:flex;gap:5px;align-items:center;
  background:#fff;border-radius:999px;padding:8px 11px}
.fc-niv i{display:block;width:9px;height:9px;border-radius:50%;border:1.6px solid var(--navy)}
.fc-niv i.on{background:var(--navy)}
.fc-fam{position:absolute;top:14px;left:14px;background:#fff;color:var(--navy);border-radius:999px;
  padding:8px 13px;font:600 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}
.fc-corps{flex:1;display:flex;flex-direction:column;padding:26px 12px 12px}
.fc-titre{margin:0;padding:0 10px;font:700 19px/1.3 var(--text);letter-spacing:normal;text-transform:none;
  color:var(--navy);text-wrap:balance}
.fc-pitch{margin:0;padding:10px 10px 0;font-size:14.5px;line-height:1.5;color:var(--body)}
.fc-corps > :nth-last-child(2){margin-bottom:22px}
.fc-pied{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;
  min-height:64px;background:var(--tint);border-radius:14px;padding:12px 14px}
.fc-inf{flex:none;margin:0;display:flex;flex-direction:column}
.fc-lib{font:500 11px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fc-val{margin-top:5px;font:600 14.5px/1.3 var(--text);color:var(--navy)}
.fc-logos{flex:none;display:flex;align-items:center;gap:14px}
/* un logo livré sur fond blanc se fond dans le fond atténué du bandeau */
.fc-logo{flex:none;display:block;max-width:none;width:auto;height:var(--h);mix-blend-mode:multiply}
/* carte étroite : les logos cèdent un cinquième de leur hauteur pour tenir sur la ligne du libellé */
.fcarte{container-type:inline-size}
@container (max-width:330px){
  .fc-logos{gap:9px}
  .fc-logo{height:calc(var(--h) * .8)}
}
@container (max-width:305px){
  .fc-logos{gap:6px}
  .fc-logo{height:calc(var(--h) * .62)}
}
.fc-liste{list-style:none;margin:0;padding:6px 14px;background:var(--tint);border-radius:14px}
.fc-liste li + li{border-top:1px solid var(--line)}
.fc-liste a{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;
  color:var(--navy);text-decoration:none;font:600 14px/1.35 var(--text)}
.fc-liste a::after{content:"";flex:none;width:18px;height:18px;margin-top:1px;background:no-repeat center/14px
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191B54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.fc-liste a:hover{text-decoration:underline;text-underline-offset:3px}
.fc-liste a:focus-visible{outline:3px solid var(--navy-3);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){a.fcarte,a.fcarte:hover{transition:none;transform:none}}

/* En-tête dont l'action est un bouton : l'en-tête occupe la largeur, le bouton à droite. */
.sh--large{max-width:none}
.sh--large .sh-t{max-width:760px}
.sh-act--btn{align-self:end;color:var(--navy);border:1.5px solid var(--navy)}
.sh-act--btn:hover{background:var(--navy);color:#fff;text-decoration:none}

/* Prochaines sessions : un billet par date */
.ag-tete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 40px}
.ag-tete .sh{max-width:44rem}
.ag-tete .ag-cta{margin-top:0}
.billets{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:14px;
  grid-template-columns:repeat(4,minmax(0,1fr))}
/* moins de quatre billets : la rangée se partage entre eux */
.billets--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.billets--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.billets--1{grid-template-columns:minmax(0,34rem)}
@media (max-width:1100px){.billets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1100px) and (min-width:861px){.billets--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.billets{grid-template-columns:1fr}}
.billet{position:relative;display:flex;gap:16px;align-items:flex-start;padding:18px;
  background:var(--ground);border:1px solid var(--line);border-radius:var(--r-card);
  transition:border-color .2s,box-shadow .2s}
.billet:hover{border-color:var(--navy);box-shadow:0 12px 28px rgba(16,20,58,.08)}
.billet:focus-within{outline:3px solid var(--navy);outline-offset:3px}
.billet-date{flex:none;width:64px;height:72px;border-radius:14px;background:var(--ice);color:var(--navy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.billet-date b{font-family:var(--display);font-weight:600;font-size:1.9rem;letter-spacing:-.02em}
.billet-date span{margin-top:5px;font-weight:600;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
/* date non arrêtée : deux lignes de même poids tiennent la place du quantième */
.billet-date--avenir{gap:4px}
.billet-date--avenir span{margin-top:0;font-size:.66rem}
.billet-corps{min-width:0;display:flex;flex-direction:column;gap:7px}
.billet .etat{font-family:var(--text);font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.billet-t{font-family:var(--display);font-weight:600;font-size:.98rem;line-height:1.3;color:var(--navy)}
.billet-t a{color:inherit;text-decoration:none}
.billet-t a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.billet-t a:focus-visible{outline:none}
.billet-pitch{font-size:.88rem;line-height:1.5;color:var(--body)}
.billet-ctx{font-size:var(--fs-meta);color:var(--muted)}
.ag-tarif{margin-top:20px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.ag-tarif b{font-weight:500;font-size:.92rem;color:var(--navy)}
.ag-tarif span{font-weight:500;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* Score IA : panneau marine, photographie entamée par une pointe, jauge d'exemple */
.sia{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.sia-photo{position:relative;height:300px}
.sia-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sia .wrap{position:relative;z-index:1}
.sia-texte{padding-block:clamp(40px,6vw,72px)}
.sia-texte .hero-cta{margin-top:28px}
.sia-jauge{position:absolute;left:50%;bottom:18px;transform:translateX(-50%) scale(.72);transform-origin:50% 100%;
  display:flex;flex-direction:column;align-items:center}
.sia-anneau{position:relative;width:184px;height:184px}
.sia-anneau svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.sia-fond{fill:var(--navy)}
.sia-piste{fill:none;stroke:rgba(255,255,255,.14);stroke-width:8}
.sia-arc{fill:none;stroke:var(--yellow);stroke-width:8;stroke-linecap:round}
.sia-n{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:600;font-size:4rem;letter-spacing:-.03em;color:#fff}
.sia-n s{text-decoration:none;font-family:var(--text);font-weight:500;font-size:.95rem;letter-spacing:0;
  color:rgba(255,255,255,.8);align-self:flex-end;margin:0 0 58px 3px}
.sia-niveau{margin-top:-6px;display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:12px 20px;background:var(--navy);border-radius:16px;box-shadow:0 14px 30px rgba(10,12,40,.3);
  font-weight:500;font-size:.95rem;white-space:nowrap}
.sia-barres{display:flex;align-items:flex-end;gap:4px;height:24px}
.sia-barres i{display:block;width:8px;border-radius:3px;background:rgba(255,255,255,.3)}
.sia-barres i:nth-child(1){height:40%} .sia-barres i:nth-child(2){height:55%}
.sia-barres i:nth-child(3){height:70%} .sia-barres i:nth-child(4){height:85%} .sia-barres i:nth-child(5){height:100%}
.sia-barres i.on{background:var(--yellow)}
@media (min-width:961px){
  .sia{min-height:clamp(480px,42vw,600px);display:flex;align-items:center}
  .sia .wrap{width:100%}
  .sia-texte{max-width:min(46%,34rem)}
  .sia-photo{position:absolute;top:0;right:0;bottom:0;width:48%;height:auto;
    clip-path:polygon(0 0,100% 0,100% 100%,0 100%,7% 50%)}
  .sia-jauge{left:46%;bottom:7%;transform:translateX(-50%)}
}

/* Médaillon « Prochaine session » de l'en-tête vidéo */
.hero-sess{position:relative;margin-top:28px;display:inline-flex;align-items:center;gap:16px;max-width:100%;
  padding:12px 20px 12px 12px;border-radius:18px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero-sess-d{flex:none;width:58px;height:58px;border-radius:12px;background:var(--yellow);color:var(--navy);
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.hero-sess-d b{font-family:var(--display);font-weight:600;font-size:1.55rem}
.hero-sess-d span{margin-top:3px;font-weight:600;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.hero-sess-t{min-width:0;display:flex;flex-direction:column;gap:3px}
.hero-sess-k{font-family:var(--display);font-weight:600;font-size:.98rem;color:#fff}
.hero-sess-t a{font-size:.9rem;color:#DCE3F5;text-decoration:none}
.hero-sess-t a:hover{text-decoration:underline;text-underline-offset:3px}
.hero-sess-go{flex:none;margin-left:10px;font-weight:600;font-size:.92rem;color:var(--yellow);text-decoration:none;
  white-space:nowrap;min-height:var(--cible-min);display:inline-flex;align-items:center}
.hero-sess-go:hover{text-decoration:underline;text-underline-offset:3px}
.hero-sess a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:4px}
@media (max-width:560px){
  .hero-sess{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:14px;row-gap:0;padding:12px 16px 6px 12px}
  .hero-sess-d{grid-row:1 / span 2;align-self:start}
  .hero-sess-go{margin-left:0;justify-self:start}
}

/* Fiche formation : téléchargement de la fiche PDF, en bas de « L'essentiel » */
.pside-pdf{width:100%;justify-content:flex-start;gap:12px;text-align:left;padding-block:10px;height:auto;min-height:var(--cible-min)}
.pside-pdf .ico{width:24px;height:24px;color:var(--framboise)}
.pside-pdf span{display:flex;flex-direction:column;line-height:1.25}
.pside-pdf small{font-size:var(--fs-meta);font-weight:500;color:var(--muted)}

/* ==========================================================================
   Conseil et accompagnement
   ========================================================================== */
.cns{background:var(--tint)}
.cns .band-serre{padding-block:clamp(40px,4.6vw,64px) 0}
.cns > .band-serre:last-child{padding-bottom:clamp(56px,7vw,104px)}
.cns .kicker{margin-bottom:10px}
.cns-p{margin-top:12px;max-width:60ch}

/* en-tête : colonne « Pour qui » */
.cns-pq{align-self:end;color:#C9D2EC;font-size:.95rem;border-top:1px solid var(--line-dark);padding-top:22px;margin-top:28px}
.cns-pq-t{font-family:var(--display);font-weight:600;color:#fff;margin-bottom:10px}
.cns-pq ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media (min-width:961px){
  .cns-pq{border-top:0;margin-top:0;padding-top:0;border-left:1px solid var(--line-dark);padding-left:28px}
}

/* les sujets : panneau blanc à deux colonnes */
.cns-sujets{list-style:none;margin:26px 0 0;padding:6px clamp(20px,3vw,36px);background:var(--ground);
  border-radius:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.cns-sujets li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding-block:20px;border-bottom:1px solid var(--line)}
.cns-sujets li:nth-last-child(-n+2){border-bottom:0}
.cns-sujets .ico{width:24px;height:24px;color:var(--navy-3);margin-top:2px}
.cns-sujets h3{font-family:var(--text);font-weight:600;font-size:1rem;color:var(--ink);margin-bottom:4px}
.cns-sujets p{font-size:.94rem}
@media (max-width:700px){
  .cns-sujets{grid-template-columns:1fr}
  .cns-sujets li:nth-last-child(2){border-bottom:1px solid var(--line)}
}

/* nos interventions : trois cartes */
.cns-modes{margin-top:26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:960px){.cns-modes{grid-template-columns:1fr}}
.cns-mode{background:var(--ground);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.4vw,28px);
  display:flex;flex-direction:column;gap:10px;scroll-margin-top:calc(var(--nav-h) + 16px)}
.cns-quand{font-weight:500;font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cns-mode h3{font-family:var(--display);font-weight:600;font-size:1.08rem;line-height:1.3;color:var(--ink);text-transform:uppercase}
.cns-mode p{font-size:.94rem}
.cns-ex{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:.9rem}
.cns-ex b{font-weight:600;color:var(--ink)}
/* encart vers le coaching des dirigeants */
.cns-coach{margin-top:18px;display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center;
  gap:clamp(20px,3vw,40px);background:var(--ground);border:1px solid var(--line);border-radius:26px;overflow:hidden}
.cns-coach-img{display:block;width:100%;height:100%;min-height:200px;object-fit:cover}
.cns-coach-t{padding:clamp(22px,3vw,34px) clamp(22px,3vw,34px) clamp(22px,3vw,34px) 0;display:flex;flex-direction:column;gap:12px}
.cns-coach-t .kicker{margin-bottom:0}
.cns-coach-t p{max-width:56ch;color:var(--ink)}
.cns-coach-t a:not(.btn){color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cns-coach-t .btn{align-self:flex-start}
@media (max-width:700px){
  .cns-coach{grid-template-columns:1fr}
  .cns-coach-img{aspect-ratio:4/3;height:auto;min-height:0}
  .cns-coach-t{padding:0 22px 24px}
}

/* déroulement : trois étapes dans un panneau blanc, séparées par un filet */
.cns-etapes{list-style:none;margin:26px 0 0;padding:0;background:var(--ground);border-radius:26px;overflow:hidden;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cns-etapes li{padding:clamp(22px,2.6vw,30px);border-right:1px solid var(--line)}
.cns-etapes li:last-child{border-right:0}
.cns-etapes .cns-etape-n{display:flex;align-items:center;gap:10px;margin-bottom:10px;
  font-weight:500;font-size:var(--fs-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--navy-3)}
.cns-etape-n::after{content:"";flex:1;height:1px;background:var(--line)}
.cns-etapes li:last-child .cns-etape-n::after{display:none}
.cns-etapes h3{font-family:var(--text);font-weight:600;font-size:1.02rem;color:var(--ink);margin-bottom:6px}
.cns-etapes p{font-size:.94rem}
@media (max-width:900px){
  .cns-etapes{grid-template-columns:1fr}
  .cns-etapes li{border-right:0;border-bottom:1px solid var(--line)}
  .cns-etapes li:last-child{border-bottom:0}
  .cns-etape-n::after{display:none}
}

/* contact : panneau blanc et médaillon */
.cns-contact{background:var(--ground);border-radius:26px;padding:clamp(24px,3.4vw,40px);
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center}
@media (max-width:900px){.cns-contact{grid-template-columns:1fr}}
.cns-delai{margin-top:14px;font-weight:500;font-size:var(--fs-meta);color:var(--ink)}
.cns-contact .phead-cta{margin-top:22px}

/* ==========================================================================
   Coaching des dirigeants
   ========================================================================== */
.coa-fiche{margin:0;display:grid;gap:14px}
.coa-fiche div{display:grid;gap:2px}
.coa-fiche dt{font-weight:500;font-size:var(--fs-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--yellow)}
.coa-fiche dd{margin:0;color:#fff;font-size:.95rem}

/* accélérer : deux panneaux */
.coa-duo{margin-top:26px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px}
@media (max-width:900px){.coa-duo{grid-template-columns:1fr}}
.coa-duo-a,.coa-duo-b{border-radius:26px;padding:clamp(24px,3vw,32px)}
.coa-duo-a{background:var(--ice)}
.coa-duo-b{background:var(--ground)}
.coa-duo h3{font-family:var(--display);font-weight:600;font-size:1.06rem;text-transform:uppercase;color:var(--ink)}
.coa-duo-a > p{margin-top:6px;font-size:.94rem;color:var(--ink)}
.coa-acquis{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:16px}
.coa-acquis li{display:grid;gap:2px}
.coa-acquis b{font-family:var(--display);font-weight:600;font-size:1.35rem;text-transform:uppercase;color:var(--ink)}
.coa-acquis span{font-size:.94rem;color:var(--ink)}
.coa-apports{list-style:none;margin:12px 0 0;padding:0}
.coa-apports li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.coa-apports li:last-child{border-bottom:0;padding-bottom:0}

/* les vrais enjeux : deux blocs reliés par une flèche */
.coa-niveaux{margin-top:26px;display:grid;grid-template-columns:minmax(0,.8fr) 48px minmax(0,1.6fr);align-items:stretch}
.coa-niv{background:var(--ground);border-radius:18px;padding:clamp(22px,2.6vw,28px)}
.coa-niv-1{border:1px dashed var(--bordure-champ);align-self:center}
.coa-niv-2{border:1px solid var(--line)}
.coa-niv-t{font-family:var(--display);font-weight:600;font-size:.98rem;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.coa-niv p{font-size:.94rem}
.coa-niv-note{margin-top:10px;font-size:var(--fs-meta) !important;color:var(--muted)}
.coa-fleche{display:grid;place-items:center}
.coa-fleche svg{width:34px;height:22px;fill:none;stroke:var(--navy-3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.coa-niv-2 ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.coa-niv-2 li{padding:12px 0;border-top:1px solid var(--line);font-size:.92rem}
.coa-niv-2 li b{display:block;font-weight:600;color:var(--ink);font-size:.95rem}
@media (max-width:900px){
  .coa-niveaux{grid-template-columns:1fr}
  .coa-fleche{transform:rotate(90deg);height:44px}
}
@media (max-width:600px){.coa-niv-2 ul{grid-template-columns:1fr}}

/* études de cas et lettre d'information */
.coa-cas-grille{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
@media (max-width:900px){.coa-cas-grille{grid-template-columns:1fr}}
.coa-cas{background:var(--ground);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.6vw,28px);
  display:flex;flex-direction:column;gap:10px}
.coa-cas-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--line);min-height:59px}
.coa-logo{display:block;width:auto;height:auto;max-width:60%}
.coa-cas-dom{font-weight:500;font-size:var(--fs-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--navy-3)}
.coa-cas h3{font-family:var(--display);font-weight:600;font-size:1.06rem;line-height:1.3;text-transform:uppercase;color:var(--ink)}
.coa-cas p{font-size:.94rem}
.coa-chiffre b{font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--ink);margin-right:4px;font-variant-numeric:tabular-nums}
.coa-ici{background:var(--tint);border-radius:12px;padding:12px 14px;color:var(--ink)}
.coa-ici b{font-weight:600;margin-right:6px}
.coa-src{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:var(--fs-meta) !important;color:var(--muted)}
.coa-lettre{background:var(--ice);border-radius:18px;padding:clamp(22px,2.6vw,28px);display:flex;flex-direction:column;gap:12px}
.coa-lettre .kicker{margin-bottom:0}
.coa-lettre h3{font-family:var(--display);font-weight:600;font-size:1.06rem;line-height:1.3;text-transform:uppercase;color:var(--ink)}
.coa-lettre > p{font-size:.94rem;color:var(--ink)}
.form.form-lettre{display:block;background:transparent;border:0;padding:0;border-radius:0;margin-top:4px}
.form-lettre .field{gap:8px}
.form-lettre label{color:var(--ink)}
.form-lettre-l{display:flex;flex-wrap:wrap;gap:8px}
.form-lettre-l input{flex:1 1 200px;min-width:0;background:var(--ground)}
.form-lettre-l .btn{border:0;cursor:pointer}
.coa-lettre-m{margin-top:auto;font-size:var(--fs-meta) !important}
.coa-lettre-m a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}

/* confidentialité : encadré glacier avec icône */
.cns-indep{background:var(--ice);border-radius:26px;padding:clamp(24px,3vw,34px) clamp(22px,3vw,38px)}
.cns-indep p{margin-top:10px;max-width:70ch;color:var(--ink)}
.coa-conf{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start}
.coa-conf .ico{width:34px;height:34px;color:var(--navy)}
@media (max-width:600px){.coa-conf{grid-template-columns:1fr}}

/* ==========================================================================
   Score IA — page d'entrée, méthode, suite du résultat
   ========================================================================== */
/* en-tête : la première question dans le panneau de la clé de lecture */
.sce-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:36px 56px;align-items:center}
@media (max-width:900px){.sce-hero{grid-template-columns:1fr}}
.sc .sce-question{justify-self:stretch;width:auto;text-align:left;padding:clamp(22px,3vw,32px)}
.sce-rang{margin:0 0 10px;font:500 .8rem var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--jaune)}
.sc .sce-q{margin:0 0 22px;font:600 1.3rem/1.35 var(--f-texte);text-transform:none;letter-spacing:0;color:var(--blanc)}
.sce-q:focus{outline:none}
.sce-choix-liste{display:grid;gap:12px}
.sce-choix{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:16px;align-items:center;min-height:var(--cible-min);
  background:var(--blanc);color:var(--marine);border-radius:18px;padding:18px 20px;text-decoration:none;border:2px solid transparent;transition:border-color .15s}
.sce-choix:hover{border-color:var(--jaune)}
.sc .sce-choix:focus-visible{outline:3px solid var(--jaune);outline-offset:3px}
.sce-choix .ico{width:26px;height:26px;color:var(--marine)}
.sce-choix b{display:block;font:600 1.06rem var(--f-texte)}
.sce-choix > span > span{display:block;font-size:.88rem;color:var(--texte)}
.sce-fleche{width:20px;height:20px;fill:none;stroke:var(--marine);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sce-cout{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;padding:0;list-style:none;font:500 .82rem var(--f-texte);color:var(--glacier)}
.sce-cout li{display:flex;align-items:center;gap:7px}
.sce-cout li::before{content:"";width:12px;height:1.5px;background:var(--jaune)}

/* sections de la page d'entrée */
.sce-section{padding:clamp(40px,5vw,64px) 0 0}
.sce-section:last-of-type{padding-bottom:clamp(56px,7vw,96px)}
.sce-tete{max-width:62ch;margin-bottom:24px}
.sce-k{margin:0 0 10px;font:500 .8rem var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--marine-clair)}
.sce-tete p:last-child:not(.sce-k){margin:10px 0 0}

/* ce que vous obtenez */
.sce-obtenez{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(28px,4vw,48px);align-items:center}
@media (max-width:900px){.sce-obtenez{grid-template-columns:1fr}}
.sce-cadran{margin:0;text-align:center}
.sce-cadran > a{display:inline-block;border-radius:18px;text-decoration:none}
.sce-cadran > a:focus-visible{outline:3px solid var(--marine-clair);outline-offset:4px}
.sce-cadran-c{position:relative;display:flex;align-items:center;justify-content:center}
.sce-cadran-c .sc-cadran{width:min(208px,60vw);height:auto}
.sce-cadran-c .sc-cle-val b{color:var(--marine)}
.sce-cadran-c .sc-cle-val span{color:var(--texte)}
.sce-etat{margin:4px 0 0}
.sce-cadran figcaption{margin-top:12px;font-size:.84rem}
.sce-cadran figcaption span{display:block}
.sce-lignes{list-style:none;margin:0;padding:0}
.sce-lignes li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--filets)}
.sce-lignes li:first-child{padding-top:0}
.sce-lignes li:last-child{border-bottom:0;padding-bottom:0}
.sce-lignes .ico{width:24px;height:24px;color:var(--marine-clair);margin-top:2px}
.sce-lignes b{display:block;font-weight:600;color:var(--marine)}
.sce-lignes span{font-size:.94rem}

/* ce que deviennent vos réponses : encadré glacier */
.sce-donnees{background:var(--glacier);border-radius:var(--r-panneau);padding:clamp(24px,3vw,32px) clamp(22px,3vw,36px);
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:600px){.sce-donnees{grid-template-columns:1fr}}
.sce-donnees-ico{width:36px;height:36px;color:var(--marine)}
.sce-donnees ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px;max-width:72ch}
.sce-donnees li{padding-left:26px;position:relative;color:var(--marine)}
.sce-donnees li::before{content:"";position:absolute;left:0;top:12px;width:14px;height:1.5px;background:var(--marine)}
.sce-donnees a{color:var(--marine);text-underline-offset:3px}

/* questions fréquentes */
.sce-faq{padding-block:8px}
.sce-faq details{border-bottom:1px solid var(--filets)}
.sce-faq details:last-child{border-bottom:0}
.sce-faq summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;gap:16px;font-weight:600;color:var(--marine);min-height:var(--cible-min)}
.sce-faq summary::-webkit-details-marker{display:none}
.sce-faq summary::after{content:"+";font-size:1.25rem;line-height:1;color:var(--marine-clair)}
.sce-faq details[open] summary::after{content:"−"}
.sce-faq summary:focus-visible{outline:3px solid var(--marine-clair);outline-offset:3px;border-radius:6px}
.sce-faq details p{margin:0 0 20px;max-width:72ch;font-size:.94rem}
.sce-faq a{color:var(--marine-clair);text-underline-offset:3px}
.sce-relance{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}
.sce-relance p{margin:0;font-weight:500;color:var(--marine)}

/* méthode */
.scm-crumb{margin-bottom:18px}
.scm-fin{display:flex;justify-content:center;padding-bottom:clamp(56px,7vw,96px)}

/* suite du résultat */
.sc-tdb-methode{margin-top:10px;font-size:.84rem;color:var(--marine-clair);text-underline-offset:3px}
.sc-suite-cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:700px){.sc-suite-cartes{grid-template-columns:1fr}}
.sc-suite-carte{border:1px solid var(--filets);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.sc-suite-carte h4{font-size:1rem;text-transform:uppercase;color:var(--marine)}
.sc-suite-prog{margin:0;font-weight:600;color:var(--marine)}
.sc-suite-meta{margin:0;font-size:.86rem}
.sc-suite-carte .sc-btn{margin-top:auto}
.sc-suite-ligne{margin:16px 0 0;font-size:.92rem}
.sc-suite-ligne a{color:var(--marine-clair);font-weight:600;text-underline-offset:3px}
