/* ci-site.css — version de mise en ligne, issue de ci-site_v6.0.css (30/10/2026). */
/* ci-site_v6.0.css · 31/10/2026 · journal : v6.0 — réseau du Moteur en trois temps (txt-c), bouton dans les panneaux de la Vision, contact dans le pied de page, pages légales. v5.9 — Arbitrage, frise, besoin. */
/* ==========================================================================
   Cognitive IMPACT — feuille du site, v2 (refonte 2026-10)
   Journal de version
   v5.2 — 30/10/2026 : livrables sur fond blanc, centrés à droite, sans mention « Exemple », lecture automatique ;
        texte des fonctionnalités plus grand et mis en avant ; fenêtres beige ; barres horizontales partout.
   v5.1 — 29/10/2026 : Optimisation (sélection → kanban), Diagnostic annoté (pastilles et fil d'annotations),
        ouvertures resserrées sur un élément différenciant.
   v5.0 — 29/10/2026 : pages Services v2. Ouverture bénéfice + livrable avec visuel figé ; section « livrable »
        épinglée : liste des fonctionnalités et livrable qui s'enrichit (brief enrichi, tableau de bord, kanban).
   v4.9 — 29/10/2026 : cartes sur une ligne ; tableau des distinctions avec icônes ; mobile : visuels sous
        leur texte (Mission, Méthode), onglets de la Vision en accordéon, notes annexes du réseau retirées.
   v4.8 — 29/10/2026 : Mission v3.1 (tableau des distinctions, conclusion à boutons cyan, instrument mobile
        resserré) ; Méthode v2.0 (une seule taille de texte dans la chaîne, réseau mobile avec son texte).
   v4.7 — 29/10/2026 : Mission v3. Ordre des piliers Attention, Émotion, Mémoire, Décision dans l'instrument ;
        intro de section au-dessus des cartes ; réseau synthétique au dernier temps ; distinctions dépliables.
   v4.6 — 29/10/2026 : Méthode v1.7. Réseau sur les 3/4 de la hauteur d'écran, colonnes des signaux et
        des processus de même hauteur.
   v4.5 — 29/10/2026 : Méthode v1.6. Réseau calé à droite ; textes centrés verticalement, sauf les temps 1
        et 2 du réseau, posés en haut avec une marge sous le menu.
   v4.4 — 29/10/2026 : Méthode v1.5. Chaîne : titre du moteur, briques 2 à 4 groupées sur un fond
        commun, numérotées 1 à 3 ; plus d'air avant le réseau. Réseau : taille réglée sur la hauteur
        de l'écran (rien sous le menu), signaux rapprochés, barres resserrées.
   v4.3 — 29/10/2026 : Méthode v1.4. Réseau compact à codes sur mobile, épinglé sous l'en-tête, qui se replie
        au fil du texte ; libellé du code touché sous l'arbre.
   v4.2 — 29/10/2026 : Méthode v1.2. Sur mobile, la chaîne devient un accordéon : le texte s'ouvre
        sous la brique choisie et décale les suivantes.
   v4.1 — 29/10/2026 : Méthode v1.1. Flèches et icônes dans la chaîne, décodage cognitif en brique
        principale ; réseau sur toute la largeur avec l'entrée « Brief », texte posé au-dessus du Brief.
   v4 — 28/10/2026 : Méthode v1. Chaîne des quatre briques (onglets qui remplissent la chaîne),
        réseau de signaux épinglé pleine largeur qui se replie en piliers puis en quatre barres.
   v3.2 — 28/10/2026 : Vision v3. Les quatre positions en un écran : cartes à gauche, texte de la
        carte choisie à droite (une taille, une couleur, sauf la phrase clé). Conclusion : une
        phrase et le bouton cyan, couleur des appels principaux.
   v3.1 — 28/10/2026 : Vision v2. Ouverture avec entrée à droite ; gabarit « position » en trois
        niveaux (« La fin de… » et « Place à… » à la même taille, texte, un seul objet) ; largeurs
        par écran ; bouton de l'en-tête en simple lien sur le navy ; animation de la carte
        sans pulsation.
   v3 — 28/10/2026 : base commune à toutes les pages, à partir de la v2.2 (défilement natif,
        sans interception de la molette). Ajouts : gabarit « position » (Vision), objets
        typographiques en liste (étapes, questions), carte mentale aux intentions, appel
        « Contactez-nous » en objet typographique, ressort à l'arrivée sans blocage.
   v2.2 — 28/10/2026 : colonnes de largeur adaptée au texte (fin du 50/50 systématique),
        « Du contexte… » en trois paliers de profondeur, repères des tests regroupés avec leur
        introduction, instrument en quatre temps (carte → barres → deux communications → objet
        typographique et bouton).
   v2.1 — 28/10/2026 : ouverture des pages hors accueil alignée à gauche, centrée verticalement,
        sur 7 colonnes (le centrage complet devient la variante .ouverture.accueil). Visuel posé sans
        cadre sur le fond blanc uni de sa section ; centre de la carte en beige léger.
   v2 — 28/10/2026 : reprise après retours de Sandrine sur la v1.
        Un écran par message (1440 × 900), contenu centré, calé en haut au défilement.
        Panneaux alternés blanc / blanc cassé. Échelle réduite (H1 ≈ 52 px, H2 ≈ 40 px).
        Aucun fond vert clair, aucun liseré, boutons à angles de 3 px.
        Plus de sommaire d'ancres, plus de blocs décalés.
   ========================================================================== */

@font-face{font-family:'Nunito Sans';src:url('fonts/nunito-sans-var.woff2') format('woff2-variations');font-weight:200 1000;font-style:normal;font-display:swap}

:root{
  --f-ivoire:#faf9f5; --f-blanc:#ffffff; --f-beige:#f2f1ec; --f-navy:#16343d; --f-pied:#0c2029;
  --encre:#16343d; --texte:#365b6d; --texte-navy:#c9dedb;
  --accent:#5ce3d4; --accent-dk:#0d9283;
  --att:#31bd7b; --att-carte:#24b879; --mem:#055769; --emo:#0d9283; --dec:#289dd2;
  --icone-fond:rgba(54,91,109,.08);
  --t-h1:clamp(40px,3.7vw,56px); --t-h2:clamp(30px,2.8vw,40px); --t-h3:22px;
  --t-objet:clamp(24px,2.2vw,32px); --t-chapo:19px; --t-texte:17px; --t-petit:14px;
  --max:1240px; --marge:clamp(20px,5vw,80px); --hdr:72px;
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:0}
@media (min-width:1024px) and (prefers-reduced-motion:no-preference){html{scroll-snap-type:y proximity}}
body{margin:0;background:var(--f-ivoire);color:var(--texte);font-family:'Nunito Sans',system-ui,sans-serif;font-size:var(--t-texte);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
figure{margin:0}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
a{color:inherit}
h1,h2,h3{margin:0;color:var(--encre);font-weight:300;font-variation-settings:'opsz' 12;text-wrap:balance}
:focus-visible{outline:2px solid var(--accent-dk);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--encre);color:var(--f-ivoire);padding:10px 16px;border-radius:3px;text-decoration:none}
.skip:focus{top:12px}

.h1{font-size:var(--t-h1);line-height:1.1;letter-spacing:-.015em}
.h2{font-size:var(--t-h2);line-height:1.15;letter-spacing:-.01em}
.h3{font-size:var(--t-h3);line-height:1.3;font-weight:400}
.chapo{font-size:var(--t-chapo);line-height:1.55;color:var(--encre)}
.objet{font-size:var(--t-objet);line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);text-wrap:balance}

/* --- En-tête ----------------------------------------------------------- */
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:var(--hdr);background:rgba(250,249,245,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .3s}
.hdr .in{max-width:calc(var(--max) + 2*var(--marge));margin:0 auto;padding:0 var(--marge);height:100%;display:flex;align-items:center;justify-content:space-between}
.hdr-logo img{height:36px;width:auto}
.nav{display:flex;align-items:center;gap:32px}
.nav>a:not(.btn),.nav-menu>button{font:inherit;font-size:15px;color:var(--encre);text-decoration:none;background:none;border:0;padding:6px 0;cursor:pointer;display:flex;align-items:center;gap:6px}
.nav>a[aria-current=page]:not(.btn){text-decoration:underline;text-decoration-color:var(--accent-dk);text-decoration-thickness:2px;text-underline-offset:8px}
.hdr.on-navy .nav>a[aria-current=page]:not(.btn){text-decoration-color:var(--accent)}
.nav-menu{position:relative}
.nav-menu svg{width:16px;height:16px}
.nav-menu ul{position:absolute;top:calc(100% + 10px);left:-16px;min-width:260px;list-style:none;margin:0;padding:8px;background:var(--f-blanc);box-shadow:0 12px 40px rgba(54,91,109,.15);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s}
.nav-menu ul a{display:block;padding:10px 12px;text-decoration:none;color:var(--encre);font-size:15px}
.nav-menu ul a:hover{background:var(--f-ivoire)}
.nav-menu.is-open ul,.nav-menu:focus-within ul{opacity:1;visibility:visible;transition-delay:0s}
.nav-burger{display:none}
.hdr.on-navy{background:rgba(22,52,61,.94)}
.hdr.on-navy .nav>a:not(.btn),.hdr.on-navy .nav-menu>button,.hdr.on-navy .nav-burger{color:var(--f-ivoire)}
.hdr.on-navy .btn{background:var(--accent);color:var(--f-navy)}

/* --- Boutons et liens ---------------------------------------------------- */
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 24px;border-radius:3px;background:var(--encre);color:var(--f-ivoire);font-size:15px;font-weight:400;text-decoration:none;transition:background .2s}
.btn:hover{background:#0c2029}
.btn svg{width:18px;height:18px}
.btn-sm{height:40px;padding:0 18px;font-size:14px}
.navy .btn{background:var(--accent);color:var(--f-navy)}
.navy .btn:hover{background:#7aeadf}
.lien{color:var(--encre);text-decoration:underline;text-decoration-color:var(--accent-dk);text-underline-offset:5px;text-decoration-thickness:1px;display:inline-flex;align-items:center;gap:6px}
.lien svg{width:16px;height:16px}
.lien:hover{text-decoration-thickness:2px}

/* --- Écrans --------------------------------------------------------------- */
.ecran{min-height:100svh;display:flex;align-items:center;padding:calc(var(--hdr) + 48px) 0 64px;scroll-snap-align:start}
.ecran.blanc{background:var(--f-blanc)}
.ecran.ivoire{background:var(--f-ivoire)}
.in{width:100%;max-width:calc(var(--max) + 2*var(--marge));margin:0 auto;padding:0 var(--marge)}
.grille{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}

/* 1 · Ouverture — énoncé centré */
.ouverture .in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.ouverture .h1,.ouverture .sous{grid-column:1/span 7}
.ouverture .sous{margin:32px 0 0;font-size:clamp(22px,1.9vw,28px);line-height:1.35;font-weight:300;color:var(--texte)}
.ouverture.accueil{text-align:center}
.ouverture.accueil .in{display:block}
.ouverture.accueil .h1{max-width:16em;margin:0 auto}
.ouverture.accueil .sous{max-width:30em;margin:32px auto 0}

/* Panneau : texte face à un objet */
.texte{grid-column:1/span 6;max-width:540px}
.texte .h2,.texte .h3{margin-bottom:28px}
.face{grid-column:8/span 5}
.panneau.inverse .texte{grid-column:7/span 6;grid-row:1}
.panneau.inverse .face{grid-column:1/span 5;grid-row:1}
.definition .q{font-size:var(--t-objet);line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-bottom:24px}
.definition p:not(.q){font-size:18px;line-height:1.6}
.benefice .q{font-size:var(--t-objet);line-height:1.2;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-bottom:18px}
.benefice p:not(.q){font-size:var(--t-objet);line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--texte)}

/* 3 · Titre centré et cartes 2 × 2 */
.centre{text-align:center}
.cartes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px;text-align:left}
.carte{background:var(--f-blanc);padding:36px 40px;border-radius:2px}
.carte .h3{margin-bottom:14px}
.carte p{font-size:16px;line-height:1.6;max-width:44ch}

/* 5 · Instrument épinglé */
.instrument{background:var(--f-blanc)}
.instrument .tete{padding:calc(var(--hdr) + 80px) 0 0}
.instrument .tete .h2{max-width:20em}
.instrument .corps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.etapes{grid-column:1/span 5}
.etape{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:40px 0}
.etape .h3,.etape .h2{margin-bottom:24px}
.etape .cle{font-size:var(--t-chapo);line-height:1.55;color:var(--encre)}
.etape .fin{margin-top:40px}
.etape .fin .objet{margin-bottom:12px}
.etape .fin .objet + .objet{font-size:20px;color:var(--texte);margin-bottom:28px}
.scene-col{grid-column:7/span 6;position:sticky;top:calc(50svh - 260px + var(--hdr)/2);height:520px}

/* 5d · Du contexte à la mécanique cognitive */
.notions{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:20px;margin-top:48px;text-align:left}
.notion{padding:36px 34px;background:var(--f-ivoire);border-radius:2px}
.notion.cle{background:var(--f-beige)}
.notion .nom{display:block;font-size:24px;line-height:1.25;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-bottom:16px}
.notion p{font-size:16px}
.apres{max-width:44em;margin:40px auto 0;text-align:center;font-size:18px;color:var(--encre)}

/* 6 · Texte et repères */
.reperes{list-style:none;margin:0;padding:0;display:grid;gap:44px}
.reperes li{font-size:var(--t-objet);line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre)}

/* 7 · Conclusion navy */
.navy{background:var(--f-navy);color:var(--texte-navy)}
.navy .h2{color:var(--f-ivoire);font-size:clamp(34px,3.4vw,48px)}
.navy .texte p{font-size:18px}
.navy .cta{margin-top:40px}

/* --- Pied de page --------------------------------------------------------- */
.pied{background:var(--f-pied);color:#a9c1c1;font-size:14px;padding:40px 0}
.pied .in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pied img{height:30px;width:auto}
.pied nav{display:flex;gap:28px}
.pied a{color:#d9e6e5;text-decoration:none}
.pied a:hover{text-decoration:underline}
.pied .li svg{width:20px;height:20px}

/* ==========================================================================
   Scène : carte mentale → quatre barres
   ========================================================================== */
.scene{position:relative;width:100%;height:100%;background:transparent;overflow:hidden}
.scene .liens{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s}
.scene.is-ready .liens{opacity:1}
.scene .liens line{stroke:rgba(54,91,109,.25);stroke-width:1.5;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset .9s var(--ease),stroke .5s,stroke-width .5s}
.scene.is-drawn .liens line{stroke-dashoffset:0}
.scene line.att{--c:var(--att-carte)} .scene line.mem{--c:var(--mem)} .scene line.emo{--c:var(--emo)} .scene line.dec{--c:var(--dec)}
.scene .centre-carte{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;padding:20px 16px;text-align:center;background:var(--f-beige);border-radius:3px;color:var(--texte);font-size:15px;line-height:1.3;transition:opacity .5s,transform .7s var(--ease);z-index:2}
.scene .centre-carte span{display:block;font-size:20px;color:var(--encre);margin-top:2px}
.scene .noeud{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:3;transition:left .8s var(--ease),top .8s var(--ease),opacity .45s,transform .6s var(--ease)}
.scene .noeud .ic{width:64px;height:64px;border-radius:50%;background:var(--icone-fond);display:grid;place-items:center;transition:width .8s var(--ease),height .8s var(--ease)}
.scene .noeud .ic svg{width:30px;height:30px;fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:width .8s var(--ease),height .8s var(--ease)}
.scene .noeud .lb{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;font-size:16px;color:var(--encre);transition:left .8s var(--ease),top .8s var(--ease),transform .8s var(--ease)}
.scene .noeud.att{--x:20%;--y:22%;--c:var(--att-carte)} .scene .noeud.emo{--x:80%;--y:22%;--c:var(--emo)}
.scene .noeud.mem{--x:20%;--y:76%;--c:var(--mem)} .scene .noeud.dec{--x:80%;--y:76%;--c:var(--dec)}
.scene.is-map[data-focus] .noeud{opacity:.5}
.scene.is-map[data-focus=att] .noeud.att,.scene.is-map[data-focus=mem] .noeud.mem,.scene.is-map[data-focus=emo] .noeud.emo,.scene.is-map[data-focus=dec] .noeud.dec{opacity:1;transform:translate(-50%,-50%) scale(1.18)}
.scene.is-map[data-focus=att] line.att,.scene.is-map[data-focus=mem] line.mem,.scene.is-map[data-focus=emo] line.emo,.scene.is-map[data-focus=dec] line.dec{stroke:var(--c);stroke-width:2.5}
.scene .barre{position:absolute;left:31%;right:7%;top:var(--by);height:22px;transform:translateY(-50%);background:rgba(54,91,109,.07);opacity:0;transition:opacity .5s .3s;z-index:1}
.scene .barre i{display:block;height:100%;width:var(--w);background:var(--c);transform-origin:left center;transform:scaleX(0);transition:transform .7s var(--ease) calc(var(--i)*80ms + .35s);-webkit-mask-image:linear-gradient(90deg,#000 76%,transparent);mask-image:linear-gradient(90deg,#000 76%,transparent)}
.scene .b-att{--c:var(--att);--by:24%;--i:0} .scene .b-mem{--c:var(--mem);--by:41.3%;--i:1}
.scene .b-emo{--c:var(--emo);--by:58.6%;--i:2} .scene .b-dec{--c:var(--dec);--by:76%;--i:3}
.scene.is-bars .barre{opacity:1}
.scene.is-bars .barre i{transform:scaleX(1)}
.scene.is-ready.is-bars .liens{opacity:0}
.scene.is-bars .centre-carte{opacity:0;transform:translate(-50%,-50%) scale(.85)}
.scene.is-bars .noeud{left:12%}
.scene.is-bars .noeud.att{top:24%} .scene.is-bars .noeud.mem{top:41.3%} .scene.is-bars .noeud.emo{top:58.6%} .scene.is-bars .noeud.dec{top:76%}
.scene.is-bars .noeud .ic{width:42px;height:42px}
.scene.is-bars .noeud .ic svg{width:22px;height:22px}
.scene.is-bars .noeud .lb{left:calc(100% + 12px);top:50%;transform:translateY(-50%)}

/* ==========================================================================
   Mobile
   ========================================================================== */
@media (max-width:1023px){
  .etapes{grid-column:1/-1;grid-row:2}
  .scene-col{grid-column:1/-1;grid-row:1;top:var(--hdr);height:38svh;z-index:5;background:var(--f-blanc);box-shadow:0 16px 0 var(--f-blanc)}
  .etape{min-height:80svh}
  .notions{grid-template-columns:1fr}
}
@media (max-width:900px){
  :root{--hdr:64px;--t-texte:16px;--t-chapo:18px}
  .grille{grid-template-columns:minmax(0,1fr);row-gap:40px}
  .grille>*{grid-column:1/-1!important;grid-row:auto!important;max-width:none}
  .panneau.inverse .face{order:2}
  .ecran{min-height:0;padding:calc(var(--hdr) + 40px) 0 56px}
  .cartes{grid-template-columns:1fr}
  .ouverture .in{grid-template-columns:minmax(0,1fr)}
  .ouverture .h1,.ouverture .sous{grid-column:1/-1}
  .carte{padding:28px 24px}
  .nav{display:none}
  .nav-burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;color:var(--encre)}
  .nav.is-open{display:flex;position:fixed;inset:var(--hdr) 0 0 0;background:var(--f-ivoire);flex-direction:column;align-items:flex-start;padding:32px var(--marge);gap:20px}
  .nav.is-open .nav-menu ul{position:static;opacity:1;visibility:visible;box-shadow:none;background:none;padding:8px 0 0 12px}
  .instrument .tete{padding-top:calc(var(--hdr) + 40px)}
  .scene .centre-carte{width:140px;padding:12px;font-size:13px}
  .scene .centre-carte span{font-size:16px}
  .scene .noeud .ic{width:44px;height:44px}
  .scene .noeud .ic svg{width:22px;height:22px}
  .scene .noeud .lb{font-size:13px}
  .scene .noeud.att,.scene .noeud.mem{--x:16%} .scene .noeud.emo,.scene .noeud.dec{--x:84%}
  .scene.is-bars .noeud{left:9%}
  .scene .barre{left:42%;right:5%;height:14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}
  .scene .liens line{stroke-dashoffset:0}
}

/* ==========================================================================
   v2.2 — largeurs adaptées au texte
   ========================================================================== */
.texte.l7{grid-column:1/span 7;max-width:640px}
.face.r4{grid-column:9/span 4}
.face.l6{grid-column:1/span 6}
.texte.r5{grid-column:8/span 5}
.texte.l6{grid-column:1/span 6}
.face.r5{grid-column:8/span 5}
.panneau.inverse .face.l6{grid-column:1/span 6}
.panneau.inverse .texte.r5{grid-column:8/span 5}

/* Repères des tests : titre, introduction et liste ensemble */
.tests .face .titre-reperes{font-size:var(--t-objet);line-height:1.25;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-bottom:16px}
.tests .face .intro{font-size:17px;margin-bottom:32px}
.tests .reperes{gap:28px}
.tests .reperes li{font-size:22px;line-height:1.35}

/* Trois paliers de profondeur */
.paliers{display:grid;grid-template-columns:1fr 1.25fr 2fr;gap:20px;margin-top:48px;align-items:end;text-align:left}
.palier{border-radius:2px}
.palier.p1{background:var(--f-ivoire);padding:28px 26px}
.palier.p2{background:var(--f-ivoire);padding:34px 30px}
.palier.p3{background:var(--f-beige);padding:48px 44px}
.palier .nom{display:block;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-bottom:14px;line-height:1.2}
.palier.p1 .nom{font-size:20px} .palier.p2 .nom{font-size:24px} .palier.p3 .nom{font-size:34px}
.palier.p1 p{font-size:15px} .palier.p2 p{font-size:16px} .palier.p3 p{font-size:19px;line-height:1.5;color:var(--encre)}
.palier.p3 em{font-style:normal;font-weight:600;color:var(--encre)}
.paliers + .apres{max-width:none;margin:36px 0 0 auto;width:calc(2/4.25*100%);text-align:left}

/* Instrument : deux communications, puis objet et bouton */
.scene .duo{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:40px 28px;align-content:center;opacity:0;pointer-events:none;transition:opacity .5s .2s;z-index:4}
.scene .graphe h4{margin:0 0 26px;font-size:18px;font-weight:400;color:var(--encre)}
.scene .graphe .ligne{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;height:52px}
.scene .graphe .ic{width:36px;height:36px;border-radius:50%;background:var(--icone-fond);display:grid;place-items:center}
.scene .graphe .ic svg{width:18px;height:18px;fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.scene .graphe .piste{height:18px;background:rgba(54,91,109,.07)}
.scene .graphe .piste i{display:block;height:100%;width:var(--w);background:var(--c);transform-origin:left center;transform:scaleX(0);transition:transform .7s var(--ease) calc(var(--i)*70ms + .3s);-webkit-mask-image:linear-gradient(90deg,#000 76%,transparent);mask-image:linear-gradient(90deg,#000 76%,transparent)}
.scene .graphe .nomp{font-size:13px;color:var(--texte);grid-column:2;margin-top:-6px}
.scene.is-duo .duo{opacity:1;pointer-events:auto}
.scene.is-duo .duo .piste i{transform:scaleX(1)}
.scene.is-duo .noeud,.scene.is-duo .barre,.scene.is-duo .centre-carte,.scene.is-ready.is-duo .liens{opacity:0}
.scene-col .fin{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 8%;opacity:0;pointer-events:none;transition:opacity .5s .2s;z-index:4}
.scene-col .fin .objet{font-size:clamp(28px,2.6vw,38px);margin-bottom:32px}
.scene-col .fin .btn{align-self:flex-start}
.scene-col[data-state=fin] .fin{opacity:1;pointer-events:auto}
.scene.is-fin .noeud,.scene.is-fin .barre,.scene.is-fin .centre-carte,.scene.is-ready.is-fin .liens{opacity:0}
.etape .post{margin-top:28px}

@media (max-width:900px){
  .paliers{grid-template-columns:1fr;align-items:stretch}
  .paliers + .apres{width:auto;margin-left:0}
  .scene .duo{padding:18px 12px;gap:14px}
  .scene .graphe h4{font-size:14px;margin-bottom:10px}
  .scene .graphe .ligne{height:34px;grid-template-columns:26px minmax(0,1fr)}
  .scene .graphe .ic{width:26px;height:26px}
  .scene .graphe .ic svg{width:14px;height:14px}
  .scene .graphe .piste{height:12px}
  .scene-col .fin .objet{font-size:22px;margin-bottom:16px}
}

/* ==========================================================================
   v3 — composants communs ajoutés pour la Vision
   ========================================================================== */
@keyframes ci-ressort{0%{transform:translateY(30px);opacity:.4}62%{transform:translateY(-4px);opacity:1}100%{transform:none;opacity:1}}
.arrive{animation:ci-ressort .95s cubic-bezier(.22,1,.36,1) both}

/* Gabarit « position » */
.position .num{display:block;font-size:var(--t-h2);line-height:1;font-weight:300;font-variation-settings:'opsz' 12;color:var(--accent-dk);margin-bottom:22px}
.position .h2{margin-bottom:18px}
.position .place{font-size:clamp(24px,2vw,28px);line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--accent-dk);margin-bottom:32px}
.position .texte p:not(.place){max-width:34em}

/* Objets typographiques en liste */
.liste-objet{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.liste-objet li{font-size:var(--t-objet);line-height:1.25;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre)}
.liste-objet + .objet{margin-top:28px;color:var(--accent-dk)}
.face .intro{font-size:17px;margin-bottom:24px;color:var(--encre)}
.face .btn{margin-top:36px}

/* Carte mentale aux intentions */
.scene.intentions .centre-carte{width:230px;min-height:96px;display:grid;place-items:center}
.scene.intentions .centre-carte .int{display:block;font-size:20px;line-height:1.3;color:var(--encre);transition:opacity .45s}
.scene.intentions .centre-carte .int.out{opacity:0}
.scene.intentions.pulse .noeud .ic{animation:ci-pouls 1.2s var(--ease)}
@keyframes ci-pouls{0%{transform:scale(1)}35%{transform:scale(1.14)}100%{transform:scale(1)}}
.scene.intentions .liens line{stroke:rgba(54,91,109,.32)}
.scene.intentions.pulse .liens line{animation:ci-trace 1.2s var(--ease)}
@keyframes ci-trace{0%{stroke-dashoffset:var(--len)}100%{stroke-dashoffset:0}}
.scene.intentions .noeud.att .ic svg,.scene.intentions .noeud.mem .ic svg,.scene.intentions .noeud.emo .ic svg,.scene.intentions .noeud.dec .ic svg{stroke:var(--c)}
.scene.intentions line.att{stroke:var(--att-carte)} .scene.intentions line.mem{stroke:var(--mem)} .scene.intentions line.emo{stroke:var(--emo)} .scene.intentions line.dec{stroke:var(--dec)}
.ecran .scene-col.fixe{position:relative;top:auto;height:520px}

/* Appel « Contactez-nous » */
.navy .contact{grid-column:8/span 5}
.navy .contact a{display:inline-flex;align-items:center;gap:16px;font-size:clamp(34px,3.2vw,46px);line-height:1.1;font-weight:300;font-variation-settings:'opsz' 12;color:var(--f-ivoire);text-decoration:none}
.navy .contact a svg{width:34px;height:34px;stroke:var(--accent);transition:transform .3s var(--ease)}
.navy .contact a:hover{color:var(--accent)}
.navy .contact a:hover svg{transform:translate(4px,-4px)}
.navy .texte.l6{grid-column:1/span 6}

@media (max-width:900px){
  .ecran .scene-col.fixe{height:380px}
  .scene.intentions .centre-carte{width:160px;min-height:70px}
  .scene.intentions .centre-carte .int{font-size:15px}
}
@media (prefers-reduced-motion:reduce){.arrive,.scene.intentions.pulse .noeud .ic,.scene.intentions.pulse .liens line{animation:none}}

/* Calage en haut de chaque écran, aussi sur mobile (R2) */
@media (prefers-reduced-motion:no-preference){html{scroll-snap-type:y proximity}}

/* Gabarit « position » : titre à gauche, contenu dans l'ordre du texte à droite */
.position .titre-pos{grid-column:1/span 5;align-self:center}
.position .contenu-pos{grid-column:7/span 6;align-self:center}
.position .contenu-pos .suite-pos{margin-top:28px;max-width:34em}
.position .contenu-pos .btn{margin-top:32px}
@media (max-width:900px){.position .titre-pos,.position .contenu-pos{grid-column:1/-1}}

/* ==========================================================================
   v3.1
   ========================================================================== */
/* Ouverture avec entrée à droite */
.ouverture.avec-entree .in{align-items:center}
.ouverture.avec-entree .h1,.ouverture.avec-entree .sous{grid-column:1/span 6}
.ouverture.avec-entree .entree{grid-column:8/span 5;grid-row:1/span 2;align-self:center}
.ouverture.avec-entree .entree p{font-size:17px;max-width:34em}
.ouverture.avec-entree .entree p.fin{font-size:22px;line-height:1.35;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-top:24px}

/* Gabarit « position » en trois niveaux */
.position .num{display:none}
.position .h2{margin-bottom:6px}
.position .place{font-size:var(--t-h2);line-height:1.15;letter-spacing:-.01em;font-weight:300;font-variation-settings:'opsz' 12;color:var(--texte);margin:0}
.position .contenu-pos p{font-size:17px;max-width:36em}
.position .contenu-pos p + p{margin-top:0}
.position .contenu-pos .objet,.position .liste-objet li{font-size:26px;line-height:1.3;color:var(--encre)}
.position .liste-objet{gap:10px}
.position .liste-objet + .objet{color:var(--encre);margin-top:18px}
.position .contenu-pos .objet + .suite-pos,.position .liste-objet + .suite-pos{margin-top:32px}
.position .contenu-pos .suite-pos + .objet{margin-top:32px}
.position .contenu-pos .intro{font-size:17px;color:var(--texte);margin-bottom:18px}
.position.g4-7 .titre-pos{grid-column:1/span 4} .position.g4-7 .contenu-pos{grid-column:6/span 7}
.position.g4-8 .titre-pos{grid-column:1/span 4} .position.g4-8 .contenu-pos{grid-column:5/span 8;padding-left:24px}
.position.g5-6 .titre-pos{grid-column:1/span 5} .position.g5-6 .contenu-pos{grid-column:7/span 6}

/* Bouton de l'en-tête sur le navy : simple lien */
.hdr.on-navy .btn{background:transparent;color:var(--f-ivoire);padding:0 4px;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}

@media (max-width:900px){
  .ouverture.avec-entree .h1,.ouverture.avec-entree .sous,.ouverture.avec-entree .entree{grid-column:1/-1;grid-row:auto}
  .ouverture.avec-entree .entree{margin-top:40px}
  .position[class*=g] .titre-pos,.position[class*=g] .contenu-pos{grid-column:1/-1;padding-left:0}
  .position .contenu-pos{margin-top:28px}
  .position .contenu-pos .objet,.position .liste-objet li{font-size:22px}
}
.ouverture.avec-entree .tete-ouv{grid-column:1/span 6;align-self:center}
.ouverture.avec-entree .entree{grid-row:auto}
.position.g5-7 .titre-pos{grid-column:1/span 5} .position.g5-7 .contenu-pos{grid-column:6/span 7;padding-left:24px}
@media (max-width:900px){.ouverture.avec-entree .tete-ouv{grid-column:1/-1}}
@media (max-width:900px){.position[class*=g] .contenu-pos{padding-left:0}}

/* ==========================================================================
   v3.2 — positions en cartes et panneau
   ========================================================================== */
.positions .grille{align-items:center}
.cartes-pos{grid-column:1/span 5;display:grid;gap:10px;list-style:none;margin:0;padding:0}
.carte-pos{display:block;width:100%;text-align:left;font:inherit;border:0;cursor:pointer;background:transparent;padding:22px 26px;border-radius:2px;transition:background .25s}
.carte-pos .t{display:block;font-size:22px;line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--texte);transition:color .25s}
.carte-pos .plus{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:14px;color:var(--texte);text-decoration:underline;text-decoration-color:var(--accent-dk);text-underline-offset:4px}
.carte-pos .plus svg{width:14px;height:14px}
.carte-pos:hover{background:rgba(255,255,255,.6)}
.carte-pos[aria-selected=true]{background:var(--f-blanc)}
.carte-pos[aria-selected=true] .t{color:var(--encre)}
.carte-pos[aria-selected=true] .plus{visibility:hidden}
.panneaux-pos{grid-column:7/span 6;min-height:520px;display:grid;align-items:center}
.panneau-pos{grid-area:1/1}
.panneau-pos[hidden]{display:none}
.panneau-pos .cle{font-size:28px;line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-bottom:28px;max-width:none}
.panneau-pos p{font-size:17px;line-height:1.6;color:var(--texte);max-width:36em}
.panneau-pos.entre{animation:ci-ressort .7s cubic-bezier(.22,1,.36,1) both}

/* Conclusion : une phrase et le bouton cyan */
.navy .phrase-fin{grid-column:1/span 7;font-size:clamp(28px,2.6vw,38px);line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:var(--f-ivoire);margin:0}
.navy .cta-fin{grid-column:9/span 4;justify-self:start}
.btn.cyan{background:var(--accent);color:var(--f-navy);height:56px;padding:0 30px;font-size:16px}
.btn.cyan:hover{background:#7aeadf}

@media (max-width:900px){
  .cartes-pos,.panneaux-pos{grid-column:1/-1}
  .panneaux-pos{min-height:0;margin-top:24px}
  .navy .phrase-fin,.navy .cta-fin{grid-column:1/-1}
  .navy .cta-fin{margin-top:32px}
}
.carte-pos{background:var(--f-ivoire)}
.carte-pos:hover{background:#f6f4ee}
.carte-pos[aria-selected=true]{background:var(--f-beige)}

@font-face{font-family:'DM Mono';src:url('fonts/dm-mono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* ==========================================================================
   v4 — Méthode
   ========================================================================== */
.ouverture.avec-entree .entree p.accroche{font-size:22px;line-height:1.35;font-weight:300;font-variation-settings:'opsz' 12;color:var(--encre);margin-bottom:24px}

/* Chaîne des quatre briques */
.chaine .in{display:block}
.chaine-tete{position:relative}
.briques{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:22px}
.rail-chaine{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(54,91,109,.10)}
.rail-chaine i{position:absolute;left:0;top:0;bottom:0;width:var(--r,12.5%);background:var(--accent-dk);transition:width .7s var(--ease)}
.brique{display:flex;flex-direction:column;justify-content:flex-start;font:inherit;text-align:left;border:0;border-radius:2px;cursor:pointer;padding:20px 22px 22px;background:var(--f-ivoire);color:var(--texte);transition:background .3s,color .3s}
.brique .no{display:block;font-family:'DM Mono',ui-monospace,monospace;font-size:13px;letter-spacing:.06em;color:#587582;margin-bottom:10px;transition:color .3s}
.brique .t{display:block}
.brique .n{display:block;font-size:22px;line-height:1.25;font-weight:300;font-variation-settings:'opsz' 12;color:var(--texte);transition:color .3s}
.brique .tiret{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.brique .s{display:block;margin-top:4px;font-size:15px;line-height:1.4;color:#587582;transition:color .3s}
.brique:hover{background:#f6f4ee}
.brique.fait{background:#f6f4ee}
.brique.fait .no,.brique[aria-selected=true] .no{color:var(--accent-dk)}
.brique.fait .n{color:var(--encre)}
.brique[aria-selected=true]{background:var(--f-beige)}
.brique[aria-selected=true] .n{color:var(--encre)}
.brique[aria-selected=true] .s{color:var(--texte)}
.panneaux-b{display:grid;margin-top:56px;min-height:400px;align-items:start}
.panneau-b{grid-area:1/1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.panneau-b[hidden]{display:none}
.panneau-b.entre{animation:ci-ressort .7s cubic-bezier(.22,1,.36,1) both}
.panneau-b .gauche{grid-column:1/span 7}
.panneau-b .droite{grid-column:8/span 5}
.panneau-b .gauche.large{grid-column:1/span 8}
.panneau-b .objet{font-size:28px;line-height:1.3;margin-bottom:24px;max-width:24em}
.panneau-b p{max-width:36em}
.panneau-b .liste-objet li{font-size:24px;line-height:1.3}
.panneau-b .liste-objet{gap:18px}
.panneau-b.p3 .gauche{grid-column:1/span 5}
.panneau-b.p3 .droite{grid-column:7/span 6}
.panneau-b.p3 .gauche p:first-child{font-size:20px;line-height:1.45;color:var(--encre);font-weight:300;font-variation-settings:'opsz' 12;margin-bottom:28px}
.piliers-b{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.piliers-b li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:18px;align-items:start;font-size:16px;line-height:1.55}
.piliers-b .ic{width:40px;height:40px;border-radius:50%;background:var(--icone-fond);display:grid;place-items:center}
.piliers-b .ic svg{width:22px;height:22px;stroke:var(--c)}
.piliers-b .nom{color:var(--c);font-weight:600}
.piliers-b .att{--c:var(--att)} .piliers-b .emo{--c:var(--emo)} .piliers-b .mem{--c:var(--mem)} .piliers-b .dec{--c:var(--dec)}
.suivante{grid-column:1/-1;margin-top:36px;font:inherit;font-size:15px;background:none;border:0;padding:6px 0;cursor:pointer;color:var(--encre);display:inline-flex;align-items:center;gap:8px;justify-self:start;text-decoration:underline;text-decoration-color:var(--accent-dk);text-underline-offset:5px}
.suivante svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.suivante:hover svg{transform:translateX(4px)}

/* Réseau de signaux épinglé : arbre → piliers → barres */
.portee{position:relative;height:330svh;background:var(--f-blanc)}
.portee .arret{position:absolute;left:0;width:1px;height:1px;scroll-snap-align:start}
.portee .scene-stage{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-top:var(--hdr)}
.portee .grille{align-items:center}
.portee .textes{grid-column:1/span 4;display:grid}
.portee .txt{grid-area:1/1;transition:opacity .5s,transform .6s var(--ease)}
.portee .txt .h2{margin-bottom:28px}
.portee .txt p{font-size:17px}
.portee .txt-b{opacity:0;transform:translateY(24px);pointer-events:none}
.portee .txt-b .p2{opacity:0;transition:opacity .5s}
.portee[data-t="2"] .txt-a,.portee[data-t="3"] .txt-a{opacity:0;transform:translateY(-24px);pointer-events:none}
.portee[data-t="2"] .txt-b,.portee[data-t="3"] .txt-b{opacity:1;transform:none;pointer-events:auto}
.portee[data-t="3"] .txt-b .p2{opacity:1}
.scene-arbre{grid-column:5/span 8;position:relative}
.scene-arbre .exemple{display:flex;gap:4px 28px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px;font-size:14px;color:#587582;transition:opacity .4s}
.scene-arbre .exemple .consigne{color:var(--encre)}
.scene-arbre .legende{display:flex;gap:24px;margin-top:4px;font-size:13px;color:#587582;transition:opacity .4s}
.scene-arbre .legende span{display:inline-flex;align-items:center;gap:8px}
.scene-arbre.replie .exemple,.scene-arbre.replie .legende{opacity:0}
.arbre{width:100%;height:auto;overflow:visible;font-family:'Nunito Sans',system-ui,sans-serif}
.arbre .noeud{cursor:pointer}
.arbre .noeud:focus{outline:none}
.arbre .noeud:focus-visible circle{stroke:var(--accent-dk);stroke-width:3}
.arbre .noeud:focus-visible text{text-decoration:underline}
.scene-arbre.replie .arbre .noeud{pointer-events:none}
.arbre .lg{font-size:14px}
.arbre .tete-p{font-size:12px;letter-spacing:.06em;font-weight:600}
.scene-arbre.mobile-fin{display:none}
@media (max-width:900px){
  .portee{height:auto}
  .portee .arret{display:none}
  .portee .scene-stage{position:static;height:auto;display:block;padding:calc(var(--hdr) + 40px) 0 64px}
  .portee .textes,.scene-arbre{grid-column:1/-1}
  .portee .txt,.portee .txt-b,.portee .txt-b .p2{opacity:1;transform:none;pointer-events:auto}
  .portee .txt-b{margin-top:56px}
  .scene-arbre{margin-top:32px}
  .scene-arbre .defile{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1*var(--marge));padding:0 var(--marge)}
  .scene-arbre .defile .arbre{min-width:720px}
  .scene-arbre.mobile-fin{display:block}
  .portee .textes{display:contents}
  .portee .txt{grid-area:auto}
  .portee .txt-a{order:1;grid-column:1/-1}
  .portee .scene-arbre.principale{order:2}
  .portee .txt-b{order:3;grid-column:1/-1}
  .portee .scene-arbre.mobile-fin{order:4}
  .chaine .briques{grid-template-columns:1fr 1fr}
  .panneau-b .gauche,.panneau-b .droite,.panneau-b .gauche.large,.panneau-b.p3 .gauche,.panneau-b.p3 .droite{grid-column:1/-1}
  .panneau-b .droite{margin-top:28px}
  .panneaux-b{margin-top:36px}
  .panneau-b .objet{font-size:22px}
  .panneau-b .liste-objet li{font-size:20px}
  .brique .n{font-size:18px}
}

/* v4 · état des briques : faite (beige), en cours (navy), à venir (ivoire) */
.brique.fait{background:var(--f-beige)}
.brique.fait .s{color:var(--texte)}
.brique[aria-selected=true]{background:var(--f-navy)}
.brique[aria-selected=true] .n{color:var(--f-ivoire)}
.brique[aria-selected=true] .s{color:var(--texte-navy)}
.brique[aria-selected=true] .no{color:var(--accent)}
.brique[aria-selected=true]:hover{background:var(--f-navy)}
.navy .phrase-fin .l{display:block}

/* ==========================================================================
   v4.1 — Méthode v1.1
   ========================================================================== */
/* Chaîne : flèches, icônes, brique principale */
.briques{grid-template-columns:1fr 1fr 1.45fr 1fr;gap:44px}
.brique{position:relative}
.brique:not(:last-child)::after{content:"";position:absolute;right:-34px;top:50%;width:24px;height:24px;margin-top:-12px;background:#b7c6cc;-webkit-mask:url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-arrow-right%22%0A%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M5%2012h14%22%20/%3E%0A%20%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20/%3E%0A%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-arrow-right%22%0A%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M5%2012h14%22%20/%3E%0A%20%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20/%3E%0A%3C/svg%3E") center/contain no-repeat;transition:background .3s}
.brique.fait::after{background:var(--accent-dk)}
.brique .haut{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.brique .haut .no{margin:0}
.brique .ico{width:40px;height:40px;border-radius:50%;background:var(--icone-fond);display:grid;place-items:center;transition:background .3s}
.brique .ico svg{width:22px;height:22px;stroke:var(--texte);transition:stroke .3s}
.brique.principale .ico{width:56px;height:56px}
.brique.principale .ico svg{width:28px;height:28px}
.brique.principale .n{font-size:26px}
.brique.fait .ico svg{stroke:var(--accent-dk)}
.brique[aria-selected=true] .ico{background:rgba(255,255,255,.10)}
.brique[aria-selected=true] .ico svg{stroke:var(--accent)}

/* Réseau sur toute la largeur, texte au-dessus de l'entrée « Brief » */
.portee .grille{align-items:start}
.portee .textes{grid-column:1/-1;grid-row:1;justify-self:start;align-self:start;width:380px;max-width:100%;position:relative;z-index:2}
.portee .scene-arbre.principale{grid-column:1/-1;grid-row:1}
.scene-arbre .bas{position:absolute;left:0;bottom:6%;width:300px;display:grid;gap:10px;transition:opacity .4s}
.scene-arbre .bas .exemple{display:grid;gap:2px;margin:0}
.scene-arbre .bas .legende{margin:0}
.scene-arbre.replie .bas{opacity:0}
.arbre .branche{fill:none;stroke:#c9d4d8;stroke-width:1.5}
.arbre .brief{font-size:17px;fill:var(--encre)}
@media (max-width:900px){
  .portee .textes{width:auto}
  .portee .scene-arbre.principale{grid-row:auto}
  .scene-arbre .bas{position:static;width:auto;margin-bottom:12px}
  .chaine .briques{grid-template-columns:1fr;gap:40px;padding-top:0}
  .chaine .rail-chaine{display:none}
  .brique:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-32px;margin:0 0 0 -12px;transform:rotate(90deg)}
  .brique.principale .n{font-size:22px}
  .scene-arbre .defile .arbre{min-width:980px}
}

/* ==========================================================================
   v4.2 — chaîne en accordéon sur mobile
   ========================================================================== */
@media (max-width:900px){
  .chaine .in{display:grid;grid-template-columns:minmax(0,1fr)}
  .chaine .chaine-tete,.chaine .briques,.chaine .panneaux-b{display:contents}
  .chaine .brique:nth-child(1){order:1} .chaine #pb0{order:2}
  .chaine .brique:nth-child(2){order:3} .chaine #pb1{order:4}
  .chaine .brique:nth-child(3){order:5} .chaine #pb2{order:6}
  .chaine .brique:nth-child(4){order:7} .chaine #pb3{order:8}
  .chaine .brique{margin-bottom:44px;scroll-margin-top:calc(var(--hdr) + 16px)}
  .chaine .brique:last-child,.chaine .brique[aria-selected=true]{margin-bottom:0}
  .chaine .brique[aria-selected=true]::after{display:none}
  .chaine .panneau-b{grid-area:auto;position:relative;padding:28px 0 72px}
  .chaine #pb3{padding-bottom:8px}
  .chaine .panneau-b:not(#pb3)::after{content:"";position:absolute;left:50%;bottom:22px;width:24px;height:24px;margin-left:-12px;transform:rotate(90deg);background:var(--accent-dk);-webkit-mask:url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-arrow-right%22%0A%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M5%2012h14%22%20/%3E%0A%20%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20/%3E%0A%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%0A%20%20class%3D%22lucide%20lucide-arrow-right%22%0A%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M5%2012h14%22%20/%3E%0A%20%20%3Cpath%20d%3D%22m12%205%207%207-7%207%22%20/%3E%0A%3C/svg%3E") center/contain no-repeat}
  .chaine .panneau-b .droite{margin-top:24px}
  /* brique 3 : introduction, piliers, puis divergence, dans l'ordre du texte */
  .chaine .panneau-b.p3 .gauche{display:contents}
  .chaine .panneau-b.p3 .gauche p{grid-column:1/-1}
  .chaine .panneau-b.p3 .gauche p:first-child{order:1}
  .chaine .panneau-b.p3 .droite{order:2;margin:0 0 28px}
  .chaine .panneau-b.p3 .gauche p:last-child{order:3}
  .chaine .panneau-b.p3 .suivante{order:4}
}

/* ==========================================================================
   v4.3 — réseau compact sur mobile
   ========================================================================== */
.arbre.compact{display:none}
.scene-arbre .revele{display:none}
@media (max-width:900px){
  .arbre.large{display:none}
  .arbre.compact{display:block;min-width:0}
  .portee{padding-bottom:30svh}
  .portee .scene-arbre.principale{position:sticky;top:var(--hdr);align-self:start;z-index:3;background:var(--f-blanc);margin-top:24px;padding-bottom:8px}
  .scene-arbre .defile{overflow:visible;margin:0;padding:0}
  .scene-arbre .revele{display:block;min-height:3.2em;margin:4px 0 0;font-size:15px;line-height:1.45;color:var(--encre)}
  .scene-arbre .bas{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12px;margin:2px 0 0}
  .scene-arbre .bas .exemple{display:block}
  .scene-arbre .bas .exemple .consigne{display:none}
  .scene-arbre .bas .legende{gap:14px;font-size:12px}
  .scene-arbre.replie .bas,.scene-arbre.replie .revele{opacity:0}
  .portee .txt-b{margin-top:34svh}
  .portee .txt-b .p2{margin-top:26svh}
  .portee .txt-a{position:relative;z-index:1}
}
@media (max-width:900px){
  .portee .scene-arbre.principale{display:flex;flex-direction:column}
  .scene-arbre .defile{order:9}
  .scene-arbre .arbre.compact{order:1}
  .scene-arbre .revele{order:2}
  .scene-arbre .bas{order:3}
}

/* ==========================================================================
   v4.4 — Méthode v1.5
   ========================================================================== */
/* Chaîne : le brief, puis le moteur en trois temps sur un fond commun */
.panneaux-b{min-height:340px;margin-top:44px}
.portee{padding-top:18svh;height:calc(330svh + 18svh)}
.chaine-tete{display:grid;grid-template-columns:1fr 1fr 1.45fr 1fr;column-gap:60px;position:relative}
.chaine-tete .zone{grid-column:2/5;grid-row:1/3;margin:-32px -16px -16px;background:var(--f-beige);border-radius:2px}
.chaine-tete .titre-moteur{grid-column:2/5;grid-row:1;margin:0 0 28px;position:relative}
.chaine-tete .rail-chaine{display:none}
.chaine-tete .briques{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:subgrid;column-gap:60px;padding-top:0;position:relative}
.brique:not(:last-child)::after{right:-42px}
.brique:nth-child(n+2){background:var(--f-blanc)}
.brique:nth-child(n+2):hover{background:#fdfcf9}
.brique:nth-child(n+2).fait{background:var(--f-blanc)}
.brique:nth-child(n+2)[aria-selected=true]{background:var(--f-navy)}
.brique:first-child .no{visibility:hidden}

/* Réseau : la scène se règle sur la hauteur disponible */
.portee .scene-stage{padding-top:var(--hdr)}
.portee .arbre.large{width:auto;max-width:100%;height:calc(100svh - var(--hdr) - 96px);margin:0}
.portee .txt .h2{font-size:clamp(26px,min(2.8vw,4.6svh),40px);margin-bottom:min(28px,3svh)}
.portee .txt p{font-size:clamp(14px,1.95svh,17px)}
.portee .textes{width:min(380px,calc(.6 * (100svh - var(--hdr))))}
@media (max-width:900px){
  .chaine-tete{display:contents}
  .chaine-tete .zone{display:none}
  .chaine-tete .briques{display:contents}
  .chaine-tete .titre-moteur{order:3;grid-column:1/-1;grid-row:auto;margin:8px 0 28px}
  .chaine .brique:nth-child(1){order:1} .chaine #pb0{order:2}
  .chaine .brique:nth-child(2){order:4} .chaine #pb1{order:5}
  .chaine .brique:nth-child(3){order:6} .chaine #pb2{order:7}
  .chaine .brique:nth-child(4){order:8} .chaine #pb3{order:9}
  .chaine .brique:nth-child(n+2){background:var(--f-ivoire)}
  .chaine .brique:nth-child(n+2)[aria-selected=true]{background:var(--f-navy)}
  .brique:not(:last-child)::after{right:auto}
  .portee .arbre.large{height:auto}
  .portee{padding-top:12svh;height:auto}
  .panneaux-b{min-height:0;margin-top:0}
  .portee .textes{width:auto}
  .portee .txt .h2{font-size:var(--t-h2)}
  .portee .txt p{font-size:17px}
}
/* Chaîne réglée sur la hauteur de l'écran (bureau) */
@media (min-width:901px){
  .chaine.ecran{padding:calc(var(--hdr) + 4svh) 0 4svh}
  .chaine-tete .titre-moteur{font-size:clamp(26px,min(2.8vw,4.4svh),40px);margin-bottom:min(28px,3svh)}
  .chaine-tete .zone{margin:calc(-1 * min(32px,3.4svh)) -16px -16px}
  .brique{padding:min(20px,2.2svh) 22px min(22px,2.4svh)}
  .brique .haut{margin-bottom:min(14px,1.5svh)}
  .brique .ico{width:min(40px,4.4svh);height:min(40px,4.4svh)}
  .brique.principale .ico{width:min(56px,6svh);height:min(56px,6svh)}
  .brique .n{font-size:clamp(18px,2.4svh,22px)}
  .brique.principale .n{font-size:clamp(20px,2.9svh,26px)}
  .brique .s{font-size:clamp(13px,1.7svh,15px)}
  .panneaux-b{margin-top:min(44px,4.4svh);min-height:min(340px,36svh)}
  .panneau-b .objet{font-size:clamp(20px,3.1svh,28px)}
  .panneau-b p,.piliers-b li{font-size:clamp(14px,1.85svh,17px)}
  .panneau-b.p3 .gauche p:first-child{font-size:clamp(16px,2.2svh,20px)}
  .panneau-b .liste-objet li{font-size:clamp(18px,2.6svh,24px)}
  .piliers-b{gap:min(20px,2svh)}
  .suivante{margin-top:min(36px,3.4svh)}
}

/* ==========================================================================
   v4.5 — Méthode v1.6
   ========================================================================== */
/* Textes centrés verticalement face à leur visuel */
.panneaux-b{align-items:center}
.panneau-b,.panneau-b.p3{align-items:center}
@media (min-width:901px){
  /* Réseau calé à droite de l'écran */
  .portee .scene-stage{position:sticky}
  .portee .scene-stage .in{position:relative;height:100%;display:flex;align-items:center}
  .portee .scene-arbre.principale{flex:1;min-width:0}
  .portee .arbre.large{display:block;margin-left:auto;max-width:80%}
  /* Textes du réseau : en haut aux temps 1 et 2, centrés au temps 3 */
  .portee .textes{position:absolute;z-index:2;align-self:stretch;justify-self:auto;left:var(--marge);top:5svh;bottom:5svh;width:min(380px,calc(.6 * (100svh - var(--hdr))))}
  .portee .txt{position:absolute;left:0;right:0;top:0;transition:opacity .5s,transform .6s var(--ease),top .6s var(--ease)}
  .portee[data-t="3"] .txt-b{top:50%;transform:translateY(-50%)}
}


/* v4.6 — réseau sur les 3/4 de la hauteur d'écran, colonnes de même hauteur */
@media (min-width:901px){
  .portee .arbre.large{height:75svh;max-width:82%}
  .arbre.large .lg{font-size:13px}
}

/* ==========================================================================
   v4.7 — Mission v3
   ========================================================================== */
/* Ordre des piliers : Attention, Émotion, Mémoire, Décision */
.scene .b-emo{--by:41.3%;--i:1} .scene .b-mem{--by:58.6%;--i:2}
.scene.is-bars .noeud.emo{top:41.3%} .scene.is-bars .noeud.mem{top:58.6%}
/* Section « Ce que vous pouvez accomplir » : titre, introduction, cartes */
.accomplir .tete{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;text-align:left}
.accomplir .tete .h2{grid-column:1/span 5}
.accomplir .tete .intro{grid-column:7/span 6}
.accomplir .tete .intro p{font-size:17px}
.accomplir .tete .intro p:first-child{font-size:clamp(19px,2.4svh,22px);line-height:1.4;color:var(--encre);font-weight:300;font-variation-settings:'opsz' 12}
.accomplir .cartes{margin-top:min(48px,4.6svh)}
.accomplir .carte{padding:min(32px,3.4svh) 36px}
/* Piliers dans un temps de lecture */
.etape .piliers-b{margin-top:24px;gap:16px}
.etape .piliers-b li{font-size:15px}
.etape .objet.seul{font-size:clamp(26px,2.6vw,36px);line-height:1.25}
/* Réseau synthétique (dernier temps) */
.scene-col .fin .reseau{width:100%;max-width:440px;height:auto;margin-bottom:28px}
.scene-col .fin .reseau text{font-family:'Nunito Sans',system-ui,sans-serif}
/* Définition et distinctions */
.distinctions .grille{align-items:center}
.distinctions .definition{grid-column:1/span 5}
.distinctions .definition .h2{margin-bottom:28px}
.distinctions .definition .objet{font-size:clamp(22px,2.9svh,28px)}
.distinctions .liste-dist{grid-column:7/span 6}
.distinctions .liste-dist .h3{margin-bottom:20px}
.dist-tete,.dist{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);column-gap:28px}
.dist-tete p{margin:0 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#587582}
.dist{padding:14px 0;border-top:1px solid rgba(54,91,109,.12)}
.dist:last-child{border-bottom:1px solid rgba(54,91,109,.12)}
.dist .terme{font:inherit;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:var(--encre);font-size:clamp(17px,2.2svh,20px);line-height:1.35;font-weight:300;font-variation-settings:'opsz' 12;display:flex;gap:10px;align-items:flex-start}
.dist .terme svg{flex:none;width:18px;height:18px;margin-top:4px;stroke:var(--accent-dk);transition:transform .3s var(--ease)}
.dist .terme[aria-expanded=true] svg{transform:rotate(45deg)}
.dist .avec{margin:0;font-size:clamp(14px,1.85svh,16px);line-height:1.55}
.dist .avec[hidden]{display:block;visibility:hidden}
@media (max-width:900px){
  .accomplir .tete .h2,.accomplir .tete .intro{grid-column:1/-1}
  .accomplir .tete .intro{margin-top:20px}
  .distinctions .definition,.distinctions .liste-dist{grid-column:1/-1}
  .distinctions .liste-dist{margin-top:36px}
  .dist-tete{display:none}
  .dist{grid-template-columns:1fr}
  .dist .avec{margin-top:8px}
  .dist .avec[hidden]{display:none}
}

/* Conclusion : liens vers les trois services (repris de la v2.3) */
.navy .services{grid-column:8/span 5;list-style:none;margin:0;padding:0;display:grid;gap:22px}
.navy .services a{display:inline-flex;align-items:center;gap:14px;font-size:var(--t-objet);line-height:1.2;font-weight:300;font-variation-settings:'opsz' 12;color:var(--f-ivoire);text-decoration:none;border-bottom:0}
.navy .services a svg{width:26px;height:26px;stroke:var(--accent);transition:transform .3s var(--ease)}
.navy .services a:hover{color:var(--accent)}
.navy .services a:hover svg{transform:translateX(6px)}
@media (max-width:900px){.navy .services{grid-column:1/-1;margin-top:36px}}
.etape .piliers-b .nom{color:var(--encre)}

/* ==========================================================================
   v4.8
   ========================================================================== */
/* Méthode — chaîne : une seule taille de texte dans les panneaux */
.panneau-b p,.panneau-b .objet,.panneau-b.p3 .gauche p:first-child{font-size:clamp(17px,2.3svh,20px);line-height:1.55;color:var(--encre);font-weight:300;font-variation-settings:'opsz' 12;max-width:40em;margin-bottom:.9em}
.panneau-b .gauche.large{grid-column:1/span 9}
/* Mission — distinctions en tableau à deux colonnes */
.tab-dist{width:100%;border-collapse:collapse}
.tab-dist th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#587582;font-weight:600;text-align:left;padding:0 18px 10px 0;vertical-align:bottom}
.tab-dist td{padding:14px 18px 14px 0;vertical-align:top;border-top:1px solid rgba(54,91,109,.12);font-size:clamp(14px,1.85svh,16px);line-height:1.55}
.tab-dist tr:last-child td{border-bottom:1px solid rgba(54,91,109,.12)}
.tab-dist td:first-child{width:38%;color:var(--encre);font-size:clamp(16px,2.1svh,19px);line-height:1.35;font-weight:300;font-variation-settings:'opsz' 12}
.distinctions .definition{grid-column:1/span 4}
.distinctions .liste-dist{grid-column:6/span 7}
/* Mission — conclusion : deux phrases et les boutons cyan des services */
.navy .phrase-fin .l + .l{margin-top:.6em;font-size:.72em;line-height:1.4;color:var(--texte-navy)}
.navy .cta-fin.services-btn{display:grid;gap:14px;justify-items:start}
.scene-col .fin .btn.cyan{background:var(--accent);color:var(--f-navy)}
@media (max-width:900px){
  .tab-dist thead{display:none}
  .tab-dist tr{display:block;border-top:1px solid rgba(54,91,109,.12);padding:14px 0}
  .tab-dist td{display:block;border:0;padding:0}
  .tab-dist td:first-child{width:auto;margin-bottom:6px}
  .tab-dist tr:last-child td{border:0}
  .tab-dist tr:last-child{border-bottom:1px solid rgba(54,91,109,.12)}
  /* Mission — instrument mobile : le texte de chaque temps suit le visuel épinglé */
  .instrument .etape{min-height:72svh;justify-content:flex-start;padding:28px 0 40px}
  .instrument .etape .h2{font-size:26px}
  /* Méthode — réseau mobile : le texte du temps en cours reste sous l'arbre épinglé */
  .portee{height:330svh;padding-top:0;padding-bottom:0}
  .portee .arret{display:block}
  .portee .scene-stage{position:sticky;top:0;height:100svh;display:block;padding:calc(var(--hdr) + 8px) 0 0}
  .portee .grille{display:flex;flex-direction:column;gap:6px}
  .portee .scene-arbre.principale{position:static;order:1;margin:0;padding:0}
  .portee .arbre.compact{width:100%;height:auto;max-height:46svh;margin:0 auto}
  .scene-arbre .revele{min-height:2.6em;font-size:14px}
  .scene-arbre .bas{display:none}
  .portee .textes{display:grid;order:2;width:auto}
  .portee .txt{grid-area:1/1}
  .portee .txt .h2{font-size:22px;margin-bottom:10px}
  .portee .txt p{font-size:15px;line-height:1.5}
  .portee .txt-b,.portee .txt-b .p2{opacity:0}
  .portee .txt-b{margin-top:0}
  .portee .txt-b .p2{margin-top:0}
  .portee[data-t="2"] .txt-a,.portee[data-t="3"] .txt-a{opacity:0}
  .portee[data-t="2"] .txt-b,.portee[data-t="3"] .txt-b,.portee[data-t="3"] .txt-b .p2{opacity:1}
}
@media (max-width:900px){
  .portee .arret:nth-child(2){top:0!important} .portee .arret:nth-child(3){top:110svh!important} .portee .arret:nth-child(4){top:230svh!important}
}

/* ==========================================================================
   v4.9
   ========================================================================== */
.accomplir .cartes{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.accomplir .carte{padding:min(28px,3svh) 24px}
.accomplir .carte .h3{font-size:clamp(18px,2.3svh,21px)}
.accomplir .carte p{font-size:15px}
.tab-dist .c-dist{display:flex;gap:14px;align-items:flex-start}
.tab-dist .ic-dist{flex:none;width:36px;height:36px;border-radius:50%;background:var(--icone-fond);display:grid;place-items:center}
.tab-dist .ic-dist svg{width:18px;height:18px;stroke:var(--texte)}
.tab-dist .t-dist{padding-top:5px}
@media (max-width:900px){
  .accomplir .cartes{grid-template-columns:1fr}
  /* Mission : le visuel reste en bas de l'écran, sous le texte du temps en cours */
  .instrument .etapes{grid-row:1}
  .instrument .scene-col{grid-row:2;top:auto;bottom:0;height:36svh;box-shadow:0 -16px 0 var(--f-blanc)}
  .instrument .etape{min-height:64svh;padding:24px 0 32px}
  .instrument .etape:last-child{min-height:40svh}
  /* Méthode : le texte d'abord, l'arbre en dessous ; notes annexes retirées */
  .portee .textes{order:1}
  .portee .scene-arbre.principale{order:2;margin-top:12px}
  .scene-arbre .revele,.scene-arbre .bas{display:none}
  .portee .arbre.compact{max-height:44svh}
  /* Vision : le texte s'ouvre sous la carte choisie */
  .positions .grille{grid-template-columns:minmax(0,1fr)}
  .positions .cartes-pos,.positions .panneaux-pos{display:contents}
  .positions .carte-pos:nth-child(1){order:1} .positions #pan0{order:2}
  .positions .carte-pos:nth-child(2){order:3} .positions #pan1{order:4}
  .positions .carte-pos:nth-child(3){order:5} .positions #pan2{order:6}
  .positions .carte-pos:nth-child(4){order:7} .positions #pan3{order:8}
  .positions .carte-pos{margin-top:10px;scroll-margin-top:calc(var(--hdr) + 12px)}
  .positions .panneau-pos{grid-area:auto;padding:22px 4px 8px}
}

/* ==========================================================================
   v5.0 — Services
   ========================================================================== */
:root{--gris-doc:#9fb1b8;--doc-fond:#faf9f5}
/* Ouverture des services */
.ouv-service .in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.ouv-service .tete-ouv{grid-column:1/span 5}
.ouv-service .sous{margin-top:28px;font-size:clamp(19px,2.5svh,24px);line-height:1.4;font-weight:300;font-variation-settings:'opsz' 12;color:var(--texte)}
.ouv-service .apercu{grid-column:7/span 6;position:relative;pointer-events:none}
.ouv-service .apercu .vis-wrap{max-height:62svh}
/* Mise à l'échelle d'un livrable dessiné à largeur fixe */
.vis-wrap{position:relative;width:100%;overflow:hidden}
.vis{width:var(--w,760px);transform-origin:0 0;transform:scale(var(--s,1))}
/* Section livrable épinglée */
.livrable{position:relative;background:var(--f-blanc)}
.livrable .arret{position:absolute;left:0;width:1px;height:1px;scroll-snap-align:start}
.livrable .stage{position:sticky;top:0;height:100svh;padding-top:var(--hdr);display:flex;align-items:center}
.livrable .stage .in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;width:100%}
.livrable .features{grid-column:1/span 4;list-style:none;margin:0;padding:0;display:grid;gap:4px}
.livrable .features li{margin:0}
.livrable .features button{font:inherit;text-align:left;width:100%;background:none;border:0;cursor:pointer;padding:12px 0 12px 22px;position:relative;font-size:clamp(17px,2.3svh,21px);line-height:1.3;font-weight:300;font-variation-settings:'opsz' 12;color:#587582;transition:color .4s,opacity .4s}
.livrable .features button::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#d6dfe2;transition:background .4s,transform .4s}
.livrable .features li.vu button{color:var(--texte)}
.livrable .features li.vu button::before{background:var(--accent-dk)}
.livrable .features li.cur button{color:var(--encre)}
.livrable .features li.cur button::before{background:var(--accent-dk);transform:scale(1.5)}
.livrable .features li:not(.vu) button{opacity:1}
.livrable .scene-liv{grid-column:5/span 8}
.livrable .scene-liv .vis-wrap{margin:0 auto}
.livrable .scene-liv{position:relative}
.livrable .exemple-liv{position:absolute;z-index:4;right:0;bottom:-24px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#587582}
/* Apparition avec décalage des autres éléments */
.ins{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .7s var(--ease),opacity .45s .2s}
.ins>.ins-in{overflow:hidden;min-height:0}
.ins.on{grid-template-rows:1fr;opacity:1}
.pop{opacity:0;transform:scale(.6);transition:opacity .4s .25s,transform .5s var(--ease) .25s;display:inline-flex}
.pop.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ins,.pop{transition:none}}
/* —— Brief enrichi —— */
.doc{background:var(--doc-fond);height:560px;overflow:hidden;position:relative;border-radius:2px}
.doc-in{padding:36px 44px;transition:transform .9s var(--ease)}
.doc .tete-doc{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-doc);margin-bottom:14px}
.doc p,.doc li{font-size:15px;line-height:1.6;color:var(--gris-doc);margin:0 0 12px}
.doc .h4{font-size:15px;font-weight:600;color:var(--gris-doc);margin:18px 0 8px}
.doc ul{margin:0;padding-left:18px}
.doc .ajout{color:var(--encre);font-size:16px;line-height:1.5;margin:4px 0 14px}
.doc .bilan{background:#fff;padding:16px 20px;margin:6px 0 16px}
.doc .bilan p{color:var(--encre);margin:0 0 12px;font-size:15px}
.mini-barres{display:grid;gap:8px}
.mini-barres .l{display:grid;grid-template-columns:22px 90px minmax(0,1fr);align-items:center;gap:8px;font-size:13px;color:var(--c)}
.mini-barres .l svg{width:16px;height:16px;stroke:var(--c)}
.mini-barres .piste{height:10px;background:rgba(54,91,109,.08)}
.mini-barres .piste i{display:block;height:100%;width:var(--v);background:var(--c);transition:width .8s var(--ease) .3s}
.c-att{--c:var(--att)} .c-emo{--c:var(--emo)} .c-mem{--c:var(--mem)} .c-dec{--c:var(--dec)}
.doc .ancre{position:relative;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:transparent;transition:text-decoration-color .5s .2s,color .5s .2s}
.doc .ancre.on{text-decoration-color:var(--c);color:var(--encre)}
.doc .indice{vertical-align:super;font-size:11px;align-items:center;gap:4px;margin-left:4px;color:var(--c);font-weight:600;letter-spacing:.04em}
.doc .indice svg{width:13px;height:13px;stroke:var(--c)}
.doc .indice .fr{display:inline-block;padding:0 5px;border:0;background:rgba(180,86,31,.12);color:#9a4a1b;border-radius:2px;font-weight:600}
.doc p[data-defile]{position:relative}
.doc .bulle{position:absolute;left:24px;top:calc(100% - 2px);z-index:3;width:300px;background:var(--f-navy);color:var(--f-ivoire);font-size:14px;line-height:1.45;padding:12px 14px;border-radius:3px;opacity:0;transform:translateY(-6px);transition:opacity .4s .5s,transform .5s var(--ease) .5s;pointer-events:none;text-decoration:none}
.doc .bulle.on{opacity:1;transform:none}
.doc .reco{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.doc .reco>div{background:#fff;padding:14px 16px}
.doc .reco .h5{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--encre)}
.doc .reco li{color:var(--encre);font-size:14px;margin-bottom:6px}
.doc .reco .risque .h5{color:#9a4a1b}
/* —— Tableau de bord —— */
.tdb{background:var(--doc-fond);padding:26px 30px;min-height:200px}
.tdb .h4{margin:0 0 12px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#587582}
.histo{display:flex;align-items:flex-end;gap:34px;height:150px;padding-left:6px}
.histo .col{display:flex;flex-direction:column;align-items:center;gap:6px;width:70px}
.histo .col i{display:block;width:44px;height:var(--h);background:var(--encre);opacity:.85}
.histo .col.top i{background:var(--accent-dk);opacity:1}
.histo .col span{font-size:13px;color:var(--texte)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.trio .g{background:#fff;padding:12px 14px}
.trio .g b{display:block;font-weight:400;font-size:13px;color:var(--texte);margin-bottom:8px}
.vb{display:flex;align-items:flex-end;gap:10px;height:90px}
.vb i{display:block;width:22px;height:var(--h);background:var(--c)}
.vb.neg{align-items:flex-start;height:70px}
.vb.neg i{background:repeating-linear-gradient(135deg,var(--c) 0 3px,transparent 3px 6px);opacity:.9}

.reco-tdb{background:var(--f-navy);color:var(--f-ivoire);padding:16px 20px;margin-top:6px;font-size:15px;line-height:1.5}
.reco-tdb ul{margin:6px 0 0;padding-left:18px}
.bloc-tdb{margin-bottom:16px}
/* —— Kanban —— */
.kb{background:var(--doc-fond);padding:22px 24px}
.kb .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kb .colk{background:var(--f-beige);padding:12px;min-height:250px}
.kb .colk .h4{margin:0 0 10px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#4a6470}
.kb .carte-k{background:#fff;padding:10px 12px;margin-bottom:8px;font-size:13px;line-height:1.4;color:var(--encre)}
.kb .carte-k.neutre i{display:block;height:7px;background:#e3e9eb;margin:5px 0}
.kb .carte-k.neutre i+i{width:60%}
.kb .carte-k .tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--c);margin-bottom:4px}
.kb .carte-k .tag svg{width:13px;height:13px;stroke:var(--c)}
.kb .carte-k.friction .tag .fr{color:#9a4a1b}
.kb .ins.part{transition:grid-template-rows .6s var(--ease),opacity .3s}
.kb .gr{margin-top:14px;background:#fff;padding:12px 16px}
.kb .gr .mini-barres .piste i{transition:width 1s var(--ease) .9s}
@media (max-width:900px){
  .ouv-service .tete-ouv,.ouv-service .apercu{grid-column:1/-1}
  .ouv-service .apercu{margin-top:32px}
  .livrable .stage .in{display:flex;flex-direction:column;align-items:stretch;gap:14px}
  .livrable .features li{display:none}
  .livrable .features li.cur{display:block}
  .livrable .features button{font-size:20px;padding-left:18px}
  .livrable .scene-liv .vis-wrap{height:auto;max-height:62svh}
  .livrable .exemple-liv{position:static;display:block;margin-bottom:6px}
}
.vis.mesure .ins{grid-template-rows:1fr;transition:none}
.vis.mesure .ins.part{grid-template-rows:0fr}
/* Ouverture : visuel figé */
.fige-vis .ins[data-fige]{grid-template-rows:1fr;opacity:1;transition:none}
.fige-vis .pop[data-fige]{opacity:1;transform:none;transition:none}
.fige-vis .ancre[data-fige]{text-decoration-color:var(--c);color:var(--encre)}
.ouv-service .page-nom{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#587582;margin:0 0 18px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Légende des piliers du tableau de bord */
.mini-leg{display:flex;gap:16px;margin:-4px 0 10px;font-size:12px}
.mini-leg span{display:inline-flex;align-items:center;gap:5px;color:var(--c)}
.mini-leg svg{width:13px;height:13px;stroke:var(--c)}
/* Anciennes sections, en attente de reprise */
.ancienne .titre-anc{grid-column:1/span 5;align-self:center}
.ancienne .corps-anc{grid-column:7/span 6;align-self:center}
.ancienne .corps-anc .h3{margin:22px 0 6px}
.ancienne .corps-anc .h3:first-child{margin-top:0}
.ancienne .corps-anc p{font-size:17px;max-width:36em}
.liste-svc{margin:10px 0 0;padding-left:20px}
.liste-svc li{margin-bottom:6px}
@media (max-width:900px){.ancienne .titre-anc,.ancienne .corps-anc{grid-column:1/-1}.ancienne .corps-anc{margin-top:24px}}
.doc .h4,.tdb .h4,.kb .h4,.doc .h5{font-family:inherit}
.doc .reco .h5{margin:0 0 8px}

/* ==========================================================================
   v5.1
   ========================================================================== */
/* Optimisation : sélection puis kanban */
.opt2{position:relative;height:600px;background:var(--doc-fond)}
.opt2 .col-sel,.opt2 .kbc{position:absolute;background:var(--f-beige);opacity:0;transition:opacity .5s}
.opt2 .col-sel{left:562px;top:0;width:196px;height:410px}
.opt2 .kbc{top:0;width:244px;height:400px}
.opt2 .col-sel.on,.opt2 .kbc.on{opacity:1}
.opt2 .col-sel .h4,.opt2 .kbc .h4{margin:12px 12px 0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#4a6470}
.opt2 .kc{position:absolute;background:#fff;padding:9px 11px;box-shadow:0 1px 0 rgba(54,91,109,.06);transition:left .75s var(--ease),top .75s var(--ease),width .6s var(--ease),height .6s var(--ease),opacity .45s;overflow:hidden;z-index:2}
.opt2 .kc .tag{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--c)}
.opt2 .kc .tag svg{width:14px;height:14px;stroke:var(--c)}
.opt2 .kc .tag .ic{width:22px;height:22px;border-radius:50%;background:var(--icone-fond);display:grid;place-items:center}
.opt2 .kc i{display:block;height:6px;background:#e3e9eb;margin-top:8px;border-radius:1px}
.opt2 .kc i+i{width:62%;margin-top:6px}
.opt2 .kc.compact i+i{display:none}
.opt2 .kc.compact i{margin-top:6px}
.opt2 .gr{position:absolute;left:10px;right:10px;top:424px;background:#fff;padding:14px 18px;opacity:0;transition:opacity .5s}
.opt2 .gr.on{opacity:1}
.opt2 .gr .piste i{transition:width .9s var(--ease)}
@media (prefers-reduced-motion:reduce){.opt2 .kc{transition:none}}
/* Diagnostic : pastilles et fil d'annotations */
.doc.annote{display:grid;grid-template-columns:minmax(0,1fr) 210px;height:560px}
.doc.annote .doc-scroll{position:relative;overflow:hidden;height:560px}
.doc .pin{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c,var(--accent-dk));color:#fff;font-size:12px;font-weight:600;vertical-align:middle;margin-right:6px;font-family:'DM Mono',ui-monospace,monospace}
.doc .pin.pop{transform:scale(.4)}
.doc .pin.pop.on{transform:none}
.fil{background:#fff;padding:18px 16px;display:flex;flex-direction:column;gap:2px}
.fil .h4{margin:0 0 10px!important;font-size:12px!important;letter-spacing:.06em;text-transform:uppercase;color:#4a6470!important}
.fil .item{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--encre);padding:6px 0}
.fil .item .pin{margin:0;flex:none}
/* Ouvertures : un élément différenciant */
.heros-el{background:var(--doc-fond);padding:34px 38px}
.heros-el .lignes i{display:block;height:9px;background:#e3e9eb;margin:10px 0;border-radius:1px}
.heros-el .phrase{font-size:19px;line-height:1.55;color:var(--gris-doc);margin:16px 0}
.heros-el .phrase .ancre{color:var(--encre);text-decoration:underline;text-decoration-color:var(--mem);text-decoration-thickness:2px;text-underline-offset:5px}
.heros-el .indice{display:inline-flex;align-items:center;gap:5px;vertical-align:super;font-size:12px;font-weight:600;color:var(--mem);margin-left:4px}
.heros-el .indice svg{width:15px;height:15px;stroke:var(--mem)}
.heros-el .fr{padding:0 6px;background:rgba(180,86,31,.12);color:#9a4a1b;border-radius:2px}
.heros-el .bulle-h{display:inline-block;background:var(--f-navy);color:var(--f-ivoire);font-size:16px;line-height:1.45;padding:14px 16px;border-radius:3px;max-width:340px;margin-top:6px}
.heros-el .duo-h{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.heros-el .duo-h .g{background:#fff;padding:18px}
.heros-el .duo-h b{display:block;font-weight:400;font-size:15px;color:var(--texte);margin-bottom:12px}
.heros-el .vb{height:170px;gap:16px}
.heros-el .vb i{width:34px}
.heros-el .vb i.terne{opacity:.28}
.heros-el .mini-leg{margin:16px 0 0;font-size:13px}
@media (max-width:900px){.heros-el{padding:20px}.heros-el .vb{height:110px;gap:10px}.heros-el .vb i{width:20px}}
.kb .carte-k .neutre-l i{display:block;height:7px;background:#e3e9eb;margin:6px 0 2px}

/* ==========================================================================
   v5.2
   ========================================================================== */
.livrable.auto{height:auto}
.livrable.auto .stage{position:relative;height:auto;min-height:100svh;padding:calc(var(--hdr) + 32px) 0 48px}
.livrable .scene-liv{display:flex;justify-content:center;align-items:center}
.livrable .scene-liv .vis-wrap{margin:0 auto}
.doc,.tdb,.kb,.opt2{background:#fff!important}
.livrable .features{gap:10px}
.livrable .features button{font-size:clamp(20px,2.7svh,26px);line-height:1.25;padding:14px 16px 14px 30px;border-radius:3px;transition:color .4s,background .4s,transform .5s var(--ease)}
.livrable .features button::before{left:10px}
.livrable .features li.cur button{background:var(--f-beige);color:var(--encre);animation:ci-popup .7s cubic-bezier(.22,1.4,.36,1) both}
@keyframes ci-popup{0%{transform:translateX(-14px) scale(.96);opacity:.4}60%{transform:translateX(4px) scale(1.03);opacity:1}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.livrable .features li.cur button{animation:none}}
/* Diagnostic */
.doc .flou{filter:blur(1.6px);color:#c3ced3}
.doc .tete-doc{color:#6f8790;font-weight:600}
.doc-in{transition:transform .55s var(--ease)}
.doc .bilan{background:var(--f-beige)}
.doc .bulle{background:var(--f-beige);color:var(--encre);box-shadow:0 6px 20px rgba(22,52,61,.12)}
.pil{display:inline-flex;align-items:center;gap:4px;color:var(--c);font-weight:600}
.pil svg{width:15px;height:15px;stroke:var(--c)}
.doc .reco>div{background:var(--f-beige)}
.doc .reco li{list-style:none;margin:0 0 10px -18px}
.doc .reco li .s{display:block;font-weight:600}
.doc .reco li .m{font-size:13px;color:var(--texte)}
.fil{background:var(--f-ivoire)}
/* Graphe des ouvertures */
.heros-g{background:#fff;padding:30px 34px;max-width:520px;margin-left:auto}
.heros-g .titre-g{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#8aa0a8;margin:0 0 18px}
.heros-g .mini-barres{gap:16px}
.heros-g .mini-barres .l{grid-template-columns:24px 100px minmax(0,1fr);font-size:15px}
.heros-g .mini-barres .piste{height:16px}
.heros-g .mini-barres .piste i{transition:width 1.4s var(--ease)}
.heros-g .duo-g{display:grid;gap:22px}
.heros-g .duo-g b{display:block;font-weight:400;color:var(--texte);margin-bottom:8px;font-size:15px}
.heros-g[data-tranches] .piste i{transition:width .35s var(--ease)}
/* Arbitrage : barres horizontales, valeurs positives et négatives */
.hb{display:grid;gap:7px}
.hb .l{display:grid;grid-template-columns:18px minmax(0,1fr) 34px;align-items:center;gap:6px;font-size:12px}
.hb .l svg{width:14px;height:14px;stroke:var(--c)}
.hb .piste{height:9px;background:rgba(54,91,109,.08)}
.hb .piste i{display:block;height:100%;width:var(--v);background:var(--c)}
.hb.neg .piste i{background:repeating-linear-gradient(135deg,var(--c) 0 3px,rgba(255,255,255,.4) 3px 6px)}
.hb .val{font-family:'DM Mono',ui-monospace,monospace;color:var(--encre);text-align:right}
.histo-h{display:grid;gap:10px}
.histo-h .l{display:grid;grid-template-columns:80px minmax(0,1fr) 34px;align-items:center;gap:10px;font-size:13px;color:var(--texte)}
.histo-h .piste{height:16px;background:rgba(54,91,109,.08)}
.histo-h .piste i{display:block;height:100%;width:var(--v);background:var(--encre)}
.histo-h .top .piste i{background:var(--accent-dk)}
.histo-h .val{font-family:'DM Mono',ui-monospace,monospace;color:var(--encre);text-align:right}
.trio .g{background:var(--f-beige)}
.reco2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.reco2>div{background:var(--f-navy);color:var(--f-ivoire);padding:14px 18px;font-size:14px;line-height:1.5}
.reco2 b{display:block;font-weight:600;margin-bottom:4px}
/* Optimisation */
.opt2 .kc{background:var(--f-beige)}
.opt2 .col-sel,.opt2 .kbc{background:var(--f-ivoire)}
.opt2 .kc .tag{white-space:nowrap;gap:5px}
.opt2 .kc .tag .nomp{color:var(--c);font-weight:600;text-transform:none;letter-spacing:0;font-size:11.5px;margin-left:0;white-space:nowrap}
.opt2 .kc .tag .ic{background:#fff}
.livrable .features li:not(.vu):not(.cur) button{opacity:1}
@media (max-width:900px){
  .livrable.auto .stage{padding-top:calc(var(--hdr) + 16px)}
  .livrable .features li{display:none}
  .livrable .features li.cur{display:block}
  .heros-g{margin:0}
}

/* v5.3 */
.heros-g{background:transparent;padding:0;max-height:66svh}
.heros-g[data-tranches] .piste i{transition:width .18s linear}
.trio .g{background:#fff!important;padding:0!important}
.hb.neg .l{grid-template-columns:34px minmax(0,1fr) 18px}
.hb.neg .val{order:-1;text-align:left}
.hb.neg svg{order:3}
.hb.neg .piste{display:flex;justify-content:flex-end}
.histo-v{display:flex;align-items:flex-end;gap:28px;height:150px;padding:0 4px}
.histo-v .col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:72px;gap:6px}
.histo-v .val{font-family:'DM Mono',ui-monospace,monospace;font-size:13px;color:var(--encre)}
.histo-v .barre{width:44px;height:var(--v);background:var(--encre)}
.histo-v .top .barre{background:var(--accent-dk)}
.histo-v .nom{font-size:13px;color:var(--texte);white-space:nowrap}
.reco-cadre{background:var(--f-navy);color:var(--f-ivoire);padding:18px 22px}
.reco-cadre .h4{color:var(--f-ivoire)!important;margin-bottom:12px}
.reco-cadre .reco2{margin-top:0;gap:28px}
.reco-cadre .reco2>div{background:transparent;padding:0}
@media (max-width:760px){
  .heros-g{max-height:none}
  .heros-g .mini-barres{gap:9px}
  .heros-g .mini-barres .l{grid-template-columns:20px 78px minmax(0,1fr);font-size:13px}
  .heros-g .mini-barres .piste{height:10px}
  .heros-g .duo-g{grid-template-columns:1fr 1fr;gap:18px}
  .heros-g .duo-g b{font-size:13px;margin-bottom:6px}
  .heros-g .duo-g .l{grid-template-columns:18px minmax(0,1fr)}
  .heros-g .duo-g .l>span:not(.piste){display:none}
}
/* v5.4 · services */
.doc .ins{transition:grid-template-rows .45s var(--ease),opacity .3s .1s}
.doc .bilan .pil{vertical-align:-2px}
.hb .l{grid-template-columns:18px minmax(0,1fr)}
.hb.neg .l{grid-template-columns:minmax(0,1fr) 18px}
.reco-cadre{text-align:center}
.reco-cadre .reco2{justify-items:center}
/* v5.4 · ouvertures des pages de présentation */
.ouv-pres .tete-ouv{grid-column:1/span 6}
.ouv-pres .apercu{grid-column:8/span 5}
.accroche-ouv{margin-top:28px}
.accroche-ouv p{font-size:clamp(17px,2.1svh,20px);line-height:1.5;color:var(--texte);margin:0 0 14px;max-width:34em}
.accroche-ouv p:first-child{font-size:clamp(19px,2.5svh,23px);color:var(--encre);font-weight:300}
.nd,.pl{display:inline-flex;align-items:center;gap:8px;color:var(--c);font-size:15px;white-space:nowrap}
.nd .ic,.pl .ic,.rg .ic{width:34px;height:34px;border-radius:50%;background:rgba(54,91,109,.08);display:grid;place-items:center;flex-shrink:0}
.nd svg,.pl svg,.rg svg{width:18px;height:18px;stroke:var(--c)}
.v-carte{position:relative;aspect-ratio:1.25;max-height:62svh;margin-left:auto;width:100%;max-width:500px}
.v-carte>svg{position:absolute;inset:0;width:100%;height:100%}
.v-carte line{stroke:#c9d5d9;stroke-width:.4}
.v-carte .centre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:16px 22px;border-radius:3px;color:var(--encre);font-size:17px;white-space:nowrap}
.v-carte .pt{position:absolute;transform:translate(-50%,-50%);background:var(--f-ivoire);padding:4px 6px}
.v-vision,.v-meth{display:grid;align-items:stretch;height:min(300px,58svh);max-width:540px;margin-left:auto}
.v-vision{grid-template-columns:120px 70px minmax(0,1fr)}
.v-vision .src,.v-meth .src{align-self:center;background:#fff;padding:14px 12px;border-radius:3px;color:var(--encre);font-size:15px;text-align:center}
.v-vision>svg,.v-meth>svg{width:100%;height:100%}
.v-vision>svg path,.v-meth>svg path{fill:none;stroke:#c9d5d9;stroke-width:1.5}
.v-vision .rgs,.v-meth .sgs,.v-meth .pls{display:grid;grid-template-rows:repeat(4,1fr);align-items:center}
.rg{display:grid;grid-template-columns:34px 92px minmax(0,1fr);align-items:center;gap:10px;color:var(--c);font-size:15px}
.rg .fond{height:14px;background:linear-gradient(90deg,var(--c) 0,var(--c) 35%,rgba(255,255,255,0) 100%);opacity:.9}
.v-meth{grid-template-columns:70px 56px 84px minmax(60px,1fr) auto}
.v-meth>svg.b path{stroke:#d6dfe2;stroke-width:1}
.v-meth .sg{background:#fff;padding:7px 10px;border-radius:3px;font-size:13px;color:var(--encre);white-space:nowrap;text-align:center}
.v-meth .pl{font-size:14px}
.v-meth .pl .ic{width:30px;height:30px}
@media (max-width:900px){
  .ouv-pres .tete-ouv,.ouv-pres .apercu{grid-column:1/-1}
  .accroche-ouv p{font-size:16px}
  .accroche-ouv p:first-child{font-size:18px}
  .v-carte{max-width:340px;margin:0 auto}
  .v-carte .centre{font-size:14px;padding:10px 12px}
  .nd{font-size:13px;gap:5px}.nd .ic{width:28px;height:28px}
  .v-vision,.v-meth{height:220px;margin:0 auto}
  .v-vision{grid-template-columns:96px 40px minmax(0,1fr)}
  .rg{grid-template-columns:28px 74px minmax(0,1fr);font-size:13px;gap:6px}.rg .ic{width:28px;height:28px}
  .v-meth{grid-template-columns:52px 30px 64px minmax(24px,1fr) auto}
  .v-meth .src{font-size:13px;padding:10px 6px}.v-meth .sg{font-size:11px;padding:5px 6px}
  .v-meth .pl .nm{display:none}
}
/* v5.4 · fondatrice (bas de la Mission) */
.fondatrice .in{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;align-items:start;max-width:980px}
.fondatrice .portrait{width:200px;height:200px;object-fit:cover;border-radius:3px}
.fondatrice .h2{margin-bottom:20px}
.fondatrice p{color:var(--texte);margin:0 0 14px;max-width:40em}
.fondatrice .nom{color:var(--encre)}
.fondatrice .parcours{margin:20px 0 24px;padding-left:18px;color:var(--texte)}
.fondatrice .parcours li{margin-bottom:6px}
.lien-li{display:inline-flex;align-items:center;gap:8px;color:var(--encre);text-decoration:underline;text-underline-offset:4px}
.lien-li svg{width:18px;height:18px;stroke:currentColor}
@media (max-width:760px){.fondatrice .in{grid-template-columns:1fr;gap:24px}.fondatrice .portrait{width:140px;height:140px}}
/* v5.4 · accueil */
.acc-ouv .in{display:flex;flex-direction:column;align-items:center;text-align:center}
.acc-ouv .h1{font-size:clamp(40px,5.6vw,84px);line-height:1.08;letter-spacing:-.03em;font-weight:700;color:var(--encre);margin:0}
.acc-ouv .h1 .m{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.acc-ouv .h1 .ln{display:block}
.acc-ouv .h1 .m:nth-child(2) .ln{color:var(--accent-dk)}
.acc-sous{margin:24px 0 0;font-size:clamp(19px,1.8vw,26px);color:var(--texte);font-weight:300;word-spacing:.08em}
.acc-benef{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;margin-top:clamp(28px,5svh,52px);text-align:left}
.acc-benef article{background:var(--f-beige);padding:22px 22px 24px;border-radius:3px}
.acc-benef .h3{font-size:18px;line-height:1.25;color:var(--encre);margin:0 0 10px;font-weight:600}
.acc-benef p{font-size:14.5px;line-height:1.5;color:var(--texte);margin:0}
.acc-sign{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:clamp(24px,4svh,40px)}
.acc-logo{display:flex;align-items:center;height:58px}
.acc-logo .sym{position:relative;width:53px;height:58px;overflow:hidden}
.acc-logo .nomw{position:relative;margin-left:5px;width:123px;height:58px;overflow:hidden}
.acc-logo .nomw .sl{display:block;position:relative;width:123px;height:58px}
.acc-logo img{position:absolute;top:0;left:0;height:58px;width:auto;max-width:none}
.acc-logo .nomw img{left:-58px}
.acc-sign p{margin:0;font-size:14px;color:var(--texte)}
.acc-profil{background:#fff}
.acc-profil .stage-p{display:grid;grid-template-columns:.85fr 1.4fr;align-items:center;gap:35px;width:100%}
.acc-profil .story{--pillar:#0d9283;padding:38px 32px;min-height:385px}
.acc-profil .story-ic{height:52px;margin-bottom:24px;color:var(--pillar)}
.acc-profil .story-ic svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.acc-profil #profile-label{font-size:clamp(28px,3.1vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--pillar);margin:0 0 22px}
.acc-profil #profile-message{font-size:clamp(18px,1.7vw,23px);line-height:1.45;min-height:4.4em;margin:0 0 25px;color:var(--encre)}
.acc-profil #profile-message strong{font-weight:800;color:var(--pillar)}
.word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.word-reveal{display:inline-block}
.profile-steps{display:flex;gap:4px}
.profile-steps button{border:0;background:transparent;padding:12px;display:grid;place-items:center;cursor:pointer}
.profile-steps button:before{content:'';width:7px;height:7px;border-radius:50%;background:#a5b8b6;transition:transform .4s,background .4s}
.profile-steps button[aria-pressed=true]:before{background:var(--pillar);transform:scale(1.5)}
.acc-profil .map{position:relative;height:min(510px,70svh);margin:0;isolation:isolate}
.acc-profil .map>svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.35}
.acc-profil .map>svg line{stroke:#9fb3b8;stroke-width:1}
.acc-profil .node{position:absolute;width:120px;display:flex;align-items:center;flex-direction:column;gap:16px;font-size:21px;font-weight:800;color:var(--c);transition:transform 650ms cubic-bezier(.2,1.22,.32,1),opacity .45s;transform:scale(.92);opacity:.22;z-index:2}
.acc-profil .node .icon{display:grid;place-items:center;width:95px;height:95px}
.acc-profil .node svg{width:64px;height:64px;stroke:currentColor;fill:none;stroke-width:1.5}
.acc-profil .node.is-focused{transform:translate(var(--move-x,0px),var(--move-y,0px)) scale(1.6);opacity:1;z-index:5}
.acc-profil .node.att{left:1%;top:8%}.acc-profil .node.emo{right:1%;top:8%}.acc-profil .node.mem{left:1%;bottom:4%}.acc-profil .node.dec{right:1%;bottom:4%}
.acc-profil .map-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #13bbaa;outline:1px solid #b9e7e0;outline-offset:7px;border-radius:22px;background:#fff;padding:24px 20px;text-align:center;font-size:18px;color:#87999a;z-index:4;transition:transform 650ms cubic-bezier(.2,1.22,.32,1),color .6s}
.acc-profil .map-center span,.acc-profil .map-center strong{display:block}
.acc-profil .map-center strong{font-size:24px}
.acc-profil .map-center.is-focused{transform:translate(-50%,-50%) scale(1.25);color:var(--encre)}
.acc-services .in,.acc-pres .in{display:block}
.acc-services .h2,.acc-pres>.tete .h2{text-align:left;margin-bottom:clamp(32px,6svh,72px)}
.acc-svc{display:grid;grid-template-columns:3fr 2fr;gap:48px;align-items:center;padding:clamp(28px,5svh,56px) 0}
.acc-svc+.acc-svc{border-top:0}
.acc-svc .nom-l,.acc-pr .nom-l{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dk);text-decoration:none;font-weight:600}
.acc-svc .nom-l svg,.acc-pr .nom-l svg{width:16px;height:16px;stroke:currentColor;transition:transform .3s var(--ease)}
.acc-svc .nom-l:hover svg,.acc-pr .nom-l:hover svg{transform:translateX(4px)}
.acc-svc .h3{font-size:clamp(26px,2.6vw,38px);line-height:1.15;font-weight:300;color:var(--encre);margin:12px 0 0;max-width:18em}
.acc-svc .mini .heros-g{max-width:420px}
.sans-noms .mini-barres .l{grid-template-columns:24px minmax(0,1fr)!important}
.sans-noms .mini-barres .l>span:not(.piste){display:none}
.acc-pres{background:#fff}
.acc-pres .tete{padding:calc(var(--hdr) + 48px) 0 0}
.acc-pr{min-height:70svh;display:flex;align-items:center;padding:48px 0}
.acc-pr .in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.acc-pr.inv .txt{order:2}
.acc-pr .h3{font-size:clamp(26px,2.6vw,38px);line-height:1.15;font-weight:300;color:var(--encre);margin:12px 0 18px}
.acc-pr p{color:var(--texte);font-size:18px;line-height:1.5;max-width:30em}
.acc-pr .v-carte,.acc-pr .v-vision,.acc-pr .v-meth{margin:0 auto}
.acc-pr .v-carte .pt{background:#fff}
.acc-fin .cta-fin{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.acc-fin small{color:var(--texte-navy);font-size:15px;line-height:1.5;max-width:36em}
@media (max-width:900px){
  .acc-benef{grid-template-columns:1fr 1fr;gap:10px}
  .acc-benef article{padding:14px}
  .acc-benef .h3{font-size:15px;margin-bottom:6px}
  .acc-benef p{font-size:13px}
  .acc-profil .stage-p{grid-template-columns:1fr;gap:0}
  .acc-profil .story{padding:8px 0;min-height:0;text-align:center}
  .acc-profil .story-ic{display:none}
  .acc-profil #profile-label{font-size:26px;margin-bottom:10px}
  .acc-profil #profile-message{font-size:17px;min-height:3.2em;margin-bottom:6px}
  .profile-steps{justify-content:center}
  .acc-profil .map{height:340px}
  .acc-profil .node{width:80px;font-size:14px;gap:6px}
  .acc-profil .node .icon{width:52px;height:52px}.acc-profil .node svg{width:38px;height:38px}
  .acc-profil .node.is-focused{transform:translate(var(--move-x),var(--move-y)) scale(1.3)}
  .acc-profil .map-center{font-size:14px;padding:14px 12px}.acc-profil .map-center strong{font-size:17px}
  .acc-svc{grid-template-columns:1fr;gap:20px}
  .acc-pr{min-height:0}
  .acc-pr .in{grid-template-columns:1fr;gap:28px}
  .acc-pr.inv .txt{order:0}
}
@media (max-width:560px){.acc-benef{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.acc-profil .node,.acc-profil .map-center{transition:none}}
.acc-services .heros-g .mini-barres{gap:10px}
.acc-services .heros-g .mini-barres .piste{height:12px}
.acc-services .heros-g .duo-g{grid-template-columns:1fr 1fr;gap:28px}
.acc-services .heros-g .duo-g b{font-size:13px}
.acc-services .acc-svc{padding:clamp(18px,3.4svh,40px) 0}
.acc-services .h2{margin-bottom:clamp(16px,3svh,40px)}
.acc-svc .nom-l,.acc-pr .nom-l{color:var(--encre)}.acc-svc .nom-l svg,.acc-pr .nom-l svg{stroke:var(--accent-dk)}.acc-fin .note{color:var(--texte-navy);font-size:15px;line-height:1.5;max-width:36em;margin:0}
/* v5.4 · accueil v1.1 : bénéfices resserrés */
.acc-benef{gap:10px;max-width:1120px;margin-top:clamp(24px,4svh,40px)}
.acc-benef article{padding:16px 18px 18px}
.acc-benef .h3{font-size:16.5px;margin-bottom:8px}
.acc-benef p{font-size:14px;line-height:1.45}
@media (min-width:901px){.acc-ouv .h1{max-width:none;font-size:clamp(40px,4.5vw,68px)}.acc-ouv .h1 .ln{white-space:nowrap}}
/* v5.4 · accueil v2 (15 h 41) */
.v-carte>svg line{stroke:#9fb3b8;stroke-width:.7;stroke-linecap:round}
.acc-services .in,.acc-pr .in,.acc-pres .tete .in,.acc-ki .in{max-width:calc(1040px + 2*var(--marge))}
.acc-svc{grid-template-columns:3fr 2fr;gap:64px}
.acc-svc .nom-l,.acc-pr .nom-l{margin-top:16px}
.acc-svc .h3{margin:0}
.acc-svc .mini{justify-self:end;width:100%;max-width:300px}
.acc-services .heros-g .mini-barres{gap:8px}
.acc-services .heros-g .mini-barres .piste{height:10px}
.acc-services .heros-g .duo-g{gap:20px}
.acc-pr{min-height:0;padding:clamp(28px,5svh,56px) 0}
.acc-pres .tete{padding-bottom:8px}
.acc-pr .in{gap:72px}
.acc-pr p{font-size:16.5px;margin:0 0 10px}
.acc-pr .vis-p{max-width:400px;justify-self:center;width:100%}
.acc-pr .v-carte{max-width:380px}
.acc-pr .v-vision,.acc-pr .v-meth{height:240px;max-width:400px}
.acc-pr .v-vision{grid-template-columns:96px 48px minmax(0,1fr)}
.acc-pr .v-meth{grid-template-columns:54px 36px 70px minmax(40px,1fr) auto}
.acc-pr .v-meth .pl .nm{display:none}
.acc-ki{background:var(--f-beige);padding:clamp(48px,8svh,88px) 0}
.acc-ki .in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.acc-ki .n{font-family:'DM Mono',ui-monospace,monospace;font-weight:500;font-size:clamp(44px,4.6vw,68px);line-height:1;color:var(--encre);margin:0 0 14px;letter-spacing:-.02em}
.acc-ki p{color:var(--texte);font-size:16.5px;line-height:1.45;margin:0;max-width:22em}
@media (max-width:900px){
  .acc-svc{gap:16px}.acc-svc .mini{justify-self:start}
  .acc-pr .in{gap:24px}
  .acc-ki .in{grid-template-columns:1fr;gap:32px}
}
.acc-fin.ecran{min-height:0;padding:clamp(64px,12svh,120px) 0}
.acc-fin .cta-fin{grid-column:1/-1;align-items:center;text-align:center;margin:0 auto}
.acc-fin .note{margin:0 auto}
/* v5.5 · espacements et calage du défilement */
@media (min-width:1024px){
  html{scroll-padding-top:var(--hdr)}
  .arret{scroll-margin-top:calc(-1 * var(--hdr))}
  main>section,main>.acc-pres>.acc-pr{scroll-snap-align:start}
  .ecran{min-height:calc(100svh - var(--hdr));padding:88px 0 120px}
  main>section:first-child{min-height:100svh;padding-top:calc(var(--hdr) + 72px)}
  .acc-pres .tete{padding:96px 0 0}
  .acc-pr{padding:clamp(56px,8svh,96px) 0}
  .acc-ki{padding:112px 0}
  .livrable.auto .stage{padding:56px 0 72px;min-height:calc(100svh - var(--hdr))}
}
@media (max-width:1023px){
  .ecran{padding-top:calc(var(--hdr) + 40px);padding-bottom:88px}
  main>section:not(:first-child).ecran{padding-top:72px}
}
/* v5.5 · ouvertures Services */
.ouv-service:not(.ouv-pres) .h1{font-size:clamp(44px,4.6vw,68px);line-height:1.06}
.ouv-service:not(.ouv-pres) .sous{font-size:clamp(16px,1.9svh,19px);line-height:1.5;margin-top:22px}
.ouv-service:not(.ouv-pres) .heros-g .mini-barres{gap:10px}
.ouv-service:not(.ouv-pres) .heros-g .mini-barres .piste{height:11px}
.ouv-service:not(.ouv-pres) .heros-g .mini-barres .l{font-size:14px}
@media (min-width:901px){.ouv-service:not(.ouv-pres) .heros-g .duo-g{grid-template-columns:1fr 1fr;gap:28px}.ouv-service:not(.ouv-pres) .heros-g .duo-g .l{grid-template-columns:20px minmax(0,1fr)}.ouv-service:not(.ouv-pres) .heros-g .duo-g .l>span:not(.piste){display:none}}
/* v5.5 · trois cartes */
.trois-cartes .h2,.frise-s .h2{margin-bottom:48px;max-width:22em}
.rang3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.carte3{background:var(--f-beige);padding:28px 26px;border-radius:3px}
.carte3 .h3{font-size:20px;color:var(--encre);margin:0 0 10px;font-weight:600}
.carte3 p{color:var(--texte);margin:0;font-size:16px;line-height:1.5}
/* v5.5 · frise */
.frise{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:32px;position:relative}
.frise:before{content:'';position:absolute;left:0;right:0;top:5px;height:2px;background:var(--accent)}
.etape-f{position:relative;padding-top:30px}
.pt-f{position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--accent-dk)}
.no-f{display:block;font-family:'DM Mono',ui-monospace,monospace;font-weight:500;font-size:22px;color:var(--accent-dk);margin-bottom:12px}
.etape-f .h3{font-size:19px;font-weight:700;color:var(--encre);margin:0 0 6px}
.etape-f .duree{font-size:13px;font-weight:700;color:var(--accent-dk);margin:0 0 14px}
.etape-f p{font-size:15.5px;color:var(--texte);line-height:1.5;margin:0 0 10px}
.etape-f ul{margin:6px 0 0;padding-left:18px;color:var(--texte);font-size:15px}
.etape-f li{margin-bottom:6px}
/* v5.5 · besoin */
.besoin .in{display:grid;grid-template-columns:4fr 8fr;gap:56px;align-items:center}
.g-b .h2{color:var(--encre);margin-bottom:18px}
.g-b p{color:var(--texte);font-size:17px;max-width:20em}
.ligne-b{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;padding:22px 0;border-top:1px solid rgba(13,146,131,.35)}
.ligne-b .h3{font-size:19px;font-weight:700;color:var(--encre);margin:0}
.ligne-b p{margin:0;color:var(--texte);font-size:16px;line-height:1.5}
.ligne-b .note-b{font-size:13px;color:#587582;margin-top:10px}
/* v5.5 · indicateurs (Moteur) */
.ki-band{background:var(--f-beige)}
@media (max-width:900px){
  .rang3{grid-template-columns:1fr}
  .frise{grid-template-columns:1fr;gap:28px;padding-left:22px}
  .frise:before{left:5px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .etape-f{padding-top:0}.pt-f{left:-22px;top:4px}
  .besoin .in{grid-template-columns:1fr;gap:24px}
  .ligne-b{grid-template-columns:1fr;gap:8px}
}
.no-f{font-size:24px}
/* v5.6 · en-tête */
.btn.cyan,.nav .btn.cyan,.hdr.on-navy .btn.cyan{background:var(--accent);color:var(--f-navy);text-decoration:none;padding:0 18px}
.btn.cyan:hover{background:#7aeadf}
.nav-menu.courant>button{text-decoration:underline;text-decoration-color:var(--accent-dk);text-decoration-thickness:2px;text-underline-offset:8px}
.nav-menu ul a[aria-current=page]{font-weight:600}
.hdr.on-navy{background:rgba(0,0,0,.92)}
@media (max-width:900px){
  .hdr,.hdr.on-navy{background:var(--f-ivoire);backdrop-filter:none;-webkit-backdrop-filter:none;z-index:100}
  .hdr.on-navy .nav-burger,.hdr.on-navy .nav-menu>button{color:var(--encre)}
  .nav-burger{margin-left:auto;order:2}
  .nav.is-open{z-index:101;background:var(--f-ivoire)}
  .nav.is-open .btn.cyan{margin-top:12px}
}
/* v5.6 · conclusion et pied de page plein écran */
.cta-plein{background:#000;color:#fff;min-height:calc(100svh - 112px);display:flex;align-items:center;padding:96px 0;scroll-snap-align:start}
.cta-plein .in{display:grid;grid-template-columns:2fr 1fr;gap:64px;align-items:center}
.cta-plein .titre-fin{font-size:clamp(36px,4vw,60px);line-height:1.1;font-weight:300;letter-spacing:-.015em;color:#fff;margin:0;max-width:16em}
.cta-plein .d{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.cta-plein .note-fin{color:#c9d6d6;font-size:15px;line-height:1.5;margin:0;max-width:22em}
.pied{background:#000;border-top:1px solid rgba(255,255,255,.08);min-height:112px;display:flex;align-items:center}
@media (max-width:900px){.cta-plein{min-height:calc(100svh - 160px)}.cta-plein .in{grid-template-columns:1fr;gap:36px}.cta-plein .d{align-items:flex-start;text-align:left}}
/* v5.6 · accueil */
.acc-ouv .h1 .ln.cyan{color:var(--accent)}
.acc-benef .h3{font-size:19px}
@media (max-width:900px){.acc-benef .h3{font-size:16.5px}}
.histo-mini{display:flex;align-items:flex-end;gap:28px;height:150px;padding-left:4px}
.histo-mini .col-h{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px}
.histo-mini .piste.hv{display:flex;align-items:flex-end;width:44px;height:120px;background:transparent}
.histo-mini .piste.hv i{display:block;width:100%;height:var(--v);background:var(--encre);transition:height 1.2s var(--ease)}
.histo-mini .top .piste.hv i{background:var(--accent-dk)}
.histo-mini .nom{font-size:13px;color:var(--texte);white-space:nowrap}
.acc-ki{min-height:100svh;display:flex;align-items:center}
.acc-ki .in{text-align:center;justify-items:center;align-items:center}
.acc-ki p{margin-left:auto;margin-right:auto}
@media (min-width:1024px){.acc-ki{min-height:calc(100svh - var(--hdr))}}
.acc-ouv .h1 .m .ln.cyan{color:var(--accent)!important}
.nav .btn.btn-sm.cyan{height:40px;padding:0 18px;font-size:14.5px}
.acc-ki .in{align-items:start}
@media (min-width:1024px){.cta-plein{min-height:calc(100svh - var(--hdr) - 112px)}}
/* v5.7 */
.cta-plein{background:var(--f-pied)}
.histo-mini .top .piste.hv i{background:var(--accent)}
.acc-services .h2,.acc-pres>.tete .h2{font-size:clamp(40px,4.4vw,64px);line-height:1.08;letter-spacing:-.015em}
.acc-profil #profile-label{font-size:clamp(34px,3.8vw,56px)}
.ouv-pres .h1{font-size:clamp(46px,5vw,76px);line-height:1.05}
.scene-col .fin .v-fin{width:100%;max-width:440px;margin-bottom:28px}
.scene-col .fin .v-fin .v-meth{margin:0;height:240px}
@media (max-width:900px){.scene-col .fin .btn{margin-bottom:40px}.scene-col .fin .v-fin .v-meth{height:200px}}
.ouv-service .apercu .histo-mini{height:300px;gap:44px;justify-content:center}
.ouv-service .apercu .histo-mini .piste.hv{width:76px;height:250px}
.ouv-service .apercu .histo-mini .nom{font-size:15px}
@media (max-width:900px){.ouv-service .apercu .histo-mini{height:200px;gap:28px;justify-content:flex-start}.ouv-service .apercu .histo-mini .piste.hv{width:52px;height:160px}}
/* v5.8 */
.cta-plein .accroche-fin{color:#c9d6d6;font-size:clamp(18px,1.6vw,22px);line-height:1.5;margin:28px 0 0;max-width:34em;font-weight:300}
.cta-plein .btns{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:260px}
.cta-plein .btns .btn{justify-content:space-between}
.brique .plus{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14px;color:var(--texte);text-decoration:underline;text-decoration-color:var(--accent-dk);text-underline-offset:4px}
.brique .plus svg{width:14px;height:14px}
.portee .h2,.chaine .titre-moteur{font-size:clamp(36px,3.6vw,54px);line-height:1.1}
@media (max-width:900px){.portee .arbre.compact,.portee .scene-arbre{margin-left:auto;margin-right:auto;display:block}.portee .scene-arbre{text-align:center}.portee .revele{text-align:center}}
.particularite .in{display:block}
.particularite .h2{margin-bottom:40px;max-width:20em}
.particularite .tab-dist{width:100%}
.particularite .tab-dist td:first-child{width:46%}
.liste-pos{margin:0 0 14px;padding-left:20px;color:var(--texte)}
.liste-pos li{margin-bottom:6px}
.brique[aria-selected=true] .plus{color:#dbe8e6;text-decoration-color:var(--accent)}
@media (max-width:900px){.portee .arbre.compact{transform:translateX(7%)}}
/* v5.9 */
.tdb .ins{transition:grid-template-rows .4s var(--ease),opacity .25s .08s}
.tdb .bloc-tdb{margin-bottom:34px}
.tdb .reco-cadre{margin-top:10px}
.etape-f .duree{font-size:14px;line-height:1.45}
.ligne-b ul{margin:0;padding-left:18px;color:var(--texte);font-size:16px;line-height:1.5}
.ligne-b li{margin-bottom:6px}
.carte3 p+p{margin-top:6px}
/* pages légales */
.legal{padding:calc(var(--hdr) + 72px) 0 96px;background:var(--f-ivoire)}
.legal .in{max-width:calc(760px + 2*var(--marge))}
.legal h1{font-size:clamp(36px,4vw,56px);line-height:1.1;font-weight:300;color:var(--encre);margin:12px 0 24px}
.legal h2{font-size:24px;font-weight:400;color:var(--encre);margin:44px 0 12px}
.legal h3{font-size:18px;font-weight:600;color:var(--encre);margin:28px 0 8px}
.legal p,.legal li{color:var(--texte);font-size:16px;line-height:1.6}
.legal a:not(.btn){color:var(--encre)}
@media (max-width:560px){.histo-mini{gap:16px}.acc-svc .mini{max-width:100%;overflow:hidden}}
.etape-f .duree{color:#0a7468}
/* v6.0 · réseau du Moteur en trois temps */
.portee .txt-c{opacity:0;transform:translateY(24px);pointer-events:none}
.portee[data-t="3"] .txt-b{opacity:0!important;transform:translateY(-24px);pointer-events:none}
.portee[data-t="3"] .txt-c{opacity:1;transform:none;pointer-events:auto}
.portee .txt .cle-r{font-size:clamp(18px,1.5vw,21px);color:var(--encre);font-weight:300}
.panneau-pos .cta-pos{margin-top:28px}
.pied nav{flex-wrap:wrap}
@media (max-width:900px){.portee[data-t="3"] .txt-b{top:0}}
@media (min-width:901px){
  .portee .arbre.large{max-width:66%}
  .portee .textes{width:340px}
  .portee .txt p{font-size:16px}
  .portee[data-t="3"] .txt-b{top:0;transform:translateY(-24px)}
  .portee[data-t="3"] .txt-c{top:50%;transform:translateY(-50%)}
}

.liste-brique{margin:10px 0 0;padding-left:20px;color:var(--texte)}.liste-brique li{margin-bottom:6px}

/* corrections du 01/11 */
@media (max-width:900px){.panneau-b{display:block}.panneau-b .gauche,.panneau-b .gauche.large{max-width:none;width:100%}.panneau-b .gauche p,.panneau-b .gauche li{font-size:17px}}
.liste-livrables{margin:0;padding-left:20px;color:var(--texte)}.liste-livrables li{margin-bottom:12px;font-size:inherit;line-height:1.5}
.bandeau-acc{background:var(--f-beige);padding:clamp(72px,12svh,120px) 0}
.bandeau-acc p{margin:0 auto;max-width:28em;text-align:center;font-size:clamp(24px,2.6vw,36px);line-height:1.3;font-weight:300;color:var(--encre)}

/* corrections du 01/11, 18 h 01 : pied de page en deux colonnes */
.pied{padding:56px 0;min-height:0;scroll-snap-align:end}
.pied .in{display:grid;grid-template-columns:1fr auto;align-items:center;gap:48px}
.pied .pied-g{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.pied .pied-mail{color:var(--accent);font-size:17px;font-weight:600}
.pied .pied-li{display:inline-flex;align-items:center;gap:8px;color:#d9e6e5}
.pied .pied-li svg{width:18px;height:18px}
.pied nav{display:flex;flex-direction:column;gap:8px;margin-top:28px}
.pied .pied-c{margin-top:20px;font-size:13px;color:#8fa7a7}
.pied .pied-logo img{height:clamp(64px,8vw,112px);width:auto;display:block}
@media (max-width:700px){.pied .in{grid-template-columns:1fr;gap:40px}.pied .pied-logo{order:-1}.pied .pied-logo img{height:64px}}

/* corrections du 01/11, 18 h 15 : pied de page, conclusion + pied = un écran sur ordinateur */
.pied .pied-li{gap:10px}
.pied .pied-d{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.pied .pied-c{margin:0;font-size:13px;color:#8fa7a7}
@media (min-width:1024px){
  :root{--pied:240px}
  .pied{height:var(--pied);padding:0;box-sizing:border-box}
  .pied .pied-d{align-items:flex-end}
  .cta-plein{min-height:calc(100svh - var(--hdr) - var(--pied));padding:40px 0;scroll-snap-align:none}
  .cta-plein .titre-fin{font-size:clamp(32px,3.3vw,52px)}
}

/* corrections du 01/11, 19 h 00 : trois cartes sur l'accueil */
.acc-benef.trois{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px}
@media (max-width:900px){.acc-benef.trois{grid-template-columns:1fr;gap:8px}.acc-benef.trois article{padding:12px 14px}.acc-benef.trois .h3{font-size:15px;margin-bottom:4px}.acc-benef.trois p{font-size:13px;line-height:1.45}}
@media (max-width:600px){.acc-ouv .h1{font-size:32px}.acc-ouv .acc-sous{font-size:16px}}
@media (min-width:901px){.acc-ouv .h1{font-size:clamp(32px,3.2vw,48px)}.acc-ouv .h1 .ln{white-space:normal}}
@media (min-width:1100px){.acc-ouv .h1 .ln{white-space:nowrap}}

@media (max-width:1023px){.pied .pied-d{order:-1}}

@media (max-width:1023px){.pied .pied-d{display:contents}.pied .pied-logo{order:-1}.pied .pied-c{order:99;margin-top:0}}

/* 19 h 21 : ouverture de l'accueil */
.acc-tete{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
@media (min-width:901px){
  .ecran.acc-ouv{min-height:100svh;padding:var(--hdr) 0 0;align-items:stretch}
  .acc-ouv .in{min-height:calc(100svh - var(--hdr))}
  .acc-ouv .acc-tete{margin:auto 0}
  .acc-ouv .acc-benef.trois{margin:0 auto clamp(32px,6svh,64px)!important}
  .acc-benef.trois article{text-align:center}
}
@media (max-width:900px){
  .ecran.acc-ouv{min-height:100svh;padding:calc(var(--hdr) + 16px) 0 32px;align-items:center}
  .acc-benef.trois{gap:10px;margin-top:clamp(28px,5svh,44px)!important}
  .acc-benef.trois article{text-align:left;padding:14px 16px}
}
/* 19 h 33 : cartes réduites à une phrase */
.acc-benef.trois article{display:flex;align-items:center;justify-content:center}
.acc-benef.trois .acc-c{margin:0;text-wrap:balance;font-size:17px;line-height:1.4;color:var(--encre);font-weight:500}
@media (max-width:900px){.acc-benef.trois article{justify-content:flex-start}.acc-benef.trois .acc-c{font-size:16px}}

/* 20 h 09 : histogramme de l'Arbitrage aux couleurs de l'ouverture */
.histo-v .top .barre{background:var(--accent)}
