/* Charte commune du site de la Fondation UnI — reprise de la charte G.R.P. (24 oct.),
   étendue à toutes les sections. Aucune ressource externe. */
:root{
  --papier:#f7f4ec;--papier-clair:#fffdf8;--encre:#19332d;--doux:#5f706b;--trait:#d8ded7;
  --vert:#2f7765;--vert-clair:#dcebe3;--corail:#e16f4f;--bleu:#3679a6;--violet:#8a65a8;
  --or:#cf9a32;--ombre:0 18px 50px rgba(38,65,56,.10);--rayon:28px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
button,a{font:inherit}
button{color:inherit}
a{color:inherit}
.entete{position:relative;z-index:20;max-width:1500px;margin:auto;padding:22px clamp(20px,4vw,62px);display:flex;align-items:center;justify-content:space-between;gap:28px}
.marque{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.marque>span:last-child{display:flex;align-items:baseline;gap:9px}.marque b{font-size:21px;letter-spacing:.08em}.marque small{font-size:12px;color:var(--doux)}
.signe{display:flex;align-items:flex-end;gap:3px;width:30px;height:30px;padding:6px;border:1px solid var(--trait);border-radius:50%}.signe i{display:block;width:4px;border-radius:4px;background:var(--vert)}.signe i:nth-child(1){height:9px}.signe i:nth-child(2){height:17px}.signe i:nth-child(3){height:13px}
nav{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:wrap}nav a{padding:7px 10px;border-radius:999px;color:var(--doux);text-decoration:none;font-size:13px}nav a:hover,nav a[aria-current]{background:var(--papier-clair);color:var(--encre);box-shadow:0 2px 12px rgba(38,65,56,.07)}
.menu-mobile{display:none;border:1px solid var(--trait);background:var(--papier-clair);border-radius:99px;padding:7px 13px}
.surtitre{margin:0 0 10px!important;color:var(--vert)!important;font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.18em}
.hero{min-height:min(700px,calc(100vh - 85px));max-width:1500px;margin:auto;padding:clamp(55px,8vw,125px) clamp(24px,6vw,95px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:center;gap:clamp(45px,8vw,130px)}
.hero h1{max-width:820px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,6.3vw,95px);font-weight:400;line-height:.98;letter-spacing:-.045em}.hero h1 em{color:var(--vert);font-style:italic}.hero>div>p:not(.surtitre){max-width:690px;margin:28px 0;color:var(--doux);font-size:clamp(17px,1.5vw,21px)}
.action{display:inline-flex;gap:12px;align-items:center;margin-top:10px;padding:13px 18px;border-radius:999px;background:var(--encre);color:#fff;text-decoration:none;font-weight:700}.action span{font-size:20px}
.question{position:relative;padding:36px;background:var(--papier-clair);border:1px solid var(--trait);border-radius:40px 40px 40px 10px;box-shadow:var(--ombre);transform:rotate(1.5deg)}.question>span{color:var(--corail);font-weight:800;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.question>p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.4vw,38px);line-height:1.15;margin:20px 0 32px}.question>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--doux);font-size:12px}.question i{width:7px;height:7px;border-radius:50%;background:var(--corail)}
.explorateur{max-width:1700px;margin:0 auto 70px;padding:clamp(20px,3vw,42px);background:#f1f3ec;border:1px solid #d5ddd4;border-radius:clamp(28px,4vw,52px);box-shadow:var(--ombre)}
.barre-carte{display:grid;grid-template-columns:1fr minmax(260px,500px) auto;align-items:end;gap:30px;padding:0 8px 22px}.barre-carte h2{margin:0;font:400 clamp(30px,4vw,53px)/1 Georgia,serif}.consigne{color:var(--doux);margin:0}.outils-zoom{display:flex;gap:5px}.outils-zoom button{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--trait);border-radius:99px;background:var(--papier-clair);cursor:pointer}.outils-zoom button:hover{border-color:var(--vert)}
.filtres{display:flex;gap:7px;align-items:center;overflow-x:auto;padding:9px 8px 16px;scrollbar-width:thin}.filtres button{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid transparent;border-radius:99px;background:rgba(255,255,255,.62);cursor:pointer;font-size:13px}.filtres button i{width:9px;height:9px;border-radius:50%;background:var(--encre)}.filtres button[data-filtre="parcours"] i{background:var(--corail)}.filtres button[data-filtre="coeur"] i{background:var(--vert)}.filtres button[data-filtre="equilibre"] i{background:var(--bleu)}.filtres button[data-filtre="cadre"] i{background:var(--violet)}.filtres button[data-filtre="domaines"] i{background:var(--or)}.filtres button.actif{background:var(--papier-clair);border-color:#c8d2ca;box-shadow:0 5px 18px rgba(38,65,56,.10)}.filtres .parcours{margin-left:auto;background:var(--encre);color:#fff}.filtres .parcours.actif{background:var(--corail);border-color:var(--corail)}
.calques-carte{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(540px,1.35fr);gap:20px;align-items:center;margin:0 8px 18px;padding:16px 18px;background:rgba(255,255,255,.68);border:1px solid #d4ddd5;border-radius:24px}.calques-intro span{display:block;margin-bottom:4px;color:var(--encre);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.calques-description{margin:0;color:var(--doux);font-size:13px}.calques-boutons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.calques-boutons button{position:relative;min-width:0;padding:11px 12px 10px 40px;border:1px solid #d4ddd5;border-radius:16px;background:#fff;color:var(--encre);text-align:left;cursor:pointer}.calques-boutons button>span{position:absolute;left:12px;top:12px;display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:#e6ece7;color:#466258;font-size:10px;font-weight:900}.calques-boutons button>b,.calques-boutons button>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calques-boutons button>b{font-size:13px}.calques-boutons button>small{margin-top:1px;color:var(--doux);font-size:10px}.calques-boutons button[data-espace]:not([data-espace="tous"])>span{background:color-mix(in srgb,var(--couleur-espace) 18%,white);color:var(--couleur-espace)}.calques-boutons button.actif{border-color:var(--couleur-espace,var(--vert));box-shadow:inset 0 0 0 1px var(--couleur-espace,var(--vert)),0 6px 18px rgba(38,65,56,.10)}
.scene-carte{position:relative;height:clamp(720px,61vw,940px);border-radius:32px;overflow:hidden;background:#e5ebdf;border:1px solid #c8d3c9}.toile{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:#e9efe4}.toile,.toile *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.toile:active{cursor:grabbing}.toile:focus-visible{outline:3px solid var(--vert);outline-offset:-4px}.plan{width:100%;height:100%;transform-origin:0 0;will-change:transform}.plan svg{display:block;width:100%;height:100%;overflow:visible}
.flux{transition:opacity .22s}.flux .route{fill:none;stroke:transparent;stroke-linecap:round}.flux .sens{fill:none;stroke:#6e847c;stroke-width:3;stroke-dasharray:4 12;stroke-linecap:round;opacity:.20}.flux text{font-size:12px;font-weight:800;fill:#496058;text-anchor:middle;paint-order:stroke;stroke:#fffaf0;stroke-width:8;stroke-linejoin:round;opacity:0}.flux.groupe-parcours .route{stroke:#fff8e9;stroke-width:27}.flux.groupe-parcours .sens{stroke:var(--corail);stroke-width:4;stroke-dasharray:7 11;opacity:.8}.flux.groupe-parcours text{opacity:1}.flux.groupe-coeur .sens{stroke:var(--vert)}.flux.groupe-equilibre .sens{stroke:var(--bleu)}.flux.groupe-cadre .sens{stroke:var(--violet)}.flux.groupe-domaines .sens{stroke:var(--or)}.flux.actif .sens{opacity:1;stroke-width:6;stroke-dasharray:10 9;animation:defilement .8s linear infinite}.flux.actif text,#schema[data-filtre-actif="coeur"] .flux.groupe-coeur text,#schema[data-filtre-actif="equilibre"] .flux.groupe-equilibre text,#schema[data-filtre-actif="cadre"] .flux.groupe-cadre text,#schema[data-filtre-actif="domaines"] .flux.groupe-domaines text{opacity:1}.flux.parcours-actif .sens{opacity:1;stroke:var(--corail);stroke-width:7;stroke-dasharray:12 9;animation:defilement .9s linear infinite}.flux.parcours-actif .route{stroke:#fff1d7;stroke-width:34}.vehicule{fill:var(--corail);stroke:#fff;stroke-width:4;opacity:0}.flux.parcours-actif .vehicule{opacity:1}@keyframes defilement{to{stroke-dashoffset:-17}}
.noeud.hors-espace,.flux.hors-espace{opacity:.06}.flux.dans-espace .route{stroke:#fff;stroke-width:25}.flux.dans-espace .sens{opacity:1;stroke:var(--couleur-calque);stroke-width:6;stroke-dasharray:10 8}.flux.dans-espace text{opacity:1}#schema[data-espace-actif="theorique"]{--couleur-calque:#8a65a8}#schema[data-espace-actif="numerique"]{--couleur-calque:#3679a6}#schema[data-espace-actif="pratique"]{--couleur-calque:#d66547}
marker#fleche-parcours path{fill:var(--corail)}marker#fleche-coeur path{fill:var(--vert)}marker#fleche-equilibre path{fill:var(--bleu)}marker#fleche-cadre path{fill:var(--violet)}marker#fleche-domaines path{fill:var(--or)}
.etiquette-flux{pointer-events:none;opacity:0;transition:opacity .2s}.etiquette-flux rect{fill:rgba(255,255,255,.96);stroke:#c9d2cc;stroke-width:1.5;filter:url(#ombre)}.etiquette-flux text{fill:#29483f;font-size:11px;font-weight:850;letter-spacing:.025em;text-anchor:middle}.etiquette-flux.groupe-parcours{opacity:1}.etiquette-flux.groupe-parcours rect{stroke:var(--corail)}.etiquette-flux.groupe-coeur rect{stroke:var(--vert)}.etiquette-flux.groupe-equilibre rect{stroke:var(--bleu)}.etiquette-flux.groupe-cadre rect{stroke:var(--violet)}.etiquette-flux.groupe-domaines rect{stroke:var(--or)}.etiquette-flux.actif,.etiquette-flux.dans-espace,.etiquette-flux.parcours-actif,#schema[data-filtre-actif="coeur"] .etiquette-flux.groupe-coeur,#schema[data-filtre-actif="equilibre"] .etiquette-flux.groupe-equilibre,#schema[data-filtre-actif="cadre"] .etiquette-flux.groupe-cadre,#schema[data-filtre-actif="domaines"] .etiquette-flux.groupe-domaines{opacity:1}.etiquette-flux.parcours-actif rect{fill:var(--corail);stroke:#fff;stroke-width:3}.etiquette-flux.parcours-actif text{fill:#fff}.etiquette-flux.attenue,.etiquette-flux.hors-espace{opacity:0}
.aide-carte{margin:13px 8px 0;color:var(--doux);font-size:12px}

.page-texte{max-width:1160px;margin:auto;padding:60px 24px 110px}.intro-page{max-width:880px;margin-bottom:70px}.intro-page h1{margin:0 0 25px;font:400 clamp(42px,6vw,78px)/1 Georgia,serif;letter-spacing:-.035em}.intro-page>p:last-child{max-width:720px;color:var(--doux);font-size:19px}.chapitres{border-top:1px solid var(--trait)}.chapitre{border-bottom:1px solid var(--trait)}.chapitre summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:55px 1fr 30px;align-items:center;padding:25px 5px}.chapitre summary::-webkit-details-marker{display:none}.chapitre summary span{color:var(--corail);font-weight:800;font-size:12px}.chapitre summary h2{font:400 clamp(23px,3vw,34px)/1.15 Georgia,serif;margin:0}.chapitre summary i{width:16px;height:16px;position:relative}.chapitre summary i:before,.chapitre summary i:after{content:"";position:absolute;left:0;top:7px;width:16px;height:1px;background:var(--encre)}.chapitre summary i:after{transform:rotate(90deg);transition:transform .2s}.chapitre[open] summary i:after{transform:rotate(0)}.contenu-chapitre{padding:5px 55px 45px;max-width:1050px}.contenu-chapitre>p,.contenu-chapitre>ul{max-width:740px}.contenu-chapitre p,.contenu-chapitre li{color:#465b54}.contenu-chapitre blockquote{margin:25px 0;max-width:760px;padding:24px 28px;border-left:4px solid var(--corail);background:#f0e6dc;border-radius:0 20px 20px 0;font:400 23px/1.4 Georgia,serif}.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:22px 0}.carte{padding:22px;border:1px solid var(--trait);border-radius:22px;background:var(--papier-clair)}.carte h3{margin:0 0 8px;font:400 21px/1.15 Georgia,serif;color:var(--vert)}.carte p{font-size:14px;margin:0}.grille{display:grid;grid-template-columns:150px 1fr;gap:0;max-width:800px}.grille dt,.grille dd{padding:12px 0;border-bottom:1px solid var(--trait)}.grille dt{font-weight:800;color:var(--vert)}.grille dd{margin:0}.colonnes{columns:3 180px}.tags-liens{display:flex;justify-content:flex-start;gap:8px;max-width:900px;margin:20px 0}.tags-liens a{padding:9px 14px;border:1px solid var(--vert);border-radius:999px;background:var(--papier-clair);color:var(--vert);font-size:13px;font-weight:750}.tags-liens a:hover,.tags-liens a:focus-visible{background:var(--vert);color:#fff;box-shadow:0 5px 16px rgba(47,119,101,.18)}.tags-externes a{border-color:var(--bleu);color:var(--bleu)}.tags-externes a:hover,.tags-externes a:focus-visible{background:var(--bleu)}.frise{list-style:none;padding:0}.frise li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--trait)}.frise .date{color:var(--vert);font-weight:800}.suite{display:inline-block;color:var(--vert);font-weight:800;text-decoration:none;border-bottom:2px solid var(--vert-clair)}
footer{max-width:1500px;margin:auto;padding:25px clamp(24px,4vw,62px);border-top:1px solid var(--trait);display:flex;gap:22px;flex-wrap:wrap;color:var(--doux);font-size:12px}
@media (max-width:1100px){.calques-carte{grid-template-columns:1fr}.barre-carte{grid-template-columns:1fr auto}.consigne{grid-column:1/-1;grid-row:2}.hero{grid-template-columns:1fr .7fr}.marque small{display:none}}
@media (max-width:760px){.entete{padding:16px 18px;flex-wrap:wrap}.menu-mobile{display:block}.entete nav{display:none;width:100%;justify-content:flex-start;padding-top:7px}.entete nav.ouvert{display:flex}.hero{min-height:auto;padding:60px 22px 80px;grid-template-columns:1fr}.hero h1{font-size:clamp(42px,14vw,64px)}.question{padding:27px;transform:none}.explorateur{padding:18px 10px;margin:0 10px 55px;border-radius:28px}.barre-carte{grid-template-columns:1fr;padding:8px 10px 15px}.outils-zoom{display:none}.filtres .parcours{margin-left:0}.calques-carte{margin:0 4px 14px;padding:14px}.calques-boutons{display:flex;overflow-x:auto;padding-bottom:3px}.calques-boutons button{flex:0 0 132px}.scene-carte{height:620px;border-radius:23px}.plan svg{min-width:950px;min-height:620px}.toile{overflow:auto;touch-action:auto}.aide-carte{display:none}.page-texte{padding:45px 20px 80px}.intro-page{margin-bottom:45px}.chapitre summary{grid-template-columns:38px 1fr 22px}.contenu-chapitre{padding:0 0 35px}.grille{grid-template-columns:1fr}.grille dt{border-bottom:0;padding-bottom:0}.frise li{grid-template-columns:85px 1fr}.colonnes{columns:1}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flux.actif path,.flux.parcours-actif path{animation:none}}

/* Direction visuelle 2026 — éditoriale, institutionnelle et fonctionnelle. */
:root{
  --papier:#f3f2ed;--papier-clair:#fff;--encre:#12352d;--doux:#63716c;--trait:#d7ddd9;
  --vert:#266956;--vert-clair:#e1ece7;--corail:#da6849;--bleu:#326f91;--violet:#785d93;
  --or:#b88629;--ombre:0 20px 55px rgba(20,49,42,.09);--ombre-forte:0 30px 80px rgba(12,39,32,.18);--rayon:22px
}
body{background:var(--papier);font-size:15px;line-height:1.6;letter-spacing:-.006em}
button,a{outline-color:var(--corail)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid color-mix(in srgb,var(--corail) 65%,white);outline-offset:3px}
.entete{position:sticky;top:0;z-index:30;max-width:none;min-height:72px;margin:0;padding:14px clamp(22px,4vw,64px);background:rgba(243,242,237,.9);border-bottom:1px solid rgba(18,53,45,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.marque{gap:13px}.marque b{font-size:18px;letter-spacing:.12em}.marque small{font-size:11px;letter-spacing:.02em}.signe{width:34px;height:34px;padding:7px;background:var(--encre);border:0}.signe i{background:#fff}
nav{gap:3px}nav a{padding:8px 11px;border-radius:8px;color:#52645e;font-size:12px;font-weight:650}nav a:hover,nav a[aria-current]{background:#fff;color:var(--encre);box-shadow:0 4px 16px rgba(20,49,42,.07)}
.menu-mobile{border-radius:9px;background:#fff;font-size:12px;font-weight:750}
.surtitre{margin-bottom:14px!important;color:var(--vert)!important;font-size:10px!important;font-weight:850!important;letter-spacing:.2em!important}
.hero{min-height:660px;max-width:1440px;padding:clamp(80px,9vw,135px) clamp(28px,6vw,88px);grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:clamp(55px,8vw,120px)}
.hero h1{max-width:860px;font-size:clamp(50px,6vw,84px);line-height:1.01;letter-spacing:-.05em}.hero h1 em{color:var(--vert);font-style:normal}.hero>div>p:not(.surtitre){max-width:680px;margin:30px 0;color:#53635e;font-size:clamp(17px,1.4vw,20px);line-height:1.65}
.hero>div>.statut-projet{display:flex;align-items:center;gap:8px;width:max-content;margin:0 0 18px!important;padding:7px 10px;border:1px solid #ced8d2;border-radius:7px;background:rgba(255,255,255,.55);color:#52645e!important;font-size:10px!important;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.statut-projet i{width:7px;height:7px;border-radius:50%;background:var(--or)}
.action{margin-top:8px;padding:14px 19px;border-radius:10px;background:var(--encre);box-shadow:0 8px 25px rgba(18,53,45,.16);font-size:13px;letter-spacing:.01em}.action:hover{background:var(--vert)}
.question{padding:34px;background:var(--encre);color:#fff;border:0;border-radius:24px;box-shadow:var(--ombre-forte);transform:none}.question:before{content:"";display:block;width:42px;height:3px;margin-bottom:27px;background:var(--corail)}.question>span{color:#9ec1b4;font-size:9px}.question>p{margin:17px 0 31px;font-size:clamp(25px,2.2vw,34px);line-height:1.23}.question>div{padding-top:18px;border-top:1px solid rgba(255,255,255,.15);color:#d7e3df;font-size:11px}.question i{background:var(--corail)}
.explorateur{max-width:1720px;margin:0 auto 90px;padding:clamp(24px,3vw,42px);background:#fff;border:1px solid rgba(18,53,45,.10);border-radius:32px;box-shadow:var(--ombre)}
.barre-carte{grid-template-columns:minmax(0,1fr) minmax(320px,540px);align-items:end;gap:50px;padding:2px 4px 30px}.barre-carte h2{font-size:clamp(35px,4vw,54px);letter-spacing:-.035em}.consigne{max-width:520px;color:#60706a;font-size:14px;line-height:1.65}
.interface-carte{display:grid;grid-template-columns:268px minmax(0,1fr) 330px;gap:14px;align-items:stretch}
.panneau-carte{display:flex;flex-direction:column;min-width:0;padding:22px;background:var(--encre);color:#fff;border-radius:20px;box-shadow:0 18px 45px rgba(16,48,40,.16)}
.panneau-carte-entete{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 18px;border-bottom:1px solid rgba(255,255,255,.13)}.panneau-carte-entete span{color:#a9c5bb;font-size:9px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.panneau-carte-entete strong{font-size:10px;font-weight:700;color:#fff}
.outil-carte{padding:20px 0 0}.outil-carte>p,.calques-intro>span{display:block;margin:0 0 9px;color:#a9c5bb;font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.filtres{display:grid;gap:5px;overflow:visible;padding:0}.filtres button{width:100%;justify-content:flex-start;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#dce8e4;font-size:11px;text-align:left}.filtres button:hover{background:rgba(255,255,255,.07)}.filtres button.actif{background:#fff;color:var(--encre);border-color:#fff;box-shadow:none}.filtres button i{width:7px;height:7px}
.calques-carte{display:block;margin:0;padding:21px 0 0;background:transparent;border:0;border-radius:0}.calques-description{min-height:38px;margin:0 0 10px;color:#b9cdc6;font-size:10px;line-height:1.45}.calques-boutons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.calques-boutons button{min-height:53px;padding:9px 8px 8px 34px;border-color:rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.055);color:#fff}.calques-boutons button:hover{background:rgba(255,255,255,.10)}.calques-boutons button>span{left:9px;top:10px;width:18px;height:18px;background:rgba(255,255,255,.11);color:#dce8e4;font-size:8px}.calques-boutons button>b{font-size:10px}.calques-boutons button>small{color:#9eb8af;font-size:8px}.calques-boutons button[data-espace]:not([data-espace="tous"])>span{background:color-mix(in srgb,var(--couleur-espace) 50%,transparent);color:#fff}.calques-boutons button.actif{background:#fff;color:var(--encre);border-color:#fff;box-shadow:none}.calques-boutons button.actif>small{color:#66766f}
.panneau-carte>.parcours{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:auto;padding:13px 14px;border:0;border-radius:9px;background:var(--corail);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.panneau-carte>.parcours:hover,.panneau-carte>.parcours.actif{background:#bd5136}.panneau-carte>.parcours span{font-size:9px}.aide-carte{margin:11px 2px 0;color:#92aea4;font-size:9px;line-height:1.45}
.scenario-demande[hidden]{display:none}.scenario-demande{grid-column:1/-1;margin-top:12px;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:rgba(255,255,255,.06)}
.scenario-entete{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a9c5bb;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.scenario-entete strong{color:#fff;font-size:10px;letter-spacing:.06em}
.scenario-progression{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:11px 0 16px}.scenario-progression i{height:3px;border-radius:99px;background:rgba(255,255,255,.16)}.scenario-progression i.passe{background:rgba(218,104,73,.45)}.scenario-progression i.actif{background:var(--corail)}
.scenario-action{margin:0 0 7px;color:#fff;font:400 22px/1.1 Georgia,serif}.scenario-trajet{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;margin:0;color:#bcd0c9;font-size:10px;line-height:1.35}.scenario-trajet b:last-child{text-align:right;color:#fff}.scenario-trajet span{color:var(--corail);font-size:15px}
.scenario-commandes{display:grid;grid-template-columns:1fr .72fr 1fr;gap:5px;margin-top:15px}.scenario-commandes button{min-width:0;min-height:44px;padding:7px 6px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.07);color:#fff;font-size:9px;font-weight:750;cursor:pointer}.scenario-commandes button:hover,.scenario-commandes button[aria-pressed="true"]{background:#fff;color:var(--encre)}.scenario-commandes button:disabled{cursor:default;opacity:.32}
.panneau-carte.mode-scenario .outil-carte,.panneau-carte.mode-scenario>.aide-carte{display:none}.panneau-carte.mode-scenario>.parcours{margin-top:18px}
.scene-carte{height:clamp(720px,58vw,920px);border:1px solid #cbd5cf;border-radius:20px;background:#e9eee8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.outils-zoom{position:absolute;z-index:7;top:14px;right:14px;display:flex;gap:4px;padding:4px;background:rgba(255,255,255,.9);border:1px solid rgba(18,53,45,.11);border-radius:10px;box-shadow:0 8px 22px rgba(18,53,45,.10);backdrop-filter:blur(8px)}.outils-zoom button{min-width:34px;height:32px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:var(--encre);font-size:11px;font-weight:750;cursor:pointer}.outils-zoom button:hover{background:var(--vert-clair)}

.page-texte{max-width:1180px;padding:95px 28px 130px}.intro-page{max-width:900px;margin-bottom:75px}.intro-page h1{font-size:clamp(46px,6vw,74px);line-height:1.03;letter-spacing:-.045em}.intro-page>p:last-child{max-width:760px;color:#586963;font-size:18px;line-height:1.7}
.chapitres{display:grid;gap:10px;border:0}.chapitre{overflow:hidden;background:#fff;border:1px solid var(--trait);border-radius:16px}.chapitre summary{padding:24px 25px;grid-template-columns:48px 1fr 26px}.chapitre summary:hover{background:#fafbf9}.chapitre summary span{font-size:10px;letter-spacing:.12em}.chapitre summary h2{font-size:clamp(22px,2.7vw,31px)}.contenu-chapitre{max-width:none;padding:5px 73px 45px}.contenu-chapitre>p,.contenu-chapitre>ul{max-width:760px}.contenu-chapitre p,.contenu-chapitre li{color:#4e615a;line-height:1.7}.contenu-chapitre blockquote{border-radius:0 12px 12px 0;background:#f1e9e2;font-size:21px}.cartes{gap:10px}.carte{padding:21px;border-radius:12px;background:#fafbf9}.carte h3{font-size:19px}.grille dt,.grille dd{padding:14px 0}
footer{max-width:none;padding:28px clamp(24px,4vw,64px);background:var(--encre);border:0;color:#b8ccc4;font-size:10px;letter-spacing:.06em;text-transform:uppercase}

@media (max-width:1180px){
  .interface-carte{grid-template-columns:1fr}.panneau-carte{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.panneau-carte-entete{grid-column:1/-1}.panneau-carte>.parcours{grid-column:1/-1;margin-top:18px}.panneau-carte>.aide-carte{grid-column:1/-1}.filtres{grid-template-columns:1fr 1fr}.calques-carte{padding-top:20px}.scene-carte{height:clamp(680px,69vw,850px)}
}
@media (max-width:760px){
  .entete{min-height:62px;padding:12px 18px}.hero{padding:65px 22px 85px}.hero h1{font-size:clamp(43px,13vw,60px)}.question{padding:28px}.explorateur{margin:0 10px 60px;padding:20px 10px;border-radius:20px}.barre-carte{grid-template-columns:1fr;gap:16px;padding:4px 10px 22px}.panneau-carte{display:block;padding:18px;border-radius:14px}.filtres{grid-template-columns:1fr 1fr}.calques-boutons{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.calques-boutons button{min-width:0}.panneau-carte>.parcours{margin-top:18px}.scene-carte{height:620px;border-radius:14px}.outils-zoom{display:none}.plan svg{min-width:950px}.page-texte{padding:60px 18px 90px}.intro-page{margin-bottom:50px}.chapitre summary{padding:20px 16px}.contenu-chapitre{padding:0 20px 34px}
}
/* Plan fonctionnel — blocs codés sur trame, descriptif en colonne : rien ne recouvre le plan. */
.scene-carte{align-self:start;width:100%;height:auto;aspect-ratio:1548/992;background:#f6f7f5}.toile{background:#f6f7f5}
.decor-plan pattern path{fill:none;stroke:#e4e8e5;stroke-width:1}.decor-plan .fond-plan{fill:#f6f7f5}.decor-plan .trame-plan{fill:url(#trame)}
.zone-plan rect{fill:rgba(255,255,255,.55);stroke:#cdd5d0;stroke-width:1.2}.zone-plan text{fill:#6d7c76;font-size:12px;font-weight:750;letter-spacing:.16em}.zone-axe rect{fill:rgba(255,255,255,.75)}
.axe-plan{fill:none;stroke:#e9c7bb;stroke-width:1.2;stroke-dasharray:3 6}
.noeud{cursor:pointer;transition:opacity .22s;color:var(--vert)}.noeud.groupe-parcours{color:var(--corail)}.noeud.groupe-coeur{color:var(--vert)}.noeud.groupe-equilibre{color:var(--bleu)}.noeud.groupe-cadre{color:var(--violet)}.noeud.groupe-domaines{color:var(--or)}
.surface-bloc{fill:#fff;stroke:#cfd7d2;stroke-width:1.2;transition:stroke .18s,stroke-width .18s}.barre-bloc{fill:currentColor}.code-bloc{fill:currentColor;opacity:.12}.texte-code{fill:currentColor;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.titre-bloc{fill:var(--encre);font-size:17px;font-weight:750;letter-spacing:-.01em}.sous-titre-bloc{fill:#4f5f59;font-size:13px}.separateur-bloc{stroke:#e5eae7;stroke-width:1}.groupe-bloc{fill:currentColor;font-size:10px;font-weight:800;letter-spacing:.16em}.ancrage-bloc{fill:#fff;stroke:currentColor;stroke-width:2}
.noeud:hover .surface-bloc,.noeud:focus .surface-bloc{stroke:currentColor;stroke-width:2}.noeud.selectionne .surface-bloc{stroke:currentColor;stroke-width:3;filter:url(#ombre)}.noeud.est-lie .surface-bloc{stroke:currentColor;stroke-width:1.6}.noeud:focus{outline:none}.noeud:focus-visible .surface-bloc{stroke:var(--corail);stroke-width:3}
.noeud.attenue,.flux.attenue{opacity:.12}.noeud.dans-espace .surface-bloc{stroke:var(--couleur-calque);stroke-width:2.6}
.flux.groupe-parcours .route{stroke:rgba(218,104,73,.07);stroke-width:14}.flux.parcours-actif .route{stroke:rgba(218,104,73,.14);stroke-width:18}.flux.dans-espace .route{stroke:rgba(255,255,255,.9);stroke-width:14}.vehicule{r:5px;stroke-width:3}
.scenario-actif .noeud{pointer-events:none;opacity:.045}.scenario-actif .noeud.scenario-passe{opacity:.26}.scenario-actif .noeud.scenario-source,.scenario-actif .noeud.scenario-cible{opacity:1}.scenario-actif .noeud.scenario-source .surface-bloc{stroke:var(--corail);stroke-width:2}.scenario-actif .noeud.scenario-cible .surface-bloc{stroke:var(--corail);stroke-width:4;filter:url(#ombre)}
.scenario-actif .flux,.scenario-actif .etiquette-flux{opacity:0}.scenario-actif .flux.scenario-termine{opacity:.25}.scenario-actif .flux.scenario-termine .route{stroke:rgba(218,104,73,.07);stroke-width:12}.scenario-actif .flux.scenario-termine .sens{stroke:var(--corail);stroke-width:3;stroke-dasharray:4 10;opacity:.65;animation:none}.scenario-actif .flux.parcours-actif,.scenario-actif .etiquette-flux.parcours-actif{opacity:1}
.etiquette-flux rect{rx:5px;filter:none}.etiquette-flux text{font-size:12px;font-weight:750}
.inspecteur{display:flex;flex-direction:column;min-width:0;contain:size;padding:24px 24px 26px;overflow:auto;background:#fff;color:var(--encre);border:1px solid #cbd5cf;border-radius:20px}
.inspecteur-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--trait)}
.inspecteur-groupe{margin:0;color:var(--vert);font-size:9px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.fermer-inspecteur{visibility:hidden;padding:5px 9px;border:1px solid var(--trait);border-radius:7px;background:#fff;color:#52645e;font-size:10px;font-weight:750;cursor:pointer}.fermer-inspecteur:hover{border-color:var(--vert);color:var(--encre)}.inspecteur.a-selection .fermer-inspecteur{visibility:visible}
.inspecteur h3{margin:0 0 14px;font:400 27px/1.12 Georgia,serif;letter-spacing:-.02em}.inspecteur-texte{margin:0 0 14px;color:#4e615a;font-size:13px;line-height:1.65}.inspecteur-points{margin:0;padding-left:17px;color:#4e615a;font-size:12px}.inspecteur-points li{margin:6px 0}
.inspecteur-flux{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--trait);font-size:12px;color:#33493f}.inspecteur-flux:empty{display:none}.inspecteur-flux div+div{margin-top:12px}.inspecteur-flux b{display:block;margin-bottom:4px;color:#7a8883;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.inspecteur-flux p{margin:0}
.inspecteur-lien{align-self:flex-start;margin-top:auto;padding:22px 0 3px;color:var(--vert);text-decoration:none;border-bottom:2px solid var(--vert-clair);font-size:12px;font-weight:750}
@media (max-width:1380px){.interface-carte{grid-template-columns:minmax(0,1fr) 300px}.panneau-carte{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.panneau-carte-entete{grid-column:1/-1}.panneau-carte>.parcours{grid-column:1/-1;margin-top:18px}.panneau-carte>.aide-carte{grid-column:1/-1}.filtres{grid-template-columns:1fr 1fr}.inspecteur h3{font-size:24px}}
@media (max-width:1180px){.interface-carte{grid-template-columns:1fr}.inspecteur{contain:none}.inspecteur-lien{margin-top:18px}}
.hero>div.question>p{color:#fff}.grille{grid-template-columns:240px 1fr;max-width:900px}.grille dt{padding-right:24px}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bref{max-width:1440px;margin:-40px auto 70px;padding:0 clamp(28px,6vw,88px);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bref article{padding:24px 26px;background:#fff;border:1px solid var(--trait);border-radius:16px}.bref h3{margin:0 0 8px;color:var(--vert);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.bref p{margin:0;color:#3f524b;font-size:14px;line-height:1.65}
.entete-bloc{max-width:760px;margin-bottom:28px}.entete-bloc h2{margin:0 0 12px;font:400 clamp(30px,3.4vw,42px)/1.08 Georgia,serif;letter-spacing:-.03em}.entete-bloc>p:not(.surtitre){margin:0;color:#586963;font-size:15px}
.exemple,.objections,.commencer{max-width:1440px;margin:0 auto 90px;padding:0 clamp(28px,6vw,88px)}
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;counter-reset:etape}.etapes li{position:relative;padding:20px 18px 22px;background:#fff;border:1px solid var(--trait);border-top:3px solid var(--corail);border-radius:12px}.etapes span{display:inline-block;margin-bottom:10px;padding:2px 6px;border-radius:5px;background:#f6e3dc;color:var(--corail);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace}.etapes b{display:block;margin-bottom:6px;font-size:14px}.etapes p{margin:0;color:#4e615a;font-size:13px;line-height:1.6}
.bilan{max-width:860px;margin:22px 0 0;padding:16px 20px;border-left:3px solid var(--encre);background:#fff;color:var(--encre);font-size:14px;font-weight:600;line-height:1.6}
.objections dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.objections dl>div{padding:22px 24px;background:var(--encre);color:#fff;border-radius:14px}.objections dt{margin-bottom:10px;font:400 20px/1.2 Georgia,serif}.objections dd{margin:0;color:#c9dad4;font-size:13px;line-height:1.65}.objections>p{margin:20px 0 0}
.commencer{display:grid;grid-template-columns:1fr repeat(3,1fr);gap:12px;align-items:stretch}.commencer>a{display:flex;flex-direction:column;min-height:210px;padding:24px;background:#fff;border:1px solid var(--trait);border-radius:16px;text-decoration:none;transition:transform .2s,box-shadow .2s}.commencer>a:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(20,49,42,.10)}.commencer>a span{color:var(--corail);font-size:12px;font-weight:800}.commencer>a b{margin:14px 0 8px;font:400 21px/1.15 Georgia,serif}.commencer>a small{color:var(--doux);font-size:13px;line-height:1.55}.commencer>a em{margin-top:auto;padding-top:16px;color:var(--vert);font-style:normal;font-size:12px;font-weight:800}
@media (max-width:1180px){.etapes{grid-template-columns:repeat(2,1fr)}.objections dl{grid-template-columns:1fr}.commencer{grid-template-columns:1fr 1fr}.commencer>.entete-bloc{grid-column:1/-1}}
@media (max-width:760px){.bref{grid-template-columns:1fr;margin-top:0}.etapes,.commencer{grid-template-columns:1fr}}
@media (max-width:760px){.scene-carte{aspect-ratio:auto;height:620px}}
/* Cartes approfondies et schémas des temps, domaines et composants. */
.carte-lien{display:flex;min-height:205px;flex-direction:column;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.carte-lien>span{margin-top:auto;padding-top:22px;color:var(--vert);font-size:11px;font-weight:800;letter-spacing:.04em}.carte-lien>span i{font-style:normal}.carte-lien:hover,.carte-lien:focus-visible{transform:translateY(-3px);border-color:var(--vert);box-shadow:0 14px 30px rgba(25,51,45,.10);outline:none}
.retour-page{display:inline-flex;align-items:center;gap:7px;margin-bottom:34px;color:var(--vert);font-size:12px;font-weight:800;text-decoration:none}.retour-page:hover{text-decoration:underline}.page-detail .intro-page{margin-bottom:50px}
.schema-temps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:24px 0 30px;padding:0;list-style:none}.schema-temps li{position:relative}.schema-temps li:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-8px;top:50%;width:16px;margin-top:-10px;color:#92a19b;text-align:center}.schema-temps a{display:flex;min-height:125px;flex-direction:column;padding:15px;border:1px solid var(--trait);border-radius:12px;background:#fff;text-decoration:none}.schema-temps a:hover{border-color:var(--vert)}.schema-temps a[aria-current="step"]{border-color:var(--corail);box-shadow:inset 0 0 0 1px var(--corail);background:#fff8f5}.schema-temps span{color:var(--corail);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace}.schema-temps b{margin-top:auto;font-size:14px}.schema-temps small{color:var(--doux);font-size:11px}
.schema-domaine{display:grid;grid-template-columns:minmax(120px,1fr) 22px minmax(150px,1.2fr) 22px minmax(100px,.8fr) 22px minmax(150px,1.25fr);align-items:center;gap:5px;margin:24px 0 30px;padding:22px;border:1px solid var(--trait);border-radius:16px;background:#f7faf7}.schema-domaine>i{color:#8aa097;font-style:normal;text-align:center}.schema-domaine>div:not(.schema-sorties){display:flex;min-height:92px;flex-direction:column;justify-content:center;padding:15px;border:1px solid #ccd8d2;border-radius:10px;background:#fff}.schema-domaine small{color:var(--doux);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.schema-domaine b{margin-top:5px;font-size:13px}.schema-coeur{border-color:var(--vert)!important;box-shadow:inset 0 3px 0 var(--vert)}.schema-sorties{display:grid;gap:5px}.schema-sorties span{padding:8px 10px;border-radius:7px;background:var(--vert);color:#fff;font-size:11px;font-weight:750;text-align:center}
.schema-poles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:24px 0 0;padding:0;list-style:none}.schema-poles a{display:flex;min-height:118px;flex-direction:column;padding:16px;border:1px solid var(--trait);border-radius:12px;background:#fff;text-decoration:none}.schema-poles a:hover{border-color:var(--vert)}.schema-poles a[aria-current="step"]{border-color:var(--vert);box-shadow:inset 0 3px 0 var(--vert);background:#f5faf7}.schema-poles span{color:var(--vert);font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace}.schema-poles b{margin-top:auto;font-size:14px}.schema-poles small{color:var(--doux);font-size:10px}.liaison-equilibrage{display:flex!important;max-width:none!important;align-items:center;justify-content:center;gap:9px;margin:0 0 30px!important;color:var(--bleu)!important;font-size:12px}.liaison-equilibrage span{font-size:20px}.liaison-equilibrage a{padding:8px 14px;border:1px solid #b9cfdf;border-radius:99px;background:#f5faff;font-weight:800;text-decoration:none}
.schema-departement,.schema-equilibrage{display:grid;grid-template-columns:minmax(150px,1fr) 26px minmax(170px,1.15fr) 26px minmax(190px,1.35fr);align-items:center;gap:5px;margin:24px 0 30px;padding:22px;border:1px solid var(--trait);border-radius:16px;background:#f7faf7}.schema-departement>i,.schema-equilibrage>i{color:#8aa097;font-style:normal;text-align:center}.schema-departement>div:not(.schema-departement-sorties),.schema-equilibrage>div{display:flex;min-height:104px;flex-direction:column;justify-content:center;padding:15px;border:1px solid #ccd8d2;border-radius:10px;background:#fff}.schema-departement small,.schema-equilibrage small{color:var(--doux);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.schema-departement b,.schema-equilibrage b{margin-top:5px;font-size:13px}.schema-departement-coeur,.schema-equilibrage-coeur{border-color:var(--vert)!important;box-shadow:inset 0 3px 0 var(--vert)}.schema-departement-sorties,.schema-equilibrage-entrees,.schema-equilibrage-sorties{display:grid!important;min-height:0!important;gap:5px;padding:0!important;border:0!important;background:transparent!important}.schema-departement-sorties span,.schema-equilibrage-entrees span,.schema-equilibrage-sorties span{padding:8px 10px;border-radius:7px;background:var(--vert);color:#fff;font-size:11px;font-weight:750;text-align:center}.schema-equilibrage-entrees span{background:#fff;color:var(--encre);border:1px solid #ccd8d2}.schema-equilibrage-coeur{align-items:center;text-align:center}.schema-equilibrage-coeur>span{margin-top:7px;color:var(--doux);font-size:10px}.schema-equilibrage-sorties span{background:var(--bleu)}
@media (max-width:760px){.schema-temps,.schema-poles{grid-template-columns:1fr}.schema-temps a,.schema-poles a{min-height:82px}.schema-temps li:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-13px;margin:0 -8px 0 0}.schema-domaine,.schema-departement,.schema-equilibrage{grid-template-columns:1fr}.schema-domaine>i,.schema-departement>i,.schema-equilibrage>i{transform:rotate(90deg)}.schema-domaine>div:not(.schema-sorties),.schema-departement>div:not(.schema-departement-sorties),.schema-equilibrage>div{min-height:74px}.liaison-equilibrage{margin-top:8px!important}}
@media (prefers-reduced-motion:reduce){.surface-bloc{transition:none}}

/* ── Site unifié : éléments communs ajoutés au-delà de la charte G.R.P. ── */
/* Langues : une seule visible ; français sans JavaScript ni choix enregistré. */
.lc>[data-l]{display:none}
html:not([data-langue]) .lc>[data-l="fr"],
html[data-langue="fr"] .lc>[data-l="fr"],html[data-langue="ca"] .lc>[data-l="ca"],
html[data-langue="es"] .lc>[data-l="es"],html[data-langue="en"] .lc>[data-l="en"]{display:revert}
.note-langue{display:none;max-width:1160px;margin:0 auto;padding:10px 24px;color:var(--doux);font-size:14px}
html[data-langue="ca"] .note-langue,html[data-langue="es"] .note-langue,html[data-langue="en"] .note-langue{display:block}
.note-langue .lc>[data-l="fr"]{display:none!important}
.evitement{position:absolute;left:-9999px}.evitement:focus{left:12px;top:12px;z-index:50;background:var(--papier-clair);padding:8px 12px;border-radius:8px}
.choix-langue select{font:inherit;font-size:13px;color:var(--doux);background:transparent;border:1px solid var(--trait);border-radius:999px;padding:5px 9px;margin-left:6px}
.lien-plan{font-weight:700}
.navigation-section{position:relative;z-index:25;width:100%;padding-inline:clamp(20px,4vw,64px);background:color-mix(in srgb,var(--papier) 91%,transparent);border-bottom:1px solid var(--trait);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.navigation-section-rail{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;min-height:54px}
.navigation-section-titre{display:flex;align-items:baseline;gap:8px;padding-right:21px;border-right:1px solid var(--trait);white-space:nowrap}
.navigation-section-titre small,.navigation-section-panneau summary small{color:var(--doux);font-size:9px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.navigation-section-titre strong{font-size:12px;letter-spacing:.03em}
.sous-menu{display:flex;min-width:0;align-items:center;justify-content:flex-start;gap:4px;overflow-x:auto;padding:7px 0;flex-wrap:nowrap;scrollbar-width:none;overscroll-behavior-inline:contain}
.sous-menu::-webkit-scrollbar{display:none}
.navigation-section .sous-menu a{flex:none;padding:7px 10px;border:1px solid transparent;border-radius:8px;color:var(--doux);text-decoration:none;font-size:12px;font-weight:650;white-space:nowrap}
.navigation-section .sous-menu a:hover{background:var(--papier-clair);border-color:var(--trait);color:var(--encre);box-shadow:none}
.navigation-section .sous-menu a[aria-current]{background:var(--papier-clair);border-color:var(--trait);color:var(--encre);box-shadow:0 4px 14px rgba(0,0,0,.07)}
.navigation-section-panneau{min-height:54px}
.navigation-section-panneau details{max-width:1372px;margin:auto}
.navigation-section-panneau summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:18px;min-height:53px;padding:7px 0;list-style:none;cursor:pointer}
.navigation-section-panneau summary::-webkit-details-marker{display:none}
.navigation-section-panneau summary>span{display:flex;min-width:0;align-items:baseline;gap:12px}
.navigation-section-panneau summary strong{overflow:hidden;color:var(--encre);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.navigation-section-panneau summary em{color:var(--doux);font-size:10px;font-style:normal;letter-spacing:.04em}
.navigation-section-panneau summary i{position:relative;width:16px;height:16px;border:1px solid var(--trait);border-radius:50%}
.navigation-section-panneau summary i:before,.navigation-section-panneau summary i:after{content:"";position:absolute;left:4px;top:7px;width:6px;height:1px;background:var(--doux);transition:transform .18s}
.navigation-section-panneau summary i:after{transform:rotate(90deg)}
.navigation-section-panneau details[open] summary i:after{transform:rotate(0)}
.navigation-section-panneau .sous-menu-grille{position:absolute;top:100%;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:min(62dvh,520px);padding:12px;overflow:auto;background:var(--papier-clair);border:1px solid var(--trait);border-radius:0 0 14px 14px;box-shadow:0 24px 60px rgba(0,0,0,.22)}
.navigation-section-panneau .sous-menu-grille a{display:flex;min-width:0;align-items:center;padding:10px 12px;white-space:normal;line-height:1.35}
.fil-ariane{max-width:1160px;margin:18px auto 0;padding:0 24px;font-size:13px;color:var(--doux);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fil-ariane a{color:var(--doux)}.fil-ariane i{font-style:normal;opacity:.5}
.paragraphe{margin:0 0 1em}.paragraphe svg{max-width:100%;height:auto}
.tags-liens{flex-wrap:wrap}
.tags-liens a,.tags-muets span{display:inline-block;padding:6px 14px;border:1px solid var(--trait);border-radius:999px;text-decoration:none;font-size:14px;background:var(--papier-clair)}
.tags-liens a:hover{border-color:var(--vert);color:var(--vert)}
.tags-muets span{color:var(--doux)}
.carte-lien[style]{border-left:5px solid var(--accent)}
.volets{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.volet{padding:18px;border:1px solid var(--trait);border-radius:18px;background:var(--papier-clair)}
.volet h3{margin:0 0 8px;font-size:16px}.volet-q{color:var(--doux);font-style:italic;font-size:14px}
.bandeau-dispo{padding:12px 16px;border-radius:12px;background:var(--vert-clair);margin:0 0 30px}
.fleur-cadre{max-width:560px;margin:0 auto 40px}
.fleur{width:100%;height:auto}.fleur ellipse{opacity:.82;transition:opacity .2s}
.fleur a:hover ellipse,.fleur a:focus ellipse{opacity:1}
.fleur text{font-size:17px;font-weight:700;fill:var(--encre)}
.coeur-fleur{fill:var(--papier-clair);stroke:var(--trait)}.nom-fleur{font:400 20px Georgia,serif}
.page-plan{max-width:1240px}
.outils-plan{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 26px;padding:16px 18px;background:var(--papier-clair);border:1px solid var(--trait);border-radius:14px}
.filtre-plan{display:grid;gap:6px;min-width:min(100%,340px);color:var(--doux);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.filtre-plan input{width:100%;min-height:42px;padding:9px 13px;font:500 13px system-ui,sans-serif;color:var(--encre);background:var(--papier);border:1px solid var(--trait);border-radius:8px}
.niveaux-plan{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.niveaux-plan>span{margin-right:5px;color:var(--doux);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.niveaux-plan button{min-height:36px;padding:7px 10px;color:var(--doux);background:transparent;border:1px solid var(--trait);border-radius:7px;cursor:pointer;font-size:11px;font-weight:700}
.niveaux-plan button:hover,.niveaux-plan button[aria-pressed="true"]{color:var(--encre);background:var(--papier);border-color:color-mix(in srgb,var(--doux) 55%,var(--trait))}
.plan-site{display:block}.plan-racine>details{overflow:clip;background:var(--papier-clair);border:1px solid var(--trait);border-radius:16px;box-shadow:var(--ombre)}
.plan-racine-resume{min-height:78px;padding:14px 19px;background:var(--papier-clair)}.plan-racine-resume .plan-noeud-lien{font:650 clamp(21px,2.4vw,28px)/1.2 Georgia,serif}.plan-racine-resume small{color:var(--doux);font-size:11px;font-weight:700}
.plan-racine-signe{display:flex;width:38px;height:38px;align-items:flex-end;justify-content:center;gap:3px;padding:9px;border-radius:11px;background:var(--encre)}.plan-racine-signe i{display:block;width:4px;border-radius:4px;background:var(--papier-clair)}.plan-racine-signe i:nth-child(1){height:9px}.plan-racine-signe i:nth-child(2){height:18px}.plan-racine-signe i:nth-child(3){height:13px}
.plan-racine-corps{position:relative;display:grid;gap:12px;padding:16px 16px 18px 42px;border-top:1px solid var(--trait);background:var(--papier)}.plan-racine-corps:before{content:"";position:absolute;left:24px;top:0;bottom:34px;border-left:1px solid var(--trait)}
.plan-section{position:relative;margin:0}.plan-section:before{content:"";position:absolute;left:-18px;top:34px;width:18px;border-top:1px solid var(--trait)}.plan-section>details{overflow:clip;background:var(--papier-clair);border:1px solid var(--trait);border-radius:14px}
.plan-site summary{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;align-items:center;gap:11px;list-style:none;cursor:pointer}.plan-site summary::-webkit-details-marker{display:none}
.plan-section-resume{min-height:68px;padding:13px 17px}.plan-section-signe{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--trait);border-radius:9px;background:var(--papier)}.plan-section-signe:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--vert)}
.plan-section-resume .plan-noeud-lien{font:600 clamp(18px,2vw,23px)/1.2 Georgia,serif}.plan-section-resume small{color:var(--doux);font-size:11px;font-weight:700}
.plan-site summary>i{position:relative;width:18px;height:18px;border:1px solid var(--trait);border-radius:50%}.plan-site summary>i:before,.plan-site summary>i:after{content:"";position:absolute;left:5px;top:8px;width:6px;height:1px;background:var(--doux);transition:transform .18s}.plan-site summary>i:after{transform:rotate(90deg)}.plan-site details[open]>summary>i:after{transform:rotate(0)}
.plan-section-corps{padding:2px 22px 20px 31px;border-top:1px solid var(--trait)}
.plan-arbre{margin:0;padding:0 0 0 24px;list-style:none;border-left:1px solid var(--trait)}.plan-arbre .plan-arbre{margin-left:9px}
.plan-item{position:relative;margin:0;padding:5px 0 0 17px}.plan-item:before{content:"";position:absolute;left:-24px;top:25px;width:24px;border-top:1px solid var(--trait)}
.plan-item summary{min-height:40px;padding:3px 5px 3px 0;grid-template-columns:10px minmax(0,1fr) auto 18px;border-radius:7px}.plan-item summary:hover{background:var(--papier)}
.plan-point{width:7px;height:7px;border:2px solid var(--doux);border-radius:50%;background:var(--papier-clair)}.plan-branche>details[open]>summary .plan-point{border-color:var(--vert);background:var(--vert)}
.plan-noeud-lien{min-width:0;color:var(--encre);text-decoration:none;font-size:13px;font-weight:650;line-height:1.35}.plan-noeud-lien:hover{text-decoration:underline;text-underline-offset:3px}
.plan-item summary small{min-width:24px;padding:2px 6px;color:var(--doux);background:var(--papier);border-radius:99px;font-size:9px;text-align:center}
.plan-feuille{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:11px;min-height:38px;padding-top:7px;padding-bottom:3px}
.plan-feuille:before{top:26px}.plan-feuille .plan-point{width:5px;height:5px;border:0;background:var(--doux);opacity:.65}
.plan-vide{margin:0 0 18px;padding:14px 16px;color:var(--doux);background:var(--papier-clair);border:1px dashed var(--trait);border-radius:10px;font-size:13px}
.lien-indisponible{color:var(--doux)}
@media (max-width:760px){.choix-langue{display:block;margin-top:8px}}
.carte .p{font-size:14px;margin:0}.carte .p p{margin:0 0 .6em}

/* ── Thème « fondation » : charte du site d'origine (Web/, React + Tailwind) ──
   Accueil de la Fondation et Transphère. Fond slate-950, textes slate-200/400,
   accent émeraude, sans empattement. Relevé dans WebShell.tsx, StaticFallback.tsx,
   TransphereLanding.tsx. */
body.theme-fondation{
  --papier:#020617;--papier-clair:#0f172a;--encre:#e2e8f0;--doux:#94a3b8;--trait:#1e293b;
  --vert:#34d399;--vert-clair:rgba(16,185,129,.12);--corail:#34d399;--ombre:none;
  background:#020617;color:#cbd5e1;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.theme-fondation .entete{background:rgba(2,6,23,.82);border-bottom:1px solid rgba(30,41,59,.6)}
.theme-fondation .marque b{color:#f1f5f9;letter-spacing:0;font-weight:700;font-size:17px}
.theme-fondation .marque small{color:#64748b}
/* Logo UnI, le même dans toutes les sections (fond transparent, disque noir propre). */
.marque .logo{display:block;flex:none;width:34px;height:34px}
.theme-fondation nav a{color:#94a3b8;font-size:12px;font-weight:500;border-radius:6px}
.theme-fondation nav a:hover{background:rgba(16,185,129,.10);color:#6ee7b7;box-shadow:none}
.theme-fondation nav a[aria-current]{background:#1e293b;color:#f1f5f9;box-shadow:none}
.theme-fondation .menu-mobile{background:#0f172a;color:#e2e8f0;border-color:#1e293b}
.theme-fondation .choix-langue select{background:#0f172a;color:#e2e8f0;border-color:#1e293b;border-radius:6px}
.theme-fondation .surtitre{color:rgba(52,211,153,.75)!important;letter-spacing:.3em!important;font-size:10px!important}
.theme-fondation .intro-page h1{font:600 clamp(30px,4vw,48px)/1.1 system-ui,-apple-system,sans-serif;letter-spacing:-.01em;color:#f1f5f9}
.theme-fondation .intro-page>p:last-child{color:#94a3b8;font-size:16px;line-height:1.7}
.theme-fondation .chapitre{background:rgba(15,23,42,.6);border:1px solid rgba(51,65,85,.35);border-radius:12px}
.theme-fondation .chapitre summary:hover{background:rgba(30,41,59,.5)}
.theme-fondation .chapitre summary>span{color:#34d399}
.theme-fondation .chapitre summary h2{font:600 clamp(18px,2.2vw,24px)/1.25 system-ui,sans-serif;color:#f1f5f9}
.theme-fondation .chapitre summary i:before,.theme-fondation .chapitre summary i:after{background:#94a3b8}
.theme-fondation .contenu-chapitre{color:#cbd5e1}
.theme-fondation .carte{background:rgba(30,41,59,.2);border:1px solid rgba(51,65,85,.25);border-radius:10px}
.theme-fondation .carte h3{font:600 15px/1.35 system-ui,sans-serif;color:#e2e8f0}
.theme-fondation .carte .p,.theme-fondation .carte p{color:#94a3b8;font-size:13.5px;line-height:1.6}
.theme-fondation .carte-lien:hover{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.06)}
.theme-fondation .carte-lien span{color:#34d399}
.theme-fondation .carte-lien[style]{border-left:3px solid var(--accent)}
.theme-fondation .grille dt{color:#34d399}.theme-fondation .grille dt,.theme-fondation .grille dd{border-color:#1e293b}
.theme-fondation .tags-liens a,.theme-fondation .tags-muets span{background:rgba(15,23,42,.7);border-color:rgba(51,65,85,.5);color:#cbd5e1}
.theme-fondation .tags-liens a:hover{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.4);color:#6ee7b7;box-shadow:none}
.theme-fondation .contenu-chapitre blockquote{background:rgba(30,41,59,.4);border-left-color:#34d399}
.theme-fondation .fil-ariane,.theme-fondation .fil-ariane a{color:#64748b}
.theme-fondation footer{background:transparent;border-top:1px solid rgba(30,41,59,.5);color:#64748b}
.theme-fondation a{color:inherit}.theme-fondation .suite{color:#34d399}
.theme-fondation .coeur-fleur{fill:#0f172a;stroke:#334155}.theme-fondation .nom-fleur{fill:#e2e8f0;font:600 18px system-ui,sans-serif}
.theme-fondation .fleur text{fill:#e2e8f0;font-size:15px;font-weight:600}
.theme-fondation .fleur ellipse{opacity:.7}
.theme-fondation .filtre-plan input{background:#0f172a;border-color:#1e293b;color:#e2e8f0}
.theme-fondation .plan-section h2{font:600 20px system-ui,sans-serif;color:#f1f5f9}
.theme-fondation .plan-site ul ul{border-left-color:#1e293b}
.theme-fondation .plan-site a{color:#cbd5e1}.theme-fondation .plan-site a:hover{color:#6ee7b7}

/* ── Documentation rendue dans le gabarit (thème fondation) ── */
.doc-contenu{--border:#1e293b;color:#cbd5e1;font-size:15px;line-height:1.7}
.doc-contenu h2{font:600 22px/1.3 system-ui,sans-serif;color:#f1f5f9;margin:44px 0 12px}
.doc-contenu h3{font:600 17px/1.35 system-ui,sans-serif;color:#e2e8f0;margin:26px 0 8px}
.doc-contenu a{color:#6ee7b7}
.doc-contenu code{background:#0f172a;border:1px solid #1e293b;border-radius:5px;padding:1px 5px;font-size:.9em}
.doc-contenu pre{background:#0f172a;border:1px solid #1e293b;border-radius:10px;padding:14px;overflow:auto}
.doc-contenu table{border-collapse:collapse;width:100%;font-size:14px}
.doc-contenu th,.doc-contenu td{border-bottom:1px solid #1e293b;padding:8px 10px;text-align:left;vertical-align:top}
.doc-contenu th{color:#34d399;font-weight:600}
.table-wrap{overflow:auto;margin:16px 0}
.breadcrumb,.feat-grid,.c-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.breadcrumb a,.feat,.tag{display:inline-block;padding:5px 12px;border:1px solid rgba(51,65,85,.5);border-radius:999px;background:rgba(15,23,42,.7);color:#cbd5e1;text-decoration:none;font-size:13px}
.feat a{color:inherit;text-decoration:none;margin-right:6px}
.breadcrumb a:hover,.feat:hover{border-color:rgba(16,185,129,.4);color:#6ee7b7}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.card-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card,.lx-card{display:block;padding:16px 18px;border:1px solid rgba(51,65,85,.3);border-radius:10px;background:rgba(30,41,59,.22);color:inherit;text-decoration:none}
a.card:hover,a.lx-card:hover,.card-link:hover{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.06)}
.c-icon{font-size:20px;margin-bottom:6px}.c-title,.lx-name{font-weight:600;color:#f1f5f9}
.c-sub{font-size:12px;color:#64748b}.c-desc,.lx-desc{font-size:13.5px;color:#94a3b8;margin-top:4px}
.c-link{font-size:13px;color:#34d399}.lx-arrow{float:right;color:#64748b}
.border-top-blue{border-top:3px solid #60a5fa}.border-top-purple{border-top:3px solid #a78bfa}
.border-top-green{border-top:3px solid #34d399}.border-top-amber{border-top:3px solid #fbbf24}
.border-top-teal{border-top:3px solid #2dd4bf}.border-top-rose{border-top:3px solid #fb7185}.border-top-red{border-top:3px solid #f87171}
.infobox{margin:14px 0;padding:14px 18px;border-radius:10px;border:1px solid rgba(51,65,85,.4);border-left:3px solid #60a5fa;background:rgba(30,41,59,.3)}
.infobox.green{border-left-color:#34d399}.infobox.amber{border-left-color:#fbbf24}.infobox.red,.infobox.danger{border-left-color:#f87171}
.infobox.purple{border-left-color:#a78bfa}.infobox.teal{border-left-color:#2dd4bf}.infobox.rose{border-left-color:#fb7185}
.ib-title{font-weight:600;color:#f1f5f9;margin-bottom:4px}.infobox p{margin:4px 0}
.diagram{margin:20px 0;padding:16px;border:1px solid #1e293b;border-radius:12px;background:#0b1222;overflow:auto;text-align:center}
.tag-blue{color:#93c5fd}.tag-green{color:#6ee7b7}.tag-teal{color:#5eead4}.tag-amber{color:#fcd34d}.tag-rose{color:#fda4af}.tag-purple{color:#c4b5fd}
.accent{color:#34d399}.note{color:#94a3b8;font-size:13.5px}
.lx-cat{margin:26px 0}.lx-cat-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.lx-cat-bar{width:4px;height:20px;border-radius:2px;background:#34d399}.lx-cat-title{font-weight:600;color:#f1f5f9}
.lx-cat-count{font-size:12px;color:#64748b}.lx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.lx-empty,.lex-search,.lex-count{display:none}
.modtab,.foldbar,.fold-lead{margin:12px 0}
.tags-croises{margin:-40px 0 50px}.tags-croises b{font-weight:700;margin-right:2px}
.croises-haut{max-width:1500px;margin:18px auto 0;padding:0 clamp(20px,4vw,62px)}.croises-haut .tags-croises{margin:0}

/* ── Teaser d'accueil (repris du site d'origine) ── */
.teaser{position:relative;overflow:hidden;height:calc(100vh - 72px);min-height:560px;display:flex;flex-direction:column;background:#020617;color:#e2e8f0}
.teaser-fond{position:absolute;inset:0;pointer-events:none}
.teaser-fond>i{position:absolute;border-radius:50%;animation-name:teaser-converge,teaser-scintille;animation-timing-function:cubic-bezier(.2,0,.3,1),ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:both,none;opacity:.35}
.teaser-fond svg{position:absolute;inset:0;width:100%;height:100%}
.teaser-fond line{stroke-width:.8;stroke-dasharray:300;animation:teaser-trait 2.5s both ease-out,teaser-pulse 5s infinite ease-in-out}
.teaser-fond circle{animation:teaser-converge 2.5s both cubic-bezier(.2,0,.3,1),teaser-scintille 4s infinite ease-in-out;opacity:.45}
.orbite{animation:orbite 14s infinite ease-in-out}
.orbite-1{animation-name:orbite-b}.orbite-2{animation-name:orbite-c}.orbite-3{animation-name:orbite-b}.orbite-5{animation-name:orbite-c}
@keyframes teaser-converge{0%{transform:translate(var(--sx),var(--sy)) scale(.4);opacity:0}40%{opacity:.5}100%{transform:none}}
@keyframes teaser-scintille{0%,100%{opacity:.25}50%{opacity:.75}}
@keyframes teaser-trait{from{stroke-dashoffset:300;opacity:0}to{stroke-dashoffset:0;opacity:.15}}
@keyframes teaser-pulse{0%,100%{stroke-opacity:.1}50%{stroke-opacity:.25}}
@keyframes orbite{0%,100%{transform:none}25%{transform:translate(12px,-8px)}50%{transform:translate(6px,-16px)}75%{transform:translate(-6px,-6px)}}
@keyframes orbite-b{0%,100%{transform:none}25%{transform:translate(-10px,6px)}50%{transform:translate(-4px,14px)}75%{transform:translate(8px,4px)}}
@keyframes orbite-c{0%,100%{transform:none}25%{transform:translate(8px,10px)}50%{transform:translate(-6px,8px)}75%{transform:translate(-10px,-4px)}}
@keyframes teaser-entree{from{opacity:0;transform:translateY(20px) scale(.95);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes teaser-flotte{0%,100%{transform:none}50%{transform:translateY(-10px)}}
@keyframes teaser-progression{from{width:0}to{width:100%}}
.teaser-scene{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:0 70px;cursor:pointer}
.diapo{display:none;max-width:720px;text-align:center;animation:teaser-entree .8s both ease-out}
.diapo.active{display:block}
.diapo h1{font:800 clamp(40px,7vw,80px)/1.05 system-ui,sans-serif;letter-spacing:-.02em;color:#f1f5f9;margin:0 0 14px}
.diapo h2{font:700 clamp(24px,3.4vw,40px)/1.2 system-ui,sans-serif;color:#f1f5f9;margin:0 0 20px}
.diapo p{color:#94a3b8;font-size:clamp(15px,1.4vw,18px);line-height:1.7;margin:0}
.diapo p.fort{color:#cbd5e1}.diapo p.petit{margin-top:16px;font-size:15px;color:#94a3b8}
.teaser-logo-anime{width:min(70vw,620px);height:auto}
.teaser-logo{width:84px;height:84px;border-radius:20px;margin-bottom:22px;animation:teaser-flotte 6s infinite ease-in-out}
.teaser-logo-gif{width:140px;height:auto;animation:teaser-flotte 6s infinite ease-in-out}
.teaser-revoir{margin-top:26px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#94a3b8;font-size:13px;cursor:pointer}
.teaser-nav{position:absolute;z-index:3;top:45%;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#94a3b8;font-size:24px;line-height:1;cursor:pointer}
.teaser-nav:hover{color:#f1f5f9;background:rgba(255,255,255,.1)}.teaser-nav:disabled{opacity:0;pointer-events:none}
.teaser-nav.precedent{left:16px}.teaser-nav.suivant{right:16px}
.teaser-acces{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:680px;width:calc(100% - 32px);margin:0 auto 54px}
.teaser-carte{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(51,65,85,.5);background:rgba(15,23,42,.55);backdrop-filter:blur(4px);text-decoration:none;color:#f1f5f9;transition:transform .2s,border-color .2s}
.teaser-carte:hover{transform:translateY(-2px);border-color:rgba(100,116,139,.7)}
.teaser-carte b{font-size:13px;font-weight:600}.teaser-carte small{font-size:11px;color:#64748b}
.teaser-carte.en-avant{border-color:rgba(16,185,129,.4);background:rgba(16,185,129,.1)}.teaser-carte.en-avant b{color:#a7f3d0}
.teaser-controles{position:absolute;z-index:3;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px}
.teaser-controles button{width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#64748b;font-size:10px;cursor:pointer}
.teaser-puces{display:flex;gap:6px}.teaser-puces i{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.1);transition:all .3s}
.teaser-puces i.active{width:16px;background:rgba(16,185,129,.6)}
.teaser-progression{position:absolute;bottom:0;left:0;right:0;height:1px;z-index:3}
.teaser-progression i{display:block;height:1px;width:0;background:linear-gradient(90deg,transparent 60%,rgba(255,255,255,.7) 96%,#fff);box-shadow:0 0 6px 1px rgba(255,255,255,.4)}
@media (max-width:760px){.teaser-acces{grid-template-columns:minmax(0,1fr)}.teaser-scene{padding:0 48px}}
@media (prefers-reduced-motion:reduce){.teaser *{animation:none!important}.teaser-fond>i,.teaser-fond circle{opacity:.4}.teaser-fond line{stroke-opacity:.15}}

/* ── Arbre à choix (technologies) ── */
.orientation{margin:0 0 60px;padding:28px;border:1px solid var(--trait);border-radius:20px;background:var(--papier-clair)}
.orientation-etape{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--vert);margin:0 0 8px}
.orientation h3{font:400 clamp(22px,2.6vw,30px)/1.2 Georgia,serif;margin:0 0 10px}.orientation h3.non{color:var(--corail)}
.orientation h4{margin:18px 0 6px}.orientation .note{color:var(--doux)}
.orientation-options{display:grid;gap:10px;margin:18px 0}
.orientation-option{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px 16px;border:1px solid var(--trait);border-radius:14px;background:#fff;cursor:pointer;font:inherit;color:inherit}
.orientation-option:hover{border-color:var(--vert);box-shadow:0 4px 16px rgba(20,49,42,.07)}
.orientation-option small{color:var(--doux)}
.orientation-actes{display:flex;gap:8px;margin-top:16px}
.orientation-actes button{padding:7px 14px;border:1px solid var(--trait);border-radius:999px;background:transparent;cursor:pointer;font:inherit;font-size:13px}
.orientation-actes button:disabled{opacity:.4}
.orientation-toutes{font:400 26px Georgia,serif;margin:40px 0 14px}
.kick{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--vert);margin:0}
.reserve{padding:10px 14px;border-left:3px solid var(--corail);background:rgba(225,111,79,.06)}
.teaser-acces{align-items:stretch}

/* ── Transphère : port autonome des interfaces de Web/ ──────────────────── */
.transphere-accueil footer,.transphere-accueil .fil-ariane{display:none}
.transphere-entree{position:relative;isolation:isolate;min-height:calc(100vh - 72px);overflow:hidden;display:grid;place-items:center;padding:45px 24px 70px;background:#020617;color:#e2e8f0}
.transphere-entree-contenu{position:relative;z-index:2;display:flex;width:min(670px,100%);flex-direction:column;align-items:center;text-align:center}
.transphere-entree .intro-page{margin:0 0 20px}.transphere-entree .intro-page h1{margin:0 0 14px;font:600 clamp(30px,4vw,50px)/1.08 system-ui,sans-serif;color:#f1f5f9;letter-spacing:-.025em}.transphere-entree .intro-page>p:last-child{margin:0 auto;color:#94a3b8;font-size:15px;line-height:1.7}
.transphere-fleur-fond{position:absolute;z-index:-1;inset:0;display:grid;place-items:center;pointer-events:none;opacity:.8}
.transphere-fleur-fond>span{position:relative;width:min(64vw,520px);aspect-ratio:1}
.transphere-fleur-fond i{position:absolute;left:50%;top:50%;width:135px;height:250px;margin:-224px 0 0 -67px;transform-origin:50% 89%;transform:rotate(calc(var(--i) * 51.43deg));border-radius:50% 50% 45% 55%/60% 55% 45% 40%;background:linear-gradient(180deg,color-mix(in srgb,var(--petale) 36%,transparent),color-mix(in srgb,var(--petale) 12%,transparent) 75%,transparent);animation:transphere-respire 7s ease-in-out infinite;animation-delay:calc(var(--i) * -.55s)}
.transphere-fleur-fond b{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px;border-radius:50%;background:radial-gradient(circle,#fde68a99,#f59e0b55);box-shadow:0 0 24px rgba(251,191,36,.2)}
@keyframes transphere-respire{50%{filter:brightness(1.22);opacity:.78}}
.transphere-mode{display:grid;grid-template-columns:auto 1fr;gap:0 9px;align-items:center;margin:3px 0 14px;padding:9px 13px;border:1px solid rgba(51,65,85,.55);border-radius:8px;background:rgba(15,23,42,.58);color:#cbd5e1;text-align:left;cursor:pointer;backdrop-filter:blur(8px)}
.transphere-mode input{grid-row:1/3;width:16px;height:16px;accent-color:#10b981}.transphere-mode span{font-size:12px;font-weight:650}.transphere-mode small{color:#64748b;font-size:10px}
.transphere-entree aside{max-width:590px;margin:0 0 18px;padding:10px 14px;border:1px solid rgba(245,158,11,.25);border-radius:8px;background:rgba(245,158,11,.055);color:#fcd34d;font-size:11px;line-height:1.55}.transphere-entree aside b{font-weight:750}
.transphere-entrer{display:inline-flex;align-items:center;gap:15px;padding:11px 23px;border:1px solid rgba(52,211,153,.42);border-radius:999px;background:rgba(16,185,129,.11);color:#6ee7b7;text-decoration:none;font-size:13px;font-weight:650;box-shadow:0 0 25px rgba(52,211,153,.08);transition:.2s}.transphere-entrer:hover{background:rgba(16,185,129,.2);border-color:#34d399;box-shadow:0 0 28px rgba(52,211,153,.22)}

.transphere-carte{overflow:hidden}.transphere-carte .fil-ariane,.transphere-carte footer{display:none}.transphere-carte .entete{position:relative}
.transphere-originale{height:calc(100vh - 72px);overflow:hidden;background:#0f172a}.transphere-originale iframe{display:block;width:100%;height:100%;border:0;background:#0f172a}
.transphere-interface{position:relative;height:calc(100vh - 72px);min-height:560px;overflow:hidden;background:linear-gradient(160deg,#e8e0c8 0%,#d6cc9c 35%,#c4b574 70%,#beb07a 100%);color:#263126}
.transphere-svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}.transphere-svg:active{cursor:grabbing}
.transphere-barre{position:absolute;z-index:8;left:16px;top:14px;display:flex;gap:6px}.transphere-barre a,.transphere-barre button,.transphere-zoom button{border:1px solid rgba(100,82,34,.25);border-radius:7px;background:rgba(255,253,244,.78);color:#5a4a22;padding:7px 11px;text-decoration:none;font-size:11px;font-weight:700;box-shadow:0 5px 18px rgba(73,58,20,.1);backdrop-filter:blur(10px);cursor:pointer}.transphere-barre a:hover,.transphere-barre button:hover,.transphere-zoom button:hover{background:#fffdf4}
.transphere-barre button:disabled{opacity:.42;cursor:not-allowed}
.transphere-consigne{position:absolute;z-index:7;left:17px;top:52px;margin:0;padding:6px 10px;border-radius:6px;background:rgba(255,253,244,.68);color:#725f31;font-size:10px;font-weight:650;backdrop-filter:blur(7px);pointer-events:none}
.transphere-zoom{position:absolute;z-index:8;right:16px;top:50%;display:grid;gap:6px;transform:translateY(-50%)}.transphere-zoom button{width:38px;height:38px;padding:0;border-radius:50%;font-size:20px;font-weight:500}
.transphere-petale{cursor:pointer;transition:opacity .35s,filter .35s}.transphere-petale .transphere-corps-petale{stroke:rgba(255,255,255,.5);stroke-width:1;transition:transform .3s,stroke .2s;transform-box:fill-box;transform-origin:center}.transphere-petale:hover .transphere-corps-petale,.transphere-petale:focus .transphere-corps-petale{stroke:#fff;stroke-width:2.5;transform:scale(1.055)}
.transphere-petale:focus{outline:none}.transphere-petale.verrou{opacity:.27;filter:grayscale(.7);cursor:not-allowed}.transphere-petale.visite .transphere-corps-petale{stroke:#fff;stroke-width:3}.transphere-ombre{fill:rgba(0,0,0,.07)}.transphere-nervure{fill:none;stroke:rgba(255,255,255,.27);stroke-width:1.7;stroke-linecap:round;pointer-events:none}.transphere-petale-petit .transphere-nervure{stroke-width:.8}.transphere-libelle{fill:#263126;font-weight:750;paint-order:stroke;stroke:rgba(255,255,255,.75);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.transphere-petale-petit .transphere-libelle{font-weight:650;stroke-width:3px}
.transphere-pistil{cursor:pointer}.transphere-pistil:hover{filter:brightness(1.08)}.transphere-tige{fill:none;stroke:#7a5c1f;stroke-width:4.5;stroke-linecap:round;opacity:.6;stroke-dasharray:1100;stroke-dashoffset:1100;animation:transphere-tige 1s ease-out var(--delai) forwards}.transphere-sous-fleur{opacity:0;transform-box:fill-box;transform-origin:center;animation:transphere-eclore .65s cubic-bezier(.34,1.5,.64,1) var(--delai) forwards}
@keyframes transphere-tige{to{stroke-dashoffset:0}}@keyframes transphere-eclore{from{opacity:0;transform:scale(.1)}to{opacity:1;transform:scale(1)}}
.transphere-panneau{position:absolute;z-index:10;right:0;top:0;width:min(560px,94vw);height:calc(100% - 42px);overflow:auto;background:rgba(255,255,255,.96);box-shadow:-18px 0 50px rgba(58,45,15,.2);color:#374151;backdrop-filter:blur(16px)}.transphere-panneau[hidden]{display:none}
.transphere-panneau>header{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:25px 28px 19px;background:linear-gradient(135deg,color-mix(in srgb,var(--couleur) 15%,white),#fff);border-bottom:1px solid #e5e7eb}.transphere-panneau header small{color:var(--accent-transphere);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.transphere-panneau h2{margin:5px 0 0;color:#1f2937;font-size:23px;line-height:1.2}.transphere-panneau header button{flex:none;width:34px;height:34px;border:1px solid #e5e7eb;border-radius:50%;background:#fff;color:#6b7280;font-size:22px;line-height:1;cursor:pointer}
.transphere-onglets{position:sticky;z-index:2;top:97px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;background:#fff;border-bottom:1px solid #e5e7eb}.transphere-onglets button{padding:12px 5px;border:0;border-bottom:2px solid transparent;background:transparent;color:#9ca3af;font-size:9px;font-weight:800;text-transform:uppercase;cursor:pointer}.transphere-onglets button.actif{border-color:var(--accent-transphere);color:var(--accent-transphere)}
.transphere-contenu-panneau{padding:26px 30px 60px;font-size:14px;line-height:1.65}.transphere-contenu-panneau[hidden]{display:none}.transphere-contenu-panneau>p:first-child{font-size:15px;color:#4b5563}.transphere-contenu-panneau h3{margin:28px 0 10px;color:var(--accent-transphere);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.transphere-contenu-panneau li{margin:7px 0}.transphere-liens-grp{display:flex;flex-wrap:wrap;gap:7px}.transphere-liens-grp a{padding:6px 10px;border:1px solid #d1d5db;border-radius:999px;text-decoration:none;font-size:11px}.transphere-fiche-complete{display:inline-flex;margin-top:24px;padding:10px 14px;border-radius:7px;background:var(--accent-transphere);color:#fff;text-decoration:none;font-size:12px;font-weight:750}
.transphere-videos{display:grid;gap:9px}.transphere-videos article{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid #e5e7eb;border-radius:9px;background:#fff}.transphere-videos article>span{display:grid;flex:none;width:42px;height:42px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent-transphere) 12%,white);color:var(--accent-transphere);font-size:13px}.transphere-videos b,.transphere-videos small{display:block}.transphere-videos b{color:#374151;font-size:12px;line-height:1.4}.transphere-videos small{margin-top:3px;color:#9ca3af;font-size:10px}
.transphere-progression{position:absolute;z-index:9;left:0;right:0;bottom:0;display:flex;align-items:center;gap:15px;height:42px;padding:0 20px;background:rgba(0,0,0,.4);color:#fff;backdrop-filter:blur(7px)}.transphere-progression b{flex:none;font-size:11px}.transphere-progression>div{display:flex;flex:1;gap:2px}.transphere-progression i{display:block;flex:1;height:7px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.2)}.transphere-progression i span{display:block;height:100%;min-width:0;border-radius:inherit;transition:width .4s}
@media (max-width:760px){.transphere-entree{min-height:calc(100vh - 62px)}.transphere-fleur-fond>span{width:600px}.transphere-fleur-fond{opacity:.55}.transphere-originale{height:calc(100vh - 62px)}.transphere-interface{height:calc(100vh - 62px)}.transphere-barre{left:8px;right:8px;overflow:auto}.transphere-barre a,.transphere-barre button{white-space:nowrap}.transphere-zoom{display:none}.transphere-panneau{width:100%;height:calc(100% - 42px)}.transphere-panneau>header{padding:20px}.transphere-onglets{top:89px}.transphere-contenu-panneau{padding:22px 20px 55px}.transphere-progression{padding:0 10px;gap:8px}.transphere-progression b{font-size:9px}}
@media (prefers-reduced-motion:reduce){.transphere-fleur-fond i,.transphere-tige,.transphere-sous-fleur{animation:none}.transphere-tige{stroke-dashoffset:0}.transphere-sous-fleur{opacity:1}}

/* ── Thème système unifié ──────────────────────────────────────────────────
   La préférence du système est la seule source de vérité. Les palettes de
   section gardent leur typographie et leurs accents, mais plus un mode fixe. */
html{color-scheme:light dark}

/* Fondation, documentation et Transphère étaient historiquement sombres. */
@media (prefers-color-scheme:light){
  body.theme-fondation{
    --papier:#f3f2ed;--papier-clair:#fff;--encre:#17332b;--doux:#60716b;--trait:#d5dfda;
    --vert:#23745d;--vert-clair:#e1eee9;--corail:#23745d;--ombre:0 18px 45px rgba(18,53,45,.08);
    background:var(--papier);color:#344c45
  }
  .theme-fondation .entete{background:rgba(243,242,237,.9);border-bottom-color:rgba(18,53,45,.10)}
  .theme-fondation .marque b,.theme-fondation .intro-page h1,
  .theme-fondation .chapitre summary h2,.theme-fondation .plan-section h2{color:#17332b}
  .theme-fondation .marque small,.theme-fondation .fil-ariane,
  .theme-fondation .fil-ariane a{color:#6c7c76}
  .theme-fondation nav a{color:#52645e}
  .theme-fondation nav a:hover{background:#e1eee9;color:#1d6954}
  .theme-fondation nav a[aria-current]{background:#fff;color:#17332b;box-shadow:0 4px 16px rgba(18,53,45,.07)}
  .theme-fondation .menu-mobile,.theme-fondation .choix-langue select{
    background:#fff;color:#17332b;border-color:#d5dfda
  }
  .theme-fondation .surtitre{color:#23745d!important}
  .theme-fondation .intro-page>p:last-child,.theme-fondation .carte .p,
  .theme-fondation .carte p{color:#60716b}
  .theme-fondation .chapitre{background:#fff;border-color:#d5dfda}
  .theme-fondation .chapitre summary:hover{background:#f7faf8}
  .theme-fondation .chapitre summary>span,.theme-fondation .grille dt,
  .theme-fondation .carte-lien span,.theme-fondation .suite{color:#23745d}
  .theme-fondation .chapitre summary i:before,.theme-fondation .chapitre summary i:after{background:#60716b}
  .theme-fondation .contenu-chapitre{color:#344c45}
  .theme-fondation .carte{background:#f8faf9;border-color:#dce4e0}
  .theme-fondation .carte h3{color:#17332b}
  .theme-fondation .carte-lien:hover{border-color:#82b6a5;background:#edf6f2}
  .theme-fondation .grille dt,.theme-fondation .grille dd{border-color:#d5dfda}
  .theme-fondation .tags-liens a,.theme-fondation .tags-muets span,
  .theme-fondation .breadcrumb a,.theme-fondation .feat,.theme-fondation .tag{
    background:#fff;border-color:#d5dfda;color:#344c45
  }
  .theme-fondation .tags-liens a:hover,.theme-fondation .breadcrumb a:hover,
  .theme-fondation .feat:hover{background:#e1eee9;border-color:#82b6a5;color:#1d6954}
  .theme-fondation .contenu-chapitre blockquote{background:#e9f1ed;border-left-color:#23745d}
  .theme-fondation footer{border-top-color:#d5dfda;color:#6c7c76}
  .theme-fondation .coeur-fleur{fill:#fff;stroke:#c9d6d0}
  .theme-fondation .nom-fleur,.theme-fondation .fleur text{fill:#17332b}
  .theme-fondation .filtre-plan input{background:#fff;border-color:#d5dfda;color:#17332b}
  .theme-fondation .plan-site ul ul{border-left-color:#d5dfda}
  .theme-fondation .plan-site a{color:#344c45}.theme-fondation .plan-site a:hover{color:#1d6954}

  .doc-contenu{--border:#d5dfda;color:#344c45}
  .doc-contenu h2,.doc-contenu h3,.ib-title,.c-title,.lx-name,.lx-cat-title{color:#17332b}
  .doc-contenu a,.c-link,.accent{color:#1d6954}
  .doc-contenu code,.doc-contenu pre{background:#e9eeeb;border-color:#d5dfda}
  .doc-contenu th,.doc-contenu td{border-bottom-color:#d5dfda}.doc-contenu th{color:#23745d}
  .card,.lx-card{background:#fff;border-color:#dce4e0}
  a.card:hover,a.lx-card:hover,.card-link:hover{background:#edf6f2;border-color:#82b6a5}
  .c-sub,.lx-arrow,.lx-cat-count{color:#71817b}.c-desc,.lx-desc,.note{color:#60716b}
  .infobox{background:#edf2f0;border-color:#d5dfda}.diagram{background:#e9eeeb;border-color:#d5dfda}

  .teaser{background:#edf2f0;color:#17332b}
  .diapo h1,.diapo h2{color:#17332b}.diapo p,.diapo p.petit{color:#60716b}.diapo p.fort{color:#344c45}
  .teaser-carte{background:rgba(255,255,255,.76);border-color:rgba(18,53,45,.14);color:#17332b}
  .teaser-carte small{color:#71817b}.teaser-carte.en-avant{background:#dff1e9;border-color:#82b6a5}
  .teaser-carte.en-avant b{color:#1d6954}.teaser-nav,.teaser-revoir,.teaser-controles button{
    background:rgba(255,255,255,.72);border-color:rgba(18,53,45,.14);color:#60716b
  }
  .teaser-nav:hover{background:#fff;color:#17332b}.teaser-puces i{background:rgba(18,53,45,.14)}
  .teaser-progression i{background:linear-gradient(90deg,transparent 60%,#82b6a5 96%,#23745d);box-shadow:none}

  .transphere-entree{background:#edf2f0;color:#344c45}
  .transphere-entree .intro-page h1{color:#17332b}.transphere-entree .intro-page>p:last-child{color:#60716b}
  .transphere-mode{background:rgba(255,255,255,.78);border-color:#d5dfda;color:#344c45}
  .transphere-mode small{color:#71817b}.transphere-entree aside{background:#fff8e8;color:#7c5b16;border-color:#ead39a}
  .transphere-entrer{background:#dff1e9;color:#1d6954;border-color:#82b6a5;box-shadow:none}
  .transphere-entrer:hover{background:#cce8dc;border-color:#4d9b81;box-shadow:none}
  .transphere-originale,.transphere-originale iframe{background:#f3f2ed}
}

/* Palette sombre unifiée : bleu nuit et ardoise pour toutes les sections.
   Les accents métier (G.R.P., pétales, catégories et alertes) restent distincts. */
@media (prefers-color-scheme:dark){
  body:not(.theme-fondation){
    --papier:#020617;--papier-clair:#0f172a;--encre:#e2e8f0;--doux:#94a3b8;--trait:#1e293b;
    --vert:#63c3a2;--vert-clair:#17362c;--corail:#ef8a6d;--bleu:#75b6dc;--violet:#b99ad2;
    --or:#d9ae57;--ombre:0 20px 55px rgba(0,0,0,.24);--ombre-forte:0 30px 80px rgba(0,0,0,.35);
    background:#020617;color:#cbd5e1
  }
  body:not(.theme-fondation) .entete{background:rgba(2,6,23,.9);border-bottom-color:#1e293b}
  body:not(.theme-fondation) nav a{color:#94a3b8}
  body:not(.theme-fondation) nav a:hover,body:not(.theme-fondation) nav a[aria-current],
  body:not(.theme-fondation) .menu-mobile{background:#1e293b;color:#e2e8f0;box-shadow:none}
  body:not(.theme-fondation) .hero>div>p:not(.surtitre),body:not(.theme-fondation) .intro-page>p:last-child,
  body:not(.theme-fondation) .consigne,body:not(.theme-fondation) .entete-bloc>p:not(.surtitre){color:#94a3b8}
  body:not(.theme-fondation) .hero>div>.statut-projet{background:#0f172a;border-color:#334155;color:#94a3b8!important}
  body:not(.theme-fondation) .action{background:#2b8068;color:#fff;box-shadow:none}
  body:not(.theme-fondation) .question,body:not(.theme-fondation) .panneau-carte,
  body:not(.theme-fondation) .objections dl>div{background:#0b1222;color:#f1f5f9}
  body:not(.theme-fondation) .explorateur{background:#0b1222;border-color:#1e293b}
  body:not(.theme-fondation) .scene-carte,body:not(.theme-fondation) .toile{background:#0b1222;border-color:#334155;box-shadow:none}
  body:not(.theme-fondation) .outils-zoom{background:rgba(15,23,42,.92);border-color:#334155;box-shadow:none}
  body:not(.theme-fondation) .chapitre,body:not(.theme-fondation) .carte,
  body:not(.theme-fondation) .volet,body:not(.theme-fondation) .bref article,
  body:not(.theme-fondation) .etapes li,body:not(.theme-fondation) .bilan,
  body:not(.theme-fondation) .commencer>a,body:not(.theme-fondation) .orientation,
  body:not(.theme-fondation) .orientation-option{background:#0f172a;border-color:#1e293b}
  body:not(.theme-fondation) .chapitre summary:hover{background:#172033}
  body:not(.theme-fondation) .contenu-chapitre p,body:not(.theme-fondation) .contenu-chapitre li,
  body:not(.theme-fondation) .bref p,body:not(.theme-fondation) .etapes p,
  body:not(.theme-fondation) .inspecteur-texte,body:not(.theme-fondation) .inspecteur-points{color:#b6c2d1}
  body:not(.theme-fondation) .contenu-chapitre blockquote{background:#241d1a}
  body:not(.theme-fondation) .etapes span{background:#32201b}
  body:not(.theme-fondation) footer{background:#01040f;color:#94a3b8}
  body:not(.theme-fondation) .inspecteur{background:#0f172a;border-color:#334155}
  body:not(.theme-fondation) .fermer-inspecteur{background:#172033;color:#b6c2d1}
  body:not(.theme-fondation) .inspecteur-flux{color:#cbd5e1}
  body:not(.theme-fondation) .schema-temps a,body:not(.theme-fondation) .schema-poles a,
  body:not(.theme-fondation) .schema-domaine>div:not(.schema-sorties),
  body:not(.theme-fondation) .schema-departement>div:not(.schema-departement-sorties),
  body:not(.theme-fondation) .schema-equilibrage>div{background:#0f172a;border-color:#334155}
  body:not(.theme-fondation) .schema-temps a[aria-current="step"],
  body:not(.theme-fondation) .schema-poles a[aria-current="step"]{background:#172033}
  body:not(.theme-fondation) .schema-domaine,body:not(.theme-fondation) .schema-departement,
  body:not(.theme-fondation) .schema-equilibrage{background:#0b1222}
  body:not(.theme-fondation) .schema-equilibrage-entrees span,
  body:not(.theme-fondation) .liaison-equilibrage a{background:#0f172a;border-color:#334155}

  body:not(.theme-fondation) .decor-plan pattern path{stroke:#1e293b}
  body:not(.theme-fondation) .decor-plan .fond-plan{fill:#0b1222}
  body:not(.theme-fondation) .zone-plan rect{fill:rgba(15,23,42,.78);stroke:#334155}
  body:not(.theme-fondation) .zone-plan text{fill:#a5b4c7}
  body:not(.theme-fondation) .surface-bloc{fill:#111c31;stroke:#3b4b63}
  body:not(.theme-fondation) .sous-titre-bloc{fill:#b1bdcc}
  body:not(.theme-fondation) .separateur-bloc{stroke:#334155}
  body:not(.theme-fondation) .ancrage-bloc{fill:#111c31}
  body:not(.theme-fondation) .flux.dans-espace .route{stroke:#172033}
  body:not(.theme-fondation) .etiquette-flux rect{fill:rgba(15,23,42,.96);stroke:#3b4b63}
  body:not(.theme-fondation) .etiquette-flux text{fill:#dbe4ef}
}

/* ── Responsivité transversale ─────────────────────────────────────────────
   Les seuils couvrent téléphone, tablette, portrait, paysage court et écrans
   très larges. Les visualisations conservent un défilement local plutôt que
   d'élargir la page entière. */
html{overflow-x:clip}
body{min-width:0;overflow-wrap:break-word}
:where(img,video,canvas,iframe){max-width:100%}
:where(main,section,article,aside,nav,header,footer,div,details){min-width:0}
.page-texte :where(svg,img,video){max-width:100%;height:auto}
.page-texte :where(pre,.table-wrap,.diagram){max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.page-texte :where(p,li,dd,a,h1,h2,h3,h4){overflow-wrap:anywhere}
.doc-contenu table{min-width:max-content}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap:focus-visible{outline:3px solid var(--vert);outline-offset:2px}

/* Le menu compact protège aussi les tablettes en portrait et les téléphones
   larges en paysage. Il flotte sous l'en-tête sans changer sa hauteur. */
@media (max-width:980px){
  .entete{position:sticky;min-height:64px;padding:11px max(18px,env(safe-area-inset-right)) 11px max(18px,env(safe-area-inset-left));flex-wrap:nowrap}
  .entete .menu-mobile{display:block;min-height:42px;margin-left:auto}
  .entete #navigation{position:absolute;top:calc(100% + 1px);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:none;max-height:calc(100dvh - 82px);padding:10px;overflow:auto;align-items:stretch;flex-direction:column;flex-wrap:nowrap;background:var(--papier-clair);border:1px solid var(--trait);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
  .entete #navigation.ouvert{display:flex}
  .entete #navigation a{display:flex;min-height:42px;align-items:center;padding:9px 12px}
  .entete .choix-langue{display:block;padding:6px 4px 2px}
  .entete .choix-langue select{width:100%;min-height:42px;margin:0;padding-inline:10px}
  .navigation-section{padding-inline:max(18px,env(safe-area-inset-left))}
  .navigation-section-rail{grid-template-columns:1fr;gap:0;padding-top:7px}
  .navigation-section-titre{padding:0;border:0}.navigation-section-titre small{display:none}
  .navigation-section .sous-menu a{min-height:38px;display:flex;align-items:center}
  .navigation-section-panneau .sous-menu-grille{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{grid-template-columns:1fr;min-height:auto;padding-block:clamp(52px,9vw,88px)}
  .hero .question{max-width:680px}
  .interface-carte{grid-template-columns:1fr}
  .panneau-carte{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
  .panneau-carte-entete,.panneau-carte>.parcours,.panneau-carte>.aide-carte{grid-column:1/-1}
  .inspecteur{contain:none;max-height:min(520px,60dvh)}
  .scene-carte{aspect-ratio:auto;height:clamp(520px,72vw,760px)}
  .toile{overflow:auto;touch-action:pan-x pan-y;overscroll-behavior:contain}
  .plan svg{min-width:900px;min-height:580px}
  .outils-zoom{display:none}
  .schema-temps,.schema-poles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schema-domaine,.schema-departement,.schema-equilibrage{grid-template-columns:1fr}
  .schema-domaine>i,.schema-departement>i,.schema-equilibrage>i{transform:rotate(90deg)}
  .plan-site{display:block}
  .tags-croises{margin:0 0 34px}
  .teaser{height:auto;min-height:calc(100svh - 64px);min-height:calc(100dvh - 64px)}
  .teaser-scene{min-height:360px;padding-inline:56px}
  .transphere-originale{height:calc(100svh - 64px);height:calc(100dvh - 64px)}
  .transphere-entree{min-height:calc(100svh - 64px);min-height:calc(100dvh - 64px);overflow:auto}
}

@media (max-width:600px){
  .marque>span:last-child{gap:0}.marque small{display:none}
  .navigation-section-panneau summary>span{display:grid;gap:0}.navigation-section-panneau summary em{display:none}
  .navigation-section-panneau .sous-menu-grille{grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - 128px)}
  .page-texte{width:100%;padding:46px max(16px,env(safe-area-inset-right)) 80px max(16px,env(safe-area-inset-left))}
  .intro-page{margin-bottom:42px}.intro-page h1{font-size:clamp(34px,12vw,52px);hyphens:auto}
  .intro-page>p:last-child{font-size:16px}
  .chapitre summary{grid-template-columns:30px minmax(0,1fr) 20px;padding:18px 13px;gap:4px}
  .chapitre summary h2{font-size:clamp(18px,6vw,24px)}
  .contenu-chapitre{padding:2px 14px 28px}
  .contenu-chapitre blockquote{margin-inline:0;padding:18px;font-size:18px}
  .cartes,.card-grid,.card-grid.cols-2,.lx-grid,.volets{grid-template-columns:minmax(0,1fr)}
  .carte,.volet,.card,.lx-card{padding:17px}
  .grille{grid-template-columns:minmax(0,1fr)}
  .grille dt{padding:12px 0 2px;border-bottom:0}.grille dd{padding:2px 0 12px}
  .frise li{grid-template-columns:minmax(0,1fr);gap:3px}
  .tags-liens{gap:6px}.tags-liens a,.tags-muets span{max-width:100%}
  .outils-plan{align-items:stretch;flex-direction:column}.filtre-plan{min-width:0}.filtre-plan input{width:100%;min-width:0}
  .niveaux-plan{justify-content:flex-start}.niveaux-plan>span{flex-basis:100%}
  .plan-racine-resume,.plan-section-resume{grid-template-columns:auto minmax(0,1fr) 18px}.plan-racine-resume small,.plan-section-resume small{display:none}
  .plan-racine-corps{padding-right:9px;padding-left:27px}.plan-racine-corps:before{left:15px}.plan-section:before{left:-12px;width:12px}
  .plan-section-corps{padding-right:12px;padding-left:19px}.plan-arbre{padding-left:18px}.plan-item{padding-left:12px}.plan-item:before{left:-18px;width:18px}
  .orientation{padding:18px;margin-bottom:42px}.orientation-actes{flex-wrap:wrap}.orientation-actes button{min-height:42px}
  .schema-temps,.schema-poles{grid-template-columns:minmax(0,1fr)}
  .schema-temps li:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-13px;margin:0 -8px 0 0}
  .schema-domaine,.schema-departement,.schema-equilibrage{padding:14px}
  .liaison-equilibrage{flex-wrap:wrap;text-align:center}
  .teaser-scene{min-height:320px;padding-inline:46px}
  .diapo h1{font-size:clamp(34px,13vw,54px)}.diapo h2{font-size:clamp(22px,8vw,34px)}
  .teaser-acces{grid-template-columns:minmax(0,1fr);margin-bottom:52px}
  .teaser-carte{display:grid;grid-template-columns:auto 1fr;column-gap:9px;padding:10px 12px}
  .teaser-carte>span{grid-row:1/3}.teaser-carte small{line-height:1.35}
  .transphere-entree{padding:32px 16px max(44px,env(safe-area-inset-bottom))}
  .transphere-fleur-fond>span{width:min(165vw,580px)}
  .transphere-mode{width:100%;max-width:470px}
  footer{padding-inline:max(16px,env(safe-area-inset-left));gap:12px}
}

/* Un téléphone en paysage est surtout contraint par sa hauteur. */
@media (max-height:600px) and (orientation:landscape){
  .entete{position:relative;min-height:54px;padding-block:6px}
  .entete .menu-mobile{min-height:38px}
  .navigation-section{min-height:46px}.navigation-section-panneau summary{min-height:45px}
  .sous-menu{padding-block:4px}.navigation-section .sous-menu a{min-height:34px}
  .hero{padding-block:36px;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:36px}
  .hero h1{font-size:clamp(38px,7vw,62px)}
  .page-texte{padding-top:38px;padding-bottom:64px}.intro-page{margin-bottom:34px}
  .teaser{min-height:calc(100dvh - 54px)}
  .teaser-scene{min-height:220px;padding:18px 56px}.diapo h1{font-size:clamp(30px,7vw,48px)}
  .diapo h2{font-size:clamp(20px,4vw,30px);margin-bottom:10px}.diapo p{font-size:13px;line-height:1.45}
  .teaser-logo-anime{width:min(48vw,360px);max-height:150px}.teaser-logo,.teaser-logo-gif{max-height:70px;width:auto;margin-bottom:8px}
  .teaser-acces{grid-template-columns:repeat(3,minmax(145px,1fr));width:calc(100% - 90px);margin-bottom:35px;overflow-x:auto;scrollbar-width:thin}
  .teaser-carte{min-width:145px;padding:8px 10px}.teaser-carte small{display:none}
  .transphere-entree{min-height:calc(100dvh - 54px);padding:22px 20px 30px}
  .transphere-entree .intro-page{margin-bottom:10px}.transphere-entree .intro-page h1{font-size:30px}
  .transphere-entree .intro-page>p:last-child{font-size:13px;line-height:1.45}
  .transphere-mode{margin-bottom:8px;padding-block:6px}.transphere-entree aside{margin-bottom:9px;padding-block:7px}
  .transphere-originale{height:calc(100dvh - 54px)}
  .scene-carte{height:min(82dvh,520px);min-height:300px}
  .inspecteur{max-height:75dvh}
}

@media (max-width:980px) and (max-height:600px) and (orientation:landscape){
  .entete #navigation{position:fixed;top:54px;max-height:calc(100dvh - 62px)}
}

@media (min-width:1800px){
  .page-texte{max-width:1280px}.intro-page{max-width:960px}
  .doc-contenu{font-size:16px}.explorateur{max-width:1780px}
}

/* Contrat tactile : cible minimale de 44 px, aucun geste fondé sur le survol,
   et défilement naturel dans les rails et panneaux autonomes. Placé en dernier
   pour rester prioritaire, y compris sur un téléphone en paysage. */
:where(a,button,summary,input,select){-webkit-tap-highlight-color:rgba(117,182,220,.18)}
@media (pointer:coarse){
  :where(a,button,summary,input,select){touch-action:manipulation}
  :where(button,summary,select,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"])){min-height:44px}
  :where(input,select,textarea){font-size:16px}
  .entete .menu-mobile,.entete #navigation a,.entete .choix-langue select,
  .navigation-section .sous-menu a,.navigation-section-panneau summary,
  .navigation-section-panneau .sous-menu-grille a,
  .niveaux-plan button,.filtre-plan input,.plan-site summary,.plan-feuille,
  .action,.retour-page,.tags-liens a,.orientation-actes button,
  .teaser-nav,.teaser-revoir,.teaser-controles button,.transphere-entrer,
  .transphere-barre a,.transphere-barre button,.transphere-zoom button,
  .fermer-inspecteur{min-height:44px}
  .sous-menu{touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .navigation-section-panneau .sous-menu-grille{touch-action:pan-y pinch-zoom;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .plan-site{touch-action:pan-y pinch-zoom}
  .toile{touch-action:pan-x pan-y pinch-zoom}
  .plan-noeud-lien{display:flex;min-height:44px;align-items:center;padding-block:6px}
  .plan-site summary>i,.navigation-section-panneau summary i{width:30px;height:30px}
  .plan-site summary>i:before,.plan-site summary>i:after{left:9px;top:14px;width:10px}
  .navigation-section-panneau summary i:before,.navigation-section-panneau summary i:after{left:8px;top:14px;width:12px}
  .niveaux-plan button{padding-inline:13px}
  .table-wrap,.doc-contenu :where(pre,.diagram){touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
}
@media (hover:none) and (pointer:coarse){
  .carte-lien:hover,.commencer>a:hover,.teaser-carte:hover{transform:none}
}

/* Fil d'Ariane : hors du style générique des nav (pastilles, alignement à droite).
   Une seule ligne défilable sur petit écran plutôt qu'un empilement. */
nav.fil-ariane{justify-content:flex-start;gap:4px 8px}
nav.fil-ariane a{padding:2px 0;border-radius:0;background:none;box-shadow:none;font-size:13px;font-weight:500}
nav.fil-ariane a:hover{background:none;box-shadow:none;text-decoration:underline}
nav.fil-ariane [aria-current]{font-weight:600}
@media (max-width:600px){
  nav.fil-ariane{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding:0 20px;scrollbar-width:none;touch-action:pan-x pinch-zoom}
  nav.fil-ariane::-webkit-scrollbar{display:none}
}
@media (pointer:coarse){nav.fil-ariane a{display:inline-flex;align-items:center;min-height:44px}}

/* Marque : même logo, même mot « UnI » dans toutes les sections. */
.marque{gap:12px}.marque b{font-size:17px;letter-spacing:0;font-weight:700}

/* « Découvrir le projet » : l'ancre se place juste sous le teaser, sous l'en-tête collant. */
.ancre-projet{scroll-margin-top:72px}
@media (max-width:980px){.ancre-projet{scroll-margin-top:65px}}
@media (max-height:600px) and (orientation:landscape){.ancre-projet{scroll-margin-top:0}}

/* Entrée de section — même principe que l'entrée de Transphère : un écran, centré, l'essentiel,
   une ou deux actions ; le contenu suit dessous (#suite). La hauteur exacte sous l'en-tête et le
   sous-menu est posée par site.js ; le calc ci-dessous n'est que le repli sans JavaScript. */
.entree-section{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:calc(100vh - 150px);min-height:calc(100dvh - 150px);padding:40px 24px 84px;background:#020617;color:#e2e8f0}
.entree-fond{position:absolute;inset:0;z-index:-1;pointer-events:none}
.entree-fond i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.32}
.entree-fond i:nth-child(1){width:46vmax;height:46vmax;left:50%;top:50%;transform:translate(-78%,-62%);background:var(--accent)}
.entree-fond i:nth-child(2){width:40vmax;height:40vmax;left:50%;top:50%;transform:translate(-14%,-34%);background:var(--accent2);opacity:.24}
.entree-fond i:nth-child(3){width:22vmax;height:22vmax;left:50%;top:50%;transform:translate(-50%,-50%);background:#020617;opacity:.9;filter:blur(40px)}
.entree-contenu{position:relative;display:flex;width:min(720px,100%);flex-direction:column;align-items:center;text-align:center}
.entree-section .intro-page{max-width:none;margin:0 0 22px}
.entree-section .intro-page .surtitre{margin:0 0 14px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.32em;text-transform:uppercase}
.entree-section .intro-page h1{margin:0 0 16px;font:600 clamp(30px,4.2vw,52px)/1.08 system-ui,-apple-system,sans-serif;letter-spacing:-.025em;color:#f1f5f9}
.entree-section .intro-page h1 em{font-style:normal;color:var(--accent)}
.entree-section .intro-page>p:last-child{max-width:640px;margin:0 auto;color:#94a3b8;font-size:17px;line-height:1.6}
.entree-question{max-width:560px;margin:0 0 18px;color:#cbd5e1;font:italic 400 clamp(17px,2vw,21px)/1.45 Georgia,serif}
.entree-statut{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:6px 12px;border:1px solid rgba(148,163,184,.25);border-radius:999px;color:#94a3b8;font-size:12px}
.entree-statut i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.entree-valeurs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:0 0 22px;color:#cbd5e1;font-size:13px;font-weight:650}
.entree-valeurs i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#f97362;vertical-align:middle}
.entree-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.entree-action{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:rgba(15,23,42,.55);color:#e2e8f0;font-size:15px;font-weight:650;text-decoration:none;transition:border-color .2s,background .2s}
.entree-action.principale{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 12%,#020617)}
.entree-action:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,#020617)}
.entree-suite{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;color:#64748b;font-size:12px;font-weight:650;text-decoration:none}
.entree-suite i{font-style:normal;font-size:16px;animation:entree-suite 2.4s ease-in-out infinite}
.entree-suite:hover{color:#cbd5e1}
@keyframes entree-suite{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.page-section>#suite{scroll-margin-top:72px}
@media (max-width:980px){.page-section>#suite{scroll-margin-top:65px}}
@media (max-width:600px){
  .entree-section{padding:30px 18px 76px}
  .entree-section .intro-page>p:last-child{font-size:15px}
  .entree-action{flex:1 1 100%;justify-content:center}
}
@media (max-height:600px) and (orientation:landscape){
  .entree-section{padding:18px 20px 50px}.entree-section .intro-page{margin-bottom:10px}
  .entree-section .intro-page h1{font-size:28px;margin-bottom:8px}.entree-section .intro-page>p:last-child{font-size:13px;line-height:1.45}
  .entree-question,.entree-statut,.entree-valeurs{margin-bottom:10px}.entree-suite{display:none}
}
@media (prefers-reduced-motion:reduce){.entree-suite i{animation:none}}
@media (prefers-color-scheme:light){
  .entree-section{background:#edf2f0;color:#344c45}
  .entree-fond i{opacity:.22}.entree-fond i:nth-child(3){background:#edf2f0}
  .entree-section .intro-page h1{color:#17332b}.entree-section .intro-page>p:last-child{color:#60716b}
  .entree-question{color:#344c45}.entree-statut{color:#60716b;border-color:rgba(23,51,43,.18)}.entree-valeurs{color:#344c45}
  .entree-action{background:rgba(255,255,255,.7);color:#17332b;border-color:rgba(23,51,43,.2)}
  .entree-action.principale{background:color-mix(in srgb,var(--accent) 16%,#fff)}
  .entree-suite{color:#71817b}
}

/* Pages intérieures : un en-tête plus compact, pour que le contenu commence dans le premier écran. */
.page-texte{padding-top:44px}
.intro-page{margin-bottom:40px}
.intro-page h1{font:600 clamp(30px,3.6vw,46px)/1.1 system-ui,-apple-system,sans-serif;letter-spacing:-.022em;margin-bottom:16px}
.intro-page>p:last-child{font-size:17px;line-height:1.65}
@media (max-width:600px){.page-texte{padding-top:30px}.intro-page{margin-bottom:28px}}
.entree-question small{display:inline-block;margin-bottom:6px;color:#f97362;font:800 10px/1 system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase}
.grp-chapo{max-width:900px;margin:0 auto;padding:56px 24px 0}.grp-chapo p{margin:0;color:#cbd5e1;font-size:18px;line-height:1.7}
@media (prefers-color-scheme:light){.grp-chapo p{color:#344c45}}
.entree-section .intro-page h1{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;text-wrap:balance}
.entree-fond i:nth-child(1){opacity:.24}.entree-fond i:nth-child(2){opacity:.17}
/* Une seule famille pour les titres, celle de l'entrée de Transphère. */
.chapitre summary h2{font:600 clamp(21px,2.2vw,27px)/1.25 system-ui,-apple-system,sans-serif;letter-spacing:-.012em}
.carte h3,.carte-lien h3{font:650 17px/1.35 system-ui,-apple-system,sans-serif;letter-spacing:-.005em}
.entree-section .intro-page p.surtitre{color:var(--accent)}

/* Défilement de grande section en grande section (pages marquées .defile-sections par le gabarit).
   Les zones dépliables ne sont jamais des points d'arrêt : elles se lisent et se manipulent librement. */
html.defile-sections{scroll-snap-type:y proximity;scroll-padding-top:72px}
.defile-sections [data-magnetisme-section]{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:0}
.defile-sections [data-magnetisme-section="fin"]{scroll-snap-align:end}
@media (pointer:fine){html.defile-sections{scroll-snap-type:none}}
@media (max-width:980px){html.defile-sections{scroll-padding-top:65px}}
@media (max-height:600px) and (orientation:landscape){html.defile-sections{scroll-padding-top:0}}
/* Accueil — « Découvrir le projet » : un écran sous le teaser. Présentation + espaces du site. */
.decouverte{display:grid;place-items:center;min-height:calc(100vh - 72px);min-height:calc(100dvh - 72px);padding:40px 24px 48px}
.decouverte-contenu{width:min(1160px,100%)}
.decouverte .intro-page{max-width:860px;margin:0 0 34px}
.decouverte .intro-page .surtitre{letter-spacing:.18em;line-height:1.6}
.decouverte-titre{margin:0 0 14px;color:#64748b;font:800 11px/1 system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.espaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.espace{position:relative;display:flex;flex-direction:column;gap:8px;min-height:150px;padding:18px 18px 40px;border:1px solid #1e293b;border-top:3px solid var(--accent);border-radius:12px;background:#0f172a;color:#e2e8f0;text-decoration:none;transition:border-color .2s,transform .2s}
.espace b{font:650 16px/1.3 system-ui,-apple-system,sans-serif}
.espace small{color:#94a3b8;font-size:13.5px;line-height:1.55}
.espace i{position:absolute;left:18px;bottom:14px;color:var(--accent);font-style:normal;font-weight:800}
.espace:hover{border-color:var(--accent);transform:translateY(-2px)}
.page-accueil>.page-texte{padding-top:20px}
@media (max-width:980px){.decouverte{min-height:calc(100dvh - 65px)}}
@media (max-width:600px){.decouverte{padding:28px 16px 36px}.espace{min-height:0;padding:14px 16px 14px;flex-direction:column}.espace i{display:none}.espaces{gap:8px}}
@media (max-height:600px) and (orientation:landscape){.decouverte{min-height:100dvh;padding:18px 20px}.decouverte .intro-page{margin-bottom:14px}.espace{min-height:0;padding:12px 14px}.espace i{display:none}}
@media (hover:none) and (pointer:coarse){.espace:hover{transform:none}}
@media (prefers-color-scheme:light){.espace{background:#fff;border-color:#d8e2de;color:#17332b}.espace small{color:#60716b}.decouverte-titre{color:#71817b}}
@media (max-width:600px){
  .decouverte{padding:20px 16px 24px}
  .decouverte .intro-page{margin-bottom:18px}.decouverte .intro-page .surtitre{font-size:9.5px;letter-spacing:.12em;margin-bottom:8px}
  .decouverte .intro-page h1{font-size:28px;margin-bottom:8px}.decouverte .intro-page>p:last-child{font-size:14.5px;line-height:1.5}
  .decouverte-titre{margin-bottom:10px}
  .espace{gap:3px;padding:10px 14px;border-radius:10px}.espace b{font-size:14.5px}.espace small{font-size:12.5px;line-height:1.45}
}
@media (max-height:600px) and (orientation:landscape){
  .decouverte .intro-page h1{font-size:24px;margin-bottom:6px}.decouverte .intro-page>p:last-child{font-size:13px;line-height:1.45}
  .decouverte .intro-page .surtitre{font-size:9px;margin-bottom:6px}.decouverte-titre{margin-bottom:8px}
  .espaces{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(210px,34%);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:6px}
  .espace{scroll-snap-align:start}.espace small{font-size:12px;line-height:1.4}
}
@media (max-width:600px) and (max-height:760px){
  .espaces{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:6px}
  .espace{scroll-snap-align:start}
}
.espaces{align-items:stretch}
/* G.R.P. — accueil harmonisé avec le reste du site (25 oct.) : même famille de titres, même
   largeur pour toutes les sections, même rythme vertical, et plus de chevauchement sous l'entrée. */
body main.accueil .grp-chapo{max-width:900px;padding:88px 24px 0;text-align:center}
body main.accueil .grp-chapo p{font-size:clamp(17px,1.5vw,19px);line-height:1.7}
body main.accueil .bref{max-width:1160px;margin:40px auto 0;padding:0 24px}
body main.accueil>section.exemple,body main.accueil>section.objections,body main.accueil>section.commencer{max-width:1160px;margin:0 auto;padding:110px 24px 0}
body main.accueil>section.commencer{padding-bottom:110px}
body main.accueil>section.explorateur{max-width:1400px;width:calc(100% - 48px);margin:110px auto 0;border-radius:22px}
body main.accueil h2:not(.visuellement-cache),body main.accueil .barre-carte h2{font:600 clamp(28px,3.2vw,40px)/1.15 system-ui,-apple-system,sans-serif;letter-spacing:-.02em}
body main.accueil .objections h3,body main.accueil .commencer h3,body main.accueil .commencer b{font:650 18px/1.35 system-ui,-apple-system,sans-serif;letter-spacing:-.005em}
body main.accueil .surtitre{letter-spacing:.24em}
@media (max-width:760px){
  body main.accueil .grp-chapo{padding-top:56px;text-align:left}
  body main.accueil>section.exemple,body main.accueil>section.objections,body main.accueil>section.commencer{padding:72px 16px 0}
  body main.accueil>section.commencer{padding-bottom:72px}
  body main.accueil>section.explorateur{width:calc(100% - 20px);margin-top:72px}
  body main.accueil .bref{padding:0 16px}
}
@media (prefers-color-scheme:dark){
  /* Contraste sombre des filtres de la carte G.R.P. */
  body main.accueil .panneau-carte .filtres button{background:#111b2e;border-color:#26344a;color:#dbe7f3}
  body main.accueil .panneau-carte .filtres button:hover,body main.accueil .panneau-carte .filtres button:focus-visible{background:#1b2940;border-color:#52657f;color:#fff}
  body main.accueil .panneau-carte .filtres button.actif{background:color-mix(in srgb,#34d399 22%,#0f172a);border-color:#34d399;color:#f8fafc}
  body main.accueil .calques-boutons button.actif{background:color-mix(in srgb,var(--couleur-espace,#34d399) 20%,#0f172a);border-color:var(--couleur-espace,#34d399);color:#f1f5f9}
  body main.accueil .calques-boutons button.actif>b{color:#f1f5f9}
  body main.accueil .calques-boutons button.actif>small{color:#cbd5e1}
  body main.accueil .parcours{background:color-mix(in srgb,#34d399 14%,#0f172a);border:1px solid rgba(52,211,153,.55);color:#e2e8f0}
  body main.accueil .parcours:hover,body main.accueil .panneau-carte>.parcours.actif{background:color-mix(in srgb,#34d399 24%,#0f172a)}
}
@media (prefers-color-scheme:light){
  body main.accueil .calques-boutons button.actif>b{color:var(--encre)}
}
body main.accueil .inspecteur h3,body main.accueil .objections dt{font:650 clamp(18px,1.6vw,22px)/1.3 system-ui,-apple-system,sans-serif;letter-spacing:-.01em}

/* Récits — lecture libre sans magnétisme, et liseuse chapitrée facultative. */
.appel-liseuse{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--corail) 38%,var(--trait));border-radius:14px;background:color-mix(in srgb,var(--corail) 7%,var(--papier-clair))}
.appel-liseuse>div>strong{display:block;font-size:15px}.appel-liseuse p{margin:3px 0 0;color:var(--doux);font-size:13px}
.appel-liseuse button,.demarrer-liseuse a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;padding:10px 15px;border:1px solid var(--corail);border-radius:9px;background:var(--corail);color:#fff;text-decoration:none;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.appel-liseuse button:hover,.appel-liseuse button:focus-visible,.demarrer-liseuse a:hover,.demarrer-liseuse a:focus-visible{background:#bd5136;border-color:#bd5136}
.demarrer-liseuse{margin:0 0 28px}.page-parcours>.chapitres{margin-top:0}
.liseuse[hidden],.appel-liseuse[hidden],.mode-liseuse .page-recit>.intro-page,.mode-liseuse .appel-liseuse{display:none!important}
.liseuse-barre{position:fixed;z-index:80;inset:0 0 auto;display:grid;grid-template-columns:260px minmax(0,1fr) auto;align-items:center;min-height:72px;padding:10px 22px;border-bottom:1px solid #253149;background:rgba(2,6,23,.96);color:#e2e8f0;backdrop-filter:blur(14px)}
.liseuse-marque{color:#fb7185;font-size:18px;font-weight:900;letter-spacing:.12em}.liseuse-barre p{display:flex;min-width:0;align-items:center;gap:12px;margin:0}.liseuse-barre p>span{flex:none;color:#fb7185;font-size:11px;font-weight:850;letter-spacing:.12em}.liseuse-barre p>b,.liseuse-barre p>em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.liseuse-barre p>b{max-width:34%;color:#f1f5f9;font-size:14px}.liseuse-barre p>em{color:#94a3b8;font-size:12px;font-style:normal}.liseuse-barre button{display:inline-flex;min-height:44px;align-items:center;gap:10px;padding:8px 12px;border:1px solid #334155;border-radius:8px;background:#0f172a;color:#cbd5e1;cursor:pointer}.liseuse-barre button:hover,.liseuse-barre button:focus-visible{border-color:#fb7185;color:#fff}.liseuse-barre button span{color:#fb7185;font-size:20px}.liseuse-barre progress{position:absolute;inset:auto 0 -2px;width:100%;height:3px;border:0;background:#1e293b;appearance:none}.liseuse-barre progress::-webkit-progress-bar{background:#1e293b}.liseuse-barre progress::-webkit-progress-value{background:#fb7185}.liseuse-barre progress::-moz-progress-bar{background:#fb7185}
.liseuse-coquille{position:fixed;z-index:70;inset:72px auto 0 0;display:flex;width:280px;flex-direction:column;border-right:1px solid #1e293b;background:#070d1b;color:#cbd5e1}
.liseuse-sommaire{display:block;min-height:0;flex:1;overflow-y:auto;padding:24px 16px}.liseuse-sommaire>strong{display:block;margin:0 9px 15px;color:#64748b;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.liseuse-sommaire ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.liseuse-sommaire button,.liseuse-sommaire .liseuse-chapitre-lien{display:grid;width:100%;min-height:44px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:4px;padding:9px;border:0;border-radius:8px;background:transparent;color:#94a3b8;text-align:left;text-decoration:none;cursor:pointer}.liseuse-sommaire button>span,.liseuse-sommaire .liseuse-chapitre-lien>span{color:#64748b;font-size:10px;font-weight:850}.liseuse-sommaire button:hover,.liseuse-sommaire button:focus-visible,.liseuse-sommaire .liseuse-chapitre-lien:hover,.liseuse-sommaire .liseuse-chapitre-lien:focus-visible{background:#111b2e;color:#e2e8f0;box-shadow:none}.liseuse-sommaire button[aria-current="step"]{background:#1e293b;color:#fff}.liseuse-sommaire button[aria-current="step"]>span{color:#fb7185}
.liseuse-parcours-titre{margin:-8px 9px 20px;color:#f8fafc;font-size:15px;font-weight:750;line-height:1.35}.liseuse-parcours-titre[hidden]{display:none}.liseuse-sommaire .sommaire-parcours{gap:20px}.liseuse-etape{padding-top:16px;border-top:1px solid #1e293b}.liseuse-etape:first-child{padding-top:0;border-top:0}.liseuse-etape-titre{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 5px;margin:0 8px 8px;color:#64748b}.liseuse-etape-titre>span{grid-row:1/3;color:#475569;font-size:10px;font-weight:850}.liseuse-etape-titre>small{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.liseuse-etape-titre>b{overflow:hidden;color:#94a3b8;font-size:12px;line-height:1.35;text-overflow:ellipsis}.liseuse-etape[data-liseuse-etape-courante]>.liseuse-etape-titre>span,.liseuse-etape[data-liseuse-etape-courante]>.liseuse-etape-titre>small{color:#fb7185}.liseuse-etape[data-liseuse-etape-courante]>.liseuse-etape-titre>b{color:#f8fafc}.liseuse-etape>ol{gap:2px}
.liseuse-commandes{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:14px 12px;border-top:1px solid #1e293b;background:#070d1b}.liseuse-commandes button{min-height:44px;padding:8px;border:1px solid #334155;border-radius:8px;background:#0f172a;color:#cbd5e1;font-size:12px;font-weight:750;cursor:pointer}.liseuse-commandes button:hover,.liseuse-commandes button:focus-visible{border-color:#fb7185;color:#fff}.liseuse-commandes button:disabled{opacity:.35;cursor:not-allowed}
html.mode-liseuse{scroll-snap-type:none;scroll-padding-top:0;background:#0b1020}
.mode-liseuse body{background:#0b1020;color:#e2e8f0}.mode-liseuse body>.entete,.mode-liseuse body>.fil-ariane,.mode-liseuse body>footer{display:none!important}
.mode-liseuse main.page-recit{max-width:none;margin:0;padding:0;min-height:100dvh}
.mode-liseuse .page-recit>.chapitres{display:block;width:min(760px,calc(100vw - 350px));margin:0 40px 0 max(320px,calc((100vw - 760px)/2));padding:116px 0 150px;border:0}
.mode-liseuse .page-recit>.chapitres>.chapitre{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.mode-liseuse .page-recit>.chapitres>.chapitre>summary{grid-template-columns:48px minmax(0,1fr);gap:4px;padding:0 0 28px;border-bottom:1px solid #253149;background:transparent;cursor:default}.mode-liseuse .page-recit>.chapitres>.chapitre>summary:hover{background:transparent}.mode-liseuse .page-recit>.chapitres>.chapitre>summary>span{color:#fb7185}.mode-liseuse .page-recit>.chapitres>.chapitre>summary>h2{color:#f8fafc;font-size:clamp(27px,3.2vw,42px);line-height:1.12}.mode-liseuse .page-recit>.chapitres>.chapitre>summary>i{display:none}
.mode-liseuse .page-recit .contenu-chapitre{max-width:720px;padding:32px 0 0;font-size:17px;line-height:1.78}.mode-liseuse .page-recit .contenu-chapitre p,.mode-liseuse .page-recit .contenu-chapitre li{color:#cbd5e1}.mode-liseuse .page-recit .contenu-chapitre .carte{border-color:#253149;background:#111827}.mode-liseuse .page-recit .contenu-chapitre blockquote{background:#181c2d;color:#e2e8f0}
@media (max-width:900px){
  .liseuse-barre{grid-template-columns:auto minmax(0,1fr) auto;min-height:64px;padding:7px 13px}.liseuse-barre p>em{display:none}.liseuse-barre p>b{max-width:none}.liseuse-barre button{font-size:12px}
  .liseuse-coquille{inset:64px 0 auto;width:auto;height:96px;border-right:0;border-bottom:1px solid #1e293b}.liseuse-sommaire{display:block;padding:7px 10px;overflow-x:auto;overflow-y:hidden}.liseuse-sommaire>strong,.liseuse-parcours-titre{display:none}.liseuse-sommaire ol{display:flex;gap:5px}.liseuse-sommaire li{flex:0 0 auto}.liseuse-sommaire button,.liseuse-sommaire .liseuse-chapitre-lien{width:auto;max-width:220px;grid-template-columns:24px minmax(0,1fr);white-space:nowrap}.liseuse-sommaire button t-l{overflow:hidden;text-overflow:ellipsis}.liseuse-sommaire .sommaire-parcours{gap:16px}.liseuse-etape{display:flex;align-items:center;gap:5px;padding:0 0 0 14px;border-top:0;border-left:1px solid #334155}.liseuse-etape:first-child{padding-left:0;border-left:0}.liseuse-etape-titre{flex:0 0 155px;margin:0 4px}.liseuse-etape>ol{display:flex}
  .liseuse-commandes{position:fixed;z-index:80;inset:auto 0 0;grid-template-columns:1fr 1fr;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #253149}
  .mode-liseuse .page-recit>.chapitres{width:min(720px,calc(100% - 36px));margin:0 auto;padding:196px 0 100px}
}
@media (max-width:600px){
  .appel-liseuse{align-items:stretch;flex-direction:column;gap:14px;padding:16px}.appel-liseuse button{width:100%}
  .liseuse-barre{grid-template-columns:auto 1fr auto}.liseuse-marque{font-size:15px}.liseuse-barre p{justify-content:center}.liseuse-barre button{width:44px;padding:6px;justify-content:center;font-size:0}.liseuse-barre button span{font-size:22px}.liseuse-sommaire button,.liseuse-sommaire .liseuse-chapitre-lien{max-width:175px;font-size:12px}
  .mode-liseuse .page-recit>.chapitres{width:calc(100% - 28px);padding-top:190px}.mode-liseuse .page-recit>.chapitres>.chapitre>summary{grid-template-columns:34px minmax(0,1fr);padding-bottom:22px}.mode-liseuse .page-recit>.chapitres>.chapitre>summary>h2{font-size:clamp(24px,8vw,32px)}.mode-liseuse .page-recit .contenu-chapitre{padding-top:24px;font-size:16px;line-height:1.72}
}
@media (prefers-color-scheme:dark){.appel-liseuse{border-color:#3a2b34;background:#121827}.appel-liseuse p{color:#94a3b8}}
@media print{.appel-liseuse,.liseuse{display:none!important}}

/* Carte G.R.P. — contrat responsive final.
   Les anciennes couches donnent des valeurs de repli ; celles-ci tranchent en dernier selon les
   deux contraintes réelles de l'écran : largeur disponible ET hauteur dynamique du viewport. */
body main.accueil>section.explorateur{
  width:min(1800px,calc(100% - clamp(20px,3vw,56px)));
  max-width:none;
  padding:clamp(16px,2.4vw,38px);
}
body main.accueil .interface-carte{
  grid-template-columns:clamp(232px,15vw,278px) minmax(0,1fr) clamp(280px,19vw,350px);
  gap:clamp(10px,1vw,16px);
}
body main.accueil .scene-carte{
  width:100%;
  height:clamp(520px,calc(100dvh - 110px),960px);
  min-height:0;
  aspect-ratio:auto;
}
body main.accueil .panneau-carte,body main.accueil .inspecteur{min-height:0}

/* Ordinateurs compacts : commandes sur toute la largeur, carte et inspecteur côte à côte. */
@media (min-width:1181px) and (max-width:1380px){
  body main.accueil .interface-carte{grid-template-columns:minmax(0,1fr) clamp(280px,25vw,330px)}
  body main.accueil .panneau-carte{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
  body main.accueil .panneau-carte-entete,body main.accueil .panneau-carte>.parcours,body main.accueil .panneau-carte>.aide-carte{grid-column:1/-1}
  body main.accueil .scene-carte{height:clamp(500px,calc(100dvh - 145px),820px)}
}

/* Tablettes et petits ordinateurs : chaque partie prend toute la largeur ; le plan reste lisible
   dans une toile autonome plutôt que d'agrandir la page entière. */
@media (max-width:1180px){
  body main.accueil>section.explorateur{width:calc(100% - clamp(18px,2.5vw,32px));padding:clamp(14px,2.2vw,26px)}
  body main.accueil .interface-carte{grid-template-columns:minmax(0,1fr)}
  body main.accueil .panneau-carte{grid-column:auto}
  body main.accueil .scene-carte{height:clamp(440px,68dvh,720px)}
  body main.accueil .inspecteur{max-height:min(540px,68dvh)}
  body main.accueil .toile{overflow:auto;touch-action:pan-x pan-y;overscroll-behavior:contain}
  body main.accueil .plan{width:max(840px,100%);height:100%}
  body main.accueil .plan svg{width:100%;height:100%;min-width:0;min-height:0}
}

/* Téléphones : hauteur utile proportionnelle à l'écran, toile légèrement plus large que le cadre
   pour préserver la taille des libellés et permettre un déplacement natif au doigt. */
@media (max-width:600px){
  body main.accueil>section.explorateur{width:calc(100% - 12px);margin-top:64px;padding:12px 8px;border-radius:14px}
  body main.accueil .barre-carte{padding-inline:6px}
  body main.accueil .panneau-carte{display:block;padding:14px}
  body main.accueil .scene-carte{height:clamp(360px,62dvh,580px);border-radius:12px}
  body main.accueil .plan{width:max(clamp(700px,200vw,840px),100%)}
  body main.accueil .inspecteur{max-height:min(460px,62dvh)}
}

/* Le paysage court est contraint par la hauteur, quelle que soit sa largeur. Les panneaux latéraux
   deviennent eux-mêmes défilants sur grand écran afin de ne jamais imposer leur hauteur à la carte. */
@media (max-height:600px) and (orientation:landscape){
  body main.accueil>section.explorateur{margin-top:54px;padding:12px}
  body main.accueil .scene-carte{height:clamp(280px,72dvh,500px)}
  body main.accueil .inspecteur{max-height:72dvh}
}
@media (min-width:1381px){
  body main.accueil .panneau-carte,body main.accueil .inspecteur{
    height:clamp(520px,calc(100dvh - 110px),960px);
    overflow:auto;
  }
}
@media (min-width:1381px) and (max-height:600px) and (orientation:landscape){
  body main.accueil .panneau-carte,body main.accueil .inspecteur{height:clamp(280px,72dvh,500px)}
}
@media (pointer:coarse){body main.accueil .toile{touch-action:pan-x pan-y pinch-zoom}}
