:root{
  --ink:#173f52;--ink-deep:#0f3142;--body:#354f59;--muted:#56707a;--green:#286d5c;--green-deep:#1f5a4b;
  --sea:#eef4f5;--sage:#e8f0e9;--line:#cad9da;--paper:#fcfdfb;--white:#fff;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --radius:14px;--shadow:0 18px 65px rgba(25,59,68,.09);
  --ease:cubic-bezier(.22,.8,.2,1);
  --gouttiere:48px;
  --fond-editorial:url("fond-matiere.svg"),radial-gradient(ellipse 70rem 45rem at -12% -6rem,rgba(139,180,174,.17),transparent 72%),radial-gradient(ellipse 60rem 44rem at 112% 20rem,rgba(151,181,207,.16),transparent 72%),linear-gradient(180deg,#fff 0%,#fdfefd 48rem,#f5f9f7 100%);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:128px;overscroll-behavior-x:none}
body{overscroll-behavior-x:none}
body{margin:0;background:var(--paper);color:var(--body);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.salle-ouverte{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}
.evitement{position:absolute;inset-inline-start:-999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.evitement:focus{inset-inline-start:8px}

/* En-tête */
.entete{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:0 32px;padding:14px var(--gouttiere);background:rgba(252,253,251,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.marque{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.monogramme{width:40px;height:40px;flex:none;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 15px var(--sans);letter-spacing:.02em}
.marque strong{display:block;color:var(--ink);font:600 17px/1.2 var(--sans)}
.marque small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap}
.nav{order:3;flex-basis:100%;min-width:0;display:flex;gap:10px;margin:14px 0 0;padding:10px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:2px;scrollbar-width:none;white-space:nowrap}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #d6e0e3;border-radius:6px;background:#fff;font-size:14px;line-height:1.4;font-weight:400;text-decoration:none;color:var(--ink);transition:background .18s ease,color .18s ease,border-color .18s ease}
.nav a::before{content:none}
.entete .nav a:hover,.entete .nav a:focus-visible{background:#f0f5f6;color:var(--ink-deep);border-color:#9eb5bf;box-shadow:none}
.entete .nav a:focus-visible{outline-color:var(--ink);outline-offset:-2px;border-radius:6px}
.entete .nav a:active{transform:none;background:#e6eef1;color:var(--ink-deep);box-shadow:none}
.entete + main{padding-block-start:6px}
@media(forced-colors:active){.nav{border-color:CanvasText}.entete .nav a:focus-visible{outline-color:Highlight}}
.outils{display:flex;align-items:center;gap:10px;flex:none;margin-inline-start:auto}
.entete .outils{flex-wrap:wrap;max-width:100%}
.bouton-cv{font-size:13.5px;padding:7px 14px;border:1px solid var(--ink);border-radius:999px;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.bouton-cv:hover{background:var(--ink);color:#fff}

/* Boutons et liens */
.surtitre{margin:0 0 10px;color:var(--green);font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.primaire{background:var(--ink);color:#fff;padding:14px 22px;border-radius:10px;font-size:15px;font-weight:500;display:inline-flex;gap:10px;align-items:center;text-decoration:none;transition:background .2s}
.primaire:hover{background:var(--green)}
.lien{font-size:15px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .2s,border-color .2s}
.lien:hover{border-color:var(--green);color:var(--green)}

/* Accueil */
.accueil{display:grid;grid-template-columns:1fr;gap:40px;max-width:1320px;margin:0 auto;padding:48px var(--gouttiere) 64px}
.presentation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:64px;align-items:center}
.presentation .identite{grid-row:1 / span 3;margin:0}
.presentation .chapeau,.presentation .encadrement,.presentation .actions{grid-column:2}
.identite{display:flex;gap:22px;align-items:flex-end;margin-bottom:26px}
.portrait{width:150px;height:auto;aspect-ratio:1/1;border-radius:12px;object-fit:cover;box-shadow:var(--shadow);flex:none}
h1{margin:0;color:var(--ink);font:400 clamp(40px,4vw,58px)/1 var(--serif);letter-spacing:-.02em;white-space:nowrap}
.identite .surtitre{letter-spacing:.1em}
@media (min-width:1081px){.identite .surtitre{white-space:nowrap}}
.roles{margin:14px 0 0;color:var(--ink);font-size:15.5px;font-weight:500}
.chapeau{font-size:16.5px;line-height:1.7;margin:0 0 22px;max-width:620px}
.chapeau h2{font-size:clamp(24px,2.4vw,30px);line-height:1.2;margin:0 0 14px}
.chapeau p{margin:0 0 12px}
.chapeau p:last-child{margin-bottom:0}
.chapeau strong{font-weight:600;color:var(--ink)}
.encadrement{font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:0 0 28px;max-width:620px}
.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}

/* Le hall */
.hall-tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px;font-size:12.5px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--ink)}
.hall-tete span+span{color:var(--muted)}
.hall-pied{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13.5px;color:var(--muted)}
.portes{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.porte{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;align-items:center;padding:14px;padding-inline-end:18px;text-align:start;background:var(--white);border:1px solid var(--line);border-radius:16px;transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.porte:hover,.porte:focus-visible{border-color:#b6ccce;box-shadow:var(--shadow);transform:translateY(-2px)}
.porte:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.baie{position:relative;display:block;width:92px;aspect-ratio:.62;background:#fdfdfb;box-shadow:0 0 0 4px #fff,0 0 0 5px #d6e1e2,0 12px 18px -12px rgba(15,49,66,.55)}
.ouverture{position:absolute;inset:0;perspective:600px;background:radial-gradient(120% 70% at 50% 75%,#fffbf1 0%,#f7eed6 38%,#e5d6b1 100%);box-shadow:inset 0 8px 12px rgba(80,60,20,.18)}
.apercu{position:absolute;inset-inline-start:0;inset-inline-end:0;top:44%;font:italic 12px/1.2 var(--serif);color:#7a5c26;text-align:center;opacity:0;transition:opacity .5s var(--ease) .1s}
.battant{position:absolute;inset:0;transform-origin:0 50%;transition:transform .9s var(--ease),box-shadow .9s var(--ease);background:linear-gradient(165deg,#ffffff 0%,#f1f6f6 55%,#e3ecec 100%);border:1px solid #c3d5d8}
.battant::after{content:"";position:absolute;inset-inline-start:12%;inset-inline-end:12%;top:76%;height:18%;border-radius:2px;border:1px solid #cddcde;box-shadow:inset 0 2px 5px rgba(15,49,66,.07)}
.vignette{position:absolute;inset-inline-start:10%;inset-inline-end:10%;top:6%;height:66%;border-radius:2px;background:#dfe8e8 center/cover no-repeat;box-shadow:0 0 0 1px #c9d8da,0 2px 6px rgba(15,49,66,.14)}
.poignee{position:absolute;inset-inline-end:8%;top:78%;width:3px;height:12%;border-radius:2px;z-index:1;background:var(--green)}
.porte:hover .battant,.porte:focus-visible .battant{transform:rotateY(-34deg);box-shadow:12px 0 18px rgba(15,49,66,.16)}
.porte:hover .apercu,.porte:focus-visible .apercu,.porte.ouverte .apercu{opacity:1}
.porte.ouverte .battant{transform:rotateY(-78deg);box-shadow:inset -30px 0 30px rgba(15,49,66,.12),16px 0 24px rgba(15,49,66,.16)}
.porte-texte{display:flex;flex-direction:column;gap:5px;min-width:0}
.plaque{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:600;line-height:1.25;color:var(--ink)}
.plaque .num{flex:none;display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:7px;background:var(--c1);color:#fff;font-size:12px;font-variant-numeric:tabular-nums}
.legende{font-size:14.5px;line-height:1.45;color:var(--body)}
.entrer{margin-top:3px;font-size:13.5px;font-weight:600;color:var(--green)}
.porte:hover .entrer,.porte:focus-visible .entrer{text-decoration:underline;text-underline-offset:3px}
.points{display:flex;gap:6px}
.points span{width:22px;height:3px;border-radius:2px;background:var(--line);transition:background .3s}
.points span.actif{background:var(--green)}

/* Passage et salle */
.passage{position:fixed;z-index:40;pointer-events:none;background:radial-gradient(120% 70% at 50% 75%,#fffbf1 0%,#f7eed6 38%,#e5d6b1 100%)}
.salle{position:fixed;inset:0;z-index:30;background:var(--paper);overflow:auto;opacity:0;transition:opacity .45s var(--ease)}
/* Surface claire satinée : matière très fine et lumière limitée aux marges. */
body,.salle{background-color:#f9fbfa;background-image:var(--fond-editorial);background-size:160px 160px,100% 64rem,100% 62rem,100% 100%;background-position:0 0,center top,center top,center top;background-repeat:repeat,no-repeat,no-repeat,no-repeat}
@media(max-width:700px){body,.salle{background-size:160px 160px,100% 40rem,100% 44rem,100% 100%}}
@media(forced-colors:active){body,.salle{background:Canvas}}
.salle.visible{opacity:1}
.salle-barre{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px var(--gouttiere);background:rgba(252,253,251,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);font-size:14px}
.salle-barre #salle-titre{color:var(--muted);text-align:center}
.salle-barre button{color:var(--ink);justify-self:start}
.salle-barre [data-suivante],.salle-barre [data-contact]{justify-self:end}
.salle-barre button:hover{color:var(--green)}
.salle-contenu .section-corps{padding-top:56px}

/* Sections */
.section{border-top:1px solid var(--line)}
.section.teinte{background:linear-gradient(180deg,var(--sea),rgba(238,244,245,.4))}
.section-corps{max-width:1220px;margin:0 auto;padding:88px var(--gouttiere);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.colonne-texte{position:static}
.salle .colonne-texte{position:static}
.section h2,.salle h2{margin:0 0 16px;color:var(--ink);font:400 clamp(30px,3.2vw,44px)/1.12 var(--serif);letter-spacing:-.015em}
.sous-titre{margin:-4px 0 18px;color:var(--green-deep);font:italic 18px/1.5 var(--serif)}
.intro{font-size:17px;line-height:1.7;color:var(--ink)}
.note{font-size:13.5px;color:var(--muted)}
.titre-bloc{margin:40px 0 14px;color:var(--ink);font:600 13px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.colonne-outils>.titre-bloc:first-child{margin-top:0}
.faits{list-style:none;padding:0;margin:28px 0;display:grid;gap:8px}
.faits li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 16px;background:var(--sea);border-radius:10px;font-size:14.5px}
.faits b{color:var(--ink);font-weight:600}
.faits .ligne{display:block}
.faits .ligne+.ligne{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.badge-these{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:5px 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.02em}
.badge-these::before{content:"";width:7px;height:7px;border-radius:50%;background:#8fd3b6;box-shadow:0 0 0 3px rgba(143,211,182,.25)}
.these .badge-these{font-size:16px;padding:8px 14px}
.these .these-evolution{margin-block:0 24px;padding:16px 20px;border:1px solid var(--line);border-inline-start:4px solid var(--ink);border-radius:6px;background:var(--sea);color:var(--ink);font-size:17px;line-height:1.5;text-align:start;hyphens:none}

.travaux{max-width:1220px;margin:0 auto;padding:0 var(--gouttiere) 88px}
.section-corps:has(+ .travaux){padding-bottom:40px}
.travaux-tete{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;padding-top:40px;border-top:1px solid var(--line);margin-bottom:22px}
.travaux-tete h3{margin:0;color:var(--ink);font:400 clamp(26px,2.6vw,34px)/1.15 var(--serif)}
.travaux-tete p{margin:0;color:var(--muted);font-size:14.5px}
.travaux-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.travail{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}
.travail:hover{border-color:#b9cfd1;box-shadow:var(--shadow)}
.travail.vedette{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:36px;row-gap:8px;padding:28px;background:linear-gradient(135deg,#ffffff,#f3f8f6);border-color:#bcd6cc}
.travail.vedette>*{grid-column:1}
.travail.vedette .resume,.travail.vedette .etiquettes{grid-column:2}
.travail.vedette .resume{grid-row:1/span 4;margin:0;align-self:center}
.travail h4{margin:0;color:var(--ink);font:400 19px/1.35 var(--serif)}
.travail.vedette h4{font-size:24px}
.domaine{margin:0;color:var(--green);font:600 11.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.statut-pastille{align-self:flex-start;justify-self:start;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--sage);color:var(--green-deep)}
.vedette .statut-pastille{background:#fbf1d9;color:#7a5c26}
.auteurs{margin:0;color:var(--muted);font-size:13.5px}
.resume{margin:0;font-size:15px;line-height:1.7}
.carte-lien{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.carte-lien:hover{border-color:var(--green);box-shadow:var(--shadow)}
.carte-lien strong{display:block;color:var(--ink);font-weight:600}
.carte-lien small{display:block;color:var(--muted);font-size:13px}

.table{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.table-tete{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:600}
.table-tete span+span{color:var(--muted);font-weight:500}
.onglets{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.onglets button{padding:14px 14px;text-align:start;font-size:14px;color:var(--muted);border-bottom:2px solid transparent;line-height:1.35;transition:background .2s,color .2s}
.onglets button+button{border-inline-start:1px solid var(--line)}
.onglets button small{display:block;color:var(--green);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.onglets button:hover{color:var(--ink)}
.onglets button[aria-selected=true]{color:var(--ink);background:var(--sea);border-bottom-color:var(--green)}
.volet{padding:24px 24px 6px}
.volet h3{margin:0 0 10px;color:var(--ink);font:400 24px/1.25 var(--serif)}
.volet p{margin:0 0 14px}
.terminus{margin:0;padding:14px 24px 22px;font-size:14px;color:var(--muted)}
.etiquettes{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.etiquettes span{font-size:12.5px;background:var(--sage);color:var(--ink);border-radius:999px;padding:5px 11px}
.etiquettes.grandes span{font-size:13.5px;padding:7px 13px;border-radius:10px;background:var(--white);border:1px solid var(--line)}
.notions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.notions>div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:18px}
.notions h4{margin:0 0 6px;color:var(--ink);font:400 19px/1.3 var(--serif)}
.notions p{margin:0;font-size:14.5px}
.protocole-these{margin:32px 0}
.protocole-these>h4{margin:24px 0 10px;color:var(--ink);font:600 17px/1.4 var(--sans)}
.note-protocole{padding:14px 18px;border-inline-start:3px solid var(--green);background:var(--sea);font-size:14px}
.etapes-protocole{display:grid;gap:10px;margin:24px 0}
.methode-these{border:1px solid var(--line);border-radius:8px;background:var(--white)}
.methode-these>summary{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 1rem;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;color:var(--ink);list-style:none}
.methode-these>summary::-webkit-details-marker{display:none}
.methode-these>summary::after{content:"+";font-size:22px;text-align:center}
.methode-these[open]>summary::after{content:"−"}
.methode-these>summary strong{display:block;font:600 16px/1.4 var(--sans)}
.methode-these>summary small{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.code-methode{font-size:13px;font-weight:700;color:var(--green)}
.methode-these-corps{padding:0 18px 18px;border-top:1px solid var(--line)}
.methode-these-corps dl{margin:0}
.methode-these-corps dt{margin:20px 0 6px;color:var(--ink);font-weight:600}
.methode-these-corps dd{margin:0;font-size:14.5px;line-height:1.7}
.repere-protocole{margin:18px 0 0;font-size:12.5px;color:var(--muted)}

.puces{margin:0;padding:0;list-style:none}
.puces li{position:relative;padding:8px 0 8px 18px;border-bottom:1px solid var(--line);font-size:14.5px}
.puces li::before{content:"";position:absolute;inset-inline-start:0;top:17px;width:7px;height:7px;border-radius:50%;background:var(--green)}
.puces b{color:var(--ink)}

.piliers{display:grid;gap:10px;margin:24px 0 8px}
.piliers>div{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.piliers h4,.valeurs h4{margin:0 0 4px;color:var(--ink);font:400 19px/1.3 var(--serif)}
.piliers p,.valeurs p{margin:0;font-size:14.5px}
.outils-liste span{background:var(--ink);color:#fff;font-weight:500}

.puces.secondaires li{font-size:14px}
.puces.secondaires li::before{background:#9fbcbe}
.valeurs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.valeurs>div{padding:18px;border-radius:12px;background:linear-gradient(160deg,#ffffff,#f1f6f4);border:1px solid var(--line)}
.valeurs h4::before{content:"";display:block;width:22px;height:3px;border-radius:2px;background:var(--green);margin-bottom:10px}
.colonne-outils>.note{margin:10px 0 0}
.colonne-outils>.note-avant{margin:36px 0 10px}
.bio{margin:6px 0 8px}
.bio p{margin:0 0 14px;font-size:15.5px;line-height:1.75;color:var(--ink)}
.bio p:first-child{font-size:17px}
.discret{margin-top:6px!important;font-size:12.5px!important;color:var(--muted)}
.onglets.n5{grid-template-columns:repeat(5,1fr)}
.onglets.n8{grid-template-columns:repeat(4,1fr)}
.onglets.n8 button:nth-child(n+5){border-top:1px solid var(--line)}
.onglets.n8 button:nth-child(5){border-inline-start:0}
.liens-contact.compact a{padding:12px 16px}
.liens-contact.compact{gap:8px;margin-bottom:6px}

.boite-outils{margin-top:28px;padding:22px 22px 10px;border-radius:14px;background:var(--ink);color:#fff}
.boite-outils h3{margin:0 0 12px;font:400 24px/1.2 var(--serif);color:#fff}
.groupe-outils{padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.groupe-outils p{margin:0 0 9px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#9fd3bf}
.boite-outils .outils-liste span{background:#fff;color:var(--ink);font-size:14px;font-weight:600;padding:7px 14px}
.expertises{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.expertises>div{padding:18px;border-radius:12px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--green)}
.expertises h4{margin:0 0 6px;color:var(--ink);font:400 19px/1.3 var(--serif)}
.expertises p{margin:0;font-size:14.5px}

.recit{list-style:none;margin:0;padding:0}
.recit li{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:0 0 30px;position:relative}
.recit li::before{content:"";position:absolute;inset-inline-start:22px;top:48px;bottom:8px;width:1px;background:var(--line)}
.recit li:last-child::before{display:none}
.recit-num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sea);color:var(--green);font:600 14px var(--sans);border:1px solid var(--line)}
.recit h3{margin:8px 0 8px;color:var(--ink);font:400 23px/1.3 var(--serif)}
.recit p{margin:0;font-size:16px;line-height:1.8}
.recit p+p{margin-top:12px}
.recit strong,.vision strong,.bio-intro strong{color:var(--ink)}
.bio-intro p{margin:0 0 14px;font-size:16.5px;line-height:1.75}
.bio-intro p:first-child{font-size:18px;color:var(--ink)}
/* Biographie : l'introduction utilise toute la largeur de lecture du chapitre. */
.gab[data-gab-salle="biographie"] .bio-intro,
.gab[data-gab-salle="biographie"] .bio-intro p{width:100%;max-width:none}

.bio-figure{margin:22px 0 0}
.citation{margin:20px 0 0;padding:0 0 0 0;font:italic 21px/1.45 var(--serif);color:var(--green-deep);quotes:"«\00a0" "\00a0»"}
.citation:lang(en){quotes:"“" "”"}
.citation:lang(es){quotes:"«" "»"}
.citation::before{content:open-quote}
.citation::after{content:close-quote}
/* Parcours : encadré de synthèse clair, lisible et plus compact. */
.vision{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:10px;margin:12px 0 18px;padding:22px 24px;border:1px solid #d2e1e8;border-inline-start:4px solid #477f90;border-radius:12px;background:#f3f8fa;color:#284653}
.vision h3{grid-column:1/-1;margin:0 0 4px;color:#173e50;font:600 22px/1.35 var(--sans);overflow-wrap:break-word}
.vision p{margin:0;max-width:none;font-size:15.5px;line-height:1.65;color:#284653}
.vision p:first-of-type{grid-column:1/-1}
.vision p:last-child{margin-bottom:0}
.vision strong{color:#173e50}
/* Le gabarit des chapitres impose autrement un titre marine et une marge de 34 px. */
.gab-corps .vision h3{margin:0 0 4px!important;color:#173e50!important;line-height:1.35!important}
.gab-corps .vision p{max-width:none}
@media(max-width:760px){
  .vision{display:block;padding:18px;grid-template-columns:none}
  .vision h3{margin-bottom:12px!important}
  .vision p+p{margin-top:12px}
}
.recit-fin{margin:6px 0 0 74px;font:italic 18px/1.5 var(--serif);color:var(--green-deep)}
.cadres{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cadre{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.cadre h4{margin:0 0 6px;color:var(--ink);font:400 19px/1.3 var(--serif)}
.cadre p{margin:0;font-size:14.5px}
.cadre .ref{margin-top:8px;font-size:12.5px;color:var(--muted)}
.cadre .ref a{color:var(--ink)}
.precision{margin:-6px 0 4px;padding:12px 14px;border-radius:10px;background:var(--sage);color:var(--ink);font-size:14px}
.biblio{margin-top:28px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.biblio summary{cursor:pointer;padding:14px 18px;font-weight:600;color:var(--ink)}
.biblio ol{margin:0;padding:4px 22px 18px 40px;font-size:13.5px;line-height:1.6}
.biblio li{margin-bottom:8px;overflow-wrap:anywhere}
.biblio a{color:var(--green)}

.notions .ref{margin-top:8px;font-size:12.5px;color:var(--muted);font-style:italic}
.codirection{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.personne{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.personne h4{margin:0 0 8px;color:var(--ink);font:400 20px/1.25 var(--serif);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.personne .grade{font:600 12px var(--sans);color:var(--green);letter-spacing:.04em}
.personne ul{margin:0 0 10px;padding:0;list-style:none}
.personne li{font-size:14px;line-height:1.55;padding:3px 0}
.personne .chaire{display:inline-block;margin:2px 0 12px;padding:5px 11px;border-radius:10px;background:#fbf1d9;color:#7a5c26;font-size:12.5px;font-weight:600;line-height:1.4}
.personne .profil{display:inline-block;font-size:13.5px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.personne .profil:hover{color:var(--green);border-color:var(--green)}
.devise{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 16px;padding:16px 20px;border-radius:12px;background:var(--ink);color:#fff}
.devise-libelle{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9fd3bf}
.devise-latin{font:italic 22px/1.2 var(--serif)}
.devise-traduction{font-size:14px;color:#d5e4e8}
.pied small{font-size:12px;color:var(--muted)}

.liste{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.liste li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.liste li:hover{border-color:var(--accent);box-shadow:0 10px 26px rgba(31,111,178,.1)}
.liste .date,.frise .date{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.liste h4,.frise h4{margin:0 0 4px;color:var(--ink);font-size:15.5px;font-weight:600;line-height:1.45}
.liste h4 a{text-decoration:none;border-bottom:1px solid var(--line)}
.liste h4 a:hover{color:var(--green);border-color:var(--green)}
.liste p,.frise p{margin:0;font-size:14.5px}
.statut,.type{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin-bottom:4px}

.frise{list-style:none;margin:0;padding:0;position:relative}
.frise::before{content:"";position:absolute;inset-inline-start:125px;top:8px;bottom:8px;width:1px;background:var(--line)}
.frise li{display:grid;grid-template-columns:110px 1fr;gap:32px;padding:0 0 26px;position:relative}
.frise li::before{content:"";position:absolute;inset-inline-start:120px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--green)}
.frise li.experience::before{background:var(--green)}
.frise li.experience .type{color:var(--ink)}
.frise li.entreprise::before{background:#b08a45;border-color:#b08a45}
.frise li.entreprise .type{color:#8a6a2f}

.contact .primaire{margin-top:8px}
.courriel{margin:14px 0 4px;color:var(--ink);font-weight:500}
.liens-contact{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.liens-contact a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.liens-contact a:hover{border-color:var(--green);box-shadow:var(--shadow)}
.liens-contact strong{display:block;color:var(--ink);font-weight:600}
.liens-contact small{display:block;color:var(--muted);font-size:13px}

.pied{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:28px var(--gouttiere);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.pied a{color:var(--ink);text-decoration:none}

.page-404{display:grid;place-items:center;min-height:100vh;padding:24px}
.page-404 main{max-width:520px}
.page-404 h1{white-space:normal;margin-bottom:12px}

/* Menus Langues et Accessibilité */
.ic{width:18px;height:18px;flex:none}
.menu{position:relative}
.menu>summary{list-style:none;display:flex;align-items:center;gap:7px;font-size:13.5px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;white-space:nowrap;user-select:none;transition:background .2s,border-color .2s}
.menu>summary::-webkit-details-marker{display:none}
.menu>summary:hover,.menu[open]>summary{border-color:var(--ink);background:var(--sea)}
.menu>summary .ic:last-child{width:14px;height:14px;transition:transform .2s}
.menu[open]>summary .ic:last-child{transform:rotate(180deg)}
.menu-panneau{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:40;width:max-content;min-width:250px;max-width:min(320px,calc(100vw - 32px));background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(15,49,66,.16);padding:8px}
.menu-panneau ul{list-style:none;margin:0;padding:0}
.menu-panneau a,.menu-panneau ul span[aria-current],.menu-panneau button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:14px;line-height:1.3;text-align:start}
.menu-panneau a:hover,.menu-panneau button:hover{background:var(--sea)}
.menu-panneau [aria-current],.menu-panneau ul span[aria-current]{background:var(--ink);color:#fff}
.menu-panneau button[aria-pressed=true]{background:var(--sage);font-weight:600}
.menu-panneau button[aria-pressed=true]::after{content:"✓";margin-inline-start:auto;font-weight:700}
.menu-titre{margin:4px 10px 2px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.menu-titre+ul{margin-bottom:6px}
.menu-sep{height:1px;background:var(--line);margin:6px 4px}
.taille{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:14px;color:var(--ink)}
.taille span{flex:1}
.menu-panneau .taille button{width:auto;flex:none;justify-content:center;min-width:44px;border:1px solid var(--line);font-weight:600}
.note-voix{margin:2px 10px 6px;font-size:12.5px;color:var(--muted)}
.drapeau{display:inline-block;width:22px;height:15px;flex:none;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(15,49,66,.18);line-height:0}
.drapeau svg{width:100%;height:100%;display:block}
.pastille{display:inline-grid;place-items:center;background:var(--ink);color:#fff;font:600 10px/1 var(--sans);box-shadow:none}
.pastille-ar{font-size:13px;background:#1f5a4b}
.pastille-iu{font-size:12px;background:#245a73}
.pastille-innu{background:#8c4d58}
.pastille-falc{background:#a0663b}
[aria-current] .pastille{box-shadow:0 0 0 1px #fff}

/* Aperçu de l'affiche */
.carte-affiche{justify-content:flex-start}
.carte-affiche>span:not([aria-hidden]){flex:1}
.affiche-vignette{width:84px;height:84px;flex:none;object-fit:cover;object-position:top;border-radius:8px;border:1px solid var(--line);background:var(--sea)}

/* Bouton Écouter de la salle */
.salle-actions{justify-self:end;display:flex;align-items:center;gap:18px}
.salle-barre .salle-actions button{display:inline-flex;align-items:center;gap:6px}

/* Daltonisme : palette Okabe-Ito et repères qui ne reposent pas sur la couleur */
html.cb{--green:#0072b2;--green-deep:#005a8c;--sage:#e1edf6}
html.cb .porte[data-salle=recherche]{--c1:#0072b2!important}
html.cb .porte[data-salle=approche]{--c1:#b34a00!important}
html.cb .porte[data-salle=implantation]{--c1:#7a5a00!important}
html.cb .porte[data-salle=publications]{--c1:#007557!important}
html.cb .porte[data-salle=biographie]{--c1:#9c4a7c!important}
html.cb .porte[data-salle=parcours]{--c1:#1f6d9a!important}
html.cb .porte[data-salle=engagements]{--c1:#222!important}
html.cb .section-contenu a:not(.carte-lien):not(.primaire),html.cb .salle-contenu a:not(.carte-lien):not(.primaire){text-decoration:underline;text-underline-offset:3px}
html.cb .onglets button[aria-selected=true]{font-weight:700;box-shadow:inset 0 -4px 0 var(--ink)}
html.cb .points span.actif{height:7px;background:var(--ink)}
html.cb .frise li.entreprise::before{border-radius:2px;background:#e69f00;border-color:#7a5a00}
html.cb .frise li.experience::before{border-radius:2px}
html.cb .vedette .statut-pastille{background:#fff3d6;color:#5c4300;border:1px solid #e69f00}

/* Contraste élevé et basse vision */
html.hc,html.lv{--ink:#06202d;--ink-deep:#000;--body:#111;--muted:#2a3a40;--line:#56686e;--green:#0a4a3a;--green-deep:#06372b;--paper:#fff;--sea:#e6eef0;--sage:#dfeae3}
html.hc body,html.lv body,html.hc .salle,html.lv .salle{background:#fff}
html.hc .entete,html.lv .entete,html.hc .salle-barre,html.lv .salle-barre{background:#fff}
html.hc a,html.lv a{text-decoration-thickness:2px}
html.hc .section-contenu a:not(.carte-lien):not(.primaire),html.lv .section-contenu a:not(.carte-lien):not(.primaire),html.hc .salle-contenu a:not(.carte-lien):not(.primaire),html.lv .salle-contenu a:not(.carte-lien):not(.primaire){text-decoration:underline}
html.hc :focus-visible,html.lv :focus-visible{outline:3px solid #000;outline-offset:3px;box-shadow:0 0 0 7px #ffd400}
html.hc .porte,html.lv .porte,html.hc .carte-lien,html.lv .carte-lien,html.hc .liens-contact a,html.lv .liens-contact a{border-width:2px}
html.lv body{zoom:1.3;line-height:1.75;word-spacing:.06em}
html.t1 body{zoom:1.15}
html.t2 body{zoom:1.3}
html.t3 body{zoom:1.5}
html.lv.t1 body{zoom:1.45}
html.lv.t2 body{zoom:1.6}
html.lv.t3 body{zoom:1.8}
html.lv .presentation,html.lv .section-corps{grid-template-columns:1fr}
html.lv .presentation .identite{grid-row:auto;margin-bottom:24px}
html.lv .presentation .chapeau,html.lv .presentation .encadrement,html.lv .presentation .actions{grid-column:1;grid-row:auto}
html.lv .colonne-texte{position:static}
html.lv .marque small{display:none}
html.lv .notions,html.lv .codirection,html.lv .expertises,html.lv .cadres,html.lv .travaux-grille{grid-template-columns:1fr}
html.lv .travail.vedette{grid-template-columns:1fr}
html.lv .travail.vedette .resume,html.lv .travail.vedette .etiquettes{grid-column:1;grid-row:auto}
html.lv p,html.lv li{max-width:70ch}

/* Écritures : chinois, arabe, syllabaire inuktitut */
html:lang(zh-Hans){--serif:Georgia,"Noto Serif SC","Songti SC",SimSun,serif;--sans:Inter,"Segoe UI","Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif}
html:lang(zh-Hans) body{line-height:1.8}
html:lang(zh-Hans) .surtitre,html:lang(zh-Hans) .menu-titre{letter-spacing:.06em}
html:lang(ar){--serif:Georgia,"Noto Naskh Arabic","Traditional Arabic","Times New Roman",serif;--sans:Inter,"Segoe UI","Noto Sans Arabic",Tahoma,sans-serif}
html:lang(ar) body{line-height:1.85}
html:lang(zh-Hans) em,html:lang(zh-Hans) .sous-titre,html:lang(ar) em,html:lang(ar) .sous-titre{font-style:normal}
html:lang(ar) *{letter-spacing:0!important}
html:lang(ar) .surtitre,html:lang(ar) .menu-titre,html:lang(ar) .statut,html:lang(ar) .type{text-transform:none}
:lang(iu){font-family:Gadugi,Euphemia,"Euphemia UCAS","Noto Sans Canadian Aboriginal",var(--sans)}

/* Pages abrégées : FALC, inuktitut, innu-aimun */
.page-abregee .entete{flex-wrap:nowrap}
.abrege{max-width:900px;margin:0 auto;padding:44px var(--gouttiere) 72px}
.abrege h1{white-space:normal;font-size:clamp(34px,4.4vw,52px);line-height:1.1;margin:0 0 20px}
.actions-ecoute{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.bouton-ecouter{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);border-radius:999px;padding:7px 16px;font-size:16px;font-weight:500;color:var(--ink);background:var(--white);margin-top:6px}
.bouton-ecouter:hover{background:var(--sea)}
.bloc-falc{display:grid;grid-template-columns:76px minmax(0,1fr);gap:22px;padding:28px 0;border-top:1px solid var(--line)}
.bloc-falc .picto{width:76px;height:76px;border-radius:18px;background:var(--sea);display:grid;place-items:center;color:var(--ink)}
.bloc-falc .picto .ic{width:46px;height:46px;stroke-width:1.8}
.bloc-falc h2{font:600 26px/1.25 var(--sans);color:var(--ink);margin:0 0 12px}
.falc p{font-size:20px;line-height:1.6;margin:0 0 8px;max-width:44ch;color:var(--body)}
.falc .lien{font-size:19px}
.cartes-vie{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;padding:0;margin:18px 0 10px}
.cartes-vie li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px 12px;border:2px solid var(--line);border-radius:14px;background:var(--white);font-size:17px;font-weight:600;color:var(--ink);text-align:center}
.cartes-vie .ic{width:42px;height:42px;stroke-width:1.8}
.salutation{margin:0;font:400 clamp(52px,8vw,88px)/1.1 var(--serif);color:var(--ink)}
.translitteration{margin:4px 0 0;font-size:17px;color:var(--muted);font-style:italic}
.sens{margin:4px 0 26px;font-size:15px;color:var(--green);font-weight:600;letter-spacing:.06em;text-transform:uppercase}

.merci{font-size:20px;color:var(--ink);margin:0 0 18px}
@media (max-width:760px){
  
  .bloc-falc{grid-template-columns:56px minmax(0,1fr);gap:14px}
  .bloc-falc .picto{width:56px;height:56px;border-radius:14px}
  .bloc-falc .picto .ic{width:34px;height:34px}
  .falc p{font-size:18.5px}
}
@media (max-width:640px){
  .menu-libelle{display:none}
  .menu{position:static}
  .menu-panneau{inset-inline:var(--gouttiere);top:calc(100% + 6px);width:auto;min-width:0;max-width:none}
  .menu>summary{padding:6px 9px;gap:5px}
  .salle-actions{gap:12px}
  .salle-actions [data-ecouter] span{display:none}
  .page-abregee .marque strong{font-size:15px}
}

/* Accueil : le premier écran tient en entier */
.accueil{padding-top:30px;gap:34px}
.presentation{grid-template-columns:minmax(0,.92fr) minmax(0,1.28fr);column-gap:56px;align-items:start}
.presentation .identite{grid-column:1;grid-row:1;margin:0 0 22px;align-items:center}
.presentation .encadrement{grid-column:1;grid-row:2;max-width:none}
.presentation .actions{grid-column:1;grid-row:3}
.presentation .chapeau{grid-column:2;grid-row:1 / span 3;margin:0;max-width:none}
.presentation .portrait{width:150px}
.presentation h1{font-size:clamp(38px,3.4vw,52px)}
.presentation .identite .surtitre{white-space:normal}
@media(min-width:1081px){.accueil>.presentation{min-block-size:var(--presentation-min,0px);align-content:center}}
.accueil>.hall{padding-top:18px;border-top:1px solid #e4ebe8}
.chapeau{font-size:16px;line-height:1.66}
.chapeau h2{font-size:clamp(23px,2.1vw,29px);margin-bottom:12px}
.chapeau p{margin-bottom:10px}

/* Texte justifié (le FALC et la basse vision restent alignés à gauche, plus faciles à lire) */
/* Règle commune aux paragraphes rédigés, prioritaire sur les styles propres aux rubriques. */
body p:not(:where(.surtitre,.roles,.petit-titre,.ref,.auteurs,.domaine,.date,.axe-libelle,.notion-libelle,.notion-refs-titre,.vul-petit-titre,.vul-type,.vul-source,.vul-citation,.pub-kicker,.badge-these,.these-evolution,.schema-legende,.legende,.projet-slogan,.actions,.actions-ecoute,.menu-panneau p)){
 text-align:justify!important;text-align-last:start;text-justify:auto;
 hyphens:auto!important;-webkit-hyphens:auto!important;
}
.falc p,html.lv main p,html.lv .salle-contenu p,.menu-panneau p,.encadrement,.surtitre,.ref{text-align:start;hyphens:manual;-webkit-hyphens:manual}

/* Survol et clic bien visibles */
:root{--accent:#1f6fb2;--accent-pale:#eaf3fb;--accent-fonce:#164f80}
a,button,summary{-webkit-tap-highlight-color:rgba(31,111,178,.18)}
.nav a:hover,.nav a:focus-visible{color:var(--accent);border-color:var(--accent)}
.nav a:active{color:var(--accent-fonce)}
.liens-contact a,.carte-lien{transition:border-color .2s,box-shadow .2s,transform .2s var(--ease),background .2s}
.liens-contact a:hover,.carte-lien:hover{border-color:var(--accent);background:#fbfdff;box-shadow:0 12px 32px rgba(31,111,178,.14);transform:translateY(-2px)}
.liens-contact a:hover strong,.carte-lien:hover strong{color:var(--accent)}
.liens-contact a:active,.carte-lien:active,.porte:active,.primaire:active,.bouton-ecouter:active{transform:scale(.985)}
.porte:hover,.porte:focus-visible{border-color:var(--accent);box-shadow:0 14px 36px rgba(31,111,178,.16)}
.porte:hover .plaque,.porte:hover .entrer{color:var(--accent)}
.onglets button{transition:background .2s,color .2s,border-color .2s}
.onglets button:hover{background:var(--accent-pale);color:var(--accent-fonce)}
.onglets button[aria-selected=true]{border-bottom-color:var(--accent)}
.primaire:hover{background:var(--accent)}
.primaire:active{background:var(--accent-fonce)}
.lien:hover{color:var(--accent);border-color:var(--accent)}
.bouton-cv:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.menu>summary:hover,.menu[open]>summary{border-color:var(--accent);background:var(--accent-pale)}
.menu-panneau a:hover,.menu-panneau button:hover{background:var(--accent-pale);color:var(--accent-fonce)}
.bouton-ecouter:hover{background:var(--accent-pale);border-color:var(--accent);color:var(--accent-fonce)}
.cadre,.travail,.personne,.notions>div,.expertises>*,.valeurs>*{transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.cadre:hover,.travail:hover,.personne:hover,.notions>div:hover{border-color:var(--accent);box-shadow:0 12px 30px rgba(31,111,178,.12);transform:translateY(-2px)}
.salle-barre button:hover{color:var(--accent)}
.profil:hover{color:var(--accent);border-color:var(--accent)}
@media (prefers-reduced-motion:reduce){.liens-contact a:hover,.carte-lien:hover,.cadre:hover,.travail:hover,.personne:hover,.notions>div:hover{transform:none}}

/* Médiathèque : vidéos et balados intégrés, chargés seulement au clic */
.mediatheque{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:6px 0 26px}
.media{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--white);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.media:hover{border-color:var(--accent);box-shadow:0 12px 30px rgba(31,111,178,.12)}
.media-ecran{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#173f52,#1f6fb2);color:#fff}
.media-ecran.audio{aspect-ratio:auto;min-height:150px;background:linear-gradient(135deg,#286d5c,#173f52)}
.media-ecran button{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:14.5px;font-weight:600;padding:16px;text-align:center}
.media-ecran button .rond{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;transition:background .2s,transform .2s}
.media-ecran button:hover .rond{background:rgba(255,255,255,.32);transform:scale(1.06)}
.media-ecran button small{font-weight:400;font-size:12px;opacity:.85}
.media-ecran iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.media-ecran.audio iframe{position:static;height:175px}
.media-texte{padding:14px 16px 16px}
.media-texte strong{display:block;color:var(--ink);font-size:15px;line-height:1.35}
.media-texte small{display:block;color:var(--muted);font-size:12.5px;margin-top:4px}
.media-texte p{margin:8px 0 0;font-size:13.5px;line-height:1.5}
.media-texte a{font-size:13px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);display:inline-block;margin-top:8px}
.media-texte a:hover{color:var(--accent);border-color:var(--accent)}
.plus-loin{max-width:1220px;margin:0 auto;padding:0 var(--gouttiere) 88px}

.suggestions small.apport{margin-top:5px;color:var(--body);font-size:13px;line-height:1.5}
.formation-discrete{margin:22px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.formation-discrete span{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:2px}
.formation-discrete a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.formation-discrete a:hover{color:var(--accent);border-color:var(--accent)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

@media (max-width:1080px){
  :root{--gouttiere:28px}
  .nav{gap:9px}
  .accueil{gap:32px;padding-top:36px}
  .presentation{grid-template-columns:1fr}
  .presentation .identite{grid-row:auto;margin-bottom:24px}
  .presentation .identite,.presentation .chapeau,.presentation .encadrement,.presentation .actions{grid-column:1;grid-row:auto}
  .section-corps{grid-template-columns:1fr;gap:36px;padding:64px var(--gouttiere)}
  .colonne-texte{position:static}
  .travaux-grille{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){
  .marque small{white-space:normal;max-width:330px;line-height:1.35}
}
@media (max-width:860px){
  .nav{gap:8px}
  .nav a{font-size:13.5px}
  .marque small{display:none}
  .onglets,.onglets.n5,.onglets.n8{grid-template-columns:repeat(2,1fr)}
  .onglets button:nth-child(odd){border-inline-start:0}
  .onglets button:nth-child(n+3){border-top:1px solid var(--line)}
  .onglets.n5 button:last-child{grid-column:1/-1}
  .notions,.codirection,.expertises,.cadres{grid-template-columns:1fr}
  .valeurs{grid-template-columns:repeat(2,1fr)}
  .travaux-grille{grid-template-columns:1fr}
  .travail.vedette{grid-template-columns:1fr}
  .travail.vedette .resume,.travail.vedette .etiquettes{grid-column:1}
  .travail.vedette .resume{grid-row:auto}
}
@media (max-width:640px){
  :root{--gouttiere:16px}
  html{scroll-padding-top:72px}
  .entete{gap:10px;padding:10px var(--gouttiere)}
  .marque strong{font-size:15.5px}
  .monogramme{width:36px;height:36px;font-size:14px}
  .bouton-cv{padding:6px 11px}
  .identite{gap:16px;align-items:center}
  .portrait{width:92px}
  h1{font-size:38px;white-space:normal}
  .roles{font-size:14.5px}
  .chapeau{font-size:16px}
  .salle-barre{grid-template-columns:auto 1fr auto;padding:12px var(--gouttiere);font-size:13.5px}
  .salle-barre #salle-titre{font-size:12.5px}
  .section-corps{padding:52px var(--gouttiere)}
  .travaux{padding-bottom:52px}
  .liste li,.faits li{grid-template-columns:1fr;gap:4px}
  .frise::before{inset-inline-start:5px}
  .frise li{grid-template-columns:1fr;gap:4px;padding-inline-start:28px}
  .frise li::before{inset-inline-start:0}
  .table-tete{flex-direction:column;gap:2px}
  .valeurs{grid-template-columns:1fr}
  .portrait{width:92px}
  .recit li{grid-template-columns:40px 1fr;gap:12px}
  .recit li::before{inset-inline-start:19px;top:42px}
  .recit-num{width:38px;height:38px}
  .recit-fin{margin-inline-start:0}
  html{scroll-padding-top:110px}
}
.citation-lien{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.citation-lien:hover{color:var(--accent);text-decoration-color:var(--accent)}

/* Schémas */
.schema{margin:30px 0 8px;padding:22px 22px 16px;border-radius:16px;background:linear-gradient(160deg,#f6fafc,#eef5f3);border:1px solid var(--line)}
.schema svg{display:block;width:100%;height:auto;overflow:visible}
.schema-titre{font:600 13px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 6px}
.schema-legende{margin:10px 0 0;font-size:13.5px;color:var(--muted);text-align:start}
.schema-reseau text{font:500 13px var(--sans);fill:var(--ink)}
.schema-reseau .lien-centre{stroke:var(--accent);stroke-width:2;opacity:.55}
.schema-reseau .lien-partenaires{stroke:var(--green);stroke-width:1.5;stroke-dasharray:5 5;opacity:.7}
.schema-reseau .noeud{stroke:#fff;stroke-width:3}
.schema-reseau .n0{fill:#1f6fb2}.schema-reseau .n1{fill:#286d5c}.schema-reseau .n2{fill:#a0663b}.schema-reseau .n3{fill:#8c4d58}
.schema-reseau .noeud-centre{fill:var(--ink);stroke:#fff;stroke-width:4;filter:drop-shadow(0 6px 14px rgba(15,49,66,.25))}
.schema-reseau .texte-centre{fill:#fff;font:700 16px var(--sans);letter-spacing:.06em}
.schema-posture .cercle-gauche{fill:rgba(31,111,178,.14);stroke:#1f6fb2;stroke-width:2}
.schema-posture .cercle-droit{fill:rgba(40,109,92,.14);stroke:#286d5c;stroke-width:2}
.schema-posture .venn-titre{font:600 15px var(--sans);fill:var(--ink)}
.schema-posture .venn-sous{font:400 12.5px var(--sans);fill:var(--muted)}
.schema-posture .venn-pastille{fill:var(--ink)}
.schema-posture .venn-centre{font:600 12px var(--sans);fill:#fff}
html.cb .schema-reseau .n0{fill:#0072b2}html.cb .schema-reseau .n1{fill:#009e73}html.cb .schema-reseau .n2{fill:#e69f00}html.cb .schema-reseau .n3{fill:#cc79a7}

/* Cycle des cinq temps */
.cycle{position:relative;width:min(100%,380px);aspect-ratio:1;margin:8px auto 18px}
.cycle svg{position:absolute;inset:0;width:100%;height:100%}
.cycle .arc{fill:none;stroke:var(--accent);stroke-width:2.5;opacity:.6}
.cycle .pointe{fill:var(--accent);opacity:.8}
.cycle-centre{position:absolute;inset:0;display:grid;place-items:center;margin:0;font:400 22px var(--serif);color:var(--ink);text-align:center;pointer-events:none}
.cycle-noeud{position:absolute;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;background:var(--white);border:2px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.15;text-align:center;padding:6px;box-shadow:0 6px 18px rgba(15,49,66,.08);transition:background .2s,border-color .2s,transform .2s,color .2s}
.cycle-noeud span{font-size:11px;color:var(--muted);font-weight:600}
.cycle-noeud:hover{border-color:var(--accent);transform:translate(-50%,-50%) scale(1.06)}
.cycle-noeud.actif{background:var(--accent);border-color:var(--accent);color:#fff}
.cycle-noeud.actif span{color:#dbe9f6}

/* Groupes avec icône et nombre */
.titre-icone{display:flex;align-items:center;gap:10px}
.pastille-icone{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent-pale);color:var(--accent);flex:none}
.pastille-icone .ic{width:19px;height:19px}
.titre-icone .compte{margin-inline-start:auto;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;display:grid;place-items:center;letter-spacing:0}

/* Parcours : cartes illustrées par type */
.frise::before{display:none}
.frise{display:grid;gap:12px}
.frise li{grid-template-columns:44px 96px 1fr;gap:16px;align-items:start;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s}
.frise li:hover{border-color:var(--accent);box-shadow:0 10px 26px rgba(31,111,178,.1)}
.frise li::before{display:none}

/* Barre de salle : couleur de la salle et progression des portes */
.salle{border-top:5px solid var(--c1,var(--ink))}
.salle-progres{position:sticky;top:57px;z-index:1;display:flex;gap:4px;padding:0 var(--gouttiere) 0;background:transparent;height:4px}
.salle-progres span{flex:1;border-radius:2px;background:var(--line)}
.salle-progres span.actif{background:var(--c1,var(--ink))}
#salle-titre{font-weight:600;color:var(--c1,var(--ink))!important}

@media (max-width:640px){
  .frise li{grid-template-columns:40px 1fr;gap:12px}
  .frise li .date{grid-column:2}
  .frise li>div{grid-column:2}
  .cycle-noeud{width:74px;height:74px;font-size:11px}
  .schema{padding:16px 12px 12px}
}

.figure-officielle{margin:30px 0 8px;padding:16px;border-radius:16px;background:var(--white);border:1px solid var(--line)}
.figure-officielle img{width:100%;height:auto;border-radius:10px}
.figure-officielle figcaption{margin-top:10px;font-size:13.5px;color:var(--muted)}
.figure-officielle .source{display:block;margin-top:4px;font-style:italic}

/* Comparaison politique / thèse */
.comparaison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;margin-top:30px}
.comparaison>figure{margin:0}
.comparaison-etiquette{display:inline-block;margin:0 0 10px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.comparaison-etiquette.politique{background:#344c9a}
.comparaison-etiquette.these{background:var(--green)}
@media (max-width:1180px){.comparaison{grid-template-columns:1fr}}

/* Parcours : liseré coloré par type, sans pictogramme */
.frise li{grid-template-columns:110px 1fr;border-inline-start:5px solid var(--accent)}
.frise li.formation{border-inline-start-color:#286d5c}
.frise li.entreprise{border-inline-start-color:#c08a2e}
.frise .type{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--accent-pale);color:var(--accent-fonce);font-size:11px;letter-spacing:.06em}
.frise li.formation .type{background:#e3f0ea;color:#1f5a4b}
.frise li.entreprise .type{background:#fbf0d9;color:#7a5a1f}
.frise .date{font:600 15px/1.3 var(--sans);color:var(--ink)}
.titre-icone .compte{background:var(--accent)}

/* Accueil : frise chronologique et chiffres clés */
.bande-accueil{padding:34px 36px 30px;border-radius:20px;background:linear-gradient(135deg,#173f52 0%,#1f5a6e 55%,#286d5c 100%);color:#fff}
.bande-titre{margin:0 0 22px;font:600 13px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#cfe6f2}
.trajectoire{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.trajectoire::before{content:"";position:absolute;top:9px;inset-inline:8px;height:3px;border-radius:2px;background:linear-gradient(90deg,#f2c14e,#7fd1b9,#8ec5ff)}
.trajectoire li{position:relative;padding:30px 12px 0 0}
.trajectoire li::before{content:"";position:absolute;top:0;inset-inline-start:0;width:21px;height:21px;border-radius:50%;background:#fff;border:5px solid #f2c14e;box-sizing:border-box}
.trajectoire li:nth-child(2)::before{border-color:#f5a65b}.trajectoire li:nth-child(3)::before{border-color:#7fd1b9}.trajectoire li:nth-child(4)::before{border-color:#5fbfa5}.trajectoire li:nth-child(5)::before{border-color:#8ec5ff}.trajectoire li:nth-child(6)::before{border-color:#fff;background:#8ec5ff}
.trajectoire-date{display:block;font:700 14px var(--sans);color:#fff;margin-bottom:4px}
.trajectoire-texte{display:block;font-size:13.5px;line-height:1.45;color:#dcecf3}
.chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.chiffres>div{padding:16px 16px 14px;border-radius:14px;background:var(--white);border:1px solid var(--line)}
.chiffres strong{display:block;font:400 40px/1 var(--serif);color:var(--accent)}
.chiffres span{display:block;margin-top:6px;font-size:13.5px;line-height:1.4;color:var(--body)}

@media (max-width:980px){.trajectoire{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}.trajectoire::before{display:none}.chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.bande-accueil{padding:24px 18px}.trajectoire{grid-template-columns:1fr 1fr}}
html.hc .bande-accueil,html.lv .bande-accueil{background:#0b2230}

/* Salle Ressources : graphiques */
.barres{display:grid;gap:10px;margin-bottom:8px}
.barre{display:grid;grid-template-columns:86px 1fr 40px;align-items:center;gap:10px;font-size:13.5px}
.barre-libelle{color:var(--muted)}
.barre-piste{height:14px;border-radius:7px;background:var(--sea);overflow:hidden}
.barre-valeur{display:block;height:100%;border-radius:7px;background:var(--accent);transform-origin:left;animation:pousser 1.1s var(--ease) both}
.barre-valeur.p5{background:#173f52}.barre-valeur.p4{background:#1f6fb2}.barre-valeur.p3{background:#5d9dd6}.barre-valeur.p2{background:#9cc3e6}.barre-valeur.p1{background:#c9dcef}
.barre-nombre{font-weight:700;color:var(--ink);text-align:end}
@keyframes pousser{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.anneau-bloc{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.anneau{position:relative;width:150px;height:150px;border-radius:50%;flex:none}
.anneau::after{content:"";position:absolute;inset:26px;border-radius:50%;background:var(--paper)}
.anneau span{position:absolute;inset:0;display:grid;place-items:center;z-index:1;font:400 32px var(--serif);color:var(--ink)}
.anneau-legende{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.anneau-legende li{display:flex;align-items:center;gap:8px}
.anneau-legende b{margin-inline-start:6px;color:var(--ink)}
.pastille-couleur{width:12px;height:12px;border-radius:3px;flex:none}
.lacunes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lacune{padding:16px 16px 14px;border-radius:14px;background:var(--white);border:1px solid var(--line);border-top:4px solid #9cc3e6}
.lacune.s3{border-top-color:#5d9dd6}.lacune.s4{border-top-color:#c0563f}.lacune.s5{border-top-color:#8a1f2b;background:#fff7f5}
.lacune-tete{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.lacune h4{margin:0;color:var(--ink);font:600 15px/1.35 var(--sans)}
.lacune .niveau{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.lacune.s4 .niveau,.lacune.s5 .niveau{color:#a33a2a}
.jauge{display:flex;gap:4px;margin:10px 0 8px}
.jauge span{flex:1;height:6px;border-radius:3px;background:var(--sea)}
.jauge span.plein{background:#5d9dd6}
.lacune.s4 .jauge span.plein{background:#d07a52}.lacune.s5 .jauge span.plein{background:#a33a2a}
.lacune .etat{font-weight:600;color:var(--ink);font-size:13.5px;margin:0 0 4px}
.lacune p{font-size:13.5px;margin:0 0 6px}
.lacune .ref{font-size:12px;color:var(--muted);margin:0}
.lacune-principale{margin:16px 0;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,#3a1f2b,#173f52);color:#fff}
.lacune-principale h4{margin:0 0 8px;font:400 22px/1.25 var(--serif);color:#fff}
.lacune-principale p{margin:0 0 8px;color:#eef3f6}
.lacune-principale .vigilance{font-size:13px;color:#f2c14e;margin:0}
.lectures{margin:12px 0 0;padding-inline-start:22px;display:grid;gap:8px;font-size:14px}
.lecture-auteurs{font-weight:600;color:var(--ink)}
.lectures .type{display:inline-block;margin-inline-start:6px;padding:1px 8px;border-radius:999px;background:var(--sea);font-size:11.5px;color:var(--muted)}
.cours{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.cours-carte{padding:16px 18px;border-radius:14px;background:var(--white);border:1px solid var(--line);border-inline-start:5px solid var(--accent)}
.cours-carte:nth-child(2){border-inline-start-color:var(--green)}.cours-carte:nth-child(3){border-inline-start-color:#c08a2e}
.cours-carte h4{margin:0 0 8px;color:var(--ink);font:600 15px/1.35 var(--sans)}
.cours-carte ul{margin:0;padding-inline-start:18px;display:grid;gap:6px;font-size:13.5px}
@media (max-width:860px){.lacunes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.barre-valeur{animation:none}}
.expertises{grid-template-columns:repeat(3,minmax(0,1fr))}
.expertises>div{border-top-width:5px}
.expertises>div:nth-child(9n+1){border-top-color:#173f52}.expertises>div:nth-child(9n+2){border-top-color:#344c9a}.expertises>div:nth-child(9n+3){border-top-color:#1f6fb2}.expertises>div:nth-child(9n+4){border-top-color:#286d5c}.expertises>div:nth-child(9n+5){border-top-color:#8c4d58}.expertises>div:nth-child(9n+6){border-top-color:#a0663b}.expertises>div:nth-child(9n+7){border-top-color:#5d6585}.expertises>div:nth-child(9n+8){border-top-color:#3f8f7f}.expertises>div:nth-child(9n+9){border-top-color:#c08a2e}
@media (max-width:1180px){.expertises{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.expertises{grid-template-columns:1fr}}

/* Bandeaux photo des salles */
.bandeau{--degrade:linear-gradient(100deg,color-mix(in srgb,var(--c1) 92%,transparent) 0%,color-mix(in srgb,var(--c1) 55%,transparent) 42%,rgba(0,0,0,.05) 75%);position:relative;height:clamp(180px,24vw,300px);margin:0 auto;max-width:1320px;border-radius:0 0 22px 22px;background-size:cover;background-position:center;overflow:hidden}
.salle .bandeau{border-radius:0}
.bandeau-texte{position:absolute;inset-inline-start:var(--gouttiere);bottom:26px;display:flex;flex-direction:column;gap:4px;color:#fff;max-width:min(560px,70%)}
.bandeau-num{font:700 13px var(--sans);letter-spacing:.16em;opacity:.85}
.bandeau-titre{font:400 clamp(32px,4vw,52px)/1.05 var(--serif);text-shadow:0 2px 18px rgba(0,0,0,.25)}
.bandeau-legende{font-size:15.5px;opacity:.92}
.section .section-corps{padding-top:56px}
html.hc .bandeau,html.lv .bandeau{--degrade:linear-gradient(100deg,var(--c1) 0%,var(--c1) 55%,rgba(0,0,0,.2) 100%)}

/* Apparitions au défilement */
@keyframes apparaitre{from{opacity:.001;transform:translateY(26px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.revele{animation:apparaitre linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}}

.presentation .identite .surtitre{white-space:nowrap;letter-spacing:.06em;font-size:11.5px}

/* En-tête : portrait rond et nom en typographie soignée */
.marque{gap:14px}

.marque strong{font:400 22px/1.15 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.marque small{font-size:12px;letter-spacing:.04em;color:var(--muted);margin-top:3px}
.coordonnees{display:flex;flex-wrap:wrap;gap:10px;margin:-14px 0 24px}
.coordonnees a{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:var(--accent-pale);color:var(--accent-fonce);font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.coordonnees a:hover{background:var(--accent);color:#fff}
.courriel a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.courriel a:hover{color:var(--accent);border-color:var(--accent)}

/* Salle Ressources : une section visuellement distincte par type */
.rg-ensemble{max-width:1220px;margin:0 auto;padding:0 var(--gouttiere) 88px;display:grid;gap:22px}
.rg{border-radius:20px;padding:26px 28px 24px}
.rg-titre{display:flex;align-items:center;gap:12px;margin:0 0 16px;font:400 clamp(24px,2.4vw,30px)/1.2 var(--serif)}
.rg-titre .compte{min-width:30px;height:26px;padding:0 9px;border-radius:999px;display:grid;place-items:center;font:700 13px var(--sans)}
.rg-langues{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.rg-langue{margin:0 0 10px;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.rg-articles{background:#fff;border:1px solid var(--line);border-top:6px solid #1f6fb2}
.rg-articles .rg-titre{color:#164f80}.rg-articles .compte{background:#1f6fb2;color:#fff}.rg-articles .rg-langue{color:#1f6fb2}
.rg-guides{background:#eef6f1;border:1px solid #cfe3d7}
.rg-guides .rg-titre{color:#1f5a4b}.rg-guides .compte{background:#286d5c;color:#fff}.rg-guides .rg-langue{color:#286d5c}
.rg-videos{background:linear-gradient(135deg,#10283a,#173f52);color:#e8f1f6}
.rg-videos .rg-titre{color:#fff}.rg-videos .compte{background:#f2c14e;color:#10283a}.rg-videos .rg-langue{color:#f2c14e}
.rg-videos .media{background:#1b3a4d;border-color:#2b5068}.rg-videos .media-texte strong{color:#fff}.rg-videos .media-texte small,.rg-videos .media-texte p{color:#c9dbe5}.rg-videos .media-texte a{color:#fff}
.rg-balados{background:linear-gradient(135deg,#3b2a52,#5a3f73);color:#f1eaf7}
.rg-balados .rg-titre{color:#fff}.rg-balados .compte{background:#e7b6ff;color:#3b2a52}.rg-balados .rg-langue{color:#e7b6ff}
.rg-balados .media{background:#4a3563;border-color:#6a4f88}.rg-balados .media-texte strong{color:#fff}.rg-balados .media-texte small,.rg-balados .media-texte p{color:#e2d6ee}.rg-balados .media-texte a{color:#fff}
.rg-balados .media-ecran.audio{background:linear-gradient(135deg,#7a4fa0,#3b2a52)}
.rg-presse{background:#fbf6ec;border:1px solid #eadfc8}
.rg-presse .rg-titre{color:#5c4300;font-style:italic}.rg-presse .compte{background:#c08a2e;color:#fff}.rg-presse .rg-langue{color:#8a6a2f}
.rg-presse .liens-contact a{background:#fffdf8}.rg-presse strong{font-family:var(--serif);font-weight:400;font-size:16.5px}
.section-medias{padding-bottom:20px}
@media (max-width:640px){.rg{padding:20px 16px}}
.expertises{grid-template-columns:repeat(2,minmax(0,1fr))}
.expertises p,.cadre p,.notions p,.lacune p,.valeur p,.cours-carte li,.liste p,.frise p,.media-texte p,.suggestions small,.travail p,.personne li,.piliers p{text-align:start;hyphens:auto}
@media (max-width:640px){.expertises{grid-template-columns:1fr}}
/* Valeurs : grille colorée */
.valeurs-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.valeur{position:relative;padding:22px 22px 18px;border-radius:18px;color:#fff;overflow:hidden}
.valeur.v0{background:linear-gradient(140deg,#173f52,#1f6fb2)}.valeur.v1{background:linear-gradient(140deg,#5a3f73,#8c4d58)}.valeur.v2{background:linear-gradient(140deg,#1f5a4b,#3f8f7f)}.valeur.v3{background:linear-gradient(140deg,#7a4a26,#c08a2e)}.valeur.v4{background:linear-gradient(140deg,#344c9a,#5d6585)}.valeur.v5{background:linear-gradient(140deg,#8a1f2b,#c0563f)}
.valeur-num{position:absolute;inset-inline-end:16px;top:10px;font:400 48px/1 var(--serif);opacity:.22}
.valeur h4{margin:0 0 8px;font:400 22px/1.2 var(--serif);color:#fff}
.valeur p{margin:0;font-size:14.5px;color:#eef3f6}
.devise-grande{margin-top:28px}
@media (max-width:640px){.valeurs-grille{grid-template-columns:1fr}}
/* Salles à colonne de gauche courte : en-tête en pleine largeur, contenu réparti sur deux colonnes */
.section-corps.pleine{grid-template-columns:1fr;gap:18px}
.section-corps.pleine .colonne-texte{max-width:860px}
.section-corps.pleine .colonne-outils{columns:2 440px;column-gap:40px}
.section-corps.pleine .colonne-outils>*{break-inside:avoid}
.section-corps.pleine .liste li{break-inside:avoid}
.section-corps.pleine .valeurs-grille{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-corps.pleine:has(.valeurs-grille) .colonne-outils{columns:auto}
.section-corps.pleine .loisirs{break-inside:avoid;margin-bottom:24px}
@media (max-width:980px){.section-corps.pleine .valeurs-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
.section-corps.pleine .titre-bloc{break-after:avoid}

/* Engagements illustrés */

.photo-groupe{width:100%;height:auto;aspect-ratio:7/4;object-fit:cover;border-radius:14px;box-shadow:0 12px 30px rgba(15,49,66,.14)}

.loisirs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.loisir{margin:0;border-radius:16px;overflow:hidden;background:var(--white);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.loisir:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(31,111,178,.16)}
.loisir .photo-groupe{border-radius:0;box-shadow:none;aspect-ratio:4/3}
.loisir figcaption{padding:12px 14px 14px}
.loisir figcaption span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.loisir figcaption strong{display:block;color:var(--ink);font-size:15.5px;margin-top:2px}
.loisir figcaption small{display:block;color:var(--muted);font-size:13px;margin-top:4px;line-height:1.4}
@media (max-width:860px){.loisirs{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.loisirs{grid-template-columns:1fr}}
/* Expertises méthodologiques illustrées */
.methodes{display:grid;gap:18px}
.methode{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;padding:20px;border-radius:18px;background:var(--white);border:1px solid var(--line);border-inline-start:6px solid var(--accent)}
.methode:nth-child(2){border-inline-start-color:#286d5c}.methode:nth-child(3){border-inline-start-color:#c08a2e}.methode:nth-child(4){border-inline-start-color:#8c4d58}
.methode h4{margin:0 0 8px;color:var(--ink);font:400 21px/1.25 var(--serif)}
.methode p{margin:0 0 10px;font-size:14.5px;text-align:start}
.methode-refs{margin:0;padding-inline-start:18px;font-size:12.5px;color:var(--muted);display:grid;gap:4px}
.methode-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.methode-figures figure{margin:0}
.methode-figures img{width:100%;height:150px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px}
.methode-figures figcaption{margin-top:6px;font-size:12px;line-height:1.4;color:var(--body)}
.methode-figures .source{display:block;color:var(--muted);font-style:italic;margin-top:2px}
.methode.methode-etendue{grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);align-items:start}
.methode-reperes{margin:18px 0 20px;line-height:1.65;font-size:14.5px}
.methode-reperes dt{margin:16px 0 4px;color:var(--ink);font-weight:600}
.methode-reperes dd{margin:0;color:var(--body);text-align:start;hyphens:none}
.methode-figures.methode-parcours{grid-template-columns:minmax(0,1fr);padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);align-self:start}
.methode-etapes{display:grid;gap:0;list-style:none;margin:0;padding:0}
.methode-etapes li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:12px 0}
.methode-etapes li+li{border-top:1px solid var(--line)}
.methode-etapes li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;direction:ltr}
.methode-etapes strong{font:600 15px/1.4 var(--sans);color:var(--ink);overflow-wrap:break-word}
.methode-parcours figcaption{padding-top:14px;border-top:1px solid var(--line);line-height:1.6}
@media(max-width:900px){.methode.methode-etendue{grid-template-columns:minmax(0,1fr)}}
@media (max-width:980px){.methode{grid-template-columns:1fr}}
@media (max-width:520px){.methode-figures{grid-template-columns:1fr}.methode-figures img{height:200px}}
.logo-falc{width:22px;height:22px;border-radius:4px;flex:none}
.logo-falc-bloc{margin:0 0 18px}
.logo-falc-bloc img{width:80px;height:auto;border-radius:10px}
.credit-falc{margin-top:28px;font-size:14px;color:var(--muted)}

/* Approche en pleine largeur : figures et cartes prennent l'espace */
.section-corps.pleine.large .colonne-texte{max-width:none}
.section-corps.pleine.large .colonne-outils{columns:auto}
.section-corps.pleine.large .expertises{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-corps.pleine.large .methode{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.section-corps.pleine.large .methode-figures img{height:260px}
.section-corps.pleine.large .piliers{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-corps.pleine.large .piliers-posture{grid-template-columns:repeat(2,minmax(0,1fr))}
.schema-discours{width:100%;height:auto;display:block;background:#fff;border:1px solid var(--line);border-radius:10px}
.schema-discours .niveau-1{fill:#e8eef8;stroke:#344c9a;stroke-width:2}
.schema-discours .niveau-2{fill:#d3e6df;stroke:#286d5c;stroke-width:2}
.schema-discours .niveau-3{fill:#173f52}
.schema-discours text{font:600 14px var(--sans);fill:var(--ink)}
.schema-discours text.centre{fill:#fff;font-size:18px}
@media (max-width:980px){.section-corps.pleine.large .expertises,.section-corps.pleine.large .piliers{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.section-corps.pleine.large .expertises,.section-corps.pleine.large .piliers{grid-template-columns:1fr}}

/* Mise en page harmonieuse : en-tête en pleine largeur, contenus en grilles alignées */
.section-corps.pleine{grid-template-columns:1fr;gap:28px;max-width:1240px}
.section-corps.pleine .colonne-texte,.section-corps.pleine .colonne-outils{columns:auto;max-width:none}
.section-corps.pleine .colonne-texte>h2,.section-corps.pleine .colonne-texte>.intro,.section-corps.pleine .colonne-texte>p:not(.surtitre):not(.badge-these){max-width:880px}
.section-corps.pleine .faits{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.section-corps.pleine .colonne-texte>.liens-contact{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.section-corps.pleine .carte-affiche{max-width:640px}
.section-corps.pleine .notions{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-corps.pleine .cadres{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-corps.pleine .codirection{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-corps.pleine .lacunes{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-corps.pleine .frise{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-corps.pleine .cycle-bloc{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:32px;align-items:center}
.section-corps.pleine .cycle-bloc .cycle{margin:0}
.section-corps.pleine .comparaison{grid-template-columns:repeat(2,minmax(0,1fr))}
.groupes-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.groupe-carte{border-radius:18px;background:var(--white);border:1px solid var(--line);overflow:hidden;box-shadow:0 8px 26px rgba(15,49,66,.06)}
.groupe-carte>.photo-groupe{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:0;box-shadow:none;display:block}
.groupe-corps{padding:18px 22px 20px}
.groupe-corps .titre-bloc{margin:0 0 12px}
.groupe-carte .liste{gap:0}
.groupe-carte .liste li{grid-template-columns:1fr;gap:2px;padding:10px 0;background:none;border:0;border-radius:0}
.groupe-carte .liste li+li{border-top:0}
.groupe-carte .liste li:hover{box-shadow:none}
.groupe-carte .liste .date{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.groupe-carte .liste h4{font-size:15px;margin:0}
.groupe-carte .liste p{font-size:13.5px;color:var(--muted)}
.groupe-large{grid-column:1 / -1}
.groupe-large .loisirs{margin-top:4px}
@media (max-width:980px){.section-corps.pleine :is(.notions,.cadres,.lacunes,.frise,.comparaison){grid-template-columns:repeat(2,minmax(0,1fr))}.section-corps.pleine .cycle-bloc{grid-template-columns:1fr}}
@media (max-width:760px){.groupes-grille,.section-corps.pleine :is(.notions,.cadres,.lacunes,.frise,.comparaison,.codirection){grid-template-columns:1fr}}

/* Coordonnées centrées dans la bande du haut ; carte de loisir sans photo */
.coordonnees-haut{flex:1 1 auto;justify-content:center;margin:0;gap:10px}
.coordonnees-haut a{padding:6px 14px;font-size:14px}
.loisir.sans-photo{display:flex;align-items:flex-end;min-height:100%;background:linear-gradient(135deg,var(--accent-pale),var(--white))}
.faits .doi{display:inline-block;margin-inline-start:6px;font-size:12.5px;font-weight:700;color:var(--accent-fonce)}
@media (max-width:760px){.coordonnees-haut{order:5;flex-basis:100%}}

/* Lectures : un thème par volet dépliable */
.lectures-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.lecture-theme{border:1px solid var(--line);border-radius:14px;background:var(--white);overflow:hidden}
.lecture-theme[open]{grid-column:1 / -1}
.lecture-theme>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;font-weight:700;color:var(--ink,inherit)}
.lecture-theme>summary:hover{background:var(--accent-pale)}
.lecture-theme .rg-langues{padding:4px 18px 18px}
.lectures-liste{margin:0;padding-inline-start:18px;font-size:13.5px;line-height:1.5}
.lectures-liste li{margin:0 0 8px;text-align:start;overflow-wrap:anywhere}
@media (max-width:760px){.lectures-themes{grid-template-columns:1fr}}

/* Six portes en 3 × 2 ; chaque porte ouvre ses petites portes */
.salles:not(.libre) main>section.section[data-salle]{display:none}
.portes{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.porte{grid-template-columns:118px minmax(0,1fr);gap:22px;padding:20px;padding-inline-end:22px;align-items:center}
.baie{width:118px}
.porte-contact .vignette{background:linear-gradient(160deg,var(--c1),var(--c2))}
.sous-portes{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.sous-portes span{padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--c1) 12%,transparent);color:var(--c2);font-size:12px;font-weight:600}
@media (max-width:1100px){.portes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.portes{grid-template-columns:1fr}.porte{grid-template-columns:92px minmax(0,1fr)}.baie{width:92px}}
/* Équilibre : en-têtes et textes dans une colonne centrée, grilles en pleine largeur */
.section-corps.pleine .colonne-texte>:is(p,h2,h3,blockquote,.badge-these){max-width:880px;margin-inline-start:max(0px,calc((100% - 880px) / 2))}
.porte-contact .vignette::before{content:"@";position:absolute;inset:0;display:grid;place-items:center;font:400 46px/1 var(--serif);color:rgba(255,255,255,.92)}
/* Ressources : français puis anglais l'un sous l'autre, cartes et vidéos centrées */
.rg .rg-langues{grid-template-columns:1fr}
.rg .liens-contact.suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:12px}
.rg .mediatheque{grid-template-columns:repeat(auto-fit,minmax(280px,360px));justify-content:center}
@media (max-width:760px){.rg .liens-contact.suggestions,.rg .mediatheque{grid-template-columns:1fr}}
/* Contact : un seul axe centré, liens en grille régulière */
.contact .section-corps.pleine{max-width:1040px;justify-items:stretch}
.contact .colonne-texte{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.contact .colonne-texte>*{margin-inline:0;max-width:720px}
.contact .colonne-texte>.primaire{margin:14px 0 8px}
.contact .colonne-texte>.courriel{margin:2px 0}
.contact .liens-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;text-align:start}
.contact .liens-contact{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.contact .liens-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.contact .liens-contact{grid-template-columns:1fr}}

/* Contact : deux actions côte à côte */
.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:14px 0 8px}
.contact .colonne-texte>.contact-actions{max-width:none}
.primaire.secondaire{background:var(--white);color:var(--accent-fonce);box-shadow:inset 0 0 0 1.5px currentColor}
.primaire.secondaire:hover{background:var(--accent-pale)}
.groupes-grille{align-items:stretch}
/* Couleurs des sous-catégories : chaque salle garde sa teinte, partout */
.porte{background:linear-gradient(180deg,color-mix(in srgb,var(--c1) 7%,var(--white)),var(--white) 70%);border-top:4px solid var(--c1)}
.sous-portes span{background:var(--c1);color:#fff}

/* Accueil : portes plus grandes et plus visibles, carte autour discrète */
.portes{gap:22px}
.porte{grid-template-columns:150px minmax(0,1fr);padding:18px 22px;background:transparent;border:1px solid transparent;border-top:0;box-shadow:none}
.porte:hover,.porte:focus-visible{background:color-mix(in srgb,var(--c1) 5%,transparent);border-color:color-mix(in srgb,var(--c1) 25%,transparent);box-shadow:none}
.porte .baie{width:150px;background:#fff;box-shadow:0 0 0 6px #fff,0 0 0 8px var(--c1),0 18px 26px -14px rgba(15,49,66,.6)}
.porte .battant{border-color:color-mix(in srgb,var(--c1) 45%,#c3d5d8)}
.porte .poignee{background:var(--c1)}
.plaque{font-size:19px}
.sous-portes span{cursor:pointer;transition:transform .2s,box-shadow .2s}
.sous-portes span:hover{transform:translateY(-1px);box-shadow:0 4px 10px -4px var(--c1)}
/* Engagements : éléments en cartes alignées ; loisirs sur une ligne */
.liste-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.liste.liste-cartes li{display:block;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:14px}
.liste-cartes .date{display:inline-block;margin-bottom:4px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.loisirs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.loisirs-etendus{grid-template-columns:repeat(4,minmax(0,1fr))}
.loisir-bienetre .photo-groupe{object-position:center top}
@media(max-width:1100px){.loisirs-etendus{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.loisirs-etendus{grid-template-columns:1fr}}
@media (max-width:1100px){.porte{grid-template-columns:118px minmax(0,1fr)}.porte .baie{width:118px}}
@media (max-width:640px){.porte{grid-template-columns:92px minmax(0,1fr)}.porte .baie{width:92px}}

/* Notions clés */
.carte-notion .groupe-corps>p{font-size:15px;line-height:1.65;text-align:start}

.notion-refs{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.notion-refs a{overflow-wrap:anywhere}
/* Références : grille de cartes équilibrée */
.lectures-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:0;list-style:none}
.lectures-liste li{margin:0;padding:10px 14px;background:var(--white);border:1px solid var(--line);border-radius:10px;font-size:13px}
@media (max-width:760px){.lectures-liste{grid-template-columns:1fr}}
.carte-notion .titre-bloc{font:400 22px/1.2 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 10px}

/* Lexique : cadres distincts et lecture en quatre familles. */
.lexique .colonne-texte>.intro{text-align:start;hyphens:none;max-width:85ch}
.lexique .lexique-famille{margin:6px 0 20px;font:600 18px/1.4 var(--sans);color:var(--ink)}
.lexique-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.lexique .notion-cadre{min-width:0;margin:0;border:1px solid #b6c9d0;border-radius:10px;background:var(--white);box-shadow:0 6px 22px rgba(23,63,82,.05)}
.lexique .notion-cadre .groupe-corps{padding:24px}
.notion-entete{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.lexique .notion-entete .titre-bloc{margin:0;font:400 23px/1.2 var(--serif);color:var(--ink);overflow-wrap:break-word}
.notion-numero{display:inline-grid;place-items:center;flex:none;min-width:30px;height:30px;border:1px solid var(--line);border-radius:5px;background:var(--sea);color:var(--muted);font:600 12px/1 var(--sans)}
.lexique .notion-cadre p{font-size:14.5px;line-height:1.6;text-align:start;hyphens:none;margin:0}
.lexique .notion-usage{margin:18px 0;padding:14px 16px;border-radius:6px;background:#f0f5f5}
.lexique .notion-usage .notion-libelle{margin:0 0 6px;font:600 11.5px/1.4 var(--sans);letter-spacing:.05em;color:var(--green)}
.lexique .notion-cadre .notion-precision{font-size:13.5px;line-height:1.55;color:var(--muted)}
.notion-precision strong{color:var(--ink);font-weight:600}
.notion-biblio{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}
.notion-biblio summary{cursor:pointer;font:600 13px/1.5 var(--sans);color:var(--ink);padding:4px 0;overflow-wrap:break-word}
.notion-biblio[open] summary{margin-bottom:12px}
.notion-biblio .notion-refs{gap:12px;font-size:12.5px;line-height:1.55}
.notion-biblio .notion-refs li{padding-inline-start:18px;text-indent:-18px;overflow-wrap:break-word}
.notion-biblio .notion-refs a{color:var(--accent);overflow-wrap:anywhere;text-underline-offset:3px}
@media(max-width:760px){.lexique-grille{grid-template-columns:1fr;gap:18px}.lexique .notion-cadre .groupe-corps{padding:20px}.lexique .notion-entete .titre-bloc{font-size:22px}}
html.hc .lexique .notion-cadre,html.lv .lexique .notion-cadre{border:2px solid var(--line);box-shadow:none}
html.hc .lexique .notion-usage,html.lv .lexique .notion-usage{background:var(--white);border:1px solid var(--line)}
/* Étiquettes des sous-catégories allégées : fond clair, simple pastille de couleur */
.sous-portes span{display:inline-flex;align-items:center;gap:6px;background:var(--white);color:var(--ink);border:1px solid var(--line);font-weight:500}
.sous-portes span::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--c1)}
.sous-portes span:hover{border-color:var(--c1);box-shadow:none}
/* Icônes courriel et téléphone */
.coordonnees a{gap:7px}
.coordonnees a svg,.contact .courriel a svg{flex:none;width:16px;height:16px}
.contact .courriel a{display:inline-flex;align-items:center;gap:8px}
.porte .battant{transition-duration:.6s}
/* Poignée ronde dorée */
.poignee,.porte .poignee{width:11px;height:11px;top:54%;inset-inline-end:9%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6cf 0%,#e8c25a 38%,#b8861f 70%,#7a5510 100%);box-shadow:0 1px 2px rgba(40,25,0,.45),inset 0 -1px 1px rgba(80,50,0,.35)}
.porte .poignee{width:13px;height:13px}
.poignee,.porte .poignee{top:72.5%;inset-inline-end:7%}
/* Barre colorée, poignée ronde dorée au-dessus ; ouverture teintée de la couleur de la porte */
.poignee,.porte .poignee{width:3px;height:12%;top:78%;inset-inline-end:8%;border-radius:2px;background:var(--c1);box-shadow:none}
.poignee::before{content:"";position:absolute;left:50%;top:-13px;width:11px;height:11px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6cf 0%,#e8c25a 38%,#b8861f 70%,#7a5510 100%);box-shadow:0 1px 2px rgba(40,25,0,.45),inset 0 -1px 1px rgba(80,50,0,.35)}
.porte .poignee::before{width:13px;height:13px;top:-16px}
.ouverture{background:radial-gradient(120% 70% at 50% 75%,color-mix(in srgb,var(--c1) 10%,rgba(255,255,255,.7)) 0%,color-mix(in srgb,var(--c1) 30%,rgba(255,255,255,.4)) 100%);box-shadow:inset 0 8px 12px color-mix(in srgb,var(--c1) 22%,transparent)}
.apercu{color:color-mix(in srgb,var(--c1) 80%,#000)}
/* Poignée réaliste : plaque colorée sur le montant, rosace et bec-de-cane dorés qui s'abaissent à l'ouverture */
.vignette{inset-inline-end:27%}
.poignee,.porte .poignee{top:40%;inset-inline-end:8%;width:6%;min-width:3px;height:17%;border-radius:3px;background:var(--c1);box-shadow:0 1px 2px rgba(15,30,40,.3)}
.poignee::before{content:"";position:absolute;left:50%;top:30%;width:180%;aspect-ratio:1;height:auto;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6cf 0%,#e8c25a 38%,#b8861f 70%,#7a5510 100%);box-shadow:0 1px 2px rgba(40,25,0,.45);z-index:2}
.poignee::after{content:"";position:absolute;right:50%;top:30%;width:420%;height:22%;min-height:2px;transform:translateY(-50%) rotate(0deg);transform-origin:100% 50%;border-radius:2px;background:linear-gradient(180deg,#fbe7a1 0%,#d9ac3c 55%,#8a6512 100%);box-shadow:0 1px 1.5px rgba(40,25,0,.4);transition:transform .3s var(--ease);z-index:1}
.porte .poignee::before{top:30%;width:180%}
.porte:hover .poignee::after,.porte:focus-visible .poignee::after,.porte.ouverte .poignee::after{transform:translateY(-50%) rotate(-40deg)}
.poignee::after{width:250%;height:18%}
.poignee::before,.porte .poignee::before{width:150%}
.vignette{inset-inline-end:28%}
.poignee::after{width:215%}

/* Outils numériques : OWNNIGHT et les Sphères */
.projets{display:grid;gap:30px}
.projet{border:1px solid var(--line);border-radius:22px;background:var(--white);overflow:hidden;box-shadow:0 14px 34px -22px rgba(15,49,66,.35)}
.projet-tete{padding:24px 28px;color:#fff}
.projet-ownnight .projet-tete{background:linear-gradient(135deg,#141c3c,#2f3f7a 60%,#5a4a9a)}
.projet-spheres .projet-tete{background:linear-gradient(135deg,#123a4a,#1f6f86 60%,#3f8a6f)}
.projet-tete h3{margin:0;font:400 30px/1.15 var(--serif);color:#fff}
.projet-slogan{margin:6px 0 10px;font-size:16px;font-style:italic;opacity:.92}
.projet-statut{display:inline-block;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12.5px;font-weight:600;letter-spacing:.02em}
.projet-corps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;padding:26px 28px;align-items:start}
.projet-bloc+.projet-bloc{margin-top:16px}
.projet-bloc h4{margin:0 0 4px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.projet-bloc p{margin:0;font-size:15px;line-height:1.65}
.galerie-ownnight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ecran-tel{width:100%;border-radius:22px;border:5px solid #0d1226;box-shadow:0 12px 24px -12px rgba(10,15,40,.6)}
.galerie-spheres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.galerie-spheres .ecran-tab:first-child{grid-column:1 / -1}
.ecran-tab{width:100%;border-radius:12px;border:4px solid #1d2a33;box-shadow:0 10px 22px -12px rgba(10,30,40,.55)}
@media (max-width:900px){.projet-corps{grid-template-columns:1fr}}

/* Portes académiques : porte peinte, moulures, vitrage, plaque et poignée en laiton, chambranle crème */
.porte .baie{background:#f6f1e6;box-shadow:0 0 0 6px #efe8d8,0 0 0 7px #d6cbb3,0 18px 26px -14px rgba(15,49,66,.5)}
.battant,.porte .battant{background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 2px,rgba(0,0,0,.035) 2px 5px),linear-gradient(165deg,color-mix(in srgb,var(--c1) 88%,#fff),var(--c1) 45%,color-mix(in srgb,var(--c1) 72%,#000));border:1px solid color-mix(in srgb,var(--c1) 60%,#000);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--c1) 85%,#000),inset 0 0 0 4px rgba(255,255,255,.12)}
.vignette{border-radius:1px;box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 70%,#000),0 0 0 4px rgba(255,255,255,.22),inset 0 0 12px rgba(0,0,0,.18)}
.battant::after{border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(255,255,255,.04));box-shadow:inset 0 2px 5px rgba(0,0,0,.28),0 1px 0 rgba(255,255,255,.12)}

.porte .vignette{height:58%}
.poignee,.porte .poignee{background:linear-gradient(90deg,#9c7424,#e7c66d 45%,#a97f2a)}
.porte-contact .vignette{background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05))}
.porte:hover,.porte:focus-visible{background:transparent}
/* Teintes de porte plus sobres (peinture profonde, veinage discret) */
.battant,.porte .battant{background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 2px,rgba(0,0,0,.022) 2px 6px),linear-gradient(165deg,color-mix(in srgb,var(--c1) 74%,#4a4a4a),color-mix(in srgb,var(--c1) 66%,#262626) 55%,color-mix(in srgb,var(--c1) 58%,#141414))}

/* Portes académiques : couleurs adoucies */
.battant,.porte .battant{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 2px,rgba(0,0,0,.018) 2px 6px),linear-gradient(165deg,color-mix(in srgb,var(--c1) 34%,#f1ece2),color-mix(in srgb,var(--c1) 42%,#e2dbcd) 55%,color-mix(in srgb,var(--c1) 50%,#cfc6b4));border:1px solid color-mix(in srgb,var(--c1) 40%,#9a907e);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--c1) 30%,#c9c0ad),inset 0 0 0 4px rgba(255,255,255,.35)}
.vignette{box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 45%,#8f8676),0 0 0 4px rgba(255,255,255,.45),inset 0 0 10px rgba(0,0,0,.12)}
.battant::after{border:1px solid rgba(255,255,255,.4);background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(255,255,255,.12));box-shadow:inset 0 2px 4px rgba(0,0,0,.14),0 1px 0 rgba(255,255,255,.4)}
.porte-contact .vignette{background:linear-gradient(160deg,color-mix(in srgb,var(--c1) 55%,#fff),color-mix(in srgb,var(--c1) 70%,#fff));color:var(--c1)}
.porte-contact .vignette::before{color:#fff}

/* Porte moderne : battant blanc mat, grande vitre, liseré de couleur côté charnière, barre de tirage en acier brossé */
.porte .baie{background:#eef1f1;box-shadow:0 0 0 1px #d5dcde,0 16px 28px -16px rgba(15,49,66,.45)}
.battant,.porte .battant{background:linear-gradient(180deg,#ffffff,#f3f5f5);border:1px solid #dde3e4;box-shadow:inset 4px 0 0 var(--c1)}
[dir="rtl"] .battant{box-shadow:inset -4px 0 0 var(--c1)}
.vignette,.porte .vignette{inset-inline-start:11%;inset-inline-end:22%;top:7%;height:76%;border-radius:4px;box-shadow:0 1px 3px rgba(15,30,40,.18)}
.battant::after{display:none}
.poignee,.porte .poignee{top:34%;inset-inline-end:8%;width:3.5%;min-width:2px;height:32%;aspect-ratio:auto;border-radius:3px;background:linear-gradient(90deg,#6f787c,#d8dee0 45%,#7d878b);box-shadow:1px 1px 2px rgba(15,30,40,.3)}
.poignee::before,.poignee::after{display:none}
.porte-contact .vignette{background:linear-gradient(160deg,color-mix(in srgb,var(--c1) 55%,#fff),var(--c1))}

/* Logos de l'affiche dans La recherche */
.logos-recherche{margin:22px 0 4px;padding:18px 26px;background:#fff;border:1px solid var(--line);border-radius:16px}
.logos-recherche img{display:block;width:100%;max-width:1000px;height:auto;margin:0 auto}
/* Pas de cadre autour de la porte au survol */
.porte,.porte:hover,.porte:focus-visible{background:transparent;border-color:transparent;box-shadow:none;border-top:0}
.porte:focus-visible{outline:2px solid var(--c1);outline-offset:4px}
/* Poignée moderne grise : plaque, rosace et bec-de-cane en acier qui s'abaisse à l'ouverture */
.vignette,.porte .vignette{inset-inline-end:26%}
.poignee,.porte .poignee{top:46%;inset-inline-end:9%;width:4%;min-width:2px;height:10%;aspect-ratio:auto;border-radius:2px;background:linear-gradient(90deg,#7d878b,#cfd5d8 50%,#7d878b);box-shadow:0 1px 1.5px rgba(15,30,40,.3)}
.poignee::before,.porte .poignee::before{display:block;content:"";position:absolute;left:50%;top:35%;right:auto;bottom:auto;width:210%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6f8f9 0%,#bcc4c7 55%,#737d81 100%);box-shadow:0 1px 2px rgba(15,30,40,.35);z-index:2}
.poignee::after{display:block;content:"";position:absolute;right:50%;top:35%;width:340%;height:26%;min-height:2px;transform:translateY(-50%) rotate(0deg);transform-origin:100% 50%;border-radius:2px;background:linear-gradient(180deg,#f1f3f4 0%,#aeb7bb 55%,#6c767a 100%);box-shadow:0 1px 1.5px rgba(15,30,40,.35);transition:transform .3s var(--ease);z-index:1}
.porte:hover .poignee::after,.porte:focus-visible .poignee::after,.porte.ouverte .poignee::after{transform:translateY(-50%) rotate(-40deg)}
.poignee::after{width:280%}
.porte:focus,.porte:focus-visible{outline:none}

.sous-portes{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}

/* Barre de salle : boutons Le hall et Porte suivante bien visibles */
.salle .salle-barre button[data-retour]{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;border:1.5px solid var(--c1);background:var(--white);color:var(--c1);font:600 15px/1.2 var(--sans,inherit);cursor:pointer;box-shadow:0 6px 16px -10px rgba(15,49,66,.45);transition:background .2s,color .2s,transform .2s var(--ease)}
.salle .salle-barre button[data-retour]:hover,.salle .salle-barre button[data-retour]:focus-visible{background:var(--c1);color:#fff;transform:translateX(-2px)}
.salle .salle-barre button[data-suivante],.salle .salle-barre button[data-contact]{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;border:0;background:var(--c1);color:#fff;font:600 15px/1.2 var(--sans,inherit);cursor:pointer;box-shadow:0 10px 22px -10px var(--c1);transition:filter .2s,transform .2s var(--ease)}
.salle .salle-barre button[data-suivante]:hover,.salle .salle-barre button[data-contact]:hover,.salle .salle-barre button[data-suivante]:focus-visible{filter:brightness(1.1);transform:translateX(2px)}
.salle .salle-barre button[data-ecouter],.salle .salle-barre button[data-arreter]{border-radius:999px;padding:8px 14px;border:1px solid var(--line);background:var(--white)}
.salle .salle-barre .salle-actions{display:flex;align-items:center;gap:10px}
.salle .salle-barre button[data-retour]:focus:not(:hover){outline:none;background:var(--white);color:var(--c1);transform:none}

/* Barre de salle sobre : une seule couleur, sur « Porte suivante » */
.salle{border-top:0}
#salle-titre{color:var(--ink)!important}
.salle-progres span.actif{background:var(--ink)}
.salle .salle-barre button[data-retour]{border-color:var(--ink);color:var(--ink)}
.salle .salle-barre button[data-retour]:hover,.salle .salle-barre button[data-retour]:focus-visible{background:var(--ink);color:#fff}
.salle .salle-barre button[data-retour]:focus:not(:hover){color:var(--ink)}

/* Vitrines d'expertise */
.grille-vitrine{grid-template-columns:repeat(3,minmax(0,1fr))}
.carte-vitrine .titre-bloc{font:400 20px/1.25 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 10px}
.vitrine-liste{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.vitrine-liste li{position:relative;padding-inline-start:16px;font-size:14.5px;line-height:1.5}
.vitrine-liste li::before{content:"";position:absolute;inset-inline-start:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.projets-vignettes{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:end;margin-top:14px}
.vignette-projet.ecran-tel{border-width:4px;border-radius:14px}
.lien-salle{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:8px 16px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:14px;text-decoration:none}
.lien-salle:hover{filter:brightness(1.15)}
@media (max-width:1100px){.grille-vitrine{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.grille-vitrine{grid-template-columns:1fr}}
/* Monogramme : r et j en diagonale autour d'une barre dorée */

.carte-vitrine.carte-large{grid-column:1 / -1;background:linear-gradient(180deg,#f4f8fb,#fff)}
.carte-large .vitrine-liste{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.groupe-corps>.cnp-introduction{text-align:start;hyphens:none;max-width:90ch;margin:0 0 20px}
.cnp-reperes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.cnp-reperes>div{min-width:0;border-inline-start:2px solid var(--line);padding-inline-start:16px}
.cnp-reperes h4,.cnp-competences{margin:0 0 8px;font:600 15px/1.4 var(--sans);color:var(--ink)}
.cnp-reperes p{margin:0 0 10px;font-size:14.5px;line-height:1.55;text-align:start;hyphens:none}
.cnp-reperes a{font-size:13.5px;color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:700px){.cnp-reperes{grid-template-columns:1fr;gap:18px}}
@media (max-width:700px){.carte-large .vitrine-liste{grid-template-columns:1fr}}

.sous-portes span[data-lien]{cursor:pointer}
/* Textes descriptifs justifiés, avec césure, partout */
.section-corps .colonne-texte>p:not(.surtitre):not(.badge-these),.section-corps .intro,.groupe-corps>p,.carte-notion .groupe-corps>p:not(.notion-refs-titre),.projet-bloc p,.liste p,.chapeau p,.presentation p:not(.surtitre):not(.roles):not(.encadrement),.travaux p,.lacunes p,.notions p,.cadres p,.valeurs-grille p,.faits span,.rg .apport,.suggestions small.apport{text-align:start;hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty}
.section-corps .colonne-texte>h2,.groupe-corps h3,.vitrine-liste li,.lectures-liste li,.notion-refs li{text-align:start}
.porte{align-items:start}.porte-texte{padding-top:6px}.portes{align-items:start}

.porte .plaque{flex-direction:column;align-items:flex-start;gap:6px;font-size:18px;line-height:1.25;min-height:calc(26px + 6px + 2.5em)}
/* Hall clair : murs, sol continu en perspective et lumière naturelle. */
.hall{position:relative;isolation:isolate}
.hall::before,.hall::after{content:"";position:absolute;inset:-14px -12px -10px;pointer-events:none}
.hall::before{z-index:-2;background:linear-gradient(90deg,rgba(143,165,153,.08),transparent 28px,transparent calc(100% - 28px),rgba(143,165,153,.08)),linear-gradient(180deg,#e6ede7 0,#fff 5px,#eef3ec 6px,#fafcf8 70px,#f5f8f2 100%);box-shadow:inset 1px 0 rgba(134,158,143,.13),inset -1px 0 rgba(134,158,143,.13);border-radius:3px}
.hall::after{z-index:-1;background:linear-gradient(112deg,transparent 8%,rgba(255,255,255,.8) 25%,transparent 42%,transparent 54%,rgba(255,255,255,.6) 72%,transparent 88%);animation:hall-lumiere 26s ease-in-out infinite alternate}
.portes>.porte{position:relative;isolation:isolate;--hall-sol-position:0%}
.portes>.porte:nth-child(3n+2){--hall-sol-position:50%}
.portes>.porte:nth-child(3n){--hall-sol-position:100%}
.portes>.porte::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset-inline:-8px;top:calc(8px + var(--largeur-porte) / .62 - 6px);bottom:-8px;background:url("hall-sol.svg") var(--hall-sol-position) top / 300% 100% no-repeat}
@keyframes hall-lumiere{from{transform:translate3d(-1.5%,0,0);opacity:.5}to{transform:translate3d(1.5%,0,0);opacity:.8}}
@media(max-width:1100px){
  .portes>.porte:nth-child(n){--hall-sol-position:0%}
  .portes>.porte:nth-child(2n){--hall-sol-position:100%}
  .portes>.porte::before{background-size:200% 100%}
}
@media(max-width:700px){
  .hall::before,.hall::after{inset:-8px -8px -6px}
  .hall::after{animation:none;opacity:.6}
  .portes>.porte::before{display:none}
}
@media(prefers-reduced-motion:reduce){.hall::after{animation:none;transform:none;opacity:.6}}
html.hc .hall::before,html.hc .hall::after,html.hc .portes>.porte::before,
html.lv .hall::before,html.lv .hall::after,html.lv .portes>.porte::before{display:none}
@media(forced-colors:active){.hall::before,.hall::after,.portes>.porte::before{display:none}}

/* Hall : portes identiques et proportionnées, texte sans espaces forcés. */
.portes{align-items:stretch;grid-auto-rows:1fr;gap:16px}
.porte{--largeur-porte:160px;min-height:0;grid-template-columns:var(--largeur-porte) minmax(0,1fr);grid-template-rows:auto;gap:12px;padding:8px 4px;align-items:start}
.porte-texte{display:flex;flex-direction:column;gap:8px;grid-column:2;grid-row:1;align-self:stretch;padding-top:0}
.porte .baie{position:relative;inset:auto;grid-column:1;grid-row:1;width:var(--largeur-porte);height:auto;aspect-ratio:.62;min-height:0;overflow:hidden}
.porte .ouverture{perspective:1800px}
.porte .plaque{min-height:0}
.porte .sous-portes{align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(min-content,1fr));align-items:stretch;min-width:0;margin-top:0}
.porte .sous-portes span{display:inline-flex;gap:4px;min-width:0;max-width:100%;justify-self:stretch;padding:4px 5px;border-radius:2px;line-height:1.35;hyphens:none;overflow-wrap:normal}
.porte .sous-portes span::before{width:2px;height:12px;border-radius:1px}
.porte .sous-portes span:last-child:nth-child(odd){grid-column:1 / -1}
.porte .entrer{margin-top:auto;text-align:right}
@media (max-width:1100px){.porte{--largeur-porte:126px}}
@media (max-width:700px){.portes{grid-template-columns:1fr}.porte{--largeur-porte:98px}}
@media (max-width:380px){.porte{--largeur-porte:77px;column-gap:10px;padding-inline:4px}.porte .sous-portes span{padding-inline:5px}}

/* Modèle de porte : huisserie, vitrage et panneau mouluré, mêmes couleurs et ouverture. */
.porte .baie{background:linear-gradient(90deg,#d9dedc,#fafbf7 4%,#e9ede8 8%,#e9ede8 92%,#fafbf7 96%,#c7cecb);border-radius:1px;box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 rgba(72,87,79,.24),inset 2px 2px 0 rgba(255,255,255,.5),inset -2px -2px 0 rgba(72,87,79,.1),0 0 0 1px #bdc6c4,0 1px 0 1px #fff,0 13px 20px -13px rgba(15,49,66,.5)}

/* En-tête : initiales et domaines d'expertise plus lisibles. */
.entete .marque{flex:1 1 420px;max-width:100%}
.marque-domaines{display:block;min-width:0;color:var(--ink);font-size:14px;font-weight:500;line-height:1.4;white-space:normal;overflow-wrap:break-word;text-wrap:balance}
@media (max-width:640px){.entete .marque{flex-basis:100%}.page-abregee .entete{flex-wrap:wrap}.marque-domaines{font-size:13px}}

/* Téléphone : accès rapide aux six salles, détails dans la salle ouverte. */
@media (max-width:700px){
  .accueil{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:22px;padding-bottom:36px}
  .accueil .presentation{display:contents}
  .accueil .identite{order:-2;gap:14px;min-width:0;margin:0;align-items:center}
  .accueil .identite>div{min-width:0}
  .accueil .portrait{width:72px}
  .accueil h1{font-size:34px}
  .accueil .roles{font-size:13px;line-height:1.45;margin-top:8px}
  .accueil .identite .surtitre{font-size:10px;line-height:1.45;margin-bottom:6px;white-space:normal}
  .accueil .hall{order:-1;min-width:0}
  .accueil .chapeau,.accueil .encadrement,.accueil .actions{grid-column:auto;grid-row:auto;min-width:0}
  .accueil .encadrement{margin-bottom:0}
  .hall-tete{margin-bottom:12px}
  .portes{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:10px}
  .porte{--largeur-porte:48px;grid-template-columns:var(--largeur-porte) minmax(0,1fr);gap:8px;padding:12px 8px;min-height:0;border:1px solid var(--line);border-radius:6px;background:var(--white)}
  .porte-texte{gap:8px;min-width:0}
  .porte .plaque{align-items:stretch;font-size:14px;line-height:1.28;min-height:0;gap:5px;overflow-wrap:break-word}
  .porte .num{align-self:flex-start;min-width:23px;height:23px;font-size:11px;border-radius:5px}
  .porte .legende,.porte .sous-portes{display:none}
  .porte .entrer{font-size:12px;line-height:1.4}
  .hall-pied{margin-top:10px;font-size:12px}
  .accueil .trajectoire{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accueil .trajectoire-texte,.accueil .chiffres span{overflow-wrap:anywhere}
  .salle .salle-barre{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;padding:10px var(--gouttiere)}
  .salle-barre #salle-titre{grid-column:1 / -1;grid-row:2;font-size:12px}
  .salle .salle-barre .salle-actions{min-width:0;gap:5px;flex-wrap:wrap;justify-content:flex-end}
  .salle .salle-barre button[data-retour],.salle .salle-barre button[data-suivante],.salle .salle-barre button[data-contact]{padding:7px 9px;font-size:12px;line-height:1.3;gap:4px;border-radius:7px}
  .salle .salle-barre button[data-ecouter],.salle .salle-barre button[data-arreter]{padding:6px;font-size:11px;border-radius:7px}
  .salle-actions [data-ecouter] span{display:none}
  .salle-progres{position:static}
  .salle-contenu .section-corps{padding-top:28px}
  .menu:not([open]) .menu-panneau{display:none}
  .menu-panneau .taille span{min-width:0}
}
@media (max-width:640px){
  .entete{position:relative;gap:6px;padding:10px var(--gouttiere)}
  .entete .outils{order:2;flex-basis:100%;justify-content:flex-end;gap:8px;margin:0}
  .entete .nav{margin:4px 0 0;padding:7px 0 0;gap:8px;border-radius:0}
  .entete .nav a{min-height:44px;padding:9px 12px;border-radius:6px}
  .coordonnees-haut{display:none}
}
@media (max-width:380px){
  .porte{--largeur-porte:42px;gap:7px;padding:10px 7px}
  .porte .plaque{font-size:13px}
  .accueil .portrait{width:60px}
  .accueil h1{font-size:30px}
}

/* Textes traduits : chaque colonne garde sa largeur et accepte les retours à la ligne. */
.presentation .identite,.presentation .chapeau,.presentation .identite>div{min-width:0}
.presentation .identite>div{flex:1}
.presentation .identite .surtitre{white-space:normal;overflow-wrap:break-word}
.presentation .roles{text-align:start;overflow-wrap:break-word;hyphens:none}
.porte .sous-portes{grid-template-columns:repeat(2,minmax(0,1fr))}
.porte .sous-portes span{overflow-wrap:break-word}

/* Le monogramme de l'en-tête garde les proportions de l'icône d'onglet. */

.reperes-transmission .ref{font-size:12.5px;margin:14px 0 0;text-align:start}
.reperes-transmission .ref a{color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
.communication-visuelle{min-width:0;margin-block:24px 42px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.comm-entete{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:8px}
.comm-entete h3{max-width:650px;margin:0;font:400 28px/1.25 var(--serif);color:var(--ink)}
.comm-entete p{max-width:420px;margin:0;font-size:14px;line-height:1.65;color:var(--muted)}
.communication-visuelle :is(p,li){text-align:start;hyphens:none;-webkit-hyphens:none}
.communication-visuelle .comm-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:20px 0 24px;border:0;min-width:0}
.communication-visuelle .comm-nav button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:126px;padding:18px 12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);text-align:center;transition:background .18s,color .18s,border-color .18s}
.communication-visuelle .comm-nav button:hover{border-color:var(--ink);background:var(--sea)}
.communication-visuelle .comm-nav button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.comm-nav strong{font:600 13.5px/1.35 var(--sans);overflow-wrap:break-word}
.comm-num{position:absolute;inset-block-start:8px;inset-inline-end:10px;font:600 10px/1.3 var(--sans);letter-spacing:.05em;direction:ltr}
.comm-icone{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--sea)}
.comm-icone svg{width:31px;height:31px}
.comm-nav button[aria-selected=true] .comm-icone{background:rgba(255,255,255,.13)}
.comm-panel{min-width:0;padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--white)}
.comm-panel[hidden]{display:none}
.comm-panel-entete h4{margin:0 0 12px;color:var(--ink);font:400 29px/1.25 var(--serif)}
.comm-panel-entete p{max-width:1000px;margin:0;font-size:16px;line-height:1.75}
.comm-atelier{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:28px;margin-block:28px}
.comm-pratique>h5,.comm-vigilance h5{margin:0 0 12px;font:600 13px/1.4 var(--sans);color:var(--ink)}
.comm-pratique ol{counter-reset:comm-action;display:grid;gap:18px;margin:0;padding:0;list-style:none}
.comm-pratique li{position:relative;counter-increment:comm-action;padding-inline-start:42px;min-width:0}
.comm-pratique li::before{content:counter(comm-action);position:absolute;inset-inline-start:0;top:0;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--sea);color:var(--ink);font:600 12px/1 var(--sans)}
.comm-pratique li>strong{display:block;margin-bottom:5px;font:600 16px/1.4 var(--sans);color:var(--ink)}
.comm-pratique li>p{margin:0;font-size:15px;line-height:1.7}
.comm-exemple{min-width:0;padding:26px;border-radius:12px;background:var(--ink);color:#fff}
.comm-exemple h5{margin:0 0 16px;font:600 11px/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#bfe3e5}
.comm-exemple .comm-formulation{margin:0;color:#fff;font:400 23px/1.5 var(--serif);overflow-wrap:break-word}
.comm-livrable{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.3)}
.comm-livrable h5{margin-bottom:7px}
.comm-livrable p{margin:0;color:#fff;font-size:14px;line-height:1.7}
.comm-vigilance{display:flex;gap:14px;align-items:flex-start;padding:17px 18px;border-radius:10px;background:var(--sea);color:var(--ink)}
.comm-vigilance>svg{width:22px;height:22px;flex:0 0 22px;margin-top:1px}
.comm-vigilance h5{margin-bottom:6px}
.comm-vigilance p{margin:0;font-size:14px;line-height:1.7}
.comm-panel .comm-sources{margin:18px 0 0;font-size:12.5px;line-height:1.65}
.comm-sources a{color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
.comm-boucle{display:flex;gap:12px;align-items:center;margin:20px 0 0;font-size:13px;line-height:1.65;color:var(--muted)}
.comm-boucle>svg{width:22px;height:22px;flex:0 0 22px;color:var(--green)}
@media(max-width:850px){
  .comm-entete{flex-direction:column;gap:12px}
  .comm-entete p{max-width:none}
  .communication-visuelle .comm-nav{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
  .communication-visuelle .comm-nav button{flex:0 0 148px;scroll-snap-align:start}
  .comm-atelier{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .communication-visuelle{padding:16px;border-radius:14px}
  .comm-entete h3{font-size:25px}
  .comm-panel{padding:20px 16px}
  .comm-panel-entete h4{font-size:25px}
  .communication-visuelle .comm-nav button{flex-basis:136px;min-height:112px}
  .comm-exemple{padding:22px}
  .comm-exemple .comm-formulation{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.communication-visuelle .comm-nav button{transition:none}}
.references-transmission{overflow-wrap:break-word}

/* Affiliations de la thèse : titres, descriptions et liens alignés, sans justification. */
.section-corps.pleine .faits-these{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.faits-these li{grid-column:span 2;display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px 20px}
.faits-these li:nth-last-child(-n+2){grid-column:span 3}
.faits-these .fait-description,.faits-these .ligne,.faits-these .fait-liens{text-align:start;hyphens:none;-webkit-hyphens:none;text-wrap:wrap;overflow-wrap:break-word}
.faits-these .fait-liens{display:flex;flex-wrap:wrap;gap:8px 16px;margin-block-start:auto;padding-block-start:6px}
.faits-these .fait-liens a{font-size:13px;font-weight:600;color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){
  .section-corps.pleine .faits-these{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faits-these li,.faits-these li:nth-last-child(-n+2){grid-column:span 1}
  .faits-these li:last-child{grid-column:1/-1}
}
@media(max-width:600px){
  .section-corps.pleine .faits-these{grid-template-columns:minmax(0,1fr)}
  .faits-these li{padding:16px}
}

/* Rubriques de la thèse et de l'IA : onglets sur ordinateur, sélection compacte sur mobile. */
.rubriques .rubriques-nav{grid-template-columns:repeat(var(--rubriques-colonnes,5),minmax(0,1fr))}
.rubriques-nav button{min-width:0;overflow-wrap:break-word;padding:15px 16px;font-weight:600}
.rubriques[data-rubriques=ia] .rubriques-nav button:nth-child(n+5),.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) .rubriques-nav button:nth-child(n+6){border-top:1px solid var(--line)}
.rubriques-choix{display:none;padding:16px;gap:8px}
.rubriques-choix span{font-size:13px;font-weight:600;color:var(--ink)}
.rubriques-choix select{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font:inherit;font-size:14px}
.rubrique-corps{padding:28px}
.rubrique-corps>h3{font-size:28px;margin-bottom:16px}
.rubrique-corps p{text-align:start;hyphens:none;-webkit-hyphens:none;overflow-wrap:break-word}
.rubrique-corps .titre-bloc{margin-block:26px 14px}
.ia-reperes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-block:22px}
.ia-reperes article{min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.ia-reperes article:last-child:nth-child(odd){grid-column:1/-1}
.ia-reperes h4{margin:0 0 10px;font:600 17px/1.4 var(--sans);color:var(--ink)}
.ia-reperes p{margin:0;font-size:15px}
.ia-reperes .references-courtes{margin-top:14px;font-size:12.5px}
.references-courtes a{color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
.note-ia,.question-these{padding:16px 18px;background:var(--sea);border-inline-start:3px solid var(--accent);border-radius:0 6px 6px 0}
.conceptualisation-these{display:grid;gap:30px}
.conceptualisation-these .intro{max-width:880px}
.rubrique-corps .lectures-ia{overflow-wrap:break-word}
.rubrique-corps .lectures-ia li{margin-block:10px;line-height:1.7;text-align:start}
.these .colonne-outils,.section-ia .colonne-outils{min-width:0}
.posture-philosophique .colonne-outils{min-width:0}
.posture-essai{max-width:880px;margin:20px auto 28px}
.posture-essai h3{font-size:28px;margin:0 0 20px}
.posture-essai p{font-size:17px;line-height:1.85;margin-block:0 20px}
.posture-perspectives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:28px}
.posture-perspectives article{min-width:0;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.posture-perspectives article:last-child:nth-child(odd){grid-column:1/-1}
.posture-perspectives h4{margin:0 0 14px;font:600 18px/1.4 var(--sans);color:var(--ink)}
.posture-lecture{font-size:16px;line-height:1.7}
.posture-apport{margin-block:18px;padding:16px 18px;border-inline-start:3px solid var(--green);border-radius:4px;background:var(--sea)}
.posture-apport h5{margin:0 0 8px;font:600 13px/1.4 var(--sans);color:var(--green-deep)}
.posture-apport p{margin:0;font-size:15px;line-height:1.75}
.posture-refs a{color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
.posture-bibliographie{margin-block:26px;gap:18px;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
@media(max-width:760px){.posture-perspectives{grid-template-columns:minmax(0,1fr)}.posture-perspectives article{padding:20px}.posture-essai p{font-size:16px}}
.these .these-titre-label{margin-block:0 8px;font:600 14px/1.4 var(--sans);color:var(--muted)}
.these .colonne-texte>h2{font-size:clamp(25px,2.5vw,40px);line-height:1.24}
.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]){border:0;box-shadow:none;background:transparent;overflow:visible}
.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) .rubriques-nav{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 22px;border:0;background:transparent}
.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) .rubriques-nav button{display:flex;align-items:center;gap:10px;flex:0 1 auto;max-width:310px;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:14px;line-height:1.4;transition:background .18s,border-color .18s,color .18s}
.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) .rubriques-nav button:hover{background:var(--sea);border-color:var(--ink)}
.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) .rubriques-nav button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.rubrique-numero{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:6px;background:var(--sea);color:var(--ink);font-size:11px;font-weight:700;line-height:1}
.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) button[aria-selected=true] .rubrique-numero{background:#fff;color:var(--ink)}
.rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation])>.rubrique-corps{border:1px solid var(--line);border-radius:14px;background:var(--white)}
.these [data-objectif=O1]{--objectif:#24659b;--objectif-fond:#eef5fc}
.these [data-objectif=O2]{--objectif:#286e5b;--objectif-fond:#edf6f1}
.these [data-objectif=O3]{--objectif:#754d8a;--objectif-fond:#f6f0f9}
.these-contextes,.these-lacunes,.these-objectifs,.these-methodes{display:grid;gap:18px;margin-block:18px 28px}
.these-contextes{grid-template-columns:repeat(3,minmax(0,1fr))}
.these-contextes article{min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.these-contextes h4,.these .objectif-carte :is(h4,h5){margin:0 0 12px;font:600 17px/1.45 var(--sans);color:var(--ink)}
.these-contextes .ref{font-size:12px;margin-top:16px;overflow-wrap:anywhere}
.these .objectif-carte{min-width:0;padding:22px;border:1px solid var(--line);border-inline-start:5px solid var(--objectif);border-radius:10px;background:var(--objectif-fond)}
.these .objectif-carte p{margin:0;font-size:16px;line-height:1.7}
.these .objectif-code{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:4px 7px;margin-inline-end:5px;border-radius:6px;background:var(--objectif);color:#fff;font:700 13px/1.4 var(--sans);vertical-align:baseline;direction:ltr;unicode-bidi:isolate}
.these .methode-these[data-objectif]{border-inline-start:5px solid var(--objectif)}
.these .methode-these[data-objectif]>summary{background:var(--objectif-fond)}
.these .these-fil{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-block:14px 22px}
.these-fil [data-objectif]{padding:5px 10px;border-radius:6px;background:var(--objectif);color:#fff;font-size:13px;font-weight:700;direction:ltr;unicode-bidi:isolate}
.these-fil>strong{flex-basis:100%;font-size:14px}
.these-objectif-general,.these-point{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--sea);line-height:1.75}
html.hc .these [data-objectif],html.lv .these [data-objectif]{--objectif:#06202d;--objectif-fond:#fff}
@media(max-width:900px){.these-contextes{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
  .rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) .rubriques-nav{display:none}
  .rubriques:is([data-rubriques=these],[data-rubriques=ia],[data-rubriques=posture],[data-rubriques=enseignement],[data-rubriques=vulgarisation]) .rubriques-choix{padding:0 0 18px}
  .these .objectif-carte{padding:18px 16px}
}
@media(max-width:900px){.rubriques .rubriques-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.rubriques-nav button:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:600px){
  .rubriques .rubriques-nav{display:none}
  .rubriques-choix{display:grid}
  .rubrique-corps{padding:20px 16px}
  .rubrique-corps>h3{font-size:24px}
  .ia-reperes{grid-template-columns:minmax(0,1fr)}
  .ia-reperes article{padding:16px}
  .rubrique-corps .faits-these li{padding:16px}
}

/* Enseignement : projet intellectuel, passerelles et séquence pédagogique. */
.enseignement .colonne-texte{max-width:1000px}
.enseignement-essai{max-width:880px;min-width:0}
.enseignement-essai h3{margin-top:0;font-size:clamp(25px,3vw,36px);line-height:1.25;text-wrap:balance}
.enseignement-essai section+section{margin-top:32px}
.enseignement h4{font-size:21px;line-height:1.35;margin:0 0 12px;text-wrap:balance}
.enseignement p{text-align:start;hyphens:none}
.enseignement .enseignement-appuis{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.enseignement-appuis a,.enseignement-references a{color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
.enseignement-ponts,.enseignement-valeurs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.enseignement-ponts article{display:flex;gap:16px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0}
.enseignement-repere{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:9px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}
.enseignement-libelle{margin:0 0 8px;color:var(--accent-fonce);font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.6}
.enseignement-ponts h4{font-size:19px;margin-bottom:22px}
.enseignement-ponts p:last-child,.enseignement-valeurs p:last-child{margin-bottom:0}
.enseignement-valeurs article{padding:25px;border:1px solid var(--line);border-top:4px solid var(--valeur);border-radius:12px;min-width:0}
.enseignement-valeurs .enseignement-repere{background:var(--valeur);margin-bottom:15px}
.enseignement-experiences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-block:32px}
.enseignement-experiences section{min-width:0}
.enseignement-sequence{margin-top:30px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.enseignement-sequence header{padding:25px;background:var(--ink);color:#fff}
.enseignement-sequence header .surtitre{color:#fff;line-height:1.5;letter-spacing:.06em}
.enseignement-sequence header p:last-child{margin-bottom:0;max-width:880px}
.enseignement-sequence ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.enseignement-sequence li{display:flex;gap:16px;padding:26px;border-top:1px solid var(--line);min-width:0}
.enseignement-sequence li:nth-child(2n){border-inline-start:1px solid var(--line)}
.enseignement-sequence li p{margin-bottom:0}
.enseignement-references{max-width:1000px;overflow-wrap:anywhere}
.enseignement-lien{margin-top:26px}
@media(max-width:800px){.enseignement-ponts,.enseignement-valeurs,.enseignement-experiences,.enseignement-sequence ol{grid-template-columns:minmax(0,1fr)}.enseignement-sequence li:nth-child(2n){border-inline-start:0}.enseignement-ponts article,.enseignement-valeurs article,.enseignement-sequence li{padding:20px}.enseignement-essai h3{font-size:27px}.enseignement h4{font-size:20px}}

/* Vulgarisation : schémas lisibles, studio éditorial et ressources commentées. */
.vulgarisation{min-width:0}.vulgarisation .colonne-texte{max-width:1000px}.vulgarisation p{text-align:start;hyphens:none}.vulgarisation h3{font-size:clamp(26px,3vw,36px);line-height:1.25;margin-top:0;text-wrap:balance}.vulgarisation h4{font-size:22px;line-height:1.35;text-wrap:balance}.vulgarisation h5{font-size:17px;line-height:1.4}.vul-texte{max-width:880px}.vul-texte+.vul-texte{margin-top:28px}.vul-texte h4{margin-bottom:12px}
.vul-galerie{margin:0 0 28px}.vul-galerie>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vul-galerie img{width:100%;height:auto;border-radius:12px;display:block}.vul-galerie p{font-size:13px;line-height:1.45;margin:10px 0 0;font-weight:600}.vul-appuis{font-size:13px;line-height:1.7;padding-top:16px;margin-top:24px;border-top:1px solid var(--line);overflow-wrap:anywhere}.vul-appuis a{color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}
.vul-relations,.vul-chiffres{margin:32px 0;padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.vul-relations figcaption,.vul-chiffres figcaption{font-size:24px;line-height:1.35;font-weight:600;margin-bottom:20px;color:var(--ink)}.vul-relations>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vul-relations article{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.vul-relations h4{font-size:20px;margin:14px 0 10px}.vul-relations article p{font-size:15px;line-height:1.65}.vul-mode{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:5px;border-radius:10px;background:var(--ink);color:#fff;font-size:25px}.vul-exemple{border-top:1px solid var(--line);padding-top:14px;color:var(--muted)}.vul-relations>p{font-size:14px;margin:20px 0 0}
.vul-parcours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:28px 0}.vul-parcours li{position:relative;padding:22px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0}.vul-parcours li+li::before{content:"→";position:absolute;inset-inline-start:-15px;top:28px;color:var(--ink);font-weight:700;background:var(--white);line-height:20px}.vul-parcours li>span,.vul-storyboard li>span,.vul-evaluation article>span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}.vul-parcours h4{font-size:19px;margin:16px 0 10px}.vul-parcours p{font-size:15px;line-height:1.65;margin-bottom:0}
.vul-frequences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:680px;margin:26px auto}.vul-frequences>div{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center}.vul-frequences h4{font-size:20px;margin:0}.vul-frequences p{text-align:center;margin:10px 0 0}.vul-pictogramme{display:block;width:100%;max-width:225px;height:auto;margin:10px auto}.vul-legende{font-size:13px;color:var(--muted)}.vul-mesures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-block:24px}.vul-mesures>div{padding:20px;background:var(--white);border:1px solid var(--line);border-radius:12px;min-width:0}.vul-mesures h4{font-size:17px;margin:0 0 14px}.vul-mesures strong{display:block;font-size:clamp(23px,3vw,34px);line-height:1.2;color:var(--accent-fonce)}.vul-mesures p{font-size:14px;line-height:1.65;margin-bottom:0}.vul-note{font-size:14px;padding:18px;border-inline-start:3px solid var(--accent-fonce);background:var(--sea);border-radius:0 8px 8px 0}
.vul-formats{display:grid;gap:28px;margin-top:28px}.vul-formats>article{border:1px solid var(--line);border-radius:15px;padding:26px;min-width:0}.vul-format-entete{display:grid;grid-template-columns:minmax(160px,260px) minmax(0,1fr);gap:26px;align-items:center;margin-bottom:26px}.vul-format-entete img{display:block;width:100%;height:auto}.vul-format-entete h4{margin:8px 0 12px;font-size:25px}.vul-format-entete p:last-child{margin-bottom:0}.vul-formats>article>h5{margin:22px 0 16px}.vul-storyboard{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0}.vul-storyboard li{flex:1 1 140px;min-width:0;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.vul-storyboard h5{font-size:16px;margin:16px 0 10px}.vul-storyboard p{font-size:14px;line-height:1.65;margin-bottom:0}.vul-format-suite{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.vul-format-suite h5{margin:0 0 10px}.vul-format-suite p{font-size:15px;line-height:1.7;margin:0}.vul-format-suite aside{padding:20px;border-radius:10px;background:var(--ink);color:#fff}.vul-format-suite aside h5{color:#fff}
.vul-evaluation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vul-evaluation article{border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.vul-evaluation h5{font-size:21px;margin:14px 0}.vul-evaluation p{font-size:15px;line-height:1.7}.vul-evaluation .vul-petit-titre{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--accent-fonce);margin-bottom:6px}
.vul-fiches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.vul-fiche{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.vul-fiche header{padding:23px;background:var(--paper)}.vul-fiche h4{margin:0 0 14px}.vul-fiche header a{font-size:14px;font-weight:600;color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}.vul-fiche dl{margin:0}.vul-fiche dl>div{padding:20px 23px;border-top:1px solid var(--line)}.vul-fiche dt{font-weight:600;margin-bottom:8px}.vul-fiche dd{margin:0;font-size:15px;line-height:1.7}
.vul-bibliotheque{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.vul-bibliotheque article{padding:24px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-width:0}.vul-bibliotheque h4{font-size:21px;margin:0 0 12px}.vul-bibliotheque p{font-size:15px;line-height:1.7}.vul-bibliotheque .vul-type{font-size:11px;letter-spacing:.06em;font-weight:600;color:var(--accent-fonce);margin:0 0 12px}.vul-bibliotheque details{padding:14px 0;border-top:1px solid var(--line);font-size:14px}.vul-bibliotheque summary{cursor:pointer;color:var(--ink);font-weight:600;line-height:1.5}.vul-bibliotheque details p{font-size:14px}.vul-bibliotheque .vul-citation{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:0}.vul-bibliotheque .vul-source{margin:auto 0 0;padding-top:14px}.vul-source a{font-weight:600;color:var(--accent-fonce);text-decoration:underline;text-underline-offset:3px}.vul-liens{display:flex;flex-wrap:wrap;gap:12px}.vul-liens a{display:block;border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:14px}
@media(max-width:1050px){.vul-relations>div,.vul-parcours{grid-template-columns:repeat(2,minmax(0,1fr))}.vul-parcours li:nth-child(3)::before{content:none}.vul-storyboard li{flex-basis:180px}}
@media(max-width:700px){.vul-galerie>div{gap:8px}.vul-galerie p{font-size:11px}.vul-galerie img{border-radius:7px}.vul-format-entete{grid-template-columns:minmax(0,1fr);gap:14px}.vul-format-entete>div:first-child{max-width:240px}.vul-format-suite,.vul-evaluation,.vul-fiches,.vul-bibliotheque,.vul-mesures{grid-template-columns:minmax(0,1fr)}.vul-relations,.vul-chiffres,.vul-formats>article{padding:18px}.vul-relations>div{gap:10px}.vul-relations article{padding:15px}.vul-frequences{gap:12px}.vul-frequences>div{padding:12px}.vul-frequences h4{font-size:17px}.vul-frequences p{font-size:13px}.vul-storyboard li{flex-basis:200px}.vulgarisation .communication-visuelle{padding:16px}.vulgarisation h4{font-size:20px}}
@media(max-width:430px){.vul-relations>div,.vul-parcours{grid-template-columns:minmax(0,1fr)}.vul-parcours li+li::before{content:"↓";inset-inline-start:25px;top:-18px}.vul-parcours li:nth-child(3)::before{content:"↓"}.vul-parcours h4{margin-top:12px}.vul-frequences>div{padding:9px}}

.vul-galerie>figcaption{font-size:14px;font-weight:600;line-height:1.5;margin-bottom:14px;color:var(--ink)}

/* Axes de recherche : six cartes, travaux associés et destinations précises. */
.section-corps.axes-recherche{display:block;max-width:1360px;padding-bottom:44px}
.axes-introduction{max-width:850px;margin-bottom:38px}
.axes-introduction .intro{max-width:780px;margin-bottom:0;text-align:start;hyphens:none}
.axes-famille+ .axes-famille{margin-top:38px}
.axes-famille>header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.axes-famille>header h3{margin:0;color:var(--ink);font:600 17px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.axes-famille>header>span{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:11px}
.axes-cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.axe-carte{min-width:0;display:flex;flex-direction:column;padding:25px 25px 0;border:1px solid var(--line);border-top:3px solid var(--axe);border-radius:15px;background:var(--white);box-shadow:0 5px 18px rgba(23,63,82,.035);transition:box-shadow .18s,border-color .18s,transform .18s}
.axe-carte:hover{border-color:var(--axe);box-shadow:0 10px 25px rgba(23,63,82,.085);transform:translateY(-2px)}
.axe-carte-tete{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;color:var(--axe)}
.axe-numero{font:700 11px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.axe-carte-tete>svg{display:block;width:44px;height:44px;padding:8px;border-radius:11px;background:var(--sea);flex:none}
.axe-carte h4{margin:0 0 16px;color:var(--ink);font:600 21px/1.32 var(--sans);letter-spacing:-.025em;text-wrap:pretty}
.axe-carte h4>a{display:flex;align-items:flex-start;gap:12px;text-decoration:none}
.axe-carte h4>a>span{min-width:0}
.axe-carte h4>a>svg{width:19px;height:19px;flex:none;margin-top:4px;color:var(--axe)}
.axe-carte h4 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.axe-description{margin:0 0 24px;color:var(--muted);font-size:14px;line-height:1.7;text-align:start;hyphens:none}
.axe-associations{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}
.axe-libelle{margin:0 0 10px;font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:var(--axe);text-align:start}
.axe-associations ul{list-style:none;margin:0;padding:0}
.axe-associations li+li{border-top:1px solid var(--line)}
.axe-associations a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0 18px;text-decoration:none}
.axe-associations a>span:first-child{min-width:0}
.axe-associations strong{display:block;color:var(--ink);font-size:13px;font-weight:600;line-height:1.5}
.axe-associations small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}
.axe-associations a:hover strong{text-decoration:underline;text-underline-offset:3px}
.axe-lien-fleche{flex:none;font-size:18px;color:var(--axe)}
[data-axe-cible]{scroll-margin-top:155px}
.axe-destination{outline:2px solid var(--accent-fonce);outline-offset:7px;border-radius:8px}
html.cb .axe-carte{--axe:var(--ink)!important}
html.lv .axes-cartes{grid-template-columns:1fr}
@media(max-width:1100px){.axes-cartes{grid-template-columns:repeat(2,minmax(0,1fr))}.axe-carte{padding:23px 23px 0}}
@media(max-width:700px){.axes-cartes{grid-template-columns:minmax(0,1fr);gap:18px}.axes-introduction{margin-bottom:28px}.axe-carte{padding:21px 21px 0}.axe-carte-tete{margin-bottom:14px}.axe-carte h4{font-size:20px}.axes-famille+ .axes-famille{margin-top:30px}.axe-description{font-size:14px;margin-bottom:20px}.axe-associations a{min-height:64px}}
@media(prefers-reduced-motion:reduce){.axe-carte{transition:none}.axe-carte:hover{transform:none}}

/* Parcours : palette, frise et douze indicateurs organisés par thème. */
.bande-parcours .trajectoire{margin-bottom:0}
.bande-accueil.bande-restauree{padding:20px 24px 18px}
.bande-restauree .impact-ensembles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.bande-restauree .impact-ensemble{min-width:0}
.bande-restauree .impact-ensemble+.impact-ensemble{padding-inline-start:20px;border-inline-start:1px solid rgba(255,255,255,.22)}
.bande-restauree>.bande-titre{margin-bottom:14px;color:#fff;font:650 clamp(20px,1.9vw,24px)/1.3 var(--sans);letter-spacing:0;text-transform:none}
.bande-restauree .impact-ensemble{--accent-impact:#f2c14e}
.bande-restauree .impact-ensemble:nth-child(2){--accent-impact:#7fd1b9}
.bande-restauree .impact-ensemble:nth-child(3){--accent-impact:#8ec5ff}
.bande-restauree .impact-ensemble h3{display:flex;align-items:center;min-height:38px;margin:0 0 13px;padding:7px 10px;border-inline-start:3px solid var(--accent-impact);border-radius:0 6px 6px 0;background:rgba(255,255,255,.08);color:#fff;font:650 16px/1.35 var(--sans);letter-spacing:0;text-wrap:pretty}
.bande-restauree .impact-public{display:block;margin-top:4px;font-size:11.5px;line-height:1.4;color:#cfe5ec}

.bande-restauree .impact-ensemble dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:13px;margin:0}
.bande-restauree .impact-ensemble dl>div{display:flex;flex-direction:column;min-width:0;gap:5px}
.bande-restauree .impact-ensemble dt{font-size:12.5px;line-height:1.45;color:#e6f1f6;max-width:205px;overflow-wrap:break-word}
.bande-restauree .impact-ensemble dd{order:-1;margin:0;color:#f2c14e;font:750 clamp(42px,3.6vw,52px)/1.02 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.bande-restauree .impact-ensemble dl>div:nth-child(4n+2) dd{color:#7fd1b9}
.bande-restauree .impact-ensemble dl>div:nth-child(4n+3) dd{color:#8ec5ff}
.bande-restauree .impact-ensemble dl>div:nth-child(4n+4) dd{color:#f5a65b}
.bande-restauree .impact-precisions{margin-top:13px;padding-top:10px;border-top:1px solid rgba(255,255,255,.22);color:#dcecf3;font-size:12px;line-height:1.7}
.bande-restauree .impact-precisions summary{cursor:pointer;width:fit-content;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#e6f1f6}
.bande-restauree .impact-precisions ul{padding-inline-start:20px;margin:14px 0 0;max-width:900px}
.bande-restauree .impact-precisions li+li{margin-top:6px}
@media(max-width:900px){.bande-restauree .impact-ensembles{grid-template-columns:minmax(0,1fr);gap:18px}.bande-restauree .impact-ensemble+.impact-ensemble{padding-inline-start:0;border-inline-start:0;border-top:1px solid rgba(255,255,255,.22);padding-top:16px}.bande-restauree .impact-ensemble dl{grid-template-columns:repeat(4,minmax(0,1fr))}.bande-restauree .impact-ensemble h3{margin-bottom:14px}}
@media(max-width:600px){.bande-accueil.bande-restauree{padding:18px 18px 16px}.bande-restauree .impact-ensemble dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.bande-restauree .impact-ensemble dt{font-size:12px}.bande-restauree .impact-ensemble dd{font-size:38px}}

/* Hall en volume : architecture continue, panneaux muraux et portes. */
.station-hall{display:contents}
.architecture-hall,.panneau-hall,.hall-commandes,.hall-reperes{display:none}
.hall-outils{display:flex;align-items:center;gap:14px}
.hall-outils>span{color:var(--muted)}
.hall-mode{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--line);border-radius:20px;background:var(--white);font-size:11px;line-height:1.4;text-transform:none;letter-spacing:0}
.hall-mode svg,.hall-commandes svg{width:16px;height:16px;flex:none}
.hall-mode[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
@media(min-width:1000px){
 .hall.en-volume::before,.hall.en-volume::after{content:none;animation:none}
 .hall.en-volume .hall-espace{position:relative;height:clamp(330px,42svh,370px);overflow:hidden;border:1px solid #d1d9d2;border-radius:12px;background:#eceee7;perspective:1800px;perspective-origin:50% 48%;cursor:grab;touch-action:pan-y;user-select:none;isolation:isolate;box-shadow:0 12px 30px -25px #2c3b3038}
 .hall.en-volume .hall-espace::before,.hall.en-volume .hall-espace::after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:16px;pointer-events:none}
 .hall.en-volume .hall-espace::before{left:0;background:linear-gradient(90deg,#b3b8af50,transparent)}
 .hall.en-volume .hall-espace::after{right:0;background:linear-gradient(-90deg,#b3b8af50,transparent)}
 .hall.en-volume .hall-espace.en-glissement{cursor:grabbing}
 .hall.en-volume .hall-espace:focus-visible{outline:2px solid var(--green);outline-offset:4px}
 .hall.en-volume .hall-univers{position:absolute;inset:0;width:100%;height:100%;transform:none;transform-style:preserve-3d;pointer-events:none}
 .hall.en-volume .architecture-hall{display:block;position:absolute;inset:0;pointer-events:none;transform:translateZ(-100px) scale(1.056);transform-origin:50% 48%;background-color:#edece4;background-image:linear-gradient(180deg,#ffffff05,#fdfef805);background-repeat:no-repeat;background-position:center top,var(--hall-lumiere,50%) top;background-size:100% 100%,auto calc(126.6% - 40.5px)}
 .hall.en-volume .paroi-hall,.hall.en-volume .plafond-hall,.hall.en-volume .verriere-hall{display:none}
 .hall.en-volume .dallage-hall{position:absolute;left:0;right:0;bottom:0;height:32px;background:linear-gradient(180deg,#ffffff05,transparent);border:0;box-shadow:none}
 .hall.en-volume .portes{position:absolute;inset:0;display:block;margin:0;padding:0;transform-style:preserve-3d;pointer-events:none}
 .hall.en-volume .station-hall{display:block;position:absolute;left:0;top:auto;bottom:32px;width:430px;height:298px;transform-origin:50% 100%;transform:translateX(var(--panorama-x,28px)) translateZ(var(--panorama-z,0px)) rotateY(var(--panorama-angle,0deg));transform-style:preserve-3d;backface-visibility:hidden;pointer-events:none}
 .hall.en-volume .station-hall .porte{position:absolute;left:8px;right:auto;top:auto;bottom:0;display:block;width:124px;height:250px;--largeur-porte:124px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;isolation:auto;transform:translateZ(3px);transform-style:preserve-3d;transition:none;pointer-events:auto}
 .hall.en-volume .porte:hover,.hall.en-volume .porte:focus-visible{background:transparent;border:0;box-shadow:none;transform:translateZ(3px)}
 .hall.en-volume .porte::before{content:none}
 .hall.en-volume .porte::after{content:"";position:absolute;left:0;top:100%;width:100%;height:20px;background:radial-gradient(ellipse at 50% 0,#2c362f40,transparent 73%);pointer-events:none}
 .hall.en-volume .porte .baie{position:relative;display:block;inset:auto;width:100%;height:100%;aspect-ratio:auto;overflow:visible;transform-style:preserve-3d;box-shadow:inset 1px 1px #fff,inset -1px -1px #a7b3a2,0 0 0 1px #aab5a6,3px 2px 6px #2c382b36}
 .hall.en-volume .porte .ouverture{overflow:visible;transform-style:preserve-3d}
 .hall.en-volume .porte .battant{transform-style:preserve-3d;transition:transform .55s var(--ease)}
 .hall.en-volume .porte .porte-texte{display:none}
 .hall.en-volume .porte:not(.ouverte):focus-visible .battant{transform:rotateY(-34deg)}
 .hall.en-volume .porte.ouverte .battant{transform:rotateY(-82deg)}
 .hall.en-volume .porte:focus-visible .baie{outline:none} /* Aucun cadre coloré autour de la porte. */
 .hall.en-volume .porte:focus-visible .battant{filter:drop-shadow(2px 2px 3px rgba(38,71,69,.33))} /* Repère clavier discret, sans contour. */
 .hall.en-volume .panneau-hall{position:absolute;display:block;left:150px;top:8px;width:270px;max-height:284px;overflow:auto;padding:14px;border:1px solid #d4d9ce;border-top:2px solid color-mix(in srgb,var(--c1) 45%,#fff);border-radius:5px;background:#fffffbef;box-shadow:1px 3px 6px #303d241a,inset 0 1px #fff;transform:translateZ(5px);backface-visibility:hidden;pointer-events:auto;text-align:start;scrollbar-width:thin}
 .hall.en-volume .panneau-hall h3{margin:0 0 9px;color:var(--ink);font:600 15px/1.3 var(--sans);text-wrap:pretty}
 .hall.en-volume .panneau-hall h3 button{display:flex;align-items:flex-start;gap:8px;width:100%;font:inherit;text-align:start}
 .hall.en-volume .panneau-hall h3 bdi{display:grid;place-items:center;flex:none;width:24px;height:25px;border-radius:5px;background:var(--c1);color:#fff;font:600 11px/1 var(--sans)}
 .hall.en-volume .panneau-hall h3 span{min-width:0;overflow-wrap:break-word}
 .hall.en-volume .panneau-hall>p{margin:0 0 10px;color:var(--muted);font-size:11.5px;line-height:1.5;text-align:start;hyphens:none}
 .hall.en-volume .sous-portes-murales{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-width:0}
 .hall.en-volume .sous-portes-murales>button,.hall.en-volume .sous-portes-murales>a{display:flex;align-items:center;gap:5px;min-width:0;min-height:34px;padding:5px 6px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font:500 11.5px/1.35 var(--sans);text-align:start;text-decoration:none;overflow-wrap:break-word}
 .hall.en-volume .sous-portes-murales>button::before,.hall.en-volume .sous-portes-murales>a::before{content:"";flex:none;width:2px;height:13px;border-radius:1px;background:var(--c1)}
 .hall.en-volume .sous-portes-murales>:last-child:nth-child(odd){grid-column:1/-1}
 .hall.en-volume .sous-portes-murales>button:hover,.hall.en-volume .sous-portes-murales>a:hover{border-color:var(--c1);background:color-mix(in srgb,var(--c1) 5%,#fff)}
 .hall.en-volume .sous-portes-murales>:focus-visible{outline-color:var(--c1)}
 .hall.en-volume .hall-commandes{display:flex;align-items:center;gap:5px;position:absolute;right:12px;bottom:4px;padding:2px 4px;border:1px solid #c7d1c3;border-radius:20px;background:#fffffff0;box-shadow:0 2px 6px #1e392512}
 .hall-commandes>button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:30px;min-height:25px;padding:3px 8px;border-radius:20px;font-size:10px;line-height:1.3}
 .hall-commandes>button:hover{background:var(--sea)}
 .hall.en-volume .hall-position-mobile{display:inline-block;min-width:40px;font-size:10px;text-align:center;direction:ltr}
 .hall.en-volume .hall-reperes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:12px;padding:6px;border:1px solid #e4ebe8;border-radius:16px;background:#f0f4f2}
 .hall-reperes>button{display:flex;align-items:center;gap:9px;min-width:0;min-height:48px;padding:9px 11px;text-align:start;border:1px solid transparent;border-radius:11px;background:rgba(255,255,255,.7);color:var(--ink);font-size:12px;font-weight:400;line-height:1.4;transition:background .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease),transform .22s var(--ease)}
 .hall-reperes>button bdi{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--c1) 9%,white);color:var(--c1);font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;transition:background .22s,color .22s}
 .hall-reperes>button span{min-width:0;overflow-wrap:break-word}
 .hall-reperes>button[aria-pressed=true]{border-color:color-mix(in srgb,var(--c1) 40%,white);background:color-mix(in srgb,var(--c1) 7%,white);box-shadow:0 2px 7px rgba(23,63,82,.07)}
 .hall-reperes>button[aria-pressed=true] bdi{background:var(--c1);color:#fff}
 .hall.en-volume .hall-aide-deplacement{display:block;margin:0 0 8px;color:var(--muted);font-size:11.5px;line-height:1.6;text-align:start}
 .hall.en-volume .hall-pied{display:none}
 .hall.en-volume.en-marche .hall-commandes{opacity:0;pointer-events:none}
 .hall.en-volume.en-marche .hall-reperes{pointer-events:none}
 html[dir=rtl] .hall-univers{direction:ltr}
 html[dir=rtl] .panneau-hall{direction:rtl}
}
@media(min-width:1000px) and (max-width:1120px){.hall.en-volume .hall-reperes{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Hall tactile : une alcôve à la fois, navigation native et panneaux à côté des portes. */
.hall-position-mobile{display:none}
.hall .hall-reperes>button:focus-visible{outline:2px solid var(--c1);outline-offset:-2px}
@media(hover:hover) and (pointer:fine){.hall .hall-reperes>button:hover{background:color-mix(in srgb,var(--c1) 5%,white);border-color:color-mix(in srgb,var(--c1) 30%,white);transform:translateY(-1px);box-shadow:0 3px 9px rgba(23,63,82,.07)}}
@media(forced-colors:active){.hall .hall-reperes>button{border-color:ButtonText}.hall .hall-reperes>button[aria-pressed=true]{border-color:Highlight;outline:2px solid Highlight;outline-offset:-2px}}
@media(max-width:999px){
 .hall.en-mobile{display:flex;flex-direction:column;min-width:0;max-width:760px;width:100%;margin-inline:auto}
 .hall.en-mobile::before,.hall.en-mobile::after{content:none;animation:none}
 .hall.en-mobile .hall-tete{order:0;margin-bottom:12px}
 .hall.en-mobile .hall-reperes{order:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:0;padding:5px;border:1px solid #e4ebe8;border-radius:14px;background:#f0f4f2}
 .hall.en-mobile .hall-reperes>button{position:relative;display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:rgba(255,255,255,.7);color:var(--ink);font:400 11.5px/1.4 var(--sans);text-align:start;transition:background .2s,border-color .2s,box-shadow .2s;touch-action:manipulation}
 .hall.en-mobile .hall-reperes>button bdi{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:7px;background:color-mix(in srgb,var(--c1) 9%,white);color:var(--c1);font:500 10.5px/1 var(--sans);font-variant-numeric:tabular-nums}
 .hall.en-mobile .hall-reperes>button span{min-width:0;overflow-wrap:break-word}
 .hall.en-mobile .hall-reperes>button[aria-pressed=true]{border-color:color-mix(in srgb,var(--c1) 40%,white);background:color-mix(in srgb,var(--c1) 7%,white);box-shadow:0 2px 6px rgba(23,63,82,.07)}
 .hall.en-mobile .hall-reperes>button[aria-pressed=true] bdi{background:var(--c1);color:#fff}
 .hall.en-mobile .hall-guide-mobile{order:2;margin:10px 2px 12px;color:var(--muted);font-size:12px;line-height:1.5;text-align:start;hyphens:none}
 .hall.en-mobile .hall-espace{order:3;position:relative;min-width:0;overflow:hidden;border:1px solid #d7dfd7;border-radius:16px;background:linear-gradient(150deg,#f7f9f3,#e9eee7);box-shadow:0 14px 30px -25px rgba(25,50,37,.3)}
 .hall.en-mobile .hall-univers{position:relative;min-width:0;will-change:auto}
 .hall.en-mobile .portes{position:relative;display:flex;align-items:flex-start;gap:12px;min-width:0;margin:0;padding:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:12px;overscroll-behavior-x:contain;scrollbar-width:none;direction:ltr;transition:height .22s ease}
 .hall.en-mobile .portes::-webkit-scrollbar{display:none}
 .hall.en-mobile .station-hall{position:relative;display:grid;grid-template-columns:clamp(92px,26vw,170px) minmax(0,1fr);align-items:end;gap:14px;flex:0 0 100%;min-width:0;min-height:330px;padding:24px 14px 54px;border:1px solid #d9e0d6;border-radius:10px;scroll-snap-align:start;scroll-snap-stop:always;background:linear-gradient(100deg,#e5ebe0,#fcfdf8 14% 75%,#e9eee5);isolation:isolate;perspective:1100px;direction:ltr}
 .hall.en-mobile .station-hall::before{content:"";position:absolute;z-index:-1;inset:0 0 43px;pointer-events:none;background:linear-gradient(100deg,rgba(70,89,56,.09),rgba(255,255,255,.87) 5% 92%,rgba(70,89,56,.08));box-shadow:inset 0 10px 20px -20px #47613a,inset 0 -5px 0 #e0e6d9,inset 0 -6px 0 #c7d1be}
 .hall.en-mobile .station-hall::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:43px;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.8),transparent 55%),repeating-linear-gradient(90deg,transparent 0 70px,rgba(140,154,130,.12) 71px 72px),linear-gradient(#d8e0d0,#f3f5ed);box-shadow:inset 0 10px 15px -15px #526545}
 .hall.en-mobile .station-hall .porte{position:relative;display:block;align-self:end;grid-column:1;grid-row:2;width:100%;height:clamp(190px,52vw,334px);min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;transition:none;isolation:auto}
 .hall.en-mobile .station-hall .porte:hover,.hall.en-mobile .station-hall .porte:focus-visible{background:transparent;border:0;box-shadow:none;transform:none}
 .hall.en-mobile .station-hall .porte::before,.hall.en-mobile .station-hall .porte::after{content:none}
 .hall.en-mobile .porte .baie{display:block;width:100%;height:100%;aspect-ratio:auto;overflow:visible;transform:rotateY(-3deg);transform-origin:100% 50%;box-shadow:inset 1px 1px #fff,inset -1px -1px #a7b3a2,0 0 0 1px #aab5a6,5px 2px 9px rgba(44,56,32,.2),0 13px 15px -12px rgba(32,50,34,.45)}
 .hall.en-mobile .porte .ouverture{perspective:1100px}
 .hall.en-mobile .porte .battant{transition:transform .55s cubic-bezier(.3,.7,.2,1),box-shadow .55s}
 .hall.en-mobile .porte:hover:not(:focus-visible):not(.ouverte) .battant{transform:none}
 .hall.en-mobile .porte.ouverte .battant{transform:rotateY(-82deg)}
 .hall.en-mobile .porte .porte-texte{position:absolute;inset:100% 0 auto;display:block;padding:10px 0 0;text-align:center}
 .hall.en-mobile .porte .porte-texte>*{display:none}
 .hall.en-mobile .porte .porte-texte>.entrer{display:block;margin:0;font-size:12px;line-height:1.4;text-align:center;color:var(--ink)}
 .hall.en-mobile .porte:focus-visible{outline:3px solid var(--c1);outline-offset:5px}
 .hall.en-mobile .panneau-hall{display:contents;text-align:start}
 .hall.en-mobile .panneau-hall h3{grid-column:1/-1;grid-row:1;align-self:start;min-width:0;margin:0;font:600 17px/1.32 var(--sans);color:var(--ink);text-wrap:pretty}
 .hall.en-mobile .panneau-hall h3 button{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;padding:0;text-align:start;font:inherit;overflow-wrap:anywhere}
 .hall.en-mobile .panneau-hall h3 bdi{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:6px;background:var(--c1);color:white;font:600 11px/1 var(--sans)}
 .hall.en-mobile .panneau-hall h3 span{min-width:0}
 .hall.en-mobile .panneau-hall>p{display:none}
 .hall.en-mobile .sous-portes-murales{display:grid;grid-column:2;grid-row:2;align-self:start;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
 .hall.en-mobile .sous-portes-murales>button,.hall.en-mobile .sous-portes-murales>a{display:flex;align-items:center;gap:7px;min-width:0;min-height:44px;padding:8px;border:1px solid #cbd8d5;border-radius:5px;background:rgba(255,255,255,.94);color:var(--ink);font:500 12px/1.35 var(--sans);text-align:start;text-decoration:none;overflow-wrap:anywhere;hyphens:none;touch-action:manipulation;box-shadow:0 2px 3px -3px rgba(30,50,36,.18)}
 .hall.en-mobile .sous-portes-murales>button::before,.hall.en-mobile .sous-portes-murales>a::before{content:"";flex:none;width:2px;height:15px;background:var(--c1);border-radius:1px}
 .hall.en-mobile .sous-portes-murales>:active{background:color-mix(in srgb,var(--c1) 8%,white);border-color:var(--c1)}
 .hall.en-mobile .sous-portes-murales>:focus-visible{outline:2px solid var(--c1);outline-offset:2px}
 .hall.en-mobile .hall-commandes{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 12px 10px;background:rgba(255,255,255,.5)}
 .hall.en-mobile .hall-commandes>button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #cbd8d0;border-radius:50%;background:var(--white);color:var(--ink);font-size:19px;touch-action:manipulation}
 .hall.en-mobile .hall-commandes>[data-hall-recentrer]{display:none}
 .hall.en-mobile .hall-position-mobile{display:block;order:0;color:var(--muted);font:500 12px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.08em;direction:ltr}
 .hall.en-mobile .hall-pied{display:none}
 .hall.en-mobile.en-marche .portes{overflow-x:hidden;scroll-snap-type:none}
 .hall.en-mobile.en-marche .panneau-hall>*{opacity:.22;transition:opacity .2s}
 .hall.en-mobile.en-marche .hall-reperes,.hall.en-mobile.en-marche .hall-commandes{pointer-events:none;opacity:.4}
 html[dir=rtl] .hall.en-mobile .panneau-hall{direction:rtl}
}
@media(min-width:540px) and (max-width:999px){
 .hall.en-mobile .station-hall{gap:25px;padding:30px 28px 54px;min-height:360px}
 .hall.en-mobile .sous-portes-murales{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hall.en-mobile .sous-portes-murales>:last-child:nth-child(odd){grid-column:1/-1}
 .hall.en-mobile .panneau-hall h3{font-size:21px}
 .hall.en-mobile .sous-portes-murales>button,.hall.en-mobile .sous-portes-murales>a{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 .hall.en-mobile .portes,.hall.en-mobile .porte .battant,.hall.en-mobile .hall-reperes>button,.hall.en-mobile.en-marche .panneau-hall{transition:none}
}

/* Lisibilité et retours à la ligne dans toutes les écritures. */
.conceptualisation-these{grid-template-columns:minmax(0,1fr)}
.conceptualisation-these>*{min-width:0;max-width:100%}
.conceptualisation-outils,.lacunes,.lacune{min-width:0;max-width:100%}
.lacune-tete{flex-wrap:wrap;align-items:flex-start}
.lacune .niveau{white-space:normal;max-width:100%;overflow-wrap:anywhere}
.chiffres>div,.chiffres span,.chiffres small{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.salle-barre>*{min-width:0}
.salle-barre #salle-titre{overflow-wrap:anywhere;line-height:1.4}.rubriques,.rubrique-corps,.volet,.cadre,.ia-reperes>article{min-width:0}
.rubriques-choix select{min-width:0;max-width:100%;width:100%}
.ref,.references-courtes,.methode-refs,.references-transmission,.ia-references{overflow-wrap:anywhere}
[dir=rtl] .coordonnees a[href^="mailto:"],[dir=rtl] a[href^="tel:"],[dir=rtl] .doi{direction:ltr;unicode-bidi:isolate}
:lang(iu),:lang(iu-Latn){font-family:"Gadugi","Euphemia","Noto Sans Canadian Aboriginal",var(--sans);line-height:1.75;overflow-wrap:anywhere}
:lang(moe){overflow-wrap:anywhere;hyphens:none}
.langue-statut{display:block;color:var(--muted);font-size:10px;line-height:1.4;font-weight:400}

/* Espace de lecture : sommaire latéral, progression et navigation continue. */
.rubriques[data-navigation=atelier]{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start;min-width:0;border:0;box-shadow:none;background:transparent;overflow:visible;container-type:inline-size}
.rubriques[data-navigation=atelier] .rubriques-console{position:sticky;top:112px;min-width:0;padding:18px 12px 12px;border:1px solid #d9e4e1;border-radius:18px;background:linear-gradient(145deg,#f6f9f5,#eff5f5);box-shadow:0 12px 32px -30px #173f52}
.rubriques[data-navigation=atelier] .rubriques-console-tete{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:0 7px;color:var(--muted);font:600 10px/1.5 var(--sans);letter-spacing:.045em;text-transform:uppercase}
.rubriques-console-tete [data-rubrique-compteur]{flex:none;color:var(--ink);font-variant-numeric:tabular-nums;direction:ltr}
.rubriques[data-navigation=atelier] .rubriques-progression{height:3px;margin:13px 7px 17px;border-radius:3px;overflow:hidden;background:#dde8e4}
.rubriques-progression>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#286d5c,#27899a);transition:width .28s ease}
.rubriques[data-navigation=atelier] .rubriques-nav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;max-height:calc(100dvh - 240px);margin:0;padding:0 3px;border:0;background:transparent;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scroll-padding-block:8px}
.rubriques[data-navigation=atelier] .rubriques-nav button{display:flex;align-items:center;gap:10px;flex:0 0 auto;width:100%;min-width:0;max-width:none;min-height:56px;margin:0;padding:9px 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:#355561;text-align:start;line-height:1.35;transition:background .18s,box-shadow .18s,border-color .18s,transform .18s}
.rubriques[data-navigation=atelier] .rubriques-nav button:hover{border-color:#ceddd7;background:rgba(255,255,255,.72);transform:translateX(2px)}
.rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true]{border-color:#bfd2cb;background:#fff;color:var(--ink);box-shadow:0 5px 13px -10px #173f52,inset 3px 0 #286d5c}
.rubrique-icone{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid rgba(195,214,205,.55);border-radius:10px;background:rgba(255,255,255,.7);color:#5f7c73}
.rubrique-icone .ic{width:17px;height:17px;stroke-width:1.6}
[aria-selected=true]>.rubrique-icone{background:#eaf3ee;border-color:#c8ddd1;color:#286d5c}
.rubrique-libelle{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.rubrique-etape{color:#748c89;font:500 9px/1 var(--sans);letter-spacing:.07em;direction:ltr}
.rubrique-libelle strong{font:550 12px/1.35 var(--sans);overflow-wrap:anywhere}
.rubrique-direction{flex:none;width:15px;height:15px;opacity:0;transform:translateX(-4px);transition:opacity .18s,transform .18s}
.rubrique-direction svg,.rubriques-pagination svg{display:block;width:100%;height:100%}
[aria-selected=true]>.rubrique-direction{opacity:1;transform:translateX(0)}
.rubriques[data-navigation=atelier]>.rubrique-corps{grid-column:2;grid-row:1;min-width:0;padding:30px;border:1px solid #d8e3e0;border-radius:20px;background:#fff;box-shadow:0 15px 45px -40px #173f52;scroll-margin-top:130px}
.rubrique-entete{display:flex;align-items:center;gap:9px;padding-bottom:20px;margin-bottom:26px;border-bottom:1px solid #edf1ed;color:var(--muted);font:500 11px/1.5 var(--sans)}
.rubrique-entete bdi{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #d8e5dd;border-radius:8px;background:#f5f8f4;color:var(--green);font-size:10px;font-weight:600}
.rubrique-entete>span{min-width:0;overflow-wrap:anywhere}
.rubrique-contenu{min-width:0}
.rubrique-contenu>h3{margin:0 0 24px;font:400 clamp(25px,2.4vw,34px)/1.22 var(--serif);color:var(--ink);text-wrap:pretty}
.rubriques[data-navigation=atelier] .rubriques-choix{display:none}
.rubriques-pagination{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:34px;padding-top:22px;border-top:1px solid #e2eae5}
.rubriques-pagination>button{display:flex;align-items:center;gap:12px;min-width:0;min-height:60px;padding:12px 14px;border:1px solid #d7e4df;border-radius:12px;background:#f8faf7;text-align:start;color:var(--ink);transition:background .18s,border-color .18s;touch-action:manipulation}
.rubriques-pagination>button:hover{border-color:#9fbcaf;background:#eef5ef}
.rubriques-pagination>button>span:not(.rubrique-precedente){display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.rubriques-pagination small{font:500 10px/1.3 var(--sans);color:var(--muted)}
.rubriques-pagination strong{font:550 12px/1.4 var(--sans);overflow-wrap:anywhere}
.rubriques-pagination svg,.rubrique-precedente{flex:none;width:17px;height:17px}
.rubrique-precedente{transform:rotate(180deg)}
.rubriques-pagination>button:last-child{text-align:end;background:#eef5ef}
.rubriques[data-navigation=atelier] :is(button,a):focus-visible{outline:2px solid #247d71;outline-offset:3px}
.these-introduction{max-width:1050px}
.these-statut{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:26px}
.these-statut .badge-these{display:inline-flex;align-items:center;gap:8px;flex:none;margin:0;padding:7px 12px;border:1px solid #bad7c8;border-radius:99px;background:#edf5ef;color:#286d5c;font:600 12px/1.4 var(--sans)}
.these-statut .badge-these::before{content:"";width:6px;height:6px;border-radius:50%;background:#3c8c60;box-shadow:0 0 0 3px #dbece0}
.these-statut .these-evolution{margin:0;padding:0;border:0;background:none;color:var(--muted);font-size:13px;line-height:1.5}
.these .these-introduction>h2{max-width:1020px;font-size:clamp(28px,3vw,43px);line-height:1.2;letter-spacing:-.02em;text-wrap:pretty}
.these-question-principale{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;margin:28px 0;padding-top:22px;border-top:1px solid #cbded6}
.these-question-principale>span{color:var(--green);font:600 11px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.07em}
.these .these-question-principale p{margin:0;color:var(--ink);font:400 clamp(18px,1.65vw,23px)/1.5 var(--serif);text-align:start;hyphens:none}
.these-parcours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0 8px}
.these-parcours>button{display:flex;align-items:center;gap:10px;min-width:0;min-height:60px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--objectif) 24%,white);border-radius:10px;background:var(--objectif-fond);color:var(--ink);text-align:start;transition:transform .18s,border-color .18s;touch-action:manipulation}
.these-parcours>button:hover{transform:translateY(-2px);border-color:var(--objectif)}
.these-parcours bdi{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--objectif);color:white;font:600 11px/1 var(--sans)}
.these-parcours button>span:nth-child(2){flex:1;min-width:0;font:550 12px/1.45 var(--sans);overflow-wrap:anywhere}
.these .objectif-carte{position:relative;scroll-margin-top:150px;border-inline-start-width:3px;border-radius:14px;background:linear-gradient(120deg,var(--objectif-fond),#fff 85%);box-shadow:0 10px 24px -28px var(--objectif)}
.these .objectif-carte:focus{outline:2px solid var(--objectif);outline-offset:4px}
.these .objectif-carte h4{display:flex;align-items:center;gap:8px;font-size:16px}
.these .objectif-carte .objectif-code{flex:none;border-radius:8px;padding:6px 8px}
.these .these-formulation{font-size:16px;line-height:1.85;text-align:start;hyphens:none}
.these-concept-label{margin:0 0 10px;color:var(--green);font:600 11px/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase}
.these .these-point{margin-top:0;border:1px solid #ccdfd5;border-radius:14px;background:linear-gradient(135deg,#f0f6f0,#fbfcf9);padding:24px}
.these-renvoi{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin-top:18px;padding:12px 0 0;border-top:1px solid color-mix(in srgb,var(--objectif) 18%,white);color:var(--objectif);font:600 12px/1.5 var(--sans);text-align:start;touch-action:manipulation}
.objectif-lacune{margin-top:18px;padding:13px 0 0;border-top:1px solid color-mix(in srgb,var(--objectif) 18%,white)}
.objectif-lacune summary{cursor:pointer;font:600 12px/1.5 var(--sans);color:var(--objectif)}
.these .objectif-lacune p{margin-top:12px;font-size:14px;line-height:1.75}
.these-concept-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}
.these-concept-sequence>button{display:flex;flex-direction:column;align-items:start;gap:14px;min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--objectif) 22%,white);border-radius:12px;background:var(--objectif-fond);text-align:start}
.these-concept-sequence strong{font:550 12px/1.5 var(--sans);overflow-wrap:anywhere}
.these-concept-sequence button>span:last-child{align-self:end;color:var(--objectif)}
.these-fondements,.these-protocole-detail{margin-block:28px 0;padding:20px;border:1px solid #d5e3dd;border-radius:14px;background:#f8faf7}
.these-fondements>summary,.these-protocole-detail>summary{cursor:pointer;min-height:32px;color:var(--green-deep);font:600 14px/1.5 var(--sans)}
.these-fondements>summary .ic{display:inline-block;width:16px;height:16px;margin-inline:5px 9px;vertical-align:middle}
.these-fondements>p{margin-top:18px;color:var(--muted);font-size:14px}
.these-fondements .conceptualisation-these{margin-top:26px}
html[dir=rtl] .rubrique-direction,html[dir=rtl] .rubriques-pagination>button>svg{transform:rotate(180deg)}
html[dir=rtl] .rubrique-precedente{transform:none}
html[dir=rtl] .rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true]{box-shadow:0 5px 13px -10px #173f52,inset -3px 0 #286d5c}
@media(max-width:1099px){
 .rubriques[data-navigation=atelier]{display:block}
 .rubriques[data-navigation=atelier] .rubriques-console{position:relative;top:auto;margin-bottom:18px;padding:14px 12px 10px;border-radius:16px}
 .rubriques[data-navigation=atelier] .rubriques-console-tete{font-size:10px}
 .rubriques[data-navigation=atelier] .rubriques-progression{margin-block:11px 12px}
 .rubriques[data-navigation=atelier] .rubriques-nav{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;max-height:none;padding:0 1px 5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:12px;direction:ltr}
 .rubriques[data-navigation=atelier] .rubriques-nav button{flex:0 0 180px;width:180px;max-width:180px;min-height:62px;padding:10px;border:1px solid #d6e3dd;border-radius:10px;background:rgba(255,255,255,.6);scroll-snap-align:center}
 .rubriques[data-navigation=atelier] .rubriques-nav button:hover{transform:none}
 .rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true]{border-color:#94baa7;box-shadow:inset 0 -3px #286d5c;background:#fff}
 .rubrique-libelle strong{font-size:12px}
 .rubrique-direction{display:none}
 html[dir=rtl] .rubriques[data-navigation=atelier] .rubriques-nav button{direction:rtl}
 html[dir=rtl] .rubriques[data-navigation=atelier] .rubriques-nav{direction:rtl}
 .rubriques[data-navigation=atelier]>.rubrique-corps{padding:24px;border-radius:16px}
}
@media(max-width:600px){
 .rubriques[data-navigation=atelier] .rubriques-console{padding:13px 10px 10px}
 .rubriques[data-navigation=atelier] .rubriques-nav button{flex-basis:165px;width:165px;max-width:165px;min-height:64px}
 .rubriques[data-navigation=atelier]>.rubrique-corps{padding:20px 16px}
 .rubrique-entete{margin-bottom:22px;padding-bottom:16px}
 .rubrique-icone{width:30px;height:30px;border-radius:9px}
 .rubriques-pagination{gap:8px;margin-top:26px;padding-top:18px}
 .rubriques-pagination>button{align-items:start;gap:7px;padding:11px 9px}
 .rubriques-pagination strong{font-size:11px}
 .rubriques-pagination svg,.rubrique-precedente{width:13px;height:13px;margin-top:3px}
 .these .these-statut{gap:12px;margin-bottom:22px}
 .these-question-principale{grid-template-columns:minmax(0,1fr);gap:10px;margin-block:22px}
 .these-parcours{gap:7px}
 .these-parcours>button{flex-direction:column;align-items:start;gap:9px;padding:10px;min-height:120px}
 .these-parcours button>span:nth-child(2){font-size:11px}
 .these-parcours button>span:last-child{align-self:end}
 .these .these-formulation{font-size:15px;line-height:1.85}
 .these .these-point{padding:18px}
 .these-concept-sequence{grid-template-columns:minmax(0,1fr);gap:8px}
 .these-concept-sequence>button{flex-direction:row;align-items:center;padding:12px}
 .these-concept-sequence strong{flex:1}
 .these-concept-sequence button>span:last-child{align-self:center;transform:rotate(90deg)}
 .these-fondements,.these-protocole-detail{padding:16px}
}
@media(prefers-reduced-motion:reduce){.rubriques-progression>span,.rubriques[data-navigation=atelier] .rubriques-nav button,.rubrique-direction,.these-parcours>button{transition:none}}
html:is(.hc,.lv) .rubriques[data-navigation=atelier] :is(.rubriques-console,.rubrique-corps,.rubriques-nav button,.rubrique-icone),html:is(.hc,.lv) .these :is(.these-point,.objectif-carte,.these-parcours>button){background:white;color:var(--ink);border-color:var(--ink);box-shadow:none}
.pied-informations{display:flex;flex-direction:column;gap:10px;min-width:0;max-width:1000px}
.pied-informations>small{color:var(--muted);font-size:11px;line-height:1.7}
.audience-info{max-width:760px;font-size:12px;line-height:1.75}
.audience-info>summary{width:fit-content;cursor:pointer;color:var(--green-deep);text-decoration:underline;text-underline-offset:3px}
.audience-info>div{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.audience-info p{margin:0 0 12px;text-align:start}
.audience-info a{text-decoration:underline;text-underline-offset:3px}
.audience-info [data-audience-refuser]{min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);text-align:start}
.audience-info [data-audience-refuser][aria-pressed=true]{border-color:var(--green);background:var(--sage)}
.audience-info .audience-etat{margin-top:10px;font-size:11px;color:var(--muted)}

/* Entrée au clic ; entrebâillement visuel au survol et au clavier. */
.hall-aide-deplacement{display:none}
.hall-reprise{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;width:fit-content;max-width:100%;min-height:44px;margin:0 0 14px;padding:11px 16px;border:1px solid #a6c4b4;border-radius:10px;background:#f0f7f2;color:var(--ink);text-align:start;font-size:12px;line-height:1.5}
.hall-reprise strong{font-weight:600;overflow-wrap:anywhere}
.hall-reprise>span:last-child{margin-inline-start:auto;color:var(--green)}
@media(max-width:999px){.hall.en-mobile .hall-reprise{order:0;width:100%;font-size:12px}}
.edition-linguistique{max-width:1224px;margin:24px auto 0;padding:20px 24px;border:1px solid var(--line);border-inline-start:3px solid var(--green);border-radius:8px;background:var(--white);color:var(--body)}
.edition-linguistique-tete{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.edition-linguistique h2{margin:0;color:var(--ink);font:500 23px/1.5 var(--sans)}
.edition-linguistique h2 small{font-size:12px}
.edition-statut{padding:4px 8px;border-radius:4px;background:var(--sage);color:var(--green-deep);font-size:11px;font-weight:600}
.edition-linguistique>p{font-size:13px;line-height:1.65;margin:0 0 12px;text-align:start}
.edition-linguistique summary{cursor:pointer;color:var(--ink);font-size:13px;line-height:1.5}
.edition-limite{margin-top:14px!important;color:var(--muted)}
.edition-presentation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:20px 0 0}
.edition-presentation>div{min-width:0}
.edition-presentation h3{color:var(--ink);font-size:18px;line-height:1.5;margin:0 0 12px}
.edition-presentation p{font-size:14px;line-height:1.8;text-align:start}
.edition-presentation p[lang=fr]{color:var(--muted);font-size:12px}
.edition-actions{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--line);padding-top:12px}
.edition-actions a{font-size:12px;line-height:1.55;text-underline-offset:3px;color:var(--ink)}
@media(max-width:1320px){.edition-linguistique{margin-inline:var(--gouttiere)}}
@media(max-width:700px){.edition-linguistique{padding:16px;margin-top:18px}.edition-presentation{grid-template-columns:minmax(0,1fr);gap:14px}.edition-linguistique h2{font-size:21px}.edition-actions{display:grid;gap:12px}.edition-linguistique-tete{gap:8px}.salle-barre button{white-space:normal}}

@media(min-width:701px){.salle .salle-barre{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr)}.salle .salle-barre .salle-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}}
.menu-panneau [aria-current] .langue-statut{color:rgba(255,255,255,.8)}
.menu-panneau a>span:last-child,.menu-panneau [aria-current]>span:last-child{min-width:0;overflow-wrap:anywhere}

/* Ateliers documentés : lecture progressive, schémas de raisonnement et cas interactifs. */
.atelier-pratique{--accent:#28796b;max-width:1060px;margin:auto;text-align:start}.atelier-ia{--accent:#3f6f8f}.atelier-enseignement{--accent:#67823e}.atelier-pratique>header{padding:28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 9%,white),#fff)}.atelier-pratique h3{font-size:clamp(26px,3vw,36px);line-height:1.2}.atelier-pratique p{line-height:1.8;text-wrap:pretty;hyphens:none}.atelier-telecharger{display:inline-block;margin-top:10px;font-size:14px;color:var(--accent)}
.atelier-chaine{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;margin:28px 0}.atelier-chaine li{position:relative;min-width:0;padding:20px 16px;border-top:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,white);border-radius:3px 3px 12px 12px}.atelier-chaine li:not(:last-child)::after{content:'→';position:absolute;right:-14px;top:20px;color:var(--accent);z-index:1}.atelier-chaine li>span{font-size:12px;letter-spacing:.12em;color:var(--accent)}.atelier-chaine h4{font:600 17px/1.4 var(--sans);margin:13px 0 7px}.atelier-chaine p{font-size:14px;margin:0}
.atelier-essais{display:grid;gap:24px;margin:36px 0}.atelier-essais>section{padding-inline-start:24px;border-inline-start:2px solid var(--line)}.atelier-essais h4{font:600 22px/1.35 var(--serif);margin:0 0 12px}.atelier-essais p{margin:0}.atelier-cas{border:1px solid color-mix(in srgb,var(--accent) 35%,white);border-radius:18px;padding:25px;background:#fff}.atelier-choix{display:flex;flex-wrap:wrap;gap:9px;border:0;margin:22px 0;overflow:visible}.atelier-choix button{border:1px solid var(--line);border-radius:25px;padding:10px 15px;font-size:14px;line-height:1.4;flex:1 1 170px;white-space:normal}.atelier-choix button[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.atelier-reponse>h4{font-size:25px}.atelier-reponse>div{display:grid;grid-template-columns:1.1fr 1fr;gap:25px}.atelier-reponse h5{font:600 13px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin:0 0 9px}.atelier-reponse p{margin:0}.atelier-reponse aside{margin-top:22px;padding:18px 22px;border-inline-start:3px solid #b5823c;border-radius:3px 12px 12px 3px;background:#faf5e9}.atelier-reponse aside h5{color:#84602c}.atelier-biblio{margin-top:25px;border-block:1px solid var(--line);padding:18px 0}.atelier-biblio summary{font-weight:600;cursor:pointer}.atelier-biblio li{margin-bottom:14px;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.implantation-approfondie .implantation-approfondie{padding:0}.implantation-approfondie .section-corps{padding:0}
.logiciels-publics{margin-block:20px}.logiciels-publics>header{max-width:900px}.logiciels-cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.logiciels-cartes>article{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.logiciels-cartes svg{display:block;width:100%;height:170px;background:linear-gradient(120deg,#eef6f7,#f9fbf8)}.logiciels-cartes>article>div{padding:26px}.logiciels-cartes h3{font-size:32px;margin:0 0 12px}.logiciels-cartes p{line-height:1.7}.logiciels-chiffres{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:13px}.logiciels-chiffres b{display:block;font-size:24px;color:#16777f}.logiciels-cartes .bouton{margin-top:12px;display:inline-flex;align-items:center;padding:13px 18px;border-radius:9px;background:#175366;color:white;text-decoration:none;font:600 14px/1.4 var(--sans)}.logiciels-parcours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;list-style:none;padding:0;margin:28px 0}.logiciels-parcours li{display:flex;gap:10px;align-items:center;font-size:14px}.logiciels-parcours b{font-size:12px;color:#168087;border:1px solid #bbdad7;padding:7px;border-radius:50%}
@media(max-width:750px){.atelier-chaine,.logiciels-parcours{grid-template-columns:repeat(2,minmax(0,1fr))}.atelier-chaine li::after{display:none}.atelier-pratique>header,.atelier-cas{padding:20px}.atelier-reponse>div,.logiciels-cartes{grid-template-columns:1fr}.atelier-essais>section{padding-inline-start:16px}.logiciels-cartes svg{height:140px}}

.atelier-figure{float:right;width:min(30%,235px);margin:0 0 15px 22px;position:relative;z-index:1}.atelier-figure img{width:100%;height:auto;display:block}.atelier-pratique>header{min-height:190px}.atelier-pratique>header:after{content:"";display:block;clear:both}@media(max-width:700px){.atelier-figure{float:none;width:100%;max-width:360px;margin:0 auto 15px}.atelier-pratique>header{min-height:0}}

/* Hall mobile compact : sélection sur une ligne, sous-catégories toujours accessibles. */
@media(max-width:999px){.hall.en-mobile .hall-reperes{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}.hall.en-mobile .hall-reperes>button{flex:0 0 auto;max-width:185px;min-height:44px;scroll-snap-align:center}.hall.en-mobile .station-hall{min-height:280px;padding:16px 12px 44px;gap:10px}.hall.en-mobile .sous-portes-murales{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.hall.en-mobile .sous-portes-murales>button,.hall.en-mobile .sous-portes-murales>a{padding:6px;font-size:11.5px;min-height:44px}.hall.en-mobile .sous-portes-murales>:last-child:nth-child(odd){grid-column:1/-1}.hall.en-mobile .station-hall .porte{height:clamp(180px,45vw,265px)}.hall.en-mobile .hall-guide-mobile{margin:6px 2px 8px}.hall.en-mobile .portes{transition:height .16s ease}}
@media(prefers-reduced-motion:reduce){.hall.en-mobile .portes{transition:none}}

@media(hover:hover) and (pointer:fine){
 .hall .station-hall:hover .porte:not(.ouverte) .battant{transform:rotateY(-34deg);box-shadow:12px 0 18px rgba(15,49,66,.16)}
 .hall .station-hall:hover .porte:not(.ouverte) .apercu{opacity:1}
}

/* Liens et présentation du contenu. */
.accueil{padding-top:34px}
.encadrement{line-height:1.8}
.encadrement .encadrement-lien{color:var(--ink);font-weight:600;text-decoration:none;text-underline-offset:3px;text-decoration-thickness:1px;border-bottom:1px solid color-mix(in srgb,var(--green) 40%,transparent);transition:color .2s,border-color .2s}
.encadrement .encadrement-lien:hover,.encadrement .encadrement-lien:focus-visible{color:var(--green);border-color:currentColor}
.encadrement .encadrement-lien:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}
.encadrement-separateur{padding-inline:3px;color:#86979d}
.publications-page{grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.publications-page>.colonne-texte{max-width:100%;position:static}
.publications-page>.travaux{width:100%;max-width:none;padding:0}
.publications-page>.colonne-outils{grid-column:1;min-width:0}
.publications-page .groupes-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.publications-page .travaux-tete{padding-top:22px;margin-bottom:18px}
.publications-page .travail[data-axe-cible="travail-hospitalisations"]{border-color:#9cc3b7;background:linear-gradient(135deg,#fff,#f2f8f5);box-shadow:inset 4px 0 #327a66}
.publications-page .travail[data-axe-cible="travail-hospitalisations"] .statut-pastille{color:#1d624b;font-weight:750}
.bande-parcours .trajectoire{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 22px}
.bande-parcours .trajectoire::before{display:none}
.bande-parcours .trajectoire li{min-width:0;padding:28px 9px 6px 0;border-top:2px solid rgba(236,248,251,.47)}
.bande-parcours .trajectoire li::before{top:-12px}
.bande-parcours .trajectoire-date{font-size:15px}
.bande-parcours .trajectoire-texte{font-size:14px;line-height:1.55;overflow-wrap:break-word}
@media(max-width:999px){
 .hall.en-mobile .hall-reperes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:7px;border:1px solid #cddfdb;border-radius:17px;background:linear-gradient(120deg,#e9f1ee,#f0f5f3);box-shadow:0 4px 15px rgba(26,73,76,.075)}
 .hall.en-mobile .hall-reperes>button{min-height:66px;max-width:none;gap:10px;padding:12px 10px;font:400 13.5px/1.38 var(--sans);border:1px solid #e1eae7;border-radius:12px;background:#fff;box-shadow:0 2px 5px rgba(24,64,74,.045)}
 .hall.en-mobile .hall-reperes>button bdi{width:31px;height:31px;border-radius:8px;font:500 12px/1 var(--sans)}
 .hall.en-mobile .hall-reperes>button:hover,.hall.en-mobile .hall-reperes>button:focus-visible{border-color:color-mix(in srgb,var(--c1) 50%,white);background:color-mix(in srgb,var(--c1) 5%,white);box-shadow:0 4px 11px rgba(24,64,74,.09)}
 .hall.en-mobile .hall-reperes>button[aria-pressed=true]{border-color:color-mix(in srgb,var(--c1) 45%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c1) 10%,white),0 3px 10px rgba(24,64,74,.07)}
}
@media(max-width:850px){.publications-page .groupes-grille{grid-template-columns:1fr}.bande-parcours .trajectoire{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .accueil{padding-top:26px}
 .hall.en-mobile .hall-reperes{display:flex;gap:7px;overflow-x:auto}
 .hall.en-mobile .hall-reperes>button{flex:0 0 auto;min-width:156px;max-width:208px;min-height:58px}
}
@media(max-width:520px){.bande-parcours .trajectoire{grid-template-columns:1fr;gap:13px}.bande-parcours .trajectoire li{padding-top:23px}.bande-parcours .trajectoire li::before{top:-12px}}

/* Une seule ligne de six repères ; les trois éléments de 2024 partagent leur date. */
.bande-accueil.bande-parcours{padding:26px 30px 24px}
.bande-parcours>.bande-titre{margin-bottom:18px}
.bande-parcours .trajectoire{display:grid;grid-template-columns:1.05fr 1.05fr 1.55fr 1.05fr 1fr 1.15fr;gap:16px;margin:0;padding:0;overflow:visible}
.bande-parcours .trajectoire::before{display:block;top:9px;inset-inline:9px 0;height:3px;background:linear-gradient(90deg,#f2c14e,#f5a65b 20%,#7fd1b9 45%,#5fbfa5 65%,#8ec5ff)}
.bande-parcours .trajectoire>li{--etape:#f2c14e;min-width:0;min-height:0;margin:0;padding:30px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.bande-parcours .trajectoire>li:nth-child(2){--etape:#f5a65b}
.bande-parcours .trajectoire>li:nth-child(3){--etape:#7fd1b9}
.bande-parcours .trajectoire>li:nth-child(4){--etape:#5fbfa5}
.bande-parcours .trajectoire>li:nth-child(n+5){--etape:#8ec5ff}
.bande-parcours .trajectoire>li::before{top:0;inset-inline-start:0;z-index:1;border-color:var(--etape);background:#fff;box-shadow:none}
.bande-parcours .trajectoire>li::after{content:none}
.bande-parcours .trajectoire-date{font-size:14px;line-height:1.35;margin-bottom:5px}
.bande-parcours .trajectoire-texte{font-size:13px;line-height:1.45;overflow-wrap:break-word}
.bande-parcours .trajectoire-texte+.trajectoire-texte{margin-top:8px}
@media(max-width:850px){.bande-accueil.bande-parcours{padding:24px 22px}.bande-parcours .trajectoire{grid-template-columns:minmax(0,1fr);gap:0}.bande-parcours .trajectoire::before{display:none}.bande-parcours .trajectoire>li{padding:0 0 20px;padding-inline-start:31px}.bande-parcours .trajectoire>li::before{top:1px;width:18px;height:18px;border-width:4px}.bande-parcours .trajectoire>li::after{content:"";position:absolute;inset-inline:8px auto;top:17px;bottom:-3px;width:2px;background:rgba(142,197,255,.6)}.bande-parcours .trajectoire>li:last-child{padding-bottom:0}.bande-parcours .trajectoire>li:last-child::after{display:none}}
html[dir=rtl] .bande-parcours .trajectoire{direction:rtl}

/* Barre des six portes. */
.hall.en-volume .hall-reperes,.hall.en-mobile .hall-reperes{
 gap:6px;margin-top:12px;padding:7px;border:1px solid #bcd4d1;
 border-radius:16px;background:linear-gradient(115deg,#e6f1ef,#f0f6f4 55%,#e6f1f0);
 box-shadow:inset 0 1px rgba(255,255,255,.95),0 4px 11px rgba(21,66,73,.10);
}
.hall .hall-reperes>button{
 min-height:49px;padding:9px 10px;border:1px solid #dce7e4;
 border-radius:11px;background:#fff;color:#173f52;
 font-size:12px;font-weight:400;line-height:1.38;
 box-shadow:inset 0 2px 0 color-mix(in srgb,var(--c1) 50%,white);
 transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.hall .hall-reperes>button bdi{width:28px;height:28px;border-radius:8px;font-size:11px;font-weight:500}
.hall .hall-reperes>button[aria-pressed=true]{
 background:color-mix(in srgb,var(--c1) 7%,white);
 border-color:color-mix(in srgb,var(--c1) 45%,white);
 box-shadow:inset 0 3px 0 var(--c1),0 3px 7px rgba(28,65,76,.09);
 transform:none;
}
.hall .hall-reperes>button:hover,.hall .hall-reperes>button:focus-visible{
 border-color:var(--c1);box-shadow:inset 0 3px 0 var(--c1),0 3px 7px rgba(28,65,76,.10);
}
@media(max-width:999px){.hall.en-mobile .hall-reperes>button{min-height:55px;max-width:none;padding:9px 10px}}
@media(max-width:700px){.hall.en-mobile .hall-reperes{display:flex;overflow-x:auto}.hall.en-mobile .hall-reperes>button{flex:0 0 auto;min-width:156px;max-width:208px;min-height:58px}}
/* Panneaux du hall abaissés. */
@media(min-width:1000px){
 .hall.en-volume .panneau-hall{top:17px;max-height:calc(100% - 20px);padding:14px;border-radius:6px;box-shadow:1px 3px 7px #303d2425,inset 0 1px #fff}
 .hall.en-volume .panneau-hall h3{margin-bottom:13px;padding:0;border-bottom:none}
 .hall.en-volume .sous-portes-murales{gap:5px}
 .hall.en-volume .sous-portes-murales>button,.hall.en-volume .sous-portes-murales>a{min-height:34px;border-radius:3px}
}
@media(max-width:999px){.hall.en-mobile .station-hall{padding-top:24px;row-gap:14px}.hall.en-mobile .panneau-hall h3{margin-bottom:4px}}

.hall.en-volume .architecture-hall{isolation:isolate}
.hall.en-volume .architecture-hall::before{content:none;display:none}
.hall.en-volume .verriere-hall{display:none}

/* Le contenu déroulant n'étire pas la grille principale. */
.accueil{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
.accueil>*{min-width:0;max-width:100%}
.bande-parcours{min-width:0;max-width:100%;overflow:hidden}
.bande-parcours .trajectoire{width:100%;max-width:100%;min-width:0}
.hall,.hall-espace,.hall-reperes{min-width:0;max-width:100%}

/* Portes miniatures et navigation du hall. */
@media(min-width:1000px){
 .hall.en-volume .panneau-hall{top:30px;max-height:calc(100% - 34px)}
}
.hall .porte .vignette{inset-inline-start:13%;inset-inline-end:25%;top:9%;height:56%;background-position:center;background-size:cover;background-repeat:no-repeat}
.hall .hall-reperes>button{min-height:75px;padding:12px 13px;gap:11px;font-size:15px;font-weight:400;line-height:1.33}
.hall .hall-reperes>button bdi{width:34px;height:34px;font-size:13px;font-weight:500}
.hall .hall-reperes>button span{font-size:inherit;line-height:inherit;overflow-wrap:break-word}
@media(max-width:999px){.hall.en-mobile .hall-reperes>button{min-height:71px;padding:11px 12px;font-size:14px}.hall.en-mobile .hall-reperes>button bdi{width:32px;height:32px;font-size:12px}}
@media(max-width:700px){.hall.en-mobile .hall-reperes>button{min-width:178px;max-width:234px;min-height:66px}}

/* Publications : atlas visuel, sans portes secondaires. */
.publications-page{display:flex;flex-direction:column;gap:0;min-width:0}
.publications-page>.colonne-texte{width:100%;max-width:none;margin-bottom:10px}
.pub-explorateur{width:100%;min-width:0}
.pub-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;min-height:235px;padding:34px clamp(24px,4vw,50px);overflow:hidden;border-radius:21px;background:#204e55;color:#fff;box-shadow:0 18px 42px -30px #123a41}
.pub-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.34}
.pub-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(108deg,rgba(18,49,67,.96),rgba(25,80,78,.85))}
.pub-kicker{display:block;margin-bottom:14px;color:#cae5df;font-size:11px;font-weight:850;letter-spacing:.15em}
.pub-hero h3{margin:0 0 13px;color:#fff;font-size:clamp(26px,3vw,37px);font-weight:800;letter-spacing:-.035em;line-height:1.12}
.pub-hero p{max-width:630px;margin:0;color:#e7f3f1;font-size:15px;line-height:1.65}
.pub-parcours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.pub-parcours li{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 13px;border-radius:11px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.085);font-weight:700;font-size:13px;color:#fff;backdrop-filter:blur(7px)}
.pub-parcours b{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:8px;background:#e7f1ed;color:#265e60;font-size:12px}
.pub-formats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0 12px}
.pub-format{display:flex;flex-direction:column;min-width:0;min-height:249px;overflow:hidden;padding:0;border:1px solid #d5e2dd;border-radius:17px;background:#fff;text-align:start;color:#183d47;cursor:pointer;box-shadow:0 6px 20px -15px rgba(20,61,64,.45);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.pub-format:hover,.pub-format:focus-visible{transform:translateY(-4px);border-color:var(--pub-c);box-shadow:0 17px 32px -18px rgba(17,56,67,.48)}
.pub-format:focus-visible{outline:3px solid var(--pub-c);outline-offset:3px}
.pub-format.est-actif{border-color:var(--pub-c);box-shadow:0 14px 30px -18px rgba(18,58,65,.5),inset 0 -4px 0 var(--pub-c)}
.pub-format-visuel{display:grid;place-items:center;min-height:121px;padding:7px;background:linear-gradient(160deg,color-mix(in srgb,var(--pub-c) 12%,#fff),#f6faf7);border-bottom:1px solid #e1eae5}
.pub-format-visuel svg{display:block;width:min(100%,235px);height:110px;filter:drop-shadow(0 4px 7px rgba(23,65,55,.09));transition:transform .3s ease}
.pub-format:hover svg,.pub-format:focus-visible svg{transform:translateY(-3px) scale(1.04)}
.pub-format-corps{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:16px 17px 17px}
.pub-format small{color:var(--pub-c);font-size:11px;font-weight:800;letter-spacing:.12em}
.pub-format strong{font-size:17px;font-weight:780;line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere;text-wrap:balance}
.pub-format-bas{display:flex;align-items:baseline;gap:8px;width:100%;margin-top:auto;padding-top:9px;border-top:1px solid #e3ebe7;font-size:12px;color:#567074}
.pub-format-bas b{color:var(--pub-c);font-size:18px;font-variant-numeric:tabular-nums}
.pub-en-cours{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:13px 0 19px;padding:0 4px;font-size:13px;color:#60777b}
.pub-en-cours i{width:8px;height:8px;border-radius:50%;background:#2f846f;box-shadow:0 0 0 4px #ddefe8}
.pub-en-cours strong{color:#234c52;font-weight:800}
.publication-bloc{width:100%;min-width:0;margin:0 0 22px;padding:clamp(18px,3vw,30px);border:1px solid #d9e6e0;border-radius:19px;background:linear-gradient(180deg,#fff,#fbfdfb);scroll-margin-top:25px}
.publication-bloc[hidden]{display:none!important}
.publication-bloc:focus{outline:none}
.publication-bloc:focus-visible{outline:2px solid #327a66;outline-offset:4px}
.publication-bloc .travaux{width:100%;max-width:none;padding:0}
.publication-bloc .travaux-tete{padding-top:0}
.publication-bloc .groupes-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.publication-titre{margin:0 0 16px;font-size:clamp(21px,2.4vw,27px);color:var(--ink)}
.publication-vide{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.publication-these-note{margin:17px 0 0;padding:14px 17px;border-inline-start:3px solid #327a66;background:#eff6f3;font-size:15px}
.publication-these-note a{font-weight:800;color:#1c6653}
@media(max-width:1150px){.pub-formats{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-format{min-height:215px}.pub-format-visuel{min-height:100px}.pub-format-visuel svg{height:94px}}
@media(max-width:760px){.pub-hero{grid-template-columns:1fr;padding:26px 23px;gap:23px}.pub-parcours{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pub-parcours li{flex-direction:column;text-align:center;gap:7px;padding:10px 5px;font-size:10.5px}.pub-parcours b{width:28px;height:28px;font-size:10px}.pub-format strong{font-size:15.5px}.pub-format-corps{padding:13px}}
@media(max-width:520px){.pub-formats{gap:9px}.pub-format{min-height:192px;border-radius:13px}.pub-format-visuel{min-height:79px;padding:4px}.pub-format-visuel svg{height:76px}.pub-format-corps{padding:10px;gap:6px}.pub-format strong{font-size:14.5px}.pub-format small{font-size:9px}.pub-format-bas{font-size:11px}.pub-format-bas b{font-size:15px}.pub-hero{border-radius:14px}.pub-hero h3{font-size:26px}.pub-hero p{font-size:13.5px}.publication-bloc{padding:16px 13px}}
@media(prefers-reduced-motion:reduce){.pub-format,.pub-format svg{transition:none}.pub-format:hover,.pub-format:hover svg,.pub-format:focus-visible,.pub-format:focus-visible svg{transform:none}}
@media(forced-colors:active){.pub-format.est-actif{outline:2px solid Highlight}}
html[dir=rtl] .pub-hero,html[dir=rtl] .pub-format{text-align:right}

/* Hall : une plus grande surface de verrière au-dessus des portes.
   Le volume grandit vers le haut, portes et panneaux restent ancrés au sol. */
@media(min-width:1000px){
 .hall.en-volume .hall-espace{height:clamp(410px,52svh,470px)}
 .hall.en-volume .station-hall{height:322px}
 /* Cadres calés sur la jonction vitres/mur de la photographie, pour toute la plage de hauteur du hall. */
 .hall.en-volume .panneau-hall{top:clamp(44.14px,calc(343.67px - 33.14svh),82.38px);max-height:calc(100% - 69px)}
}

/* Adaptations tactiles : navigation fluide, surfaces de clic et lisibilité. */
@media(max-width:999px){
 :root{--gouttiere:clamp(14px,3.9vw,28px)}
 .entete .nav{scroll-snap-type:x proximity;scroll-padding-inline:9px;-webkit-overflow-scrolling:touch;max-width:100%}
 .entete .nav a{min-height:46px;scroll-snap-align:start;touch-action:manipulation}
 .hall.en-mobile .hall-reperes{scroll-snap-type:x proximity;scroll-padding-inline:8px;-webkit-overflow-scrolling:touch}
 .hall.en-mobile .hall-reperes>button{min-height:60px;scroll-snap-align:start;touch-action:manipulation}
 .hall.en-mobile .station-hall{border-radius:15px;overflow:hidden}
 .hall.en-mobile .sous-portes-murales>button,.hall.en-mobile .sous-portes-murales>a{min-height:48px;padding:9px 10px;border-radius:8px;font-size:13px;line-height:1.38;touch-action:manipulation}
 .hall.en-mobile .hall-commandes>button{min-width:46px;min-height:46px;box-shadow:0 3px 10px rgba(23,63,82,.09)}
 .hall.en-mobile .hall-commandes>button:disabled{opacity:.32;cursor:default;box-shadow:none}
 .salle .salle-barre{z-index:12;gap:10px;padding-block:10px;box-shadow:0 4px 13px rgba(23,63,82,.07)}
 .salle-contenu .section-corps{padding-top:31px}
 .rubriques[data-navigation=atelier] .rubriques-nav{scroll-padding-inline:10px;-webkit-overflow-scrolling:touch}
 .rubriques[data-navigation=atelier] .rubriques-nav button{min-height:65px;scroll-snap-align:start;touch-action:manipulation}
 .rubriques-pagination>button{min-height:54px;touch-action:manipulation}
 .pub-format{touch-action:manipulation}
 .pub-format strong{hyphens:none;overflow-wrap:break-word}
 .pub-format:active{border-color:var(--pub-c);background:#f8fbf9;transform:scale(.99)}
 .publication-bloc{scroll-margin-top:calc(var(--salle-barre-hauteur,78px) + 90px)}
 .publication-bloc .travaux-grille{grid-template-columns:minmax(0,1fr)}
 .publication-bloc .travail{min-width:0;overflow-wrap:anywhere}
 .publication-bloc .travail.vedette{display:flex;flex-direction:column;gap:10px;padding:20px}
 .publication-bloc .travail.vedette>*{grid-column:auto;grid-row:auto}
 .publication-bloc .travail.vedette .resume{align-self:auto}
 .publication-bloc .travail h4{font-size:19px}
 .publication-bloc .travail.vedette h4{font-size:21px}
}
@media(max-width:700px){
 .entete{position:relative;gap:9px 12px;padding:12px var(--gouttiere) 10px}
 .entete .marque{flex:1 1 100%;max-width:100%;order:0}
 .entete .marque-domaines{font-size:13px;line-height:1.35;letter-spacing:-.005em}
 .entete .coordonnees-haut{display:none}
 .entete .outils{order:1;flex:1 1 100%;margin:0;justify-content:flex-start;gap:8px}
 .entete .outils .bouton-cv{min-height:41px;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px}
 .entete .nav{order:2;flex:1 1 100%;margin:3px 0 0;gap:8px;padding:8px 0 0;border-radius:0}
 .entete .nav a{min-height:44px;font-size:13.5px;padding:9px 12px}
 .accueil{padding-block:23px 35px;gap:23px}
 .accueil .identite{gap:13px;align-items:center}
 .accueil .portrait{width:clamp(86px,25vw,110px);border-radius:11px}
 .accueil h1{font-size:clamp(31px,9vw,42px);line-height:1.07;white-space:normal}
 .accueil .roles{font-size:13px;line-height:1.5;margin-top:6px}
 .accueil .chapeau{font-size:15px;line-height:1.68}
 .accueil .chapeau h2{font-size:clamp(22px,6vw,28px)}
 .accueil .encadrement{font-size:12.5px;margin-bottom:15px}
 .accueil .actions{gap:12px}
 .accueil .actions :is(a,button){min-height:44px}
 .salle .salle-barre{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 8px;padding:9px var(--gouttiere)}
 .salle .salle-barre [data-retour]{grid-column:1;grid-row:1;justify-self:start;min-height:44px;padding:8px 11px;border-radius:10px;border:1px solid #cbdad5;background:#fff;font-size:12.5px;font-weight:730}
 .salle .salle-barre #salle-titre{grid-column:1/-1;grid-row:2;text-align:start;max-width:100%;font-size:12.5px;font-weight:650;line-height:1.35;color:#3a5963}
 .salle .salle-barre .salle-actions{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;gap:6px;align-items:center;flex-wrap:nowrap}
 .salle .salle-barre .salle-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #cbdad5;border-radius:10px;background:#fff;font-size:12px;line-height:1.2;font-weight:700;text-align:center}
 .salle .salle-barre .salle-actions button[data-suivante],.salle .salle-barre .salle-actions button[data-contact]{max-width:112px;white-space:normal}
 .salle-contenu .section-corps{padding:27px var(--gouttiere) 42px}
 .section h2,.salle h2{font-size:clamp(28px,8vw,37px)}
 .intro{font-size:15px;line-height:1.7}
 .pub-hero{padding:24px 20px;min-height:0}
 .pub-hero h3{font-size:clamp(23px,6vw,31px)}
 .pub-hero p{font-size:14px;line-height:1.6}
 .pub-formats{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .pub-format{min-height:216px}
 .pub-format-visuel{min-height:96px}
 .pub-format-visuel svg{height:90px}
 .pub-format-corps{padding:12px 13px 14px}
 .pub-format strong{font-size:15px}
 .pub-format-bas{font-size:11.5px}
 .pub-en-cours{margin:8px 0 14px}
 .publication-bloc{padding:18px 14px}
 .publication-bloc .travail{padding:17px}
 .rubriques[data-navigation=atelier]>.rubrique-corps{padding:18px 15px}
 .rubriques[data-navigation=atelier] .rubriques-nav button{flex-basis:170px;width:170px;max-width:170px}
 .rubriques-pagination{gap:9px}
 .rubriques-pagination>button{min-height:58px;padding:10px}
}
@media(max-width:520px){
 .hall.en-mobile .station-hall{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:10px;min-height:0;padding:17px 15px 22px;align-items:start;border-radius:14px}
 .hall.en-mobile .station-hall .panneau-hall h3{grid-column:1;grid-row:1;font-size:17px}
 .hall.en-mobile .station-hall .porte{grid-column:1;grid-row:2;justify-self:center;width:clamp(110px,36vw,144px);height:clamp(165px,48vw,204px);margin:4px 0 25px}
 .hall.en-mobile .station-hall .porte .baie{height:100%}
 .hall.en-mobile .sous-portes-murales{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:14px;border-top:1px solid rgba(50,80,77,.24)}
 .hall.en-mobile .sous-portes-murales>:last-child:nth-child(odd){grid-column:1/-1}
 .hall.en-mobile .sous-portes-murales>button,.hall.en-mobile .sous-portes-murales>a{min-width:0;min-height:51px;padding:9px 10px;font-size:12.8px;line-height:1.35}
 .hall.en-mobile .hall-reperes>button{min-width:158px;max-width:205px;font-size:13px}
 .hall.en-mobile .hall-guide-mobile{font-size:12px}
 .hall.en-mobile .hall-espace{border-radius:14px}
 .hall.en-mobile .hall-commandes{padding:8px 10px 10px}
 .pub-parcours{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pub-parcours li{flex-direction:row;justify-content:flex-start;text-align:start;gap:9px;padding:9px;font-size:12px}
 .pub-format{min-height:205px}
 .pub-format strong{font-size:14.5px;line-height:1.3}
 .pub-format-visuel svg{height:82px}
}
@media(max-width:400px){
 .entete .bouton-cv{font-size:12px;padding-inline:9px}
 .salle .salle-barre [data-retour]{font-size:12px;padding:7px 9px}
 .salle .salle-barre .salle-actions button{padding-inline:6px}
 .pub-formats{grid-template-columns:minmax(0,1fr);gap:9px}
 .pub-format{display:grid;grid-template-columns:108px minmax(0,1fr);min-height:112px;border-radius:13px}
 .pub-format-visuel{min-height:112px;height:100%;border-bottom:0;border-inline-end:1px solid #e1eae5}
 .pub-format-visuel svg{width:105px;height:95px}
 .pub-format-corps{padding:11px 12px;gap:5px}
 .pub-format strong{font-size:15px}
 .pub-format-bas{padding-top:6px}
 .pub-hero{padding:20px 16px}
 .pub-kicker{font-size:10px;letter-spacing:.09em}
}
@media(hover:none) and (pointer:coarse){.pub-format:hover,.pub-format:hover svg{transform:none}}
@media(prefers-reduced-motion:reduce){.hall.en-mobile .hall-reperes,.entete .nav{scroll-behavior:auto}}

/* Hall panoramique : dimensions. */
@media(min-width:1000px){
  .hall.en-volume{--eb-hall-hauteur:clamp(410px,52svh,470px)}
  .hall.en-volume .hall-espace{height:var(--eb-hall-hauteur)}
  .hall.en-volume .architecture-hall{
    transform:translateZ(-100px) scale(1.025);
    background-color:#eeeee8;
    background-position:var(--hall-lumiere,50%) top;
    background-size:auto 110.5%;
  }
  /* Même cadrage pour toutes les couches photo, sans décalage. */
  .hall.en-volume .architecture-hall::before{
    background-position:var(--hall-lumiere,50%) top;
    background-size:auto 110.5%;
    -webkit-mask-position:var(--hall-lumiere,50%) top;
    mask-position:var(--hall-lumiere,50%) top;
    -webkit-mask-size:auto 110.5%;
    mask-size:auto 110.5%;
  }
  .hall.en-volume .architecture-hall::after{content:none;display:none}
  .hall.en-volume .dallage-hall{
    height:calc(var(--eb-hall-hauteur) * .135);
    background:linear-gradient(180deg,transparent,rgba(243,244,236,.045));
  }
  .hall.en-volume .station-hall{
    width:430px;
    height:calc(var(--eb-hall-hauteur) * .78);
    bottom:calc(var(--eb-hall-hauteur) * .135);
  }
  .hall.en-volume .station-hall .porte{
    left:12px;
    width:176px;
    --largeur-porte:176px;
    /* La base reste fixée au rail. Corriger exclusivement le sommet :
       0,02 hauteur de hall plus bas, pour rejoindre le haut du mur. */
    height:calc(var(--eb-hall-hauteur) * .54);
  }
  .hall.en-volume .panneau-hall{
    left:200px;
    top:calc(var(--eb-hall-hauteur) * .15);
    bottom:auto;
    width:214px;
    max-height:none;
    overflow:visible;
    padding:10px;
    border:1px solid #c3d3cb;
    border-top:3px solid color-mix(in srgb,var(--c1) 55%,white);
    border-radius:9px;
    background:linear-gradient(150deg,rgba(255,255,252,.98),rgba(249,252,248,.95));
    box-shadow:0 2px 9px rgba(25,51,48,.09),inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:none;
  }
  .hall.en-volume .panneau-hall h3{
    margin:0 0 8px;
    font-size:12.5px;
    line-height:1.27;
  }
  .hall.en-volume .panneau-hall h3 button{align-items:center;min-height:26px}
  .hall.en-volume .panneau-hall h3 bdi{width:22px;height:22px;flex:none}
  .hall.en-volume .sous-portes-murales{gap:5px}
  .hall.en-volume .sous-portes-murales>button,
  .hall.en-volume .sous-portes-murales>a{
    min-height:34px;
    padding:4px 6px;
    border:1px solid #d5e2dc;
    border-radius:6px;
    background:rgba(255,255,255,.95);
    font-size:10.8px;
    line-height:1.28;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    transition:background .18s,border-color .18s,box-shadow .18s;
  }
  .hall.en-volume .sous-portes-murales>button:hover,
  .hall.en-volume .sous-portes-murales>a:hover{
    box-shadow:0 2px 7px rgba(25,51,48,.07);
  }
}

/* Hall architectural haute fidélité (ordinateur uniquement).
   Le mur, ses reflets et le dallage proviennent de la photographie.
   Le rail est un profilé inox encastré avec texture de métal brossé,
   fraisage, micro-fixations et deux roulements porteurs sous le seuil.
   Ni la porte ni la caméra / navigation ne sont modifiées. */
@media(min-width:1000px){
  .hall.en-volume .portes::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:calc(var(--eb-hall-hauteur) * .135 - 15px);
    height:18px;
    z-index:0;
    pointer-events:none;
    background:url("hall-rail-acier.svg") left top / 640px 18px repeat-x;
    /* Détails de surface intégrés à la photographie, pas de rail en relief massif. */
    opacity:.86;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 1.5%,black 98.5%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0%,black 1.5%,black 98.5%,transparent 100%);
  }
  .hall.en-volume .portes::after{
    content:none; /* La texture du rail inclut déjà son ombre de contact. */
  }
  /* Deux véritables galets visibles, fixés au battant et engagés dans le profilé.
     La ressource préexistante était jusqu'ici inutilisée. */
  .hall.en-volume .station-hall .porte::before{
    content:"";
    position:absolute;
    left:0;
    top:calc(100% - 1px);
    width:100%;
    height:14px;
    margin:0;
    pointer-events:none;
    z-index:2;
    background:url("hall-galets-acier.svg") center top / 100% 14px no-repeat;
    opacity:.96;
    box-shadow:none;
  }
  /* L'assise du seuil projette une ombre courte sur la pierre naturelle.
     Deux zones douces sous les points d'appui évitent l'impression de flottement. */
  .hall.en-volume .station-hall::before{
    content:"";
    position:absolute;
    left:17px;
    bottom:-15px;
    width:168px;
    height:26px;
    pointer-events:none;
    z-index:0;
    background:
      radial-gradient(ellipse 44px 7px at 14% 28%,rgba(39,43,36,.24),transparent 88%),
      radial-gradient(ellipse 44px 7px at 87% 28%,rgba(39,43,36,.24),transparent 88%),
      radial-gradient(ellipse 92px 10px at 51% 38%,rgba(53,55,46,.14),transparent 90%);
    filter:blur(2px);
  }
  .hall.en-volume .porte::after{
    content:"";
    position:absolute;
    left:-3%;
    top:calc(100% + 3px);
    width:106%;
    height:18px;
    pointer-events:none;
    z-index:0;
    background:radial-gradient(ellipse at 50% 0%,rgba(50,49,42,.19),transparent 70%);
    filter:blur(2.2px);
  }
  /* La vue garde les véritables détails de l'atrium jusque dans les bords. */
  .hall.en-volume .hall-espace::before,
  .hall.en-volume .hall-espace::after{
    width:8px;
    opacity:.56;
  }
}
/* Porte architecturale — construction cohérente, sans changer les dimensions,
   l'emplacement, les couleurs de base ni la mécanique d'ouverture.
   Huisserie, feuillure, laquage, verre et panneau utilisent un même repère
   pour les deux rectangles (mêmes marges exactes à gauche et à droite). */
.hall:is(.en-volume,.en-mobile) .station-hall .porte .baie{
  background:linear-gradient(90deg,
    #9fab9f 0%,#e4eae2 1%,#fcfdf9 2.8%,#edf1eb 4.4%,
    #eef1ed 95.5%,#fcfdfa 97.4%,#bbc6bb 99.2%,#849389 100%);
  border:0;
  border-radius:1px;
  box-shadow:
    inset 1px 1px 0 #fff,
    inset -2px 0 1px rgba(61,79,65,.42),
    0 0 0 1px rgba(98,114,100,.74),
    2px 3px 5px rgba(28,43,32,.24),
    4px 6px 10px -7px rgba(27,39,28,.38);
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .ouverture{
  inset:2.4% 3.3% 1.6%;
  overflow:visible;
  background:linear-gradient(90deg,#d3dbd3,#f3f6ef 8%,#f5f7f2 92%,#b5c1b6);
  box-shadow:
    inset 3px 0 5px rgba(39,54,43,.27),
    inset -2px 0 3px rgba(39,54,43,.2),
    inset 0 2px 3px rgba(34,47,36,.26),
    0 0 0 1px rgba(116,134,119,.35);
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .battant{
  border:1px solid #aebbb0;
  border-radius:1px;
  background-image:
    url("hall-peinture-satinee.svg"),
    linear-gradient(104deg,#fff 0%,#fdfefb 8%,#f8faf5 38%,#f0f3ed 79%,#dee6dd 100%);
  background-size:192px 256px,100% 100%;
  background-repeat:repeat,no-repeat;
  background-blend-mode:soft-light,normal;
  box-shadow:
    inset 2px 0 1px rgba(255,255,255,.97),
    inset -2px 0 2px rgba(78,94,77,.2),
    inset 0 2px 1px rgba(255,255,255,.96),
    inset 0 -3px 3px rgba(100,113,97,.17),
    1px 2px 2px rgba(24,37,28,.17);
  backface-visibility:hidden;
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .battant::before{
  /* Ombre de feuillure sur la tranche du battant — sans ligne décorative. */
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(90deg,rgba(53,69,57,.28),rgba(255,255,255,.26));
  pointer-events:none;
}
/* Les deux encadrements ont EXACTEMENT les mêmes limites latérales.
   Le montant à droite reste assez large pour la poignée. */
.hall:is(.en-volume,.en-mobile) .station-hall .porte .vignette,
.hall:is(.en-volume,.en-mobile) .station-hall .porte .battant::after{
  inset-inline-start:13.5%;
  inset-inline-end:24%;
  box-sizing:border-box;
  border-radius:1px;
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .vignette{
  top:9%;
  height:55%;
  border:2px solid #e2e8e0;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  background-clip:padding-box;
  box-shadow:
    0 0 0 1px #8f9c90,
    0 0 0 3px #f9faf6,
    0 0 0 4px #adb9ae,
    inset 2px 2px 4px rgba(22,34,27,.36),
    inset -1px -1px 2px rgba(255,255,255,.2),
    2px 3px 4px -2px rgba(34,50,36,.28);
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .vignette::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(14,25,19,.14),transparent 8% 92%,rgba(14,25,19,.11));
  box-shadow:inset 1px 2px 3px rgba(13,28,20,.24);
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .vignette::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  /* Vitrage quasi neutre : pas de voile blanc ni de fumée. */
  background:linear-gradient(118deg,
    rgba(255,255,255,.12) 0%,rgba(255,255,255,.035) 13%,
    transparent 28% 78%,rgba(255,255,255,.025) 100%);
  box-shadow:none;
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .battant::after{
  display:block;
  content:"";
  top:72.5%;
  height:18.5%;
  border:2px solid #c5d0c5;
  background-image:
    url("hall-peinture-satinee.svg"),
    linear-gradient(140deg,#edf2eb 0%,#fafcf7 33%,#f4f7f1 67%,#e0e9df 100%);
  background-size:192px 256px,100% 100%;
  background-repeat:repeat,no-repeat;
  background-blend-mode:soft-light,normal;
  box-shadow:
    0 0 0 1px #fdfefa,
    0 0 0 3px #e7ede5,
    0 0 0 4px #aebbad,
    inset 2px 2px 3px rgba(59,77,62,.23),
    inset -2px -2px 2px rgba(255,255,255,.92),
    1px 2px 3px -2px rgba(42,61,43,.24);
  pointer-events:none;
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .poignee{
  top:51%;
  inset-inline-end:6.8%;
  width:4%;
  height:10.5%;
  min-width:3px;
  min-height:0;
  border:1px solid #87938f;
  border-radius:3px;
  background:linear-gradient(90deg,#6d7a78,#d9e0dd 21%,#fcfdfb 42%,#b7c4c0 73%,#778583);
  box-shadow:1px 1px 3px rgba(24,39,32,.38),inset 1px 0 rgba(255,255,255,.66);
  z-index:3;
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .poignee::before{
  top:40%;
  width:170%;
  aspect-ratio:1;
  border:1px solid rgba(72,88,82,.78);
  background:radial-gradient(circle at 34% 27%,#fff 0%,#e9efed 19%,#abb9b5 53%,#64746e 86%,#3e5048 100%);
  box-shadow:0 1px 2px rgba(19,33,27,.35);
}
.hall:is(.en-volume,.en-mobile) .station-hall .porte .poignee::after{
  top:40%;
  width:340%;
  height:17%;
  min-height:2px;
  border-radius:2px 1px 1px 2px;
  background:linear-gradient(180deg,#fff 0%,#e4e9e6 20%,#a8b7b2 63%,#606f69 100%);
  box-shadow:0 1px 2px rgba(18,32,26,.36),inset 0 1px rgba(255,255,255,.67);
}
/* Ombres réalistes au survol, sans cadre coloré ajouté autour de la porte. */
@media(hover:hover) and (pointer:fine){
  .hall:is(.en-volume,.en-mobile) .station-hall .porte:hover .battant{
    box-shadow:
      inset 2px 0 1px rgba(255,255,255,.95),
      inset -2px 0 2px rgba(78,94,77,.2),
      5px 4px 10px rgba(27,40,31,.26);
  }
}
@media(min-width:1000px){
  /* Les mots longs occupent un cadre entier : jamais de lettre orpheline. */
  .hall.en-volume .sous-portes-murales{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .hall.en-volume .sous-portes-murales :is(
    [data-hall-sous="transmission"],
    [data-hall-sous="vulgarisation"],
    [data-hall-sous="entrepreneuriat"],
    [data-hall-sous="representation"]
  ){grid-column:1 / -1}
  /* Engagements uniquement : Sports et loisirs complète la rangée d'Engagement citoyen. */
  .hall.en-volume .station-hall[data-hall-station="3"] .sous-portes-murales > [data-hall-sous="loisirs"]{
    grid-column:2 / 3;
  }
  .hall.en-volume .panneau-hall h3 span,
  .hall.en-volume .sous-portes-murales>button,
  .hall.en-volume .sous-portes-murales>a{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .hall.en-volume .sous-portes-murales>button,
  .hall.en-volume .sous-portes-murales>a{white-space:normal}
}
/* Titres des cadres et onglets : retour à la ligne seulement entre des mots. */
.hall .hall-reperes>button span,
.hall.en-mobile .panneau-hall h3 button,
.hall.en-mobile .sous-portes-murales>button,
.hall.en-mobile .sous-portes-murales>a{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
@media(min-width:701px) and (max-width:999px){
  .hall.en-mobile .hall-reperes{
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
  }
  .hall.en-mobile .hall-reperes>button{flex:0 0 210px;scroll-snap-align:start}
}
@media(min-width:1121px) and (max-width:1230px){
  .hall.en-volume .hall-reperes>button{gap:7px;padding-inline:8px;font-size:14px}
}

/* Mobile étroit : la porte principale retrouve une présence visuelle nette,
   sans réduire les cibles tactiles ni masquer les sous-catégories. */
@media(max-width:520px){
  .hall.en-mobile .station-hall .porte{
    width:clamp(136px,43vw,172px);
    height:clamp(206px,61vw,250px);
    margin:4px 0 27px;
  }
}

/* Recalage natif de proximité, jamais forcé, séparé entre page et salle. */
@supports(scroll-snap-type:y proximity){
  html:not(.lv):not(.hc){scroll-snap-type:y proximity;scroll-padding-top:var(--entete-h,clamp(85px,11svh,136px))}
  html:not(.lv):not(.hc) main>.section{scroll-snap-align:start;scroll-snap-stop:normal}
  .salle:not([hidden]){scroll-snap-type:y proximity;scroll-padding-top:calc(var(--salle-barre-hauteur,78px) + 16px)}
  .salle:not([hidden]) .salle-contenu .bandeau,
  .salle:not([hidden]) .salle-contenu .section-corps,
  .salle:not([hidden]) .salle-contenu .rubrique-corps{
    scroll-snap-align:start;scroll-snap-stop:normal;
    scroll-margin-top:calc(var(--salle-barre-hauteur,78px) + 18px);
  }
  @media(prefers-reduced-motion:reduce){html,.salle{scroll-snap-type:none}}
  @media(max-width:640px){html{scroll-padding-top:84px}.salle{scroll-padding-top:calc(var(--salle-barre-hauteur,70px) + 10px)}}
}
/* Accents légers bleu/vert de la chaire, sans écraser les codes thématiques. */
:root{--gsk-bleu:#237a9a;--gsk-vert:#65a946}
.rubriques[data-navigation=atelier] .rubriques-progression>span{
  background:linear-gradient(90deg,var(--gsk-bleu),var(--gsk-vert));
}
.rubriques[data-navigation=atelier] .rubriques-console{
  border-color:#d1e2dc;
  background:linear-gradient(130deg,#f5fafb,#f2f8f2);
}
.rubriques[data-navigation=atelier] .rubriques-nav button{
  border-top:3px solid color-mix(in srgb,var(--c1,var(--gsk-bleu)) 65%,white);
}
.rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true]{
  border-top-color:var(--c1,var(--gsk-bleu));
  box-shadow:inset 0 -3px var(--gsk-vert),0 5px 17px -14px #214a50;
}
.rubriques[data-navigation=atelier]>.rubrique-corps{background:linear-gradient(180deg,#fff,#fdfefd)}
@media(forced-colors:active){.rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true]{outline:2px solid Highlight}}
/* La vulgarisation montre une vraie photographie éditoriale, sans portrait de faux intervenant. */
.section[data-salle=vulgarisation] .bandeau{
  background-position:center,center 48%;
  background-size:cover;
}

/* Jeu doctoral immersif — module indépendant du hall. */
.eb-game-entry{padding:clamp(32px,6vw,92px) var(--gouttiere);scroll-margin-top:100px;border-top:1px solid #cadae3}
.eb-game-frame{position:relative;isolation:isolate;max-width:1320px;margin:auto;overflow:hidden;border-radius:clamp(18px,2vw,32px);background:radial-gradient(ellipse at 80% 24%,#25455d,transparent 48%),linear-gradient(135deg,#071320,#10283b 68%,#151c30);color:#f0f8fb;border:1px solid #b8ffff36;box-shadow:0 35px 90px #082b3a29}
.eb-game-frame::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 40%,#bdffe515 60%,transparent 85%),repeating-linear-gradient(90deg,#fff0 0 80px,#ffffff09 81px 82px);mask-image:linear-gradient(to right,transparent,#000)}
.eb-game-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 35px 0;position:relative;z-index:2}
.eb-game-brand{font:700 11px var(--sans);letter-spacing:.18em;color:#a7f9db}
.eb-game-badge{display:inline-block;border:1px solid #9bffe45c;border-radius:30px;color:#d1fbef;padding:6px 12px;font:600 10px var(--sans);letter-spacing:.07em}
.eb-game-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.8fr);gap:clamp(10px,2vw,36px);align-items:center;padding:clamp(25px,4vw,58px) clamp(28px,5vw,74px) 48px;min-height:360px}
.eb-game-kicker{display:block;font:700 11px var(--sans);color:#b4e9df;letter-spacing:.22em;margin:0 0 16px}
.eb-game-copy h2{max-width:730px;margin:0 0 18px;color:#fff;font:700 clamp(37px,5vw,67px)/1.02 var(--sans);letter-spacing:-.055em}
.eb-game-copy h2 em{font-style:normal;color:#9ff6db}
.eb-game-copy p{max-width:59ch;color:#cadce7;font-size:clamp(14px,1.25vw,16px);line-height:1.7;margin:0 0 22px}
.eb-game-features{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}
.eb-game-features span{border:1px solid #c1ffff35;background:#ffffff0b;color:#e1eef4;padding:7px 11px;border-radius:6px;font:600 11px var(--sans)}
.eb-game-launch{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.eb-game-link{display:inline-flex;align-items:center;justify-content:center;gap:13px;text-decoration:none;padding:13px 21px;border-radius:11px;color:#071d2c!important;background:linear-gradient(105deg,#a1eed7,#b8c8f7);font:700 14px var(--sans);box-shadow:0 10px 28px #75eac32e;transition:transform .22s,box-shadow .22s}
.eb-game-link:hover{transform:translateY(-3px);box-shadow:0 14px 36px #8af5cd45}
.eb-game-note{color:#a8bccf;font-size:11px}
.eb-game-art{position:relative;height:330px;display:grid;place-items:center}
.eb-game-art::before,.eb-game-art::after{content:"";position:absolute;border:1px solid #8cf4d65f;border-radius:50%;width:290px;height:290px;transform:rotateX(65deg) rotate(-20deg);box-shadow:0 0 50px #8deccc1d,inset 0 0 60px #85fce013}
.eb-game-art::after{width:225px;height:225px;border-style:dashed;transform:rotateX(65deg) rotate(24deg)}
.eb-game-art img{position:relative;z-index:1;width:clamp(170px,19vw,260px);height:clamp(170px,19vw,260px);object-fit:cover;object-position:center 29%;border-radius:30px;filter:saturate(.84) contrast(1.07);border:1px solid #b5fff684;box-shadow:0 22px 70px #010910b0,0 0 50px #8bfbda2b}
.eb-game-character-tag{position:absolute;z-index:2;bottom:4px;right:5%;display:flex;flex-direction:column;gap:2px;background:#081b2edf;border:1px solid #9dffdb70;padding:12px 17px;border-radius:10px;backdrop-filter:blur(10px)}
.eb-game-character-tag strong{color:#fff;font:700 11px var(--sans);letter-spacing:.1em}
.eb-game-character-tag small{color:#a2d5d4;font-size:10px}
.eb-game-play{position:relative;z-index:3;border-top:1px solid #caffed31;background:#071421}
.eb-game-play>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 35px;color:#cff7e9;font:650 13px var(--sans);transition:background .2s}
.eb-game-play>summary::-webkit-details-marker{display:none}
.eb-game-play>summary:hover{background:#1d3949}
.eb-game-play[open]>summary{background:#152b3c}
.eb-game-play>summary span{opacity:.6;font-size:18px}
.eb-game-play iframe{display:block;width:100%;height:min(88dvh,760px);min-height:530px;border:0;background:#081522}
.eb-game-footer{padding:13px 35px;border-top:1px solid #ffffff15;font-size:11px;color:#abbecf}
@media(max-width:820px){.eb-game-entry{padding:26px 14px}.eb-game-top{padding:20px 19px 0}.eb-game-hero{padding:28px 22px 34px;grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);min-height:320px}.eb-game-copy h2{font-size:clamp(33px,5.5vw,49px)}.eb-game-art{height:265px}.eb-game-art::before{width:220px;height:220px}.eb-game-art::after{width:155px;height:155px}}
@media(max-width:620px){.eb-game-hero{display:flex;flex-direction:column-reverse;align-items:stretch;gap:14px;padding:12px 20px 30px}.eb-game-art{height:185px;align-self:center;width:100%}.eb-game-art img{width:152px;height:152px;border-radius:20px}.eb-game-art::before{width:200px;height:200px}.eb-game-art::after{width:160px;height:160px}.eb-game-character-tag{right:6%;bottom:0}.eb-game-copy h2{font-size:clamp(34px,9vw,46px)}.eb-game-top{padding:15px 20px}.eb-game-play>summary{padding:15px 20px;font-size:12px}.eb-game-play iframe{min-height:590px;height:86dvh}.eb-game-footer{padding:12px 20px}}
@media(prefers-reduced-motion:reduce){.eb-game-link{transition:none}}

/* Portail de recherche approfondie : panneau éditorial de la sous-catégorie Implantation.
   Réutilise les couleurs cuivrées du portail 02, sans modifier la géométrie du hall. */
.implantation-portail-accueil{--impl-orange:#ec7930;--impl-navy:#153e50;--impl-line:#dfd6cc;overflow:hidden;margin:34px 0 14px;border:1px solid #edd5bd;border-radius:22px;background:#fffaf5;box-shadow:0 14px 36px rgba(100,62,30,.08);text-align:start}
.implantation-portail-tete{padding:29px clamp(20px,3vw,40px) 23px;background:linear-gradient(110deg,#173f50,#28566a);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.implantation-portail-tete:after{content:"";position:absolute;right:-50px;top:-70px;border:36px solid #ef803e55;border-radius:50%;width:240px;height:240px;z-index:-1}
.implantation-portail-tete>span{display:block;font:750 11px/1.4 var(--sans);letter-spacing:.17em;color:#ffbf8a;margin-bottom:13px}
.implantation-portail-tete strong{display:block;font:normal clamp(26px,3vw,40px)/1.18 var(--serif);color:#fff}
.implantation-portail-tete p{margin:13px 0 9px!important;color:#e2eff0!important;font-size:15px;line-height:1.65;max-width:75ch;text-align:start}
.implantation-portail-tete small{color:#ffceab;font-size:12px}
.implantation-portail-liens{padding:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.implantation-portail-liens a{color:#244a5a!important;display:flex;align-items:center;gap:11px;text-decoration:none;font:680 14px/1.3 var(--sans);min-width:0;min-height:68px;padding:14px 12px;background:#fff;border:1px solid #e7ddd2;border-radius:12px;transition:transform .2s,border-color .2s,background .2s}
.implantation-portail-liens a span{font-size:12px;font-weight:800;color:#b15d26}
.implantation-portail-liens a b{margin-inline-start:auto;color:#bf7036;font-size:15px}
.implantation-portail-liens a:hover{transform:translateY(-2px);border-color:#ec7930;background:#fff3e7}
.implantation-portail-liens a:focus-visible{outline:3px solid #ef803e;outline-offset:2px}
@media(max-width:1100px){.implantation-portail-liens{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.implantation-portail-accueil{margin-top:23px;border-radius:16px}.implantation-portail-tete{padding:22px}.implantation-portail-liens{grid-template-columns:1fr;gap:7px}.implantation-portail-liens a{min-height:53px}}
@media(prefers-reduced-motion:reduce){.implantation-portail-liens a{transition:none}}
html.hc .implantation-portail-accueil{border:2px solid currentColor}
html.hc .implantation-portail-liens a{border-color:currentColor}

/* Enseignement 02.3 — neuf chapitres illustrés et fondés sur la littérature.
   Style local : ne modifie ni le hall, ni les autres salles, ni leur défilement. */
.enseignement .pedago-vitrine{--ped-bleu:#17495e;--ped-vert:#2d7869;--ped-or:#aa813c;max-width:1120px;min-width:0;color:var(--body);font-family:var(--sans)}
.pedago-vitrine *{min-width:0}
.pedago-vitrine h3,.pedago-vitrine h4,.pedago-vitrine h5{color:var(--ink);text-wrap:balance}
.pedago-vitrine h3{font-size:clamp(26px,3vw,37px);line-height:1.18;margin:0 0 18px;font-family:var(--serif);font-weight:400;letter-spacing:-.015em}
.pedago-vitrine h4{font-size:clamp(16px,1.4vw,19px);margin:0 0 10px;line-height:1.3;font-weight:650}
.pedago-vitrine h5{font-size:12px;text-transform:uppercase;letter-spacing:.08em;line-height:1.55;color:var(--green);margin:0 0 10px}
.pedago-vitrine p{line-height:1.66;hyphens:auto;overflow-wrap:break-word}

.pedago-table-scroll{overflow-x:auto;max-width:100%;border:1px solid #c9dcda;border-radius:14px;background:#fff;scrollbar-color:#8caeaf transparent}
.pedago-table{width:100%;min-width:730px;border-collapse:collapse;text-align:start;font-size:13px;line-height:1.6}
.pedago-table thead{background:var(--ink);color:#fff}
.pedago-table th,.pedago-table td{padding:18px 16px;vertical-align:top;text-align:start;border-bottom:1px solid #dbe6e4}
.pedago-table thead th{font-size:12px;letter-spacing:.015em;color:#fff}
.pedago-table tbody th{font-weight:700;color:var(--ink);min-width:145px}
.pedago-table tbody tr:nth-child(2n){background:#f3f8f6}
.pedago-table tbody tr:last-child th,.pedago-table tbody tr:last-child td{border-bottom:0}
.pedago-choix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}
.pedago-choix button{min-height:52px;border:1px solid #bad1d0;border-radius:10px;padding:11px 12px;font-weight:650;font-size:14px;text-align:center;background:#f2f8f5;transition:background .2s,color .2s}
.pedago-choix button[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 6px 20px rgba(20,60,77,.14)}
.pedago-choix button:not([aria-selected="true"]):hover{background:#e2eee9}
.pedago-cas-panel{display:grid;grid-template-columns:70px repeat(3,minmax(0,1fr));gap:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff}

.pedago-cas-panel section{padding:22px;border-inline-end:1px solid var(--line);background:#fff}
.pedago-cas-panel section:last-child{border-inline-end:0}
.pedago-cas-panel p{font-size:14px;line-height:1.65;margin:0}

@media(max-width:1050px){
  
  
  
  
  
  
  
  .pedago-cas-panel{grid-template-columns:54px minmax(0,1fr)}
  
  .pedago-cas-panel section{border-inline-end:0;border-bottom:1px solid var(--line)}
  .pedago-cas-panel section:last-child{border-bottom:0}
}
@media(max-width:680px){
  
  
  
  
  
  
  
  .pedago-choix{grid-template-columns:minmax(0,1fr)}
  .pedago-choix button{min-height:46px}
  .pedago-cas-panel{grid-template-columns:1fr}
  
  .pedago-cas-panel section{padding:17px}
  
  
  
  
}
@media(prefers-reduced-motion:reduce){.pedago-vitrine *{transition-duration:0s!important}}

/* Lien vers le jeu doctoral dans Ressources (sans ajouter de rubrique au menu principal). */
.logiciels-jeu{display:flex;align-items:center;justify-content:space-between;gap:clamp(22px,4vw,52px);margin:27px 0 0;padding:clamp(22px,3.5vw,40px);border:1px solid #9bbfc2;border-radius:20px;background:linear-gradient(115deg,#e6f2f2 0%,#f5faf7 70%,#eef5f7 100%);box-shadow:0 12px 35px rgba(12,65,78,.07)}
.logiciels-jeu-texte{max-width:750px;min-width:0}
.logiciels-jeu-kicker{display:block;font:700 11px/1.5 var(--sans);letter-spacing:.16em;color:#276a72;margin-bottom:10px}
.logiciels-jeu h3{font:700 clamp(24px,2.6vw,36px)/1.2 var(--sans);margin:0 0 12px;color:#143f49}
.logiciels-jeu p{font-size:clamp(15px,1.4vw,17px);line-height:1.65;color:#26494f;margin:0 0 9px}
.logiciels-jeu small{display:block;color:#52747a;font-size:12px;line-height:1.5}
.logiciels-jeu-lien{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:12px 21px;background:#175b65;color:#fff!important;font:700 14px/1.3 var(--sans);text-decoration:none!important;border-radius:11px;box-shadow:0 7px 19px rgba(5,53,62,.16);transition:background .2s,transform .2s}
.logiciels-jeu-lien:hover{background:#0b434e;transform:translateY(-2px)}
.logiciels-jeu-lien:focus-visible{outline:3px solid #277f85;outline-offset:3px}
@media(max-width:750px){.logiciels-jeu{flex-direction:column;align-items:stretch;gap:20px}.logiciels-jeu-lien{width:100%}}

/* Salle Enseignement : présentation éditoriale, sans cartes ni pictogrammes. */
.enseignement,.enseignement .colonne-outils,.enseignement .rubriques,.enseignement .rubrique-corps,.enseignement .rubrique-contenu{min-width:0;max-width:100%;overflow-wrap:normal}
.enseignement .rubriques[data-navigation=atelier]{grid-template-columns:minmax(182px,210px) minmax(0,1fr);column-gap:clamp(22px,2.5vw,40px);width:100%;container-type:normal}
.enseignement .rubriques[data-navigation=atelier] .rubriques-console{border:0;border-right:1px solid #d8e3de;border-radius:0;box-shadow:none;background:none;padding:11px 13px 18px 0;top:92px}
.enseignement .rubriques[data-navigation=atelier] .rubriques-console-tete{padding:0 5px;font-size:10px}
.enseignement .rubriques[data-navigation=atelier] .rubriques-progression{height:2px;margin:14px 5px 14px}
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav{max-height:none;overflow-y:visible;gap:0;padding:0}
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button,
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true],
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button:hover{display:flex;gap:9px;min-height:44px;height:auto;width:100%;padding:10px 5px;border:0;border-top:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button{border-bottom:1px solid #e4ebe7}
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button:hover{background:#eef4f2}
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true]{border-bottom:1px solid #9bbab0;box-shadow:inset 2px 0 #2d756f;color:#143f52;background:#eaf2ee}
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button .rubrique-icone,
.enseignement .rubriques[data-navigation=atelier] .rubriques-nav button .rubrique-direction{display:none}
.enseignement .rubriques[data-navigation=atelier] .rubrique-etape{font-size:10px;letter-spacing:.08em;color:#638079}
.enseignement .rubriques[data-navigation=atelier] .rubrique-libelle strong{font-size:12.5px;font-weight:560;line-height:1.45;hyphens:none;overflow-wrap:break-word}
.enseignement .rubriques[data-navigation=atelier]>.rubrique-corps{min-width:0;max-width:100%;padding:clamp(15px,2.3vw,32px);border:0;border-radius:0;background:#fff;box-shadow:none}
.enseignement .rubrique-entete{padding-bottom:14px;margin-bottom:30px;border-color:#d9e3e1}
.enseignement .rubrique-entete bdi{border:0;background:transparent;color:#27695f;width:auto;padding:0 5px}
.enseignement .rubriques-pagination>button{background:transparent!important;border:0;border-radius:0;box-shadow:none;padding:10px 0}
.enseignement .rubriques-pagination>button:hover{text-decoration:underline;background:none}
.enseignement .rubriques-pagination{border-color:#dce5e0}
.enseignement .rubrique-contenu,.enseignement .rubrique-contenu>*,.enseignement .atelier-pratique,.enseignement .pedago-vitrine{width:100%;max-width:100%;min-width:0}
.enseignement .rubrique-contenu p,.enseignement .rubrique-contenu li,.enseignement .rubrique-contenu td,.enseignement .rubrique-contenu th{text-align:start!important;text-justify:auto!important;word-spacing:normal!important;hyphens:none;overflow-wrap:break-word}
.enseignement .rubrique-contenu p{line-height:1.72}
.enseignement .rubrique-contenu .enseignement-essai{max-width:830px}
.enseignement .enseignement-essai p{font-size:clamp(15px,1.15vw,17px);line-height:1.82}
.enseignement .enseignement-ponts{grid-template-columns:1fr;gap:0;max-width:930px}
.enseignement .enseignement-ponts article{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:19px 0}
.enseignement .enseignement-ponts .enseignement-repere,.enseignement .enseignement-sequence .enseignement-repere{display:none}
.enseignement .enseignement-sequence{border:0;border-radius:0}
.enseignement .enseignement-sequence header{background:#edf3f0;color:var(--ink);padding:24px}
.enseignement .enseignement-sequence header .surtitre{color:#256d62}
.enseignement .enseignement-sequence ol{grid-template-columns:repeat(2,minmax(0,1fr));border-inline-start:1px solid var(--line)}
.enseignement .enseignement-sequence li{padding:18px 23px;border-bottom:1px solid var(--line);border-top:0}
.enseignement .enseignement-sequence li:nth-child(2n){border-inline-start:0}

/* Atelier 06 : prose ample, progression lisible. */
.enseignement .atelier-pratique{max-width:920px;margin-inline:0}
.enseignement .atelier-pratique>.atelier-figure{display:none}
.enseignement .atelier-pratique>header{border:0;border-block:1px solid #d3e2dc;border-radius:0;background:#f7faf8;padding:25px 18px}
.enseignement .atelier-chaine{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:28px 0 48px;border-top:1px solid #bed2c9}
.enseignement .atelier-chaine li{border:0;border-bottom:1px solid #bed2c9;border-radius:0;background:transparent;padding:20px 24px 24px 0}
.enseignement .atelier-chaine li:nth-child(2n){padding-inline-start:24px;border-inline-start:1px solid #bed2c9}
.enseignement .atelier-chaine li::after{display:none}
.enseignement .atelier-chaine li>span{font:500 12px/1.4 var(--sans)}
.enseignement .atelier-chaine h4{font:600 18px/1.4 var(--serif);margin:10px 0 7px}
.enseignement .atelier-chaine p{font-size:15px;line-height:1.68;margin:0;max-width:42ch}
.enseignement .atelier-essais{gap:0;max-width:830px}
.enseignement .atelier-essais>section{padding:22px 0;border-inline-start:0;border-bottom:1px solid var(--line)}
.enseignement .atelier-essais h4{font:400 clamp(23px,2.3vw,29px)/1.3 var(--serif)}
.enseignement .atelier-essais p{font-size:clamp(15px,1.15vw,17px)}
.enseignement .atelier-cas{border:1px solid #d3e2de;border-radius:0;padding:clamp(18px,2vw,28px);background:#fff}
.enseignement .atelier-choix{border-bottom:1px solid #cadbd5;gap:15px}
.enseignement .atelier-choix button,.enseignement .atelier-choix button[aria-selected=true]{border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--ink);padding:12px 0;flex-basis:155px;font-weight:550}
.enseignement .atelier-choix button[aria-selected=true]{border-bottom:3px solid #286d5c;font-weight:700}
.enseignement .atelier-reponse>div{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Document de lecture : photographie sourcée et véritable typographie éditoriale. */
.enseignement .pedago-edition-2026{--ped-vert:#276b61;max-width:1100px;margin:0 auto}
.enseignement .pedago-edition-2026 .pedago-introduction{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(24px,3vw,42px);margin:0 0 42px}
.enseignement .pedago-edition-2026 .pedago-introduction-texte{padding:12px 0 0}
.enseignement .pedago-edition-2026 .pedago-introduction h3{font:400 clamp(30px,3vw,43px)/1.15 var(--serif);letter-spacing:-.025em;color:#143e50;margin:12px 0 22px}
.enseignement .pedago-metadata{font-size:11px;letter-spacing:.11em;font-weight:700;color:#286b60}
.enseignement .pedago-introduction-texte>p:not(.pedago-metadata){max-width:67ch;font-size:15.5px;line-height:1.8}
.enseignement .pedago-precision{padding:15px 0;border-top:1px solid #ccdcd7;color:#56736f;font-size:13px!important;margin-top:20px}
.enseignement .pedago-photo{margin:0;min-width:0}
.enseignement .pedago-photo img{width:100%;height:auto;aspect-ratio:1.36;object-fit:cover;object-position:center;border-radius:0;box-shadow:none}
.enseignement .pedago-photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;color:#5b7377;font-size:11px;line-height:1.5}
.enseignement .pedago-photo figcaption span:first-child{max-width:50ch}
.enseignement .pedago-photo figcaption a{color:inherit}
.enseignement .pedago-principes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border-block:1px solid #cadbd5;padding:25px 0;margin:30px 0 8px}
.enseignement .pedago-principes section{border:0;border-inline-start:1px solid #cadbd5;padding:0 14px 0 20px;background:transparent}
.enseignement .pedago-principes section:first-child{border-inline-start:0;padding-inline-start:0}
.enseignement .pedago-principes h4{margin:0 0 6px;font:600 18px/1.3 var(--serif)}
.enseignement .pedago-principes p{font-size:14px;margin:0}
.enseignement .pedago-edition{border:0;border-top:1px solid #d9e3de;padding:48px 0 54px;max-width:100%}
.enseignement .pedago-chapitre-entete{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;margin:0 0 18px}
.enseignement .pedago-chapitre-index{font:500 12px/2 var(--sans);color:#567870;padding-top:6px}
.enseignement .pedago-chapitre-entete h3{font:400 clamp(25px,2.6vw,34px)/1.2 var(--serif);max-width:30ch;margin:0;letter-spacing:-.014em}
.enseignement .pedago-edition>p{max-width:78ch;font-size:clamp(15px,1.15vw,17px)}
.enseignement .pedago-processus{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:30px 0 0;padding:0;border-block:1px solid #bad2cc}
.enseignement .pedago-processus li{display:block;padding:19px 15px 18px 0;border:0;border-inline-start:1px solid #d7e5e0;background:transparent;border-radius:0}
.enseignement .pedago-processus li:first-child{border-inline-start:0}
.enseignement .pedago-processus li:not(:first-child){padding-inline-start:15px}
.enseignement .pedago-processus-ordre{display:block;color:#467b70;font-size:12px;margin-bottom:15px}
.enseignement .pedago-processus h4{font:600 17px/1.3 var(--serif)}
.enseignement .pedago-processus p{font-size:13px;line-height:1.58;margin:0}
.enseignement .pedago-table-scroll{border:0;border-block:1px solid #cadbd5;border-radius:0}
.enseignement .pedago-table{min-width:700px;font-size:13px}
.enseignement .pedago-table thead{background:#eaf1ee;color:#174558}
.enseignement .pedago-table thead th{color:#174558;border-bottom:1px solid #b5cec4;font-size:12px}
.enseignement .pedago-table th,.enseignement .pedago-table td{padding:16px 13px}
.enseignement .pedago-table tbody tr:nth-child(even){background:#f6f9f7}
.enseignement .pedago-choix{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #bccfc7}
.enseignement .pedago-choix button,.enseignement .pedago-choix button[aria-selected=true]{min-height:58px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#244957;padding:14px 10px;font-weight:550}
.enseignement .pedago-choix button[aria-selected=true]{color:#174e48;border-bottom:3px solid #2c7466;font-weight:700}
.enseignement .pedago-choix button:not([aria-selected=true]):hover{background:#f1f6f4}
.enseignement .pedago-cas-panel{grid-template-columns:repeat(3,minmax(0,1fr));border:0;border-radius:0;background:#fff}
.enseignement .pedago-cas-panel section{padding:23px 20px;border-block:0;border-inline-start:1px solid #dce6e1}
.enseignement .pedago-cas-panel section:first-child{padding-inline-start:0;border-inline-start:0}
.enseignement .pedago-cas-panel section:last-child{border-bottom:0}
.enseignement .pedago-cas-panel h4{font:650 12px/1.5 var(--sans);color:#33685e;text-transform:uppercase;letter-spacing:.05em}
.enseignement .pedago-cas-panel p{font-size:14px}
.enseignement .pedago-resultats{background:#f6f9f8;padding:36px clamp(14px,2.5vw,32px);margin:12px 0 20px;border:0}
.enseignement .pedago-nombres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 28px;padding:0}
.enseignement .pedago-nombres p{margin:0;padding:0 14px 0 0;background:transparent;border:0}
.enseignement .pedago-nombres strong{display:block;font:400 clamp(27px,3vw,42px)/1.1 var(--serif);color:#154456;margin:0 0 6px}
.enseignement .pedago-nombres span{font-size:12px;color:#5c7676;display:block;max-width:22ch}
.enseignement .pedago-graphique{margin:0;padding:22px 0 0;border:0;border-top:1px solid #cbded5;background:transparent}
.enseignement .pedago-graphique figcaption{font-weight:650;margin-bottom:18px}
.enseignement .pedago-graph-ligne{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(120px,2fr) 35px;gap:14px;align-items:center;margin-bottom:14px;font-size:13px}
.enseignement .pedago-graph-piste{height:18px;background:#dfeae6;overflow:hidden;position:relative}
.enseignement .pedago-graph-piste span{display:block;width:calc(var(--val)*100%);height:100%;background:#3e7874}
.enseignement .pedago-graph-ligne:nth-child(2) .pedago-graph-piste span{background:#aa865a}
.enseignement .pedago-graph-ligne strong{font-size:13px}
.enseignement .pedago-legende{font-size:12px;border-top:1px solid #d1e1dc;padding-top:13px;margin:18px 0 0}
.enseignement .pedago-cadres-editoriaux{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:25px 0}
.enseignement .pedago-cadres-editoriaux section{border-inline-start:1px solid #d1dfda;padding-inline-start:18px}
.enseignement .pedago-cadres-editoriaux h4{font:600 19px/1.4 var(--serif)}
.enseignement .pedago-cadres-editoriaux p{font-size:14px}
.enseignement .pedago-source{font-size:12px!important;color:#5c726e;line-height:1.6!important;overflow-wrap:anywhere}
.enseignement .pedago-source a,.enseignement .pedago-publication-source a,.enseignement .pedago-references a{color:#246e64;text-decoration:underline;text-underline-offset:3px}
.enseignement .pedago-publications{border-top:1px solid #d0e0d9;margin-top:27px}
.enseignement .pedago-publications article{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(0,1.25fr);gap:22px;border-bottom:1px solid #d0e0d9;padding:24px 0}
.enseignement .pedago-publications article:nth-child(2n){background:#f8faf9}
.enseignement .pedago-publication-source h4{font:600 18px/1.3 var(--serif)}
.enseignement .pedago-publication-source p{font-size:12px}
.enseignement .pedago-publications article>div:nth-child(2)>p{margin:0 0 12px;font-size:14px}
.enseignement .pedago-publications .pedago-reserve{border-inline-start:2px solid #b5a081;padding-inline-start:13px;font-size:12px!important;color:#627570}
.enseignement .pedago-correspondances{border-block:1px solid #c6d8d0;margin:24px 0}
.enseignement .pedago-correspondances section{display:grid;grid-template-columns:minmax(155px,1fr) minmax(0,1.4fr) minmax(0,1.2fr);gap:18px;padding:17px 0;border-bottom:1px solid #dce7e1}
.enseignement .pedago-correspondances section:last-child{border-bottom:0}
.enseignement .pedago-correspondances h4{font:600 17px/1.4 var(--serif);margin:0}
.enseignement .pedago-correspondances p{font-size:13px;margin:0}
.enseignement .pedago-preuve-observable{font-weight:600;color:#38675f}
.enseignement .pedago-progression-editoriale{list-style:none;padding:0;margin:24px 0;border-block:1px solid #c5dad2}
.enseignement .pedago-progression-editoriale li{display:grid;grid-template-columns:34px minmax(100px,1fr) minmax(0,2fr);gap:16px;align-items:start;padding:20px 0;border-bottom:1px solid #dce6e2}
.enseignement .pedago-progression-editoriale li:last-child{border-bottom:0}
.enseignement .pedago-progression-editoriale li>span{font-size:12px;color:#5e8175}
.enseignement .pedago-progression-editoriale h4{font:600 19px/1.3 var(--serif);margin:0}
.enseignement .pedago-progression-editoriale p{font-size:14px;margin:0}
.enseignement .pedago-limites-editoriales{columns:2;column-gap:37px;border-top:1px solid #cedfd7;padding-top:25px;margin-top:23px}
.enseignement .pedago-limites-editoriales section{break-inside:avoid;margin-bottom:24px}
.enseignement .pedago-limites-editoriales h4{font:600 18px/1.3 var(--serif);margin-bottom:6px}
.enseignement .pedago-limites-editoriales p{font-size:14px}
.enseignement .pedago-references{font-size:12px;line-height:1.8;padding-top:18px;border-top:1px solid var(--line);overflow-wrap:anywhere}
@media(max-width:1290px){
 .enseignement .rubriques[data-navigation=atelier]{grid-template-columns:minmax(176px,190px) minmax(0,1fr);gap:15px}
 .enseignement .pedago-edition-2026 .pedago-introduction{grid-template-columns:minmax(0,1fr)}
 .enseignement .pedago-photo img{aspect-ratio:2/1;max-height:410px}
 .enseignement .pedago-processus{grid-template-columns:repeat(3,minmax(0,1fr))}
 .enseignement .pedago-processus li:nth-child(4){border-inline-start:0;padding-inline-start:0}
 .enseignement .pedago-processus li{border-bottom:1px solid #d7e5e0}
 .enseignement .pedago-correspondances section{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}
 .enseignement .pedago-correspondances section .pedago-preuve-observable{grid-column:2}
}
@media(max-width:1099px){
 .enseignement .rubriques[data-navigation=atelier]{display:block;max-width:100%}
 .enseignement .rubriques[data-navigation=atelier] .rubriques-console{position:relative;top:auto;margin-bottom:16px;border:0;border-bottom:1px solid var(--line);padding:10px 0 14px}
 .enseignement .rubriques[data-navigation=atelier] .rubriques-nav{display:flex;flex-direction:row;flex-wrap:nowrap;max-height:none;overflow-x:auto;overflow-y:hidden;gap:5px}
 .enseignement .rubriques[data-navigation=atelier] .rubriques-nav button{flex:0 0 168px;max-width:168px;min-height:48px;padding:9px}
 .enseignement .rubriques[data-navigation=atelier]>.rubrique-corps{padding:18px 2px}
 .enseignement .rubriques[data-navigation=atelier] .rubriques-nav button[aria-selected=true]{border-bottom:2px solid #30786b}
}
@media(max-width:720px){
 .enseignement .pedago-principes,.enseignement .pedago-processus,.enseignement .pedago-cadres-editoriaux,.enseignement .pedago-nombres{grid-template-columns:1fr}
 .enseignement .pedago-principes{gap:13px}
 .enseignement .pedago-principes section{border-inline:0;border-bottom:1px solid var(--line);padding:0 0 12px}
 .enseignement .pedago-processus li{border-inline-start:0;padding-inline-start:0}
 .enseignement .pedago-choix{grid-template-columns:1fr}
 .enseignement .pedago-cas-panel{grid-template-columns:1fr}
 .enseignement .pedago-cas-panel section{padding:15px 0;border:0;border-bottom:1px solid var(--line)}
 .enseignement .pedago-publications article,.enseignement .pedago-correspondances section{grid-template-columns:1fr;gap:9px}
 .enseignement .pedago-correspondances section .pedago-preuve-observable{grid-column:1}
 .enseignement .pedago-progression-editoriale li{grid-template-columns:26px 1fr;gap:7px}
 .enseignement .pedago-progression-editoriale li p{grid-column:2}
 .enseignement .pedago-limites-editoriales{columns:1}
 .enseignement .atelier-chaine{grid-template-columns:1fr}
 .enseignement .atelier-chaine li:nth-child(2n){padding-inline-start:0;border-inline-start:0}
 .enseignement .atelier-reponse>div{grid-template-columns:1fr}
 .enseignement .enseignement-sequence ol{grid-template-columns:1fr}
}
@media(forced-colors:active){.enseignement .rubriques[data-navigation=atelier] button[aria-selected=true]{outline:2px solid Highlight}}

/* En-tête sur tablette et petit portable : deux lignes (domaines, contact et outils ; puis rubriques). */
@media(min-width:640px) and (max-width:1279px){
  .entete{row-gap:4px;column-gap:14px;align-items:center}
  .entete .marque{order:0;flex:1 1 260px;min-width:0;max-width:none}
  .entete .marque-domaines{font-size:13px;line-height:1.35;text-wrap:balance}
  .entete .coordonnees-haut{order:1;display:flex;flex:0 0 auto;flex-basis:auto;gap:6px;margin:0;justify-content:flex-end}
  .entete .coordonnees-haut a{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;font-size:0;line-height:0}
  .entete .coordonnees-haut a svg{display:block;width:17px;height:17px;margin:0}
  .entete .outils{order:2;flex:0 0 auto;flex-basis:auto;flex-wrap:nowrap;justify-content:flex-end;gap:6px;margin:0}
  .entete .menu-acces summary .menu-libelle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .entete .nav{order:3;flex:1 1 100%;margin:6px 0 0}
}

/* Barre de salle : « Porte suivante » garde sa couleur pleine, même parmi les petits boutons blancs. */
.salle .salle-barre .salle-actions button[data-suivante],.salle .salle-barre .salle-actions button[data-contact]{background:var(--c1);border-color:var(--c1);color:#fff}
/* Téléphone : la grande question de thèse n'est pas justifiée (pas de trous entre les mots). */
@media(max-width:640px){:root .salle .these-formulation{text-align:start!important;text-wrap:pretty}}
@media(hover:hover) and (pointer:fine){.hall .hall-reperes>button:hover{background:color-mix(in srgb,var(--c1) 14%,white);border-color:color-mix(in srgb,var(--c1) 60%,white);color:color-mix(in srgb,var(--c1) 70%,var(--ink));box-shadow:0 4px 12px color-mix(in srgb,var(--c1) 22%,transparent)}.hall .hall-reperes>button:hover bdi{background:var(--c1);color:#fff}.hall .hall-reperes>button[aria-pressed=true]:hover{background:color-mix(in srgb,var(--c1) 16%,white)}}

/* Accès direct à la thèse, à côté du courriel */
.entete a.acces-these{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;height:40px;border-radius:999px;font-size:14px;text-decoration:none;white-space:nowrap;padding:7px 16px 7px 13px;border:0;background:linear-gradient(135deg,#245a73 0%,#1f5a8a 55%,#2f7d9a 100%);color:#fff;font-weight:700;letter-spacing:.01em;box-shadow:0 2px 8px rgba(31,90,138,.28),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.entete a.acces-these::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}
.entete a.acces-these svg{width:18px;height:18px}
.entete a.acces-these .acces-these-fleche{display:inline-block;transition:transform .2s ease}
.entete a.acces-these:hover,.entete a.acces-these:focus-visible{color:#fff;background:linear-gradient(135deg,#1d4c61 0%,#184d78 55%,#256d88 100%);transform:translateY(-1px);box-shadow:0 6px 16px rgba(31,90,138,.36),inset 0 1px 0 rgba(255,255,255,.22)}
.entete a.acces-these:hover::after{transform:translateX(120%)}
.entete a.acces-these:hover .acces-these-fleche{transform:translateX(3px)}
[dir=rtl] .entete a.acces-these .acces-these-fleche{transform:scaleX(-1)}
[dir=rtl] .entete a.acces-these:hover .acces-these-fleche{transform:scaleX(-1) translateX(3px)}
@media(min-width:640px) and (max-width:1279px){.entete a.acces-these{display:inline-flex;width:auto;height:40px;padding:0 14px 0 11px;border-radius:999px;font-size:13.5px;line-height:1;gap:7px}.entete a.acces-these svg{width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){.entete a.acces-these,.entete a.acces-these::after,.entete a.acces-these .acces-these-fleche{transition:none}}
@media(forced-colors:active){.entete a.acces-these{border:1px solid LinkText}}
#innovations{scroll-margin-top:120px}
/* Bande du haut : contact sous les domaines, Ma thèse avec les outils */
.entete .marque-bloc{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:6px}
.entete .marque-bloc .marque{flex:none;max-width:100%}
.entete-contact{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0;font-size:13px}
.entete-contact a{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-weight:500;text-decoration:none}
.entete-contact a svg{flex:none;width:15px;height:15px;color:#1f5a8a}
.entete-contact a:hover,.entete-contact a:focus-visible{color:#1f5a8a;text-decoration:underline;text-underline-offset:3px}
.entete-contact-sep{width:1px;height:14px;background:#cfdadd}
[dir=rtl] .entete-contact a{direction:ltr;unicode-bidi:isolate}
.entete .outils a.acces-these{margin-inline-end:6px}
@media(min-width:640px) and (max-width:1279px){.entete .marque-bloc{order:0;flex:1 1 260px}}
@media(max-width:700px){.entete .marque-bloc{flex:1 1 100%;order:0}.entete-contact{display:none}}
@media(max-width:480px){.entete .outils a.acces-these{width:40px;padding:0;justify-content:center;gap:0;margin-inline-end:0}.entete .outils a.acces-these>span{display:none}}
@media(min-width:1081px){html:not(.lv):not(.hc) main>.accueil>.hall{scroll-snap-align:start;scroll-snap-stop:normal}}
/* Chargement : la page apparaît une fois placée, sans saut visible */
html.chargement main,html.chargement body>footer{visibility:hidden}
/* En-tête du hall : titre d’invitation et gestes, côte à côte */
.hall-tete{align-items:center}
.hall-tete .hall-titre{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;min-width:0;text-transform:none;letter-spacing:0}
.hall-tete .hall-titre-nom{margin:0;font:400 clamp(24px,2.1vw,30px)/1.15 var(--serif);letter-spacing:-.01em;color:var(--ink-deep,#173f52)}
.hall-tete .hall-titre-nom::after{content:"";display:block;width:44px;height:3px;margin-top:7px;border-radius:2px;background:linear-gradient(90deg,#1f5a8a,#c0612b 50%,#7a4a8c)}
.hall-tete .hall-gestes{display:flex;flex-wrap:wrap;gap:8px;margin:0;font-size:13px;font-weight:500;line-height:1.3}
.hall-tete .hall-geste{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 10px;border:1px solid #d6e3e6;border-radius:999px;background:rgba(255,255,255,.75);color:var(--ink)}
.hall-tete .hall-geste svg{flex:none;width:16px;height:16px;color:#1f5a8a}
.hall-tete .hall-geste+.hall-geste{color:var(--ink)}
.hall-tete .geste-tactile,.hall.en-mobile .hall-tete .geste-souris{display:none}
.hall.en-mobile .hall-tete .geste-tactile{display:inline-flex}
.hall.en-volume .hall-aide-deplacement,.hall .hall-aide-deplacement{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hall.en-mobile .hall-guide-mobile{display:none!important}
@media(max-width:640px){.hall-tete .hall-titre{gap:8px}.hall-tete .hall-titre-nom{font-size:22px}.hall-tete .hall-gestes{font-size:12px;gap:6px}.hall-tete .hall-geste{padding:5px 10px 5px 8px}}
/* Hall plus engageant : mot clé en couleur, gestes animés, indice sur la scène */
.hall-tete .hall-titre-nom{font-size:clamp(28px,2.6vw,38px);line-height:1.1}
.hall-tete .hall-titre-nom em{font-style:italic;background:linear-gradient(100deg,#1f5a8a 0%,#2f7d9a 30%,#c0612b 65%,#7a4a8c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-inline-end:.06em}
.hall-tete .hall-titre-nom::after{width:64px;height:3px;margin-top:9px}
.hall-tete .hall-gestes{font-size:14px;gap:10px}
.hall-tete .hall-geste{padding:8px 15px 8px 11px;font-weight:600;box-shadow:0 1px 3px rgba(23,63,82,.08)}
.hall-tete .hall-geste:nth-child(odd){background:#eaf2f8;border-color:#bfd4e6;color:#173f52}
.hall-tete .hall-geste:nth-child(even){background:#fcf0e7;border-color:#f0cdb3;color:#5a2f12}
.hall-tete .hall-geste:nth-child(odd) svg{color:#1f5a8a}
.hall-tete .hall-geste:nth-child(even) svg{color:#c0612b}
.hall-tete .hall-geste svg{width:18px;height:18px}
.hall-tete .hall-geste:nth-child(odd) svg{animation:geste-glisser 2.4s ease-in-out infinite}
.hall-tete .hall-geste:nth-child(even) svg{animation:geste-cliquer 2.4s ease-in-out infinite}
@keyframes geste-glisser{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@keyframes geste-cliquer{0%,60%,100%{transform:scale(1)}70%{transform:scale(.78)}80%{transform:scale(1.08)}}
.hall-indice{position:absolute;left:50%;bottom:22px;z-index:30;display:inline-flex;align-items:center;gap:12px;padding:11px 20px 11px 14px;border-radius:999px;background:rgba(16,45,62,.78);color:#fff;font-size:15px;font-weight:600;letter-spacing:.01em;box-shadow:0 10px 28px rgba(10,30,45,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateX(-50%);pointer-events:none;opacity:0;transition:opacity .45s ease,transform .45s ease}
.hall.en-volume .hall-indice,.hall.en-mobile .hall-indice{opacity:1}
.hall .hall-indice.vu{opacity:0;transform:translateX(-50%) translateY(8px)}
.hall-indice .hall-indice-main{width:26px;height:26px;animation:indice-main 2.2s ease-in-out infinite}
@keyframes indice-main{0%,100%{transform:translateX(-10px) rotate(-8deg)}50%{transform:translateX(10px) rotate(8deg)}}
.hall-indice .geste-tactile,.hall.en-mobile .hall-indice .geste-souris{display:none}
.hall.en-mobile .hall-indice .geste-tactile{display:inline}
.hall-indice{white-space:nowrap}
.hall.en-mobile .hall-indice{bottom:auto;top:150px;font-size:14px;padding:9px 16px 9px 12px}
@media(prefers-reduced-motion:reduce){.hall-tete .hall-geste svg,.hall-indice .hall-indice-main{animation:none}}
@media(forced-colors:active){.hall-tete .hall-titre-nom em{color:CanvasText;background:none}.hall-indice{border:1px solid CanvasText}}
/* Titre du hall aux couleurs de la Chaire : bleu, mot clé en vert, sans dégradé */
.hall-tete .hall-titre-nom{color:var(--gsk-bleu,#237a9a)}
.hall-tete .hall-titre-nom em{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--gsk-vert,#65a946)}
.hall-tete .hall-titre-nom::after{background:linear-gradient(90deg,var(--gsk-bleu,#237a9a) 50%,var(--gsk-vert,#65a946) 50%)}
/* Barre de navigation segmentée : icône colorée par rubrique, survol clair, trait de couleur */
.entete::after{content:"";order:2;flex:0 0 100%;height:0}
.entete .nav{flex:0 1 auto;width:fit-content;max-width:calc(100% - 340px);gap:2px;margin:12px 0 0;padding:4px;border:1px solid #dfe7ea;border-radius:12px;background:linear-gradient(180deg,#f8fbfb,#eef3f5);box-shadow:inset 0 1px 0 #fff}
.entete .nav a{position:relative;gap:8px;min-height:40px;padding:8px 14px;border:0;border-radius:9px;background:transparent;font-size:14px;font-weight:500;color:var(--ink);box-shadow:none}
.entete .nav a svg{flex:none;width:17px;height:17px;color:var(--nav-accent,#1f5a8a);transition:transform .2s ease}
.entete .nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:2px;background:var(--nav-accent,#1f5a8a);transform:scaleX(0);transition:transform .22s ease}
.entete .nav a:hover,.entete .nav a:focus-visible{border:0;background:#fff;color:var(--ink-deep,#173f52);box-shadow:0 1px 4px rgba(23,63,82,.13)}
.entete .nav a:hover::after,.entete .nav a:focus-visible::after{transform:scaleX(1)}
.entete .nav a:hover svg,.entete .nav a:focus-visible svg{transform:translateY(-1px)}
.entete .nav a:active{background:color-mix(in srgb,var(--nav-accent,#1f5a8a) 8%,#fff)}
.entete-contact a.entete-rdv{color:#1f5a8a;font-weight:600}
.entete-contact a.entete-rdv svg{color:var(--gsk-vert,#65a946)}
@media(max-width:1080px){.entete .nav{max-width:100%}}
@media(max-width:640px){.entete .nav{margin-top:6px;border-radius:10px}.entete .nav a{min-height:42px;padding:8px 11px}}
@media(prefers-reduced-motion:reduce){.entete .nav a::after,.entete .nav a svg{transition:none}}
@media(forced-colors:active){.entete .nav{border-color:CanvasText}.entete .nav a::after{background:Highlight}}
@media(min-width:1081px) and (max-width:1599px){.entete .nav{max-width:calc(100% - 326px)}.entete .nav a{gap:6px;padding:7px 10px;font-size:13.5px}.entete .nav a::after{left:10px;right:10px}.entete .nav a svg{width:15px;height:15px}}
@media(min-width:1081px) and (max-width:1440px){.entete .nav a{padding:7px 9px}.entete .nav a::after{left:9px;right:9px}.entete .nav a svg{display:none}}
@media(min-width:701px) and (max-width:1080px){.entete .nav{max-width:100%}.entete .nav a{padding:7px 9px;font-size:13.5px}.entete .nav a::after{left:9px;right:9px}.entete .nav a svg{display:none}}
/* Une seule couleur, celle de la Chaire : titre du hall, consignes, icônes de la barre */
.hall-tete .hall-titre-nom{color:var(--gsk-bleu,#237a9a)}
.hall-tete .hall-titre-nom::after{background:var(--gsk-bleu,#237a9a)}
.hall-tete .hall-geste:nth-child(n){background:#eef5f8;border-color:#c9dde5;color:#173f52}
.hall-tete .hall-geste:nth-child(n) svg{color:var(--gsk-bleu,#237a9a)}
.entete .nav a svg{color:var(--gsk-bleu,#237a9a)}
.entete .nav a::after{background:var(--gsk-bleu,#237a9a)}
.entete .nav a:active{background:#eef5f8}
.entete-contact a.entete-rdv svg{color:#1f5a8a}
/* Couleurs choisies : barre aux teintes des portes, consignes bleu et vert de la Chaire, titre d’une seule couleur */
.entete .nav a svg{color:var(--nav-accent,#237a9a)}
.entete .nav a::after{background:var(--nav-accent,#237a9a)}
.entete .nav a:active{background:color-mix(in srgb,var(--nav-accent,#237a9a) 8%,#fff)}
.hall-tete .hall-geste:nth-child(even){background:#f0f7ea;border-color:#cfe3bf;color:#2f4f1f}
.hall-tete .hall-geste:nth-child(even) svg{color:#4f8a32}
/* Barre : couleur de la porte de chaque rubrique, pastille d’icône, trait court qui s’allonge, plus compacte */
.entete .nav{gap:1px;padding:4px;border-radius:12px;border-color:#dce5e8;background:linear-gradient(180deg,#fafcfc,#eff4f5);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(23,63,82,.05)}
.entete .nav a{gap:7px;min-height:38px;padding:6px 11px 7px 7px;border-radius:9px;font-size:13.5px;font-weight:500;letter-spacing:-.005em;color:#22343c}
.entete .nav a svg{box-sizing:content-box;width:14px;height:14px;padding:5px;border-radius:7px;background:color-mix(in srgb,var(--nav-accent) 12%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nav-accent) 22%,#fff);color:var(--nav-accent);transition:background .2s ease,color .2s ease,transform .2s ease}
.entete .nav a::after{left:36px;right:auto;width:16px;bottom:4px;height:2px;background:var(--nav-accent);opacity:.55;transform:none;transition:width .25s ease,opacity .25s ease}
.entete .nav a:hover,.entete .nav a:focus-visible{background:#fff;color:color-mix(in srgb,var(--nav-accent) 60%,#14232a);box-shadow:0 1px 3px rgba(23,63,82,.10),0 0 0 1px color-mix(in srgb,var(--nav-accent) 16%,transparent)}
.entete .nav a:hover::after,.entete .nav a:focus-visible::after{width:calc(100% - 47px);opacity:1;transform:none}
.entete .nav a:hover svg,.entete .nav a:focus-visible svg{background:var(--nav-accent);box-shadow:none;color:#fff;transform:none}
.entete .nav a:active{background:color-mix(in srgb,var(--nav-accent) 7%,#fff)}
@media(min-width:1441px) and (max-width:1599px){.entete .nav a{gap:6px;padding:6px 9px 7px 6px;font-size:13px}.entete .nav a::after{left:34px}.entete .nav a svg{width:13px;height:13px}}
@media(min-width:701px) and (max-width:1440px){.entete .nav a{padding:6px 10px 8px}.entete .nav a::after{left:10px}.entete .nav a:hover::after,.entete .nav a:focus-visible::after{width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){.entete .nav a svg,.entete .nav a::after{transition:none}}
/* Sans mini-barre au repos ; encore plus compacte */
.entete .nav a::after{left:7px;right:7px;width:auto;opacity:0;transform:scaleX(.4);transition:opacity .2s ease,transform .25s ease}
.entete .nav a:hover::after,.entete .nav a:focus-visible::after{width:auto;opacity:1;transform:scaleX(1)}
.entete .nav{gap:0;padding:3px}
.entete .nav a{gap:6px;min-height:36px;padding:5px 9px 5px 5px;font-size:13px}
.entete .nav a svg{width:13px;height:13px;padding:4px;border-radius:6px}
@media(min-width:1441px) and (max-width:1599px){.entete .nav a{padding:5px 8px 5px 5px;font-size:13px}}
@media(min-width:701px) and (max-width:1440px){.entete .nav a{padding:5px 8px}.entete .nav a::after{left:8px;right:8px}}
/* Ligne de contact du haut plus lisible ; rendez-vous en majuscules */
.entete-contact{font-size:14.5px;gap:6px 18px}
.entete-contact a svg{width:16px;height:16px}
.entete-contact a.entete-rdv{text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:13.5px}
/* Mentions légales du pied de page */
.pied .pied-titre{margin:0 0 6px;font:600 13px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.pied .mentions-info p strong{color:var(--ink)}
/* Barre encore plus serrée */
.entete .nav{padding:2px;border-radius:10px}
.entete .nav a{gap:5px;min-height:34px;padding:4px 7px 4px 4px;border-radius:8px;letter-spacing:-.01em}
.entete .nav a svg{width:12px;height:12px;padding:4px}
.entete .nav a::after{left:5px;right:5px;bottom:2px}
@media(min-width:1441px) and (max-width:1599px){.entete .nav a{padding:4px 6px 4px 4px}}
@media(min-width:701px) and (max-width:1440px){.entete .nav a{padding:4px 7px}.entete .nav a::after{left:7px;right:7px}}
/* Icônes de la barre : trait fin, sans pastille, ardoise au repos, couleur de la porte au survol */
.entete .nav a svg,.entete .nav a:hover svg,.entete .nav a:focus-visible svg{box-sizing:border-box;width:16px;height:16px;padding:0;border-radius:0;background:none;box-shadow:none}
.entete .nav a svg{color:#6a7c84;transition:color .2s ease}
.entete .nav a:hover svg,.entete .nav a:focus-visible svg{color:var(--nav-accent,#237a9a)}
.entete .nav a{gap:7px;padding:4px 9px}
/* Barre : plus étroite, icônes aux couleurs des portes, survol fini avec ombre marquée */
.entete .nav{gap:1px;padding:3px;border:1px solid #d9e3e6;border-radius:11px;background:linear-gradient(180deg,#ffffff 0%,#f3f7f8 100%);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(23,63,82,.04),0 2px 6px -3px rgba(23,63,82,.14)}
.entete .nav a{gap:5px;min-height:34px;padding:4px 7px;font-size:12.5px;font-weight:500;letter-spacing:-.005em;color:#24363e;transition:background .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease}
.entete .nav a svg{width:15px;height:15px;color:color-mix(in srgb,var(--nav-accent,#237a9a) 82%,#fff)}
.entete .nav a::after{left:7px;right:7px;bottom:2px;height:2px}
.entete .nav a:hover,.entete .nav a:focus-visible{background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--nav-accent,#237a9a) 7%,#fff));color:color-mix(in srgb,var(--nav-accent,#237a9a) 70%,#0f1d23);box-shadow:0 6px 14px -6px color-mix(in srgb,var(--nav-accent,#237a9a) 55%,transparent),0 1px 3px rgba(15,29,35,.12),0 0 0 1px color-mix(in srgb,var(--nav-accent,#237a9a) 30%,transparent);transform:translateY(-1px)}
.entete .nav a:hover svg,.entete .nav a:focus-visible svg{color:var(--nav-accent,#237a9a)}
.entete .nav a:active{transform:translateY(0);box-shadow:0 1px 3px rgba(15,29,35,.14),0 0 0 1px color-mix(in srgb,var(--nav-accent,#237a9a) 35%,transparent)}
@media(min-width:1441px) and (max-width:1599px){.entete .nav a{padding:4px 6px}}
@media(min-width:701px) and (max-width:1440px){.entete .nav a{padding:4px 7px}}
@media(prefers-reduced-motion:reduce){.entete .nav a{transition:none}.entete .nav a:hover{transform:none}}
/* Barre affinée : plus étroite, séparateurs fins entre les familles de portes, détails de finition */
.entete .nav{padding:2px;border-radius:10px;border-color:#d6e0e4;background:linear-gradient(180deg,#fff 0%,#f5f8f9 60%,#eef3f5 100%)}
.entete .nav a{gap:4px;min-height:32px;padding:3px 6px;border-radius:7px;font-size:12.5px;font-weight:500;letter-spacing:-.01em;font-feature-settings:"kern","liga","ss01"}
.entete .nav a svg{width:14px;height:14px;stroke-width:1.75}
.entete .nav a::after{left:6px;right:6px;bottom:1px;height:1.5px;border-radius:1px}
.entete .nav a[href="#implantation/implantation-reperes"],.entete .nav a[href="#biographie"]{margin-inline-start:7px}
.entete .nav a[href="#implantation/implantation-reperes"]::before,.entete .nav a[href="#biographie"]::before{content:"";position:absolute;inset-inline-start:-4px;top:28%;bottom:28%;width:1px;background:linear-gradient(180deg,transparent,#c9d6db 30%,#c9d6db 70%,transparent)}
.entete .nav a:hover,.entete .nav a:focus-visible{transform:translateY(-1px)}
@media(min-width:1441px) and (max-width:1599px){.entete .nav a{padding:3px 5px}}
@media(min-width:701px) and (max-width:1440px){.entete .nav a{padding:3px 6px}}
/* Ligne de contact du haut : pastilles d’icône rondes, numéro mis en valeur */
.entete-contact{gap:6px 14px}
.entete-contact a{gap:8px;color:#2a3d45;font-weight:500}
.entete-contact a svg{box-sizing:content-box;width:13px;height:13px;padding:5px;border-radius:50%;background:#e9f2f5;box-shadow:inset 0 0 0 1px #d3e3e9;color:#1f5a8a;transition:background .2s ease,color .2s ease}
.entete-contact a[href^="tel:"]{font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#173f52}
.entete-contact a[href^="tel:"] svg{background:#1f5a8a;box-shadow:0 2px 6px -2px rgba(31,90,138,.55);color:#fff}
.entete-contact a.entete-rdv svg{background:#edf6e8;box-shadow:inset 0 0 0 1px #d2e6c6;color:#4f8a32}
.entete-contact a:hover svg,.entete-contact a:focus-visible svg{background:#1f5a8a;color:#fff}
.entete-contact a.entete-rdv:hover svg,.entete-contact a.entete-rdv:focus-visible svg{background:#4f8a32}
.entete-contact-sep{height:18px;background:linear-gradient(180deg,transparent,#cfdadd 30%,#cfdadd 70%,transparent)}
/* Sobriété : contact sans pastilles, barre grise au repos, couleur au survol seulement */
.entete-contact{gap:4px 16px;font-size:14px}
.entete-contact a{gap:7px;color:#3a4c53;font-weight:500}
.entete-contact a svg,.entete-contact a[href^="tel:"] svg,.entete-contact a.entete-rdv svg{box-sizing:border-box;width:15px;height:15px;padding:0;border-radius:0;background:none;box-shadow:none;color:#7a8b92}
.entete-contact a[href^="tel:"]{font-weight:500;letter-spacing:0;color:#3a4c53}
.entete-contact a.entete-rdv{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:#1f5a8a}
.entete-contact a.entete-rdv svg{color:#1f5a8a}
.entete-contact a:hover svg,.entete-contact a:focus-visible svg,.entete-contact a.entete-rdv:hover svg{background:none;color:#1f5a8a}
.entete-contact-sep{height:14px;background:#d6e0e3}
.entete .nav a svg{color:#7a8b92}
.entete .nav a[href="#implantation/implantation-reperes"],.entete .nav a[href="#biographie"]{margin-inline-start:0}
.entete .nav a[href="#implantation/implantation-reperes"]::before,.entete .nav a[href="#biographie"]::before{content:none}
/* Bande du haut aérée : plus d’air entre les lignes et dans la barre */
@media(min-width:701px){
 .entete{padding-top:10px;padding-bottom:8px}
 .entete .marque-bloc{gap:10px}
 .entete-contact{gap:4px 20px}
 .entete .nav{margin-top:9px;padding:3px;gap:2px}
 .entete .nav a{gap:7px;min-height:36px;padding:5px 11px;font-size:13px}
 .entete .nav a::after{left:11px;right:11px}
}
@media(min-width:701px) and (max-width:1599px){.entete .nav a{gap:6px;padding:5px 9px}.entete .nav a::after{left:9px;right:9px}}
/* Accueil : vidéo de visite sous la présentation */
.chapeau .chapeau-visite{margin-top:4px}
.tuto-video{margin:12px 0 0}
.tuto-video video{display:block;width:100%;aspect-ratio:16/9;border-radius:14px;border:1px solid var(--line);background:#0d2a3a;box-shadow:var(--shadow)}
.tuto-video video::cue{font-size:15px;line-height:1.35;background:rgba(13,42,58,.82);color:#fff}
/* En-tête du hall allégé : consignes en texte discret, plus d’air */
.hall-tete{margin-bottom:18px}
.hall-tete .hall-titre{gap:6px 24px}
.hall-tete .hall-titre-nom{font-size:clamp(24px,2vw,30px)}
.hall-tete .hall-titre-nom::after{display:none}
.hall-tete .hall-gestes{gap:6px 20px;font-size:13px}
.hall-tete .hall-geste,.hall-tete .hall-geste:nth-child(n){padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#5b6d74;font-weight:500}
.hall-tete .hall-geste svg,.hall-tete .hall-geste:nth-child(n) svg{width:15px;height:15px;color:#8597a0;animation:none}
/* Contact : vidéo de visite réduite en bas à gauche, contact dans la colonne de droite */
.contact .section-corps.contact-grille{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:28px 44px;align-items:end;max-width:1180px}
.contact-grille .contact-visite{grid-column:1;grid-row:1;align-self:end}
.contact-grille .contact-droite{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px 36px;align-items:start}
.contact-visite .chapeau-visite{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.contact-visite .tuto-video{margin:0}
.contact-visite .tuto-video video{border-radius:10px}
.contact-visite .tuto-video video::cue{font-size:12px}
@media(max-width:1000px){.contact .section-corps.contact-grille{grid-template-columns:1fr}.contact-grille .contact-visite{grid-column:1;grid-row:2;max-width:420px}.contact-grille .contact-droite{grid-column:1;grid-row:1}}
@media(max-width:700px){.contact-grille .contact-droite{grid-template-columns:1fr}}
/* Courriel et téléphone du haut plus visibles, sans pastilles */
.entete-contact a[href^="mailto:"],.entete-contact a[href^="tel:"]{font-size:15px;font-weight:600;color:#173f52;letter-spacing:0}
.entete-contact a[href^="mailto:"] svg,.entete-contact a[href^="tel:"] svg{width:16px;height:16px;color:#1f5a8a}
.entete-contact a[href^="mailto:"]:hover,.entete-contact a[href^="tel:"]:hover{color:#1f5a8a;text-decoration:underline;text-underline-offset:3px}
/* Contact : vidéo tutoriel en grand à gauche, contact sur une seule colonne à droite */
.contact .section-corps.contact-grille{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 56px;align-items:start;max-width:1180px}
.contact-grille .contact-visite{align-self:start;max-width:none}
.contact-grille .contact-droite{display:flex;flex-direction:column;gap:28px}
.contact-grille .contact-droite .colonne-texte,.contact-grille .contact-droite .colonne-outils{width:100%;max-width:none}
.contact-visite .surtitre{margin:0 0 8px}
.contact-visite .chapeau-visite{margin:0 0 14px;font-size:15px;color:var(--ink)}
.contact-visite .tuto-video video{border-radius:14px}
.contact-visite .tuto-video video::cue{font-size:15px}
@media(max-width:1000px){.contact .section-corps.contact-grille{grid-template-columns:1fr}.contact-grille .contact-visite{grid-row:2;max-width:none}.contact-grille .contact-droite{grid-row:1}}
.contact-grille .contact-droite .liens-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-grille .contact-droite .liens-contact>li{min-width:0}.contact-grille .contact-droite .liens-contact a{height:100%}@media(max-width:560px){.contact-grille .contact-droite .liens-contact{grid-template-columns:1fr}}
/* Contact : texte centré dans sa colonne, liens en bandeau sur toute la largeur en bas */
.contact-grille .contact-droite{display:contents}
.contact-grille .contact-droite .colonne-texte{grid-column:2;grid-row:1;text-align:center;justify-self:center;max-width:560px}
.contact-grille .contact-droite .colonne-texte .contact-actions{justify-content:center}
.contact-grille .contact-droite .colonne-texte .courriel,.contact-grille .contact-droite .colonne-texte .note{text-align:center;margin-inline:auto}
.contact-grille .contact-droite .colonne-outils{grid-column:1/-1;grid-row:2;margin-top:12px;padding-top:28px;border-top:1px solid var(--line,#dfe7e5)}
.contact-grille .contact-droite .liens-contact{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:1000px){.contact-grille .contact-droite .colonne-texte{grid-column:1;grid-row:1}.contact-grille .contact-visite{grid-row:2}.contact-grille .contact-droite .colonne-outils{grid-column:1;grid-row:3}.contact-grille .contact-droite .liens-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.contact-grille .contact-droite .liens-contact{grid-template-columns:1fr}}
.contact-grille .contact-droite .colonne-texte>*{text-align:center!important;margin-inline:auto;text-align-last:center}
.contact-grille .contact-droite .colonne-texte>.surtitre{display:flex;justify-content:center;width:100%}
/* Ma thèse · cartes O2 en exemple */
.cartes-o2{margin:36px 0 8px;padding:28px 0 0;border-top:1px solid var(--line,#dfe7e5)}
.cartes-o2 .titre-bloc{margin-top:2px}
.cartes-o2-intro{max-width:78ch;line-height:1.7}
.cartes-o2-apres{margin:18px 0 26px;padding:16px 20px;border-inline-start:3px solid var(--gsk-bleu,#237a9a);border-radius:0 10px 10px 0;background:#f2f7f9}
.cartes-o2-apres strong{display:block;margin-bottom:6px;color:var(--ink-deep,#173f52)}
.cartes-o2-apres p{margin:0;line-height:1.65}
.cartes-o2-sous{margin:6px 0 12px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cartes-o2-outils{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:26px}
.cartes-o2 figure{margin:0}
.cartes-o2 figure a{display:block;overflow:hidden;border:1px solid #d9e3e6;border-radius:10px;background:#fff;box-shadow:0 2px 8px -4px rgba(23,63,82,.18);transition:box-shadow .2s ease,transform .2s ease}
.cartes-o2 figure a:hover,.cartes-o2 figure a:focus-visible{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(23,63,82,.35)}
.cartes-o2 figure img{display:block;width:100%;height:auto}
.cartes-o2-outils img{aspect-ratio:16/8.5;object-fit:cover;object-position:top left}
.cartes-o2 figcaption{margin-top:8px;font-size:13px;line-height:1.45;color:var(--muted)}
.cartes-o2-section{margin:0 0 10px;border:1px solid #dce6e9;border-radius:12px;background:#fff}
.cartes-o2-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;font-weight:600;color:var(--ink-deep,#173f52);list-style:none}
.cartes-o2-section>summary::-webkit-details-marker{display:none}
.cartes-o2-section>summary span{min-width:28px;padding:2px 9px;border-radius:999px;background:#eef4f6;font-size:12px;font-weight:600;color:#4b5e66;text-align:center}
.cartes-o2-section>summary::after{content:"";width:9px;height:9px;margin-inline-start:4px;border-right:2px solid #7a8b92;border-bottom:2px solid #7a8b92;transform:rotate(45deg);transition:transform .2s ease}
.cartes-o2-section[open]>summary::after{transform:rotate(-135deg)}
.cartes-o2-section>summary span{margin-inline-start:auto}
.cartes-o2-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;padding:4px 18px 20px}
@media(max-width:640px){.cartes-o2-outils{grid-template-columns:1fr}.cartes-o2-grille{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:4px 12px 14px}}
@media(prefers-reduced-motion:reduce){.cartes-o2 figure a{transition:none}}

/* Ma thèse · Faisabilité */
.f-faisa {
  --f-bleu: #237a9a;
  --f-vert: #65a946;
  --f-fonce: #173f52;
  --f-texte: #1d2a31;
  --f-doux: #55666f;
  --f-fond: #ffffff;
  --f-fond-2: #f2f7f9;
  --f-fond-vert: #eef6ea;
  --f-trait: #d5e2e8;
  --f-alea: #c9822b;
  --f-alea-fond: #fbf1e4;
  --f-label: 15rem;
  color: var(--f-texte);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .f-faisa {
    --f-bleu: #5fb3d3;
    --f-vert: #8ccc6c;
    --f-fonce: #cfe6f0;
    --f-texte: #e3ecf0;
    --f-doux: #a6b8c1;
    --f-fond: #12232c;
    --f-fond-2: #182f3b;
    --f-fond-vert: #1a3324;
    --f-trait: #2d4552;
    --f-alea: #e0a65a;
    --f-alea-fond: #3a2c18;
  }
}
:root[data-theme="dark"] .f-faisa {
  --f-bleu: #5fb3d3;
  --f-vert: #8ccc6c;
  --f-fonce: #cfe6f0;
  --f-texte: #e3ecf0;
  --f-doux: #a6b8c1;
  --f-fond: #12232c;
  --f-fond-2: #182f3b;
  --f-fond-vert: #1a3324;
  --f-trait: #2d4552;
  --f-alea: #e0a65a;
  --f-alea-fond: #3a2c18;
}

.f-faisa h4.f-titre {
  margin: 2.6rem 0 0.8rem;
  color: var(--f-fonce);
  font-size: 1.35rem;
  line-height: 1.25;
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
}
.f-faisa h4.f-titre .f-num {
  flex: none;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  background: var(--f-bleu);
  border-radius: 999px;
  padding: 0.15rem 0.6rem;
}
.f-faisa .f-chapeau {
  font-size: 1.08rem;
  line-height: 1.6;
  color: var(--f-doux);
  max-width: 62rem;
}
.f-faisa p { line-height: 1.65; }

/* Synthèse de faisabilité : six points répartis régulièrement, distinction acquis/à venir */
.f-faisa .f-synthese {
  container-type: inline-size;
  margin: 1.6rem 0 1rem;
  padding: clamp(1.3rem, 2.5vw, 2rem);
  border: 1px solid rgba(135, 190, 213, .35);
  border-radius: 24px;
  color: #f4faff;
  background: linear-gradient(135deg, #12394e 0%, #1b5269 65%, #173e55 100%);
  box-shadow: 0 16px 35px rgba(15, 50, 69, .15);
}
:root[data-theme="dark"] .f-faisa .f-synthese { background: linear-gradient(135deg, #0d2733 0%, #174354 100%); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .f-faisa .f-synthese { background: linear-gradient(135deg, #0d2733 0%, #174354 100%); }
}
.f-faisa .f-synthese-titre {
  color: #fff;
  margin: 0 0 1.25rem;
  font-size: clamp(1.26rem, 2vw, 1.65rem);
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -.015em;
  text-align: left;
}
.f-faisa .f-synthese-titre span { color: #b0e3a3; }
.f-faisa .f-synthese ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.f-faisa .f-synthese li {
  min-width: 0;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  padding: clamp(1rem, 1.6vw, 1.35rem);
  border: 1px solid rgba(217, 239, 248, .22);
  border-top: 3px solid #b0e3a3;
  border-radius: 15px;
  background: rgba(255, 255, 255, .075);
  color: #ebf5f9;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
  text-align: left !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: break-word;
  word-break: normal;
  font-size: .98rem;
  line-height: 1.55;
}
.f-faisa .f-synthese li.f-synthese-planifie { border-top-color: #8ac5de; background: rgba(255,255,255,.055); }
.f-faisa .f-synthese li strong {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  margin: 0 0 .65rem;
  color: #fff;
  font-size: 1.03rem;
  font-weight: 700;
  line-height: 1.36;
  text-align: left !important;
  hyphens: none !important;
}
.f-faisa .f-synthese li svg {
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  margin-top: .09em;
  color: #b0e3a3;
}
.f-faisa .f-synthese li.f-synthese-planifie svg { color: #91d6ee; }
.f-faisa .f-synthese li p {
  color: #e7f1f5;
  padding: 0;
  margin: 0;
  font-size: .98rem;
  line-height: 1.56;
  text-align: left !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}
.f-faisa .f-synthese-suite {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 14px;
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(174, 211, 224, .42);
  border-radius: 15px;
  background: rgba(8, 35, 50, .24);
}
.f-faisa .f-synthese-suite-etat {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: .32rem .65rem;
  border: 1px solid rgba(255, 217, 155, .5);
  border-radius: 999px;
  color: #ffdfaa;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .025em;
}
.f-faisa .f-synthese-suite strong {
  display: block;
  color: #fff;
  margin: 0 0 .3rem;
  text-align: left;
  font-size: 1rem;
}
.f-faisa .f-synthese-suite p {
  margin: 0;
  color: #e7f1f5;
  line-height: 1.55;
  text-align: left !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}
@container (max-width: 820px) {
  .f-faisa .f-synthese ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 520px) {
  .f-faisa .f-synthese ol { grid-template-columns: minmax(0, 1fr); }
  .f-faisa .f-synthese li { min-height: 0; }
  .f-faisa .f-synthese-suite { grid-template-columns: minmax(0, 1fr); gap: .55rem; }
  .f-faisa .f-synthese-suite-etat { justify-self: start; }
}

/* Blocs illustrés */
.bloc-illustre.f-bloc {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 1.8rem;
  align-items: center;
  margin: 1.6rem 0;
}
.bloc-illustre.f-bloc.f-inverse { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.bloc-illustre.f-bloc.f-inverse > .f-texte { order: 2; }
.f-bloc figure { margin: 0; }
.f-bloc figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--f-trait);
  box-shadow: 0 10px 28px rgba(23, 63, 82, 0.14);
  background: #fff;
}
.f-bloc figcaption, .f-figure figcaption {
  margin-top: 0.55rem;
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--f-doux);
}
.f-bloc .f-texte > :first-child { margin-top: 0; }
.f-figure { margin: 1.4rem 0; }
.f-figure svg { display: block; width: 100%; height: auto; }

/* Liste des données */
.f-donnees {
  list-style: none;
  padding: 0;
  margin: 0.6rem 0 0;
  display: grid;
  gap: 0.55rem;
}
.f-donnees li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  padding: 0.7rem 0.9rem;
  border-radius: 10px;
  background: var(--f-fond-2);
  border-left: 4px solid var(--f-bleu);
  line-height: 1.5;
}
.f-etat {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  white-space: nowrap;
  color: #fff;
  background: var(--f-bleu);
  margin-top: 0.1rem;
}
.f-etat.f-acquis { background: var(--f-vert); }
.f-etat.f-ligne { background: var(--f-bleu); }
.f-etat.f-refaire { background: var(--f-fonce); color: var(--f-fond); }
.f-etat.f-alea { background: var(--f-alea); }
.f-donnees li.f-li-acquis { border-left-color: var(--f-vert); }
.f-donnees li.f-li-alea { border-left-color: var(--f-alea); background: var(--f-alea-fond); }

/* Chiffres clés */
.f-chiffres {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.8rem;
  margin: 1.2rem 0;
}
.f-chiffre {
  border: 1px solid var(--f-trait);
  border-radius: 14px;
  padding: 1rem;
  background: var(--f-fond);
}
.f-chiffre b {
  display: block;
  font-size: 1.7rem;
  line-height: 1.1;
  color: var(--f-bleu);
  font-variant-numeric: tabular-nums;
}
.f-chiffre:nth-child(even) b { color: var(--f-vert); }
.f-chiffre span { display: block; margin-top: 0.35rem; font-size: 0.88rem; line-height: 1.4; color: var(--f-doux); }

/* Étapes O3 */
.f-etapes {
  list-style: none;
  margin: 1.2rem 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  counter-reset: f-etape;
}
.f-etapes li {
  position: relative;
  padding: 2.6rem 1rem 1rem;
  border-radius: 14px;
  background: var(--f-fond-2);
  border-top: 4px solid var(--f-bleu);
  line-height: 1.45;
  font-size: 0.93rem;
  counter-increment: f-etape;
}
.f-etapes li:nth-child(even) { border-top-color: var(--f-vert); }
.f-etapes li::before {
  content: counter(f-etape);
  position: absolute;
  top: 0.75rem;
  left: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.8rem;
  font-weight: 700;
  color: #fff;
  background: var(--f-fonce);
}
.f-etapes li strong { display: block; color: var(--f-fonce); margin-bottom: 0.25rem; }
.f-etapes li small { display: block; margin-top: 0.4rem; color: var(--f-doux); }

/* Pourquoi plusieurs CLSC */
.f-pourquoi {
  border-radius: 14px;
  background: var(--f-fond-vert);
  border: 1px solid color-mix(in srgb, var(--f-vert) 35%, transparent);
  padding: 1.1rem 1.25rem;
  margin: 1.2rem 0;
}
.f-pourquoi h5 { margin: 0 0 0.5rem; color: var(--f-fonce); font-size: 1.05rem; }
.f-pourquoi p { margin: 0.4rem 0 0; }

/* Acteurs */
.f-acteurs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.8rem;
  margin: 1.2rem 0;
}
.f-acteur {
  border-radius: 14px;
  border: 1px solid var(--f-trait);
  padding: 1rem;
  background: var(--f-fond);
  line-height: 1.45;
  font-size: 0.93rem;
}
.f-acteur svg { width: 2rem; height: 2rem; color: var(--f-bleu); display: block; margin-bottom: 0.5rem; }
.f-acteur:nth-child(even) svg { color: var(--f-vert); }
.f-acteur strong { display: block; color: var(--f-fonce); margin-bottom: 0.2rem; }

/* Gantt */
.gantt.f-gantt {
  --f-n: 16;
  margin: 1.4rem 0 0.6rem;
  border: 1px solid var(--f-trait);
  border-radius: 16px;
  background: var(--f-fond);
  padding: 1rem 1rem 0.8rem;
  overflow-x: auto;
}
.f-gantt-grille { position: relative; min-width: 46rem; }
.f-gantt-ligne {
  display: grid;
  grid-template-columns: var(--f-label) minmax(0, 1fr);
  align-items: center;
  min-height: 2.35rem;
  border-bottom: 1px dashed var(--f-trait);
}
.f-gantt-ligne:last-of-type { border-bottom: 0; }
.f-gantt-ligne > .f-gantt-nom {
  font-size: 0.86rem;
  line-height: 1.25;
  padding-right: 0.8rem;
  color: var(--f-texte);
}
.f-gantt-ligne > .f-gantt-nom small { display: block; color: var(--f-doux); font-size: 0.75rem; }
.f-gantt-groupe > .f-gantt-nom {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--f-bleu);
  padding-top: 0.5rem;
}
.f-gantt-groupe { min-height: 1.8rem; border-bottom: 0; }
.f-gantt-piste {
  position: relative;
  height: 100%;
  min-height: 2.35rem;
  background-image: linear-gradient(to right, var(--f-trait) 1px, transparent 1px);
  background-size: calc(100% / var(--f-n)) 100%;
}
.f-gantt-groupe .f-gantt-piste { min-height: 1.8rem; background-image: none; }
.f-barre {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: calc((var(--debut) - 1) / var(--f-n) * 100%);
  width: calc(var(--duree) / var(--f-n) * 100%);
  height: 1.15rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--f-bleu) 30%, var(--f-fond));
  overflow: hidden;
}
.f-barre::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--fait, 0) / var(--duree) * 100%);
  background: var(--f-bleu);
}
.f-barre.f-v { background: color-mix(in srgb, var(--f-vert) 32%, var(--f-fond)); }
.f-barre.f-v::after { background: var(--f-vert); }
.f-barre.f-f { background: color-mix(in srgb, var(--f-fonce) 28%, var(--f-fond)); }
.f-barre.f-f::after { background: var(--f-fonce); }
.f-barre.f-a {
  background: repeating-linear-gradient(135deg, var(--f-alea-fond) 0 6px, color-mix(in srgb, var(--f-alea) 45%, var(--f-fond)) 6px 12px);
  border: 1px solid var(--f-alea);
}
.f-jalon {
  position: absolute;
  top: 50%;
  left: calc((var(--pos) - 1) / var(--f-n) * 100%);
  width: 0.85rem;
  height: 0.85rem;
  transform: translate(-50%, -50%) rotate(45deg);
  background: var(--f-fonce);
  border: 2px solid var(--f-fond);
  box-shadow: 0 0 0 1px var(--f-fonce);
  z-index: 1;
}
.f-gantt-entete .f-gantt-piste {
  display: grid;
  grid-template-columns: 3fr 4fr 4fr 4fr 1fr;
  background-image: none;
  min-height: 2.2rem;
}
.f-gantt-entete .f-gantt-piste span {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--f-fonce);
  border-left: 1px solid var(--f-trait);
  padding: 0.2rem 0.35rem;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.f-gantt-entete .f-gantt-piste span:nth-child(odd) { background: var(--f-fond-2); }
.f-gantt-trimestres .f-gantt-piste {
  display: grid;
  grid-template-columns: repeat(16, 1fr);
  background-image: none;
  min-height: 1.4rem;
}
.f-gantt-trimestres .f-gantt-piste span {
  font-size: 0.68rem;
  color: var(--f-doux);
  text-align: center;
  border-left: 1px solid var(--f-trait);
}
.f-aujourdhui {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--f-label) + (100% - var(--f-label)) * (var(--pos) - 1) / 16);
  width: 0;
  border-left: 2px solid var(--f-vert);
  pointer-events: none;
  z-index: 2;
}
.f-aujourdhui span {
  position: absolute;
  top: -0.2rem;
  left: 0.3rem;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 700;
  color: #fff;
  background: var(--f-vert);
  border-radius: 6px;
  padding: 0.1rem 0.45rem;
}
.f-legende {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.2rem;
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.82rem;
  color: var(--f-doux);
}
.f-legende li { display: flex; align-items: center; gap: 0.4rem; }
.f-legende i {
  display: inline-block;
  width: 1.4rem;
  height: 0.7rem;
  border-radius: 999px;
  background: var(--f-bleu);
}
.f-legende i.f-i-prevu { background: color-mix(in srgb, var(--f-bleu) 30%, var(--f-fond)); }
.f-legende i.f-i-alea { background: repeating-linear-gradient(135deg, var(--f-alea-fond) 0 4px, var(--f-alea) 4px 8px); }
.f-legende i.f-i-jalon { width: 0.7rem; height: 0.7rem; border-radius: 0; transform: rotate(45deg); background: var(--f-fonce); }
.f-legende i.f-i-auj { width: 2px; height: 1rem; border-radius: 0; background: var(--f-vert); }

/* Conclusion */
.f-conclusion {
  margin: 2.2rem 0 1rem;
  border-left: 5px solid var(--f-vert);
  background: var(--f-fond-2);
  border-radius: 0 14px 14px 0;
  padding: 1.1rem 1.3rem;
  line-height: 1.6;
}
.f-conclusion p { margin: 0.4rem 0; }

.f-faisa ul.refs-apa {
  margin-top: 1.4rem;
  padding-left: 1.2rem;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--f-doux);
}
.f-faisa ul.refs-apa li { margin-bottom: 0.4rem; padding-left: 1.2rem; text-indent: -1.2rem; list-style: none; }

@media (max-width: 860px) {
  .bloc-illustre.f-bloc,
  .bloc-illustre.f-bloc.f-inverse { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .bloc-illustre.f-bloc.f-inverse > .f-texte { order: 0; }
  .f-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .f-faisa { --f-label: 9rem; }
  .f-etapes { grid-template-columns: minmax(0, 1fr); }
  .f-synthese { padding: 1.2rem 1rem; }
  .gantt.f-gantt { padding: 0.8rem 0.6rem; }
}
/* Salles : texte justifié, titres centrés */
.salle-contenu p,.salle-contenu li,.salle-contenu dd,.salle-contenu .f-acteur,.salle-contenu figcaption{text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}
.salle-contenu h2,.salle-contenu h3,.salle-contenu h4,.salle-contenu h5,.salle-contenu .titre-bloc,.salle-contenu .f-titre{text-align:center}
.salle-contenu .f-titre{justify-content:center}
.salle-contenu .f-acteur strong{text-align:center}
.f-acteurs-fin{margin:.4rem 0 1.4rem;font-style:italic}

/* Ma thèse · Retombées */
/* Chapitre « Retombées » de « Ma thèse » : classes préfixées r- */
.r-retombees {
  --r-bleu: #237a9a;
  --r-vert: #65a946;
  --r-fonce: #173f52;
  --r-bleu-pale: rgba(35, 122, 154, .09);
  --r-vert-pale: rgba(101, 169, 70, .11);
  --r-fonce-pale: rgba(23, 63, 82, .08);
  --r-trait: rgba(23, 63, 82, .16);
  --r-rayon: 14px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .r-retombees {
    --r-bleu-pale: rgba(77, 170, 205, .14);
    --r-vert-pale: rgba(130, 200, 95, .14);
    --r-fonce-pale: rgba(160, 200, 220, .10);
    --r-trait: rgba(200, 225, 235, .20);
  }
}
:root[data-theme="dark"] .r-retombees {
  --r-bleu-pale: rgba(77, 170, 205, .14);
  --r-vert-pale: rgba(130, 200, 95, .14);
  --r-fonce-pale: rgba(160, 200, 220, .10);
  --r-trait: rgba(200, 225, 235, .20);
}

/* Chapeau et statut */
.r-retombees .r-chapeau { font-size: 1.12em; line-height: 1.6; max-width: 68ch; }
.r-retombees .r-statut {
  border-left: 4px solid var(--r-bleu); background: var(--r-bleu-pale);
  padding: .75rem 1rem; border-radius: 0 var(--r-rayon) var(--r-rayon) 0; margin: 1rem 0 1.5rem; font-size: .95em;
}

/* Titres de section numérotés */
.r-retombees .r-section { margin: 2.6rem 0 1rem; display: flex; align-items: baseline; gap: .7rem; }
.r-retombees .r-section .r-num {
  flex: none; display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%;
  background: var(--r-fonce); color: #fff; font-size: .9rem; font-weight: 700;
}
.r-retombees .r-intro { max-width: 70ch; }

/* Chiffres clés */
.r-retombees .r-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .8rem; margin: 1.2rem 0; }
.r-retombees .r-chiffre { border: 1px solid var(--r-trait); border-top: 4px solid var(--r-bleu); border-radius: var(--r-rayon); padding: .9rem 1rem; }
.r-retombees .r-chiffre:nth-child(2n) { border-top-color: var(--r-vert); }
.r-retombees .r-chiffre:nth-child(3n) { border-top-color: var(--r-fonce); }
.r-retombees .r-chiffre strong { display: block; font-size: 1.7rem; line-height: 1.1; color: var(--r-bleu); font-variant-numeric: tabular-nums; }
.r-retombees .r-chiffre:nth-child(2n) strong { color: var(--r-vert); }
.r-retombees .r-chiffre span { display: block; font-size: .88rem; margin-top: .35rem; line-height: 1.4; }
.r-retombees .r-chiffre small { display: block; font-size: .76rem; opacity: .75; margin-top: .35rem; }

/* Bloc illustré : texte et image côte à côte */
.r-retombees .bloc-illustre.r-bloc {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 1.6rem; align-items: center; margin: 1.6rem 0;
}
.r-retombees .bloc-illustre.r-bloc.r-inverse { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.r-retombees .bloc-illustre.r-bloc.r-inverse > .r-texte { order: 2; }
.r-retombees .r-bloc figure { margin: 0; }
.r-retombees .r-bloc figure img { width: 100%; height: auto; display: block; border-radius: 10px; border: 1px solid var(--r-trait); background: #fff; }
.r-retombees .r-bloc figure a { display: block; }
.r-retombees .r-bloc figcaption, .r-retombees .r-fig figcaption { font-size: .82rem; line-height: 1.45; margin-top: .45rem; opacity: .85; }
.r-retombees .r-texte > :first-child { margin-top: 0; }
.r-retombees .r-texte h5 { font-size: 1.02rem; margin: 0 0 .4rem; color: var(--r-bleu); letter-spacing: .01em; }

/* Cartes des objectifs */
.r-retombees .r-objectifs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.2rem 0; }
.r-retombees .r-obj { border-radius: var(--r-rayon); padding: 1.1rem 1.1rem 1rem; border: 1px solid var(--r-trait); display: flex; flex-direction: column; gap: .55rem; }
.r-retombees .r-obj.r-o1 { background: var(--r-bleu-pale); border-top: 5px solid var(--r-bleu); }
.r-retombees .r-obj.r-o2 { background: var(--r-fonce-pale); border-top: 5px solid var(--r-fonce); }
.r-retombees .r-obj.r-o3 { background: var(--r-vert-pale); border-top: 5px solid var(--r-vert); }
.r-retombees .r-obj .r-etiquette { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; opacity: .8; }
.r-retombees .r-obj h5 { margin: 0; font-size: 1.08rem; }
.r-retombees .r-obj dl { margin: 0; display: grid; gap: .45rem; }
.r-retombees .r-obj dt { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--r-bleu); }
.r-retombees .r-obj.r-o3 dt { color: var(--r-vert); }
.r-retombees .r-obj dd { margin: 0; font-size: .93rem; line-height: 1.5; }

/* Figures SVG */
.r-retombees .r-fig { margin: 1.2rem 0; }
.r-retombees .r-fig svg { width: 100%; height: auto; display: block; color: inherit; }
.r-retombees .r-fig svg text { fill: currentColor; font-family: inherit; }
.r-retombees .r-fig .r-titre-fig { font-weight: 700; font-size: .95rem; margin-bottom: .4rem; }
.r-retombees .r-legende { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: .8rem; margin-top: .4rem; }
.r-retombees .r-legende i { display: inline-block; width: .8rem; height: .8rem; border-radius: 3px; vertical-align: -1px; margin-right: .3rem; }

/* Grille des publics */
.r-retombees .r-publics { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; margin: 1.2rem 0; }
.r-retombees .r-public { border: 1px solid var(--r-trait); border-radius: var(--r-rayon); padding: 1rem 1.05rem; display: flex; flex-direction: column; gap: .5rem; }
.r-retombees .r-public header { display: flex; align-items: center; gap: .6rem; }
.r-retombees .r-public header svg { flex: none; width: 2.2rem; height: 2.2rem; }
.r-retombees .r-public h5 { margin: 0; font-size: 1.02rem; line-height: 1.3; }
.r-retombees .r-public p { margin: 0; font-size: .92rem; line-height: 1.5; }
.r-retombees .r-public .r-ex { background: var(--r-bleu-pale); border-radius: 8px; padding: .5rem .65rem; font-size: .86rem; }
.r-retombees .r-pastilles { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: auto; padding-top: .3rem; }
.r-retombees .r-pastille { font-size: .72rem; font-weight: 700; padding: .15rem .55rem; border-radius: 999px; color: #fff; }
.r-retombees .r-p1 { background: var(--r-bleu); }
.r-retombees .r-p2 { background: var(--r-fonce); }
.r-retombees .r-p3 { background: var(--r-vert); }

/* Tableaux */
.r-retombees .r-tableau-defile { overflow-x: auto; margin: 1.2rem 0; border: 1px solid var(--r-trait); border-radius: var(--r-rayon); }
.r-retombees table.r-tableau { width: 100%; border-collapse: collapse; font-size: .88rem; min-width: 640px; }
.r-retombees .r-tableau caption { text-align: left; font-weight: 700; padding: .7rem .9rem .3rem; }
.r-retombees .r-tableau th, .r-retombees .r-tableau td { padding: .55rem .8rem; border-top: 1px solid var(--r-trait); vertical-align: top; text-align: left; }
.r-retombees .r-tableau thead th { background: var(--r-fonce); color: #fff; border-top: 0; font-size: .8rem; letter-spacing: .03em; }
.r-retombees .r-tableau tbody tr:nth-child(2n) { background: var(--r-fonce-pale); }
.r-retombees .r-tableau td.r-n { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 700; color: var(--r-bleu); }
.r-retombees .r-tableau .r-oui { color: var(--r-vert); font-weight: 700; }
.r-retombees .r-tableau .r-centre { text-align: center; }

/* Encadrés */
.r-retombees .r-encadre { border-radius: var(--r-rayon); padding: 1rem 1.15rem; margin: 1.2rem 0; background: var(--r-vert-pale); border-left: 5px solid var(--r-vert); }
.r-retombees .r-encadre.r-prudence { background: var(--r-fonce-pale); border-left-color: var(--r-fonce); }
.r-retombees .r-encadre > :first-child { margin-top: 0; }
.r-retombees .r-encadre > :last-child { margin-bottom: 0; }
.r-retombees .r-calcul { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .84em; background: var(--r-bleu-pale); padding: .05rem .35rem; border-radius: 5px; white-space: nowrap; }

/* Étapes de co-construction : 5 cartes équilibrées (3 + 2), sans colonne vide. */
.r-retombees .r-etapes {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
  counter-reset: r-etape;
}
.r-retombees .r-etapes li {
  grid-column: span 2;
  counter-increment: r-etape;
  border: 1px solid var(--r-trait);
  border-radius: var(--r-rayon);
  padding: 1.1rem 1.25rem 1.2rem 3.6rem;
  position: relative;
  min-width: 0;
  font-size: .94rem;
  line-height: 1.6;
  text-align: left;
  hyphens: none;
  overflow-wrap: break-word;
  background: #fff;
}
.r-retombees .r-etapes li:nth-child(n+4) { grid-column: span 3; }
.r-retombees .r-etapes li::before {
  content: counter(r-etape);
  position: absolute;
  left: 1rem;
  top: 1.1rem;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--r-bleu);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: .85rem;
}
.r-retombees .r-etapes li:nth-child(2n)::before { background: var(--r-vert); }
.r-retombees .r-etapes li strong {
  display: block;
  margin-bottom: .5rem;
  line-height: 1.35;
  text-align: left;
  text-wrap: balance;
}
@media (max-width: 1050px) {
  .r-retombees .r-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .r-retombees .r-etapes li,
  .r-retombees .r-etapes li:nth-child(n+4) { grid-column: auto; }
  .r-retombees .r-etapes li:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .r-retombees .r-etapes { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .r-retombees .r-etapes li,
  .r-retombees .r-etapes li:nth-child(n+4),
  .r-retombees .r-etapes li:last-child { grid-column: 1; }
}

/* Téléphone */
@media (max-width: 860px) {
  .r-retombees .r-objectifs { grid-template-columns: 1fr; }
  .r-retombees .bloc-illustre.r-bloc,
  .r-retombees .bloc-illustre.r-bloc.r-inverse { grid-template-columns: 1fr; }
  .r-retombees .bloc-illustre.r-bloc.r-inverse > .r-texte { order: 0; }
}
.r-retombees .r-fig.r-fig-moyenne { max-width: 760px; }

/* Ma thèse · Méthode */
/* Fragment Méthode, objectif O2 et analyse de réseaux : classes préfixées m- */
.m-o2 {
  --m-bleu: #237a9a;
  --m-vert: #65a946;
  --m-fonce: #173f52;
  --m-bleu-pale: rgba(35, 122, 154, .10);
  --m-vert-pale: rgba(101, 169, 70, .12);
  --m-trait: rgba(23, 63, 82, .18);
  --m-texte-doux: rgba(23, 63, 82, .78);
  --m-fond-carte: #ffffff;
  --m-code-fond: #181e26;
  font-size: 1rem;
  line-height: 1.6;
  margin: 2.5rem 0;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .m-o2 {
    --m-bleu-pale: rgba(77, 170, 205, .14);
    --m-vert-pale: rgba(130, 200, 95, .14);
    --m-trait: rgba(200, 225, 235, .20);
    --m-texte-doux: rgba(225, 236, 242, .78);
    --m-fond-carte: rgba(255, 255, 255, .04);
  }
}
:root[data-theme="dark"] .m-o2 {
  --m-bleu-pale: rgba(77, 170, 205, .14);
  --m-vert-pale: rgba(130, 200, 95, .14);
  --m-trait: rgba(200, 225, 235, .20);
  --m-texte-doux: rgba(225, 236, 242, .78);
  --m-fond-carte: rgba(255, 255, 255, .04);
}

.m-o2 h4.m-titre, .m-o2 h5.m-sous-titre { margin: 0 0 .6rem; line-height: 1.3; }
.m-o2 h4.m-titre { font-size: 1.45rem; color: var(--m-bleu); }
.m-o2 h5.m-sous-titre { font-size: 1.12rem; margin-top: 2.2rem; }
.m-o2 h6.m-etiquette {
  font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--m-vert); margin: 0 0 .35rem; font-weight: 700;
}
.m-o2 p { margin: 0 0 .85rem; }
.m-o2 .m-chapeau { font-size: 1.08rem; color: var(--m-texte-doux); max-width: 62rem; }
.m-o2 .m-source { font-size: .82rem; color: var(--m-texte-doux); font-style: italic; }
.m-o2 code { font-family: Consolas, "Cascadia Mono", monospace; font-size: .9em;
  background: var(--m-bleu-pale); padding: .05em .35em; border-radius: 4px; overflow-wrap: anywhere; }

/* Encadré principal */
.m-o2 .m-encadre {
  border: 2px solid var(--m-bleu); border-radius: 18px; padding: 1.6rem 1.6rem 1.2rem;
  background: linear-gradient(180deg, var(--m-bleu-pale), transparent 14rem);
  margin: 1.5rem 0 2.5rem;
}
.m-o2 .m-encadre > .m-titre { display: flex; gap: .6rem; align-items: center; }
.m-o2 .m-encadre > .m-titre::before {
  content: ""; width: .7rem; height: 1.6rem; border-radius: 4px; background: var(--m-vert); flex: none;
}

/* Bloc illustré : texte et figure côte à côte */
.m-o2 .bloc-illustre, .m-o2 .m-bloc {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 1.6rem; align-items: center; margin: 1.8rem 0;
}
.m-o2 .bloc-illustre.m-inverse > :first-child { order: 2; }
.m-o2 .bloc-illustre.m-large-figure { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); }
.m-o2 .bloc-illustre.m-egal { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 860px) {
  .m-o2 .bloc-illustre, .m-o2 .bloc-illustre.m-large-figure, .m-o2 .bloc-illustre.m-egal { grid-template-columns: 1fr; }
  .m-o2 .bloc-illustre.m-inverse > :first-child { order: 0; }
}
.m-o2 .bloc-illustre.m-haut { align-items: start; }
.m-o2 .m-cles { margin: 1.4rem 0; }
.m-o2 .m-cles .m-schema { margin-top: .6rem; }
.m-o2 figure { margin: 0; }
.m-o2 figure img { width: 100%; height: auto; display: block; border-radius: 12px;
  border: 1px solid var(--m-trait); background: #fff; }
.m-o2 figure a { display: block; }
.m-o2 figcaption { font-size: .86rem; color: var(--m-texte-doux); margin-top: .5rem; line-height: 1.45; }

/* Chiffres clés */
.m-o2 .m-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: .8rem; margin: 1.2rem 0 1.6rem; }
.m-o2 .m-chiffre { background: var(--m-fond-carte); border: 1px solid var(--m-trait); border-radius: 14px; padding: .8rem .9rem; }
.m-o2 .m-chiffre strong { display: block; font-size: 1.65rem; line-height: 1.1; color: var(--m-bleu); font-variant-numeric: tabular-nums; }
.m-o2 .m-chiffre span { font-size: .84rem; color: var(--m-texte-doux); }

/* Tableau des données */
.m-o2 .m-table-defile { overflow-x: auto; border: 1px solid var(--m-trait); border-radius: 14px; margin: 1rem 0 .4rem; }
.m-o2 table.table-donnees, .m-o2 table.m-table { border-collapse: collapse; width: 100%; min-width: 46rem; font-size: .9rem; }
.m-o2 table th, .m-o2 table td { padding: .6rem .75rem; vertical-align: top; text-align: left; border-bottom: 1px solid var(--m-trait); }
.m-o2 table thead th { background: var(--m-fonce); color: #fff; font-weight: 600; position: sticky; top: 0; }
.m-o2 table tbody tr:nth-child(even) td { background: var(--m-bleu-pale); }
.m-o2 table td:first-child { font-weight: 600; }
.m-o2 table td small { display: block; font-weight: 400; color: var(--m-texte-doux); }
.m-o2 .m-pastille { display: inline-block; font-size: .72rem; font-weight: 700; border-radius: 99px;
  padding: .05rem .5rem; margin: 0 .2rem .2rem 0; color: #fff; background: var(--m-bleu); white-space: nowrap; }
.m-o2 .m-pastille.m-v { background: var(--m-vert); }
.m-o2 .m-pastille.m-f { background: var(--m-fonce); }

/* Six variables communes */
.m-o2 .m-variables { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; margin: 1rem 0; }
.m-o2 .m-variable { border: 1px solid var(--m-trait); border-top: 5px solid var(--m-bleu); border-radius: 14px;
  padding: 1rem 1.05rem .7rem; background: var(--m-fond-carte); }
.m-o2 .m-variable:nth-child(even) { border-top-color: var(--m-vert); }
.m-o2 .m-variable h6 { margin: 0 0 .3rem; font-size: 1.02rem; display: flex; gap: .5rem; align-items: baseline; }
.m-o2 .m-variable h6 b { color: var(--m-bleu); font-size: 1.3rem; }
.m-o2 .m-variable p { font-size: .9rem; margin-bottom: .5rem; }
.m-o2 .m-variable .m-reserve { font-size: .82rem; color: var(--m-texte-doux); border-left: 3px solid var(--m-vert); padding-left: .55rem; }

/* Schémas SVG */
.m-o2 .m-schema svg { width: 100%; height: auto; display: block; }
.m-o2 .m-schema { background: var(--m-fond-carte); border: 1px solid var(--m-trait); border-radius: 14px; padding: 1rem; }
.m-o2 svg .m-s-texte { fill: currentColor; font-size: 15px; }
.m-o2 svg .m-s-petit { fill: currentColor; font-size: 12.5px; opacity: .8; }
.m-o2 svg .m-s-gras { font-weight: 700; }
.m-o2 svg .m-s-blanc { fill: #fff; }

/* Étapes */
.m-o2 ol.m-etapes { list-style: none; counter-reset: m-etape; padding: 0; margin: 1rem 0; display: grid; gap: .75rem; }
.m-o2 ol.m-etapes > li { counter-increment: m-etape; position: relative; padding: .8rem 1rem .6rem 3.6rem;
  border: 1px solid var(--m-trait); border-radius: 14px; background: var(--m-fond-carte); }
.m-o2 ol.m-etapes > li::before { content: counter(m-etape); position: absolute; left: .9rem; top: .8rem;
  width: 2rem; height: 2rem; border-radius: 50%; background: var(--m-bleu); color: #fff; font-weight: 700;
  display: grid; place-items: center; }
.m-o2 ol.m-etapes > li:last-child::before { background: var(--m-vert); }
.m-o2 ol.m-etapes > li p { margin: .2rem 0 .3rem; font-size: .93rem; }

/* Du code à la carte */
.m-o2 .code-vers-carte, .m-o2 .m-code-carte {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1rem; align-items: center;
  margin: 1.4rem 0 .6rem;
}
.m-o2 .m-code-carte .m-fleche { font-size: 2rem; color: var(--m-vert); text-align: center; }
@media (max-width: 860px) {
  .m-o2 .code-vers-carte, .m-o2 .m-code-carte { grid-template-columns: 1fr; }
  .m-o2 .m-code-carte .m-fleche { transform: rotate(90deg); }
}
.m-o2 .m-code-carte figure img { border-color: transparent; }
.m-o2 .m-legende-code { border-left: 4px solid var(--m-vert); padding: .6rem 0 .6rem 1rem; margin: .6rem 0 1.4rem; }

/* Lecture ligne à ligne */
.m-o2 dl.m-lecture { display: grid; grid-template-columns: minmax(9rem, 13rem) 1fr; gap: .45rem 1rem; margin: 1rem 0; font-size: .92rem; }
.m-o2 dl.m-lecture dt { font-family: Consolas, monospace; font-size: .86rem; color: var(--m-bleu); font-weight: 700; overflow-wrap: anywhere; }
.m-o2 dl.m-lecture dd { margin: 0; }
@media (max-width: 640px) { .m-o2 dl.m-lecture { grid-template-columns: 1fr; } .m-o2 dl.m-lecture dd { margin-bottom: .5rem; } }

/* Exemple chiffré d'un îlot */
.m-o2 .m-ilots { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; margin: 1rem 0; }
.m-o2 .m-ilot { border: 1px solid var(--m-trait); border-radius: 14px; padding: .9rem 1rem; background: var(--m-fond-carte); }
.m-o2 .m-ilot .m-cases { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; margin: .5rem 0; }
.m-o2 .m-ilot .m-cases i { aspect-ratio: 1; border-radius: 3px; background: var(--m-trait); }
.m-o2 .m-ilot .m-cases i.m-oui { background: var(--m-bleu); }
.m-o2 .m-ilot .m-sante { font-size: .85rem; }
.m-o2 .m-ilot .m-score { font-size: 1.4rem; font-weight: 700; color: var(--m-vert); }
.m-o2 .m-ilot .m-score.m-nul { color: #c0392b; }

/* Matrice CLSC × domaine */
.m-o2 .m-matrice { display: grid; grid-template-columns: 9.5rem repeat(14, minmax(1.6rem, 1fr)); gap: 3px; font-size: .74rem; min-width: 40rem; }
.m-o2 .m-matrice > div { padding: .25rem; border-radius: 4px; }
.m-o2 .m-matrice .m-ent { font-weight: 700; text-align: center; writing-mode: vertical-rl; transform: rotate(180deg); padding: .35rem 0; justify-self: center; }
.m-o2 .m-matrice .m-ligne { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-o2 .m-matrice .m-c { min-height: 1.6rem; }
.m-o2 .m-c-complete { background: #1b8a63; }
.m-o2 .m-c-partielle { background: #8fd0b2; }
.m-o2 .m-c-insuffisant { background: #c9c8c4; }
.m-o2 .m-c-absente { background: #d03b3b; }
.m-o2 .m-c-inaccessible { background: #eb6834; }
.m-o2 .m-c-saturee { background: #eda100; }
.m-o2 .m-legende { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: .82rem; margin: .7rem 0 0; padding: 0; list-style: none; }
.m-o2 .m-legende li { display: flex; align-items: center; gap: .35rem; }
.m-o2 .m-legende i { width: .9rem; height: .9rem; border-radius: 3px; display: inline-block; }

/* Encarts « pourquoi » */
.m-o2 .pourquoi-indispensable { margin-top: 2.8rem; }
.m-o2 .m-pourquoi { border-radius: 16px; padding: 1.2rem 1.3rem .6rem; margin: 1.2rem 0; background: var(--m-bleu-pale); border-left: 6px solid var(--m-bleu); }
.m-o2 .m-pourquoi.m-v { background: var(--m-vert-pale); border-left-color: var(--m-vert); }
.m-o2 .m-pourquoi.m-f { background: transparent; border: 2px solid var(--m-fonce); border-left-width: 6px; }
.m-o2 ul.m-puces { padding-left: 1.1rem; margin: .3rem 0 .9rem; }
.m-o2 ul.m-puces li { margin-bottom: .35rem; }
.m-o2 ul.m-puces li::marker { color: var(--m-vert); }
.m-o2 blockquote.m-citation { margin: .8rem 0; padding: .7rem 1rem; border-left: 4px solid var(--m-fonce); background: var(--m-fond-carte); border-radius: 0 10px 10px 0; font-size: .95rem; }

/* Six secteurs */
.m-o2 .m-secteurs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; margin: .8rem 0; }
@media (max-width: 860px) { .m-o2 .m-secteurs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.m-o2 .m-secteur { border-radius: 12px; padding: .6rem .6rem .5rem; background: var(--m-fond-carte); border: 1px solid var(--m-trait); font-size: .8rem; }
.m-o2 .m-secteur b { display: block; font-size: .86rem; color: #fff; background: var(--m-bleu); margin: -.6rem -.6rem .45rem; padding: .45rem .6rem; border-radius: 12px 12px 0 0; }
.m-o2 .m-secteur:nth-child(even) b { background: var(--m-vert); }
.m-o2 .m-secteur.m-ouvert { border-style: dashed; border-color: var(--m-vert); }
.m-o2 .m-secteur.m-ouvert b { background: transparent; color: var(--m-vert); }

/* Références */
.m-o2 ul.refs-apa { font-size: .85rem; padding-left: 0; list-style: none; margin-top: 1rem; }
.m-o2 ul.refs-apa li { padding-left: 2em; text-indent: -2em; margin-bottom: .45rem; overflow-wrap: anywhere; }

/* Ma thèse · aperçu de la méthode */
.a-apercu{margin:8px 0 34px}
/* Les trois cartes sont calées sur les mêmes rangées pour un parcours O1 → O2 → O3 régulier. */
.a-devis{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr);align-items:stretch;gap:12px;margin:18px 0 22px}
.a-obj{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:50px minmax(84px,auto) 24px minmax(94px,auto) 24px minmax(96px,auto);align-items:center;justify-items:center;padding:18px 18px 20px;border-radius:14px;background:#fff;border:1px solid #d6e4ea;border-top:4px solid #237a9a;box-shadow:0 6px 18px -12px rgba(23,63,82,.4);text-align:center}
.a-obj:nth-child(3){border-top-color:#65a946}.a-obj:nth-child(5){border-top-color:#173f52}
.a-obj .a-code{display:block;width:max-content;margin:0;padding:5px 16px;border-radius:999px;background:#237a9a;color:#fff;font-size:19px;line-height:1.3;font-weight:700;letter-spacing:.04em}
.a-obj:nth-child(3) .a-code{background:#65a946}.a-obj:nth-child(5) .a-code{background:#173f52}
.a-obj strong{display:block;width:100%;max-width:27ch;margin:0;font-size:clamp(17px,1.55vw,21px);line-height:1.35;color:#173f52;text-align:center;text-wrap:balance}
.a-obj .a-lab{display:block;margin:0;font-size:12px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:#5b6d74;text-align:center}
.a-apercu .a-devis .a-obj p{width:100%;max-width:29ch;margin:0;font-size:clamp(16px,1.4vw,19px);line-height:1.48;text-align:center!important;text-align-last:center!important;text-justify:none;hyphens:none!important;-webkit-hyphens:none!important;overflow-wrap:normal;word-break:normal;text-wrap:pretty}
.a-obj .a-prod{font-weight:600;color:#1f5a4b}
.a-fleche{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#237a9a}
.a-fleche svg{display:block;width:38px;height:24px}
.a-fleche small{font-size:11px;color:#5b6d74;text-align:center}
.a-pop{margin:6px 0 26px;padding:12px 16px;border-radius:10px;background:#f1f7f9;border-inline-start:3px solid #237a9a;font-size:15.5px}
.a-entonnoir{display:flex;flex-direction:column;align-items:center;gap:6px;margin:12px 0 6px}
.a-ent{width:var(--l);min-width:220px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-radius:10px;background:linear-gradient(90deg,#173f52,#237a9a);color:#fff}
.a-ent:nth-child(3){background:linear-gradient(90deg,#3f8a2e,#65a946)}
.a-ent b{font-size:22px}.a-ent span{font-size:14.5px;opacity:.95}
.a-src{font-size:13px;color:#5b6d74;text-align:center!important}
.a-caps{display:grid;gap:22px;margin-top:12px}
.a-cap{margin:0}.a-cap img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid #d6e4ea;box-shadow:0 10px 28px -16px rgba(23,63,82,.5)}
.a-cap figcaption{margin-top:8px;font-size:14.5px;color:#3a4c53}
@media(max-width:900px){
  .a-apercu .a-devis{display:flex;flex-direction:column;gap:12px}
  .a-apercu .a-obj{grid-template-rows:none;gap:10px;padding:20px 18px 22px}
  .a-apercu .a-obj .a-lab{margin-top:8px}
  .a-apercu .a-obj p{max-width:38ch}
  .a-apercu .a-fleche{min-height:55px;gap:0;padding:3px 0}
  .a-apercu .a-fleche svg{transform:rotate(90deg)}
}
/* Texte des chapitres plus lisible */
.salle-contenu .volet p,.salle-contenu .volet li,.salle-contenu .volet dd{font-size:17px;line-height:1.7}


/* Raffinement des cartes et de la synthèse scientifique — octobre 2026 */
.lacune-principale{
  position:relative;
  margin:24px 0;
  padding:clamp(24px,3.2vw,40px);
  border:1px solid #d5e4e9;
  border-inline-start:4px solid #237a9a;
  border-radius:18px;
  background:linear-gradient(125deg,#fff 0%,#f4f9fa 100%);
  box-shadow:0 14px 32px -26px rgba(23,63,82,.38);
  color:#263e4a;
}
.lacune-principale::before{
  content:"";display:block;width:42px;height:3px;margin-bottom:18px;
  border-radius:10px;background:#237a9a;
}
.lacune-principale h4{
  margin:0 0 18px;
  color:#173f52;
  font:650 clamp(21px,2vw,27px)/1.3 var(--sans);
  letter-spacing:-.02em;text-align:start;
}
.lacune-principale p{
  max-width:85ch;margin:0 0 16px;
  color:#344b55;font-size:clamp(15px,1.12vw,17px);
  line-height:1.75;overflow-wrap:normal;hyphens:none;
}
.lacune-principale .vigilance{
  margin:22px 0 0;padding:15px 18px;
  border-inline-start:3px solid #65a946;
  border-radius:0 10px 10px 0;
  background:#edf5f1;color:#365b50;
  font-size:14px;line-height:1.65;
}
/* Les cartes se lisent en pleine largeur, avec leurs légendes hors de l'image. */
.cartes-o2-outils,
.cartes-o2-grille{
  grid-template-columns:minmax(0,1fr);
  gap:28px;
}
.cartes-o2-outils figure,
.cartes-o2-grille figure{
  min-width:0;width:100%;max-width:none;
}
.cartes-o2-outils img{
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
.cartes-o2 figure a{width:100%}
.cartes-o2 figure img{width:100%;height:auto;max-width:none}
.cartes-o2 figcaption{font-size:15px;line-height:1.6;margin-top:12px}
.cartes-o2-grille{padding:8px 18px 24px}
.bloc-illustre.f-bloc,
.bloc-illustre.f-bloc.f-inverse{
  grid-template-columns:minmax(0,1fr);
  gap:16px;
}
.bloc-illustre.f-bloc.f-inverse > .f-texte{order:initial}
.bloc-illustre.f-bloc .f-texte{width:100%;max-width:none}
.bloc-illustre.f-bloc figure{width:100%;max-width:none}
.bloc-illustre.f-bloc figure img{width:100%;height:auto;object-fit:contain}
@media(max-width:640px){
  .lacune-principale{padding:22px 20px;border-radius:14px}
  .cartes-o2-grille{grid-template-columns:minmax(0,1fr);padding:6px 12px 20px}
}

/* Bandeau de statut de la thèse — lecture immédiate, contrastes fiables */
.these .these-introduction .these-statut{
  position:relative;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:start;
  align-content:center;
  gap:11px;
  width:100%;
  max-width:100%;
  min-height:0;
  margin:0 0 28px;
  padding:20px clamp(22px,2.5vw,30px) 21px clamp(26px,3vw,35px);
  overflow:hidden;
  isolation:isolate;
  border:1px solid #ccddd7;
  border-radius:16px;
  background:#f3f8f6;
  color:#153e4e;
  box-shadow:0 8px 24px -20px rgba(18,58,68,.28);
}
.these .these-introduction .these-statut::before{
  content:"";
  position:absolute;
  inset-block:0;
  inset-inline-start:0;
  width:6px;
  background:#329766;
}
.these .these-introduction .these-statut .badge-these{
  display:inline-flex;
  flex:none;
  align-items:center;
  justify-self:start;
  gap:10px;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:7px 14px;
  border:1px solid #b8dcc9;
  border-radius:999px;
  background:#e0f1e7;
  color:#15533c !important;
  font:700 clamp(14px,1.15vw,16px)/1.4 var(--sans);
  letter-spacing:.005em;
  text-align:start;
  white-space:normal;
}
.these .these-introduction .these-statut .badge-these::before{
  content:"";
  display:block;
  flex:none;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#268454;
  box-shadow:0 0 0 3px #c6e6d3;
}
.these .these-introduction .these-statut .these-evolution{
  display:block;
  flex:none;
  width:100%;
  min-width:0;
  max-width:75ch;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:#1b4050 !important;
  font:500 clamp(16px,1.3vw,18px)/1.6 var(--sans);
  letter-spacing:0;
  text-align:start;
  overflow-wrap:break-word;
  hyphens:none;
  text-wrap:pretty;
}
.these .these-introduction .these-statut .these-evolution strong{
  color:inherit !important;
  font-weight:600;
}
@media(max-width:640px){
  .these .these-introduction .these-statut{
    gap:10px;
    padding:18px 19px 19px 25px;
    margin-bottom:23px;
    border-radius:14px;
  }
  .these .these-introduction .these-statut .badge-these{
    font-size:14px;
  }
  .these .these-introduction .these-statut .these-evolution{
    font-size:16px;
    line-height:1.55;
  }
}
/* En thème sombre, les deux éléments conservent un contraste explicite. */
:root[data-theme="dark"] .these .these-introduction .these-statut{
  border-color:#376778;
  background:#173d4b;
  color:#f5faf8;
}
:root[data-theme="dark"] .these .these-introduction .these-statut .badge-these{
  background:#e3f1e8;
  border-color:#bcdcc9;
  color:#15533c !important;
}
:root[data-theme="dark"] .these .these-introduction .these-statut .these-evolution{
  color:#f5faf8 !important;
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .these .these-introduction .these-statut{
    border-color:#376778;
    background:#173d4b;
    color:#f5faf8;
  }
  :root:not([data-theme="light"]) .these .these-introduction .these-statut .badge-these{
    background:#e3f1e8;
    border-color:#bcdcc9;
    color:#15533c !important;
  }
  :root:not([data-theme="light"]) .these .these-introduction .these-statut .these-evolution{
    color:#f5faf8 !important;
  }
}


/* Méthodologie : lecture visuelle des objectifs O1, O2 et O3 */
.these-methode-parcours {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  margin:28px 0 34px;
  padding:0;
}
.these-methode-parcours a {
  --meth-color:#237a9a;
  display:flex;
  align-items:center;
  min-width:0;
  gap:15px;
  position:relative;
  padding:18px 20px;
  border:1px solid #d9e5e9;
  border-top:3px solid var(--meth-color);
  border-radius:12px;
  background:#fff;
  color:#173f52;
  text-decoration:none;
  box-shadow:0 6px 19px -17px rgba(23,63,82,.35);
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.these-methode-parcours a[data-objectif="O2"] { --meth-color:#4d893a; }
.these-methode-parcours a[data-objectif="O3"] { --meth-color:#754d8a; }
.these-methode-parcours a:hover,
.these-methode-parcours a:focus-visible {
  border-color:var(--meth-color);
  transform:translateY(-2px);
  box-shadow:0 12px 28px -17px rgba(23,63,82,.33);
}
.these-methode-parcours .these-parcours-nombre {
  flex:none;
  color:var(--meth-color);
  font:750 25px/1.1 var(--sans);
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.these-methode-parcours .these-parcours-texte {
  min-width:0;
  font:650 14.5px/1.4 var(--sans);
  overflow-wrap:normal;
  hyphens:none;
}
.these-methode-parcours a::after {
  content:"↗";
  flex:none;
  margin-inline-start:auto;
  color:var(--meth-color);
  font:600 16px/1 var(--sans);
}
.these-methode-objectif {
  --meth-color:#237a9a;
  --meth-soft:#edf6fa;
  position:relative;
  min-width:0;
  margin:24px 0 32px;
  padding:clamp(20px,2.5vw,32px);
  border:1px solid #d7e4e9;
  border-top:4px solid var(--meth-color);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 35px -31px rgba(23,63,82,.42);
  scroll-margin-top:100px;
}
.these-methode-objectif[data-objectif="O2"] { --meth-color:#4d893a; --meth-soft:#eff7eb; }
.these-methode-objectif[data-objectif="O3"] { --meth-color:#754d8a; --meth-soft:#f5f0f8; }
.these-methode-objectif > h4.titre-bloc {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 24px;
  padding:0 0 22px;
  border-bottom:1px solid #e3ebee;
  color:#173f52;
  font:700 clamp(20px,2.1vw,27px)/1.35 var(--sans);
  letter-spacing:-.025em;
  text-align:start;
  text-wrap:balance;
}
.these-methode-objectif > h4.titre-bloc .objectif-code {
  display:inline-flex;
  flex:none;
  align-items:center;
  justify-content:center;
  min-width:50px;
  padding:8px 11px;
  border-radius:9px;
  background:var(--meth-color);
  color:#fff;
  font:750 14px/1.2 var(--sans);
  letter-spacing:.035em;
}
.these-methode-objectif .methode-these-corps {
  padding:0;
  border-top:0;
}
.these-methode-objectif .these-methode-grille {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:15px;
  margin:0;
  counter-reset:these-methode-points;
}
.these-methode-objectif .these-methode-item {
  min-width:0;
  counter-increment:these-methode-points;
  padding:20px 22px;
  border:1px solid #dce6e9;
  border-radius:12px;
  background:#f8fafb;
}
.these-methode-objectif .these-methode-item[data-type="devis"] {
  grid-column:1/-1;
  border-color:#d3e2e7;
  background:var(--meth-soft);
}
.these-methode-objectif .these-methode-item[data-type="produit"] {
  grid-column:1/-1;
  border-color:#d3e6d7;
  background:#f0f8f3;
}
.these-methode-objectif .these-methode-item[data-wide="true"] {
  grid-column:1/-1;
}
.these-methode-objectif .these-methode-item[data-volet="quan"] {
  border-inline-start:3px solid #237a9a;
}
.these-methode-objectif .these-methode-item[data-volet="qual"] {
  border-inline-start:3px solid #4d893a;
}
.these-methode-objectif .these-methode-item dt {
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:0 0 12px;
  color:#173f52;
  font:700 clamp(15px,1.4vw,18px)/1.4 var(--sans);
  text-align:start;
  text-wrap:pretty;
  overflow-wrap:normal;
  hyphens:none;
}
.these-methode-objectif .these-methode-item dt::before {
  content:counter(these-methode-points, decimal-leading-zero);
  display:inline-block;
  flex:none;
  padding-top:3px;
  color:var(--meth-color);
  font:750 11px/1.4 var(--sans);
  letter-spacing:.03em;
  font-variant-numeric:tabular-nums;
}
.these-methode-objectif .these-methode-item dd {
  margin:0;
  max-width:95ch;
  color:#3d5360;
  font:400 clamp(15px,1.15vw,17px)/1.74 var(--sans);
  text-align:start;
  overflow-wrap:break-word;
  hyphens:none;
}
.these-methode-objectif .ia-reperes {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin:22px 0 0;
}
.these-methode-objectif .ia-reperes > article {
  min-width:0;
  padding:20px 22px;
  border:1px solid #d9e5e9;
  border-inline-start:3px solid var(--meth-color);
  border-radius:11px;
  background:#fff;
}
.these-methode-objectif .ia-reperes h5,
.these-methode-objectif .ia-reperes h4 {
  color:#173f52;
  font:700 16px/1.5 var(--sans);
  margin:0 0 10px;
}
.these-methode-objectif .ia-reperes p {
  color:#405762;
  font-size:15px;
  line-height:1.7;
  hyphens:none;
}
@media(max-width:920px) {
  .these-methode-parcours { grid-template-columns:minmax(0,1fr);gap:10px; }
  .these-methode-parcours a {padding:13px 16px;}
}
@media(max-width:780px) {
  .these-methode-objectif {padding:18px;margin:18px 0 24px;}
  .these-methode-objectif .these-methode-grille,
  .these-methode-objectif .ia-reperes {grid-template-columns:minmax(0,1fr);}
  .these-methode-objectif .these-methode-item {padding:17px 18px;}
  .these-methode-objectif > h4.titre-bloc {gap:11px;padding-bottom:17px;margin-bottom:17px;}
}
@media(prefers-reduced-motion:reduce) {
  .these-methode-parcours a {transition:none;}
  .these-methode-parcours a:hover {transform:none;}
}


/* Atlas territorial O2 — cartes à pleine largeur (octobre 2026) */
.these .atlas-these{display:block;clear:both;min-width:0;width:100%;max-width:none;margin:42px 0 20px;padding:32px 0 0;border-top:1px solid #cbded9;break-inside:auto}
.these .atlas-these-entete{min-width:0;max-width:88ch;margin:0 0 24px;padding:0}
.these .atlas-these-kicker{display:block;margin-bottom:10px;color:#286d5c;font:650 12px/1.5 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.these .atlas-these-entete h4{margin:0 0 14px;color:var(--ink-deep,#173f52);font:650 clamp(23px,2.4vw,34px)/1.22 var(--sans);letter-spacing:-.025em;text-wrap:balance}
.these .atlas-these-entete p{margin:0;color:var(--body,#354f59);font-size:16px;line-height:1.75;text-wrap:pretty}
.these .atlas-these-figure{display:block;min-width:0;width:100%;max-width:none;margin:0 0 34px;padding:0;break-inside:avoid;border:1px solid #d5e2df;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 8px 28px -23px rgba(10,54,68,.38)}
.these .atlas-these-figure-entete{padding:22px clamp(16px,3vw,30px) 20px;background:linear-gradient(115deg,#f3f8f5 0%,#f6f9fb 100%);border-bottom:1px solid #dce7e3}
.these .atlas-these-figure-entete>span{display:block;margin-bottom:8px;color:#34685f;font:650 11px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.these .atlas-these-figure h5{margin:0 0 9px;color:#123d4a;font:650 clamp(19px,1.9vw,25px)/1.28 var(--sans);letter-spacing:-.02em;text-wrap:balance}
.these .atlas-these-figure-entete p{max-width:85ch;margin:0;color:#405960;font:400 15px/1.65 var(--sans)}
.these .atlas-these-image{display:block;width:100%;min-width:0;padding:0;overflow:visible;background:white;cursor:zoom-in}
.these .atlas-these-image img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;border:0!important;border-radius:0!important}
.these .atlas-these-figure figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:9px 22px;margin:0;padding:13px clamp(16px,3vw,30px);border-top:1px solid #e3eae8;color:#63767a;font:450 12px/1.55 var(--sans)}
.these .atlas-these-figure figcaption a{color:#165e65;text-decoration:underline;text-decoration-color:#97c0bb;text-underline-offset:4px;font-weight:650}
.these .atlas-these-figure figcaption a:hover,.these .atlas-these-figure figcaption a:focus-visible{color:#103d4b;text-decoration-color:currentColor}
.these .atlas-these-precaution{max-width:90ch;margin:0;padding:15px 18px;border-left:3px solid #80aaa0;background:#f2f7f5;color:#455f62;font-size:13px;line-height:1.65}

/* Corriger également les cartes déjà insérées ailleurs : texte avant/après, jamais en colonne latérale. */
.these .bloc-illustre:has(img[src*="/these/o2/carte-"]),
.these .code-vers-carte:has(img[src*="/these/o2/carte-"]),
.these .m-code-carte:has(img[src*="/these/o2/carte-"]),
.these .m-egal:has(img[src*="/these/o2/carte-"]){
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;gap:16px!important;align-items:stretch!important;
}
.these .bloc-illustre:has(img[src*="/these/o2/carte-"]) > *,
.these .code-vers-carte:has(img[src*="/these/o2/carte-"]) > *{grid-column:1!important;max-width:none!important;width:100%!important;min-width:0}
.these .code-vers-carte:has(img[src*="/these/o2/carte-"])>.m-fleche{display:none!important}
.these figure:has(img[src*="/these/o2/carte-"]){max-width:100%!important;min-width:0;float:none!important}
.these figure img[src*="/these/o2/carte-"]{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;filter:none!important;transform:none!important}

/* Les éventuelles galeries cartographiques déjà présentes ne sont plus des vignettes recadrées. */
.cartes-o2-outils,.cartes-o2-grille{grid-template-columns:minmax(0,1fr)!important}
.cartes-o2-outils img,.cartes-o2-grille img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
.cartes-o2 figure{width:100%;max-width:none}
.cartes-o2 figcaption{font-size:14px;line-height:1.6}
@media(max-width:700px){
  .these .atlas-these{margin-top:32px;padding-top:23px}
  .these .atlas-these-entete h4{font-size:23px}
  .these .atlas-these-figure-entete{padding:16px 15px}
  .these .atlas-these-figure-entete p{font-size:14px}
  .these .atlas-these-figure figcaption{padding:13px 15px;font-size:11.5px}
  .these .atlas-these-figure{margin-bottom:23px;border-radius:10px}
}
@media(prefers-reduced-motion:reduce){.these .atlas-these-image,.these .atlas-these-image img{transition:none!important}}


/* Thèse : quatre cartes en 2 x 2, dans la source et dans la salle affichée. */
:is(#salle,#recherche) .these-chiffres{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch;
}
:is(#salle,#recherche) .these-chiffres>div{
  display:flex;
  flex-direction:column;
  min-width:0;
  box-sizing:border-box;
  padding:18px 20px!important;
  border-radius:12px!important;
  background:#fff;
  box-shadow:0 2px 6px rgba(13,42,58,.035);
}
:is(#salle,#recherche) .these-chiffres>div>p:first-child{
  margin:0 0 12px!important;
  color:#203f51;
  font-size:16px!important;
  line-height:1.4!important;
  text-align:start!important;
  text-align-last:auto!important;
  hyphens:none!important;
}
:is(#salle,#recherche) .these-chiffres>div>div{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(84px,1fr) max-content!important;
  align-items:center!important;
  column-gap:12px!important;
  margin:9px 0!important;
}
:is(#salle,#recherche) .these-chiffres>div>div>span:first-child{
  min-width:0;
  font-size:14px!important;
  line-height:1.35!important;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none!important;
}
:is(#salle,#recherche) .these-chiffres>div>div>span:nth-child(2){
  width:100%;
  min-width:0;
  height:16px!important;
  border-radius:999px!important;
}
:is(#salle,#recherche) .these-chiffres>div>div>span:nth-child(2)>span{
  border-radius:999px!important;
}
:is(#salle,#recherche) .these-chiffres>div>div>b{
  justify-self:end;
  color:#0d2a3a;
  font-size:14px!important;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  text-align:end;
  white-space:nowrap;
}
:is(#salle,#recherche) .these-chiffres>div>p.note{
  margin:14px 0 0!important;
  padding-top:12px;
  border-top:1px solid #e4ebf1;
  color:#536977;
  font-size:14px!important;
  line-height:1.55!important;
  text-align:start!important;
  text-align-last:auto!important;
  text-justify:auto!important;
  word-spacing:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  overflow-wrap:break-word;
}
@media(max-width:920px){
  :is(#salle,#recherche) .these-chiffres{
    grid-template-columns:minmax(0,1fr)!important;
  }
  :is(#salle,#recherche) .these-chiffres>div>div{
    grid-template-columns:minmax(0,1fr) minmax(100px,1fr) max-content!important;
  }
}
@media(max-width:520px){
  :is(#salle,#recherche) .these-chiffres{gap:12px!important}
  :is(#salle,#recherche) .these-chiffres>div{padding:16px!important}
  :is(#salle,#recherche) .these-chiffres>div>div{
    grid-template-columns:minmax(0,1fr) max-content!important;
    column-gap:12px!important;
    row-gap:6px!important;
    margin:10px 0!important;
  }
  :is(#salle,#recherche) .these-chiffres>div>div>span:first-child{grid-column:1/-1}
  :is(#salle,#recherche) .these-chiffres>div>div>span:nth-child(2){grid-column:1;grid-row:2}
  :is(#salle,#recherche) .these-chiffres>div>div>b{grid-column:2;grid-row:2}
}


/* Thèse — tableau travail social / réponse intersectorielle (style ciblé) */
/* Le sélecteur vise exclusivement le comparatif de la section de thèse,
   sans modifier son contenu, sa position ni les autres tableaux du site. */
.these div:has(> table > thead > tr > th[style*="#0D2A3A"]) {
  margin-block:24px 30px!important;
  overflow-x:auto;
  padding:3px 2px 10px;
  scrollbar-color:#bfd3df transparent;
  -webkit-overflow-scrolling:touch;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) {
  width:100%!important;
  min-width:500px!important;
  table-layout:fixed;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid #dce7ee;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 7px 28px rgba(13,42,58,.065);
  color:#2d4656;
  font-family:var(--sans);
  font-size:1rem!important;
  line-height:1.6;
  text-align:start;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) thead th {
  padding:17px 21px!important;
  color:#fff!important;
  font-size:.95em;
  font-weight:700;
  line-height:1.45;
  letter-spacing:-.015em;
  vertical-align:middle;
  text-align:start!important;
  border:0!important;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) thead th:first-child {
  width:32%;
  background:#0d2a3a!important;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) thead th:nth-child(2) {
  background:#0879be!important;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) tbody td {
  padding:17px 21px!important;
  border-bottom:1px solid #e5edf2!important;
  vertical-align:middle;
  text-align:start;
  text-align-last:auto;
  hyphens:none;
  overflow-wrap:break-word;
  word-break:normal;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) tbody td:first-child {
  color:#193c4e;
  background:#f4f8fa;
  font-weight:630;
  border-right:1px solid #e5edf2;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) tbody tr:nth-child(even) td:nth-child(2) {
  background:#fafcfd;
}
.these table:has(> thead > tr > th[style*="#0D2A3A"]) tbody tr:last-child td {
  border-bottom:0!important;
}
.these div:has(> table > thead > tr > th[style*="#0D2A3A"]) > p.note {
  margin:12px 3px 0!important;
  color:#617888;
  font-size:.82em!important;
  line-height:1.5;
  text-align:start;
}
@media(max-width:640px){
  .these table:has(> thead > tr > th[style*="#0D2A3A"]) {
    min-width:500px!important;
    font-size:.9rem!important;
  }
  .these table:has(> thead > tr > th[style*="#0D2A3A"]) thead th,
  .these table:has(> thead > tr > th[style*="#0D2A3A"]) tbody td {
    padding:13px 14px!important;
  }
}

/* Thèse : agrandir les figures de méthode sans les recadrer (octobre 2026). */
@media (min-width: 1100px) {
  #recherche .section-corps.pleine.these {
    max-width: 1580px;
  }
}
#recherche .figure-officielle.these-comparaison-intersectorielle {
  padding: 6px 6px 12px;
}
#recherche .figure-officielle.these-comparaison-intersectorielle > a,
#recherche .figure-officielle.these-comparaison-intersectorielle > a > img {
  display: block;
  max-width: 100%;
}


/* Objectif 2 — capture Power BI du 211 en pleine largeur (annexe A18). */
.m-o2 .bloc-illustre.m-egal:has(> figure img[src$="diapo-49.webp"]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(18px, 2.5vw, 30px);
  margin-block: 2rem 2.8rem;
}
.m-o2 .bloc-illustre.m-egal:has(> figure img[src$="diapo-49.webp"]) > div {
  width: 100%;
  min-width: 0;
  max-width: none;
}
.m-o2 .bloc-illustre.m-egal:has(> figure img[src$="diapo-49.webp"]) > figure {
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
}
.m-o2 .bloc-illustre.m-egal:has(> figure img[src$="diapo-49.webp"]) > figure > a {
  display: block;
  width: 100%;
  max-width: none;
  cursor: zoom-in;
}
.m-o2 .bloc-illustre.m-egal:has(> figure img[src$="diapo-49.webp"]) > figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  image-rendering: auto;
  border-radius: 12px;
}
.m-o2 .bloc-illustre.m-egal:has(> figure img[src$="diapo-49.webp"]) figcaption {
  width: 100%;
  max-width: none;
  margin-top: .8rem;
  font-size: clamp(.9rem, 1.05vw, 1.05rem);
  line-height: 1.55;
  text-align: left;
  hyphens: none;
  word-break: normal;
}


/* Thèse — cartes et schémas lisibles en deux blocs (2026-10-17) */
/* Un premier bloc pour les explications, un second, indépendant, pour le visuel.
   Conservation intégrale des images, de leurs légendes et des textes existants. */
#recherche .these .m-o2 .bloc-illustre:has(> figure),
#recherche .these .bloc-illustre:has(> figure img[src*="/these/o2/"]),
#recherche .these .r-retombees .bloc-illustre:has(> figure img[src*="/these/o2/"]) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  align-items:start!important;
  gap:clamp(18px,2vw,28px)!important;
  width:100%;
  min-width:0;
  max-width:none;
  margin-block:clamp(26px,3vw,44px);
}
#recherche .these .m-o2 .bloc-illustre:has(> figure)>*,
#recherche .these .bloc-illustre:has(> figure img[src*="/these/o2/"])>* {
  grid-column:1!important;
  order:initial!important;
  width:100%!important;
  max-width:none!important;
  min-width:0;
}
#recherche .these .m-o2 .bloc-illustre:has(> figure)>div,
#recherche .these .bloc-illustre:has(> figure img[src*="/these/o2/"])>div {
  padding:clamp(17px,2.2vw,27px);
  border:1px solid #d8e6e2;
  border-left:4px solid #287867;
  border-radius:14px;
  background:linear-gradient(125deg,#f3f8f5,#fff);
}
#recherche .these .m-o2 .bloc-illustre:has(> figure)>figure,
#recherche .these .bloc-illustre:has(> figure img[src*="/these/o2/"])>figure {
  margin:0!important;
  padding:0;
  border:0;
  background:#fff;
  width:100%!important;
  max-width:none!important;
  min-width:0;
}
#recherche .these .m-o2 .bloc-illustre:has(> figure)>figure a,
#recherche .these .bloc-illustre:has(> figure img[src*="/these/o2/"])>figure a {
  display:block;
  width:100%;
  max-width:none;
  cursor:zoom-in;
}
#recherche .these .m-o2 .bloc-illustre:has(> figure)>figure img,
#recherche .these .bloc-illustre:has(> figure img[src*="/these/o2/"])>figure img,
#recherche .these figure img[src*="/these/o2/atlas-"] {
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  image-rendering:auto;
}
#recherche .these .m-o2 .bloc-illustre:has(> figure) figcaption,
#recherche .these .bloc-illustre:has(> figure img[src*="/these/o2/"]) figcaption {
  display:block;
  width:100%;
  max-width:95ch;
  margin:12px 0 0;
  font-size:clamp(14px,1.05vw,16px);
  line-height:1.6;
  text-align:start;
  hyphens:none;
}
/* Les schémas et la comparaison code → carte ne doivent pas être comprimés. */
#recherche .these .m-o2 :is(.code-vers-carte,.m-code-carte) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:15px!important;
}
#recherche .these .m-o2 :is(.code-vers-carte,.m-code-carte)>figure {
  min-width:0;
  max-width:none;
  width:100%;
}
#recherche .these .m-o2 .m-code-carte .m-fleche {
  transform:rotate(90deg);
  font-size:24px;
}
#recherche .these .m-o2 .m-schema,
#recherche .these .m-o2 .m-schema svg {
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  min-width:0;
}
#recherche .these .o3-figures-reelles,
#recherche .these .o3-quali-grille {
  grid-template-columns:minmax(0,1fr)!important;
}
#recherche .these .o3-figures-reelles figure img {
  display:block;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
/* Sur écrans étroits, cartes détaillées défilables plutôt que réduites à des miniatures. */
@media(max-width:820px) {
  #recherche .these figure:has(img[src*="/these/o2/atlas-"])>a,
  #recherche .these figure:has(img[src*="/these/o2/carte-"])>a {
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  #recherche .these figure img[src*="/these/o2/atlas-"],
  #recherche .these figure img[src*="/these/o2/carte-"] {
    width:max(100%,760px)!important;
    max-width:none!important;
  }
}


/* Objectif 2 — diapositives A18 et A19 du 211 : deux figures grandeur lecture. */
#recherche .these .m-o2 .bloc-illustre.m-egal:has(> figure img:is([src$="diapo-49.webp"],[src$="diapo-50.webp"])) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  align-items:start!important;
  gap:clamp(18px,2.3vw,28px)!important;
  width:100%;
  min-width:0;
  max-width:none;
  margin-block:clamp(30px,3vw,46px);
}
#recherche .these .m-o2 .bloc-illustre.m-egal:has(> figure img:is([src$="diapo-49.webp"],[src$="diapo-50.webp"])) > div {
  grid-column:1!important;
  order:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0;
}
#recherche .these .m-o2 .bloc-illustre.m-egal:has(> figure img:is([src$="diapo-49.webp"],[src$="diapo-50.webp"])) > figure {
  grid-column:1!important;
  order:1!important;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0;
}
#recherche .these .m-o2 .bloc-illustre.m-egal:has(> figure img:is([src$="diapo-49.webp"],[src$="diapo-50.webp"])) > figure > a {
  display:block;
  width:100%;
  max-width:none;
  cursor:zoom-in;
}
#recherche .these .m-o2 .bloc-illustre.m-egal:has(> figure img:is([src$="diapo-49.webp"],[src$="diapo-50.webp"])) > figure img {
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  image-rendering:auto;
}
#recherche .these .m-o2 .bloc-illustre.m-egal:has(> figure img:is([src$="diapo-49.webp"],[src$="diapo-50.webp"])) figcaption {
  display:block;
  width:100%;
  max-width:none;
  margin:12px 0 0;
  font-size:clamp(14px,1.1vw,17px);
  line-height:1.6;
  text-align:start;
  hyphens:none;
}


/* Thèse : correctif pérenne du véritable bandeau .these-statut-fort (octobre 2026) */
#recherche .these-entete .these-statut-fort,
#recherche .these-introduction .these-statut-fort{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  gap:12px 19px !important;
  margin:0 0 22px !important;
  padding:19px clamp(18px,2.4vw,29px) !important;
  border:1px solid #bfd9cc !important;
  border-inline-start:6px solid #318b63 !important;
  border-radius:16px !important;
  background:#f0f8f3 !important;
  background-image:none !important;
  box-shadow:0 8px 24px -21px rgba(17,58,62,.3) !important;
  color:#193e4b !important;
  text-align:start !important;
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  hyphens:none !important;
}
#recherche .these-entete .these-statut-fort__badge,
#recherche .these-introduction .these-statut-fort__badge{
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:9px !important;
  padding:7px 13px !important;
  max-width:100% !important;
  border:1px solid #a9d1b8 !important;
  border-radius:999px !important;
  background:#dceee2 !important;
  color:#155238 !important;
  font-size:clamp(14px,1.1vw,16px) !important;
  line-height:1.4 !important;
  font-weight:750 !important;
  letter-spacing:0 !important;
  opacity:1 !important;
}
#recherche .these-entete .these-statut-fort__badge::before,
#recherche .these-introduction .these-statut-fort__badge::before{
  content:"";
  display:block;
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#278752;
}
#recherche .these-entete .these-statut-fort__texte,
#recherche .these-introduction .these-statut-fort__texte{
  display:block !important;
  flex:1 1 380px !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  color:#193e4b !important;
  font-size:clamp(16px,1.35vw,19px) !important;
  line-height:1.5 !important;
  font-weight:650 !important;
  text-align:start !important;
  opacity:1 !important;
  text-shadow:none !important;
}
@media (max-width:680px){
  #recherche .these-entete .these-statut-fort,
  #recherche .these-introduction .these-statut-fort{align-items:flex-start !important;gap:11px !important;padding:17px 19px !important}
  #recherche .these-entete .these-statut-fort__texte,
  #recherche .these-introduction .these-statut-fort__texte{flex-basis:100% !important;font-size:16px !important}
}
/* Même sans régénération du HTML, l'ancien paragraphe bleu devient lisible. */
#recherche p.these-statut-fort:not(:has(.these-statut-fort__badge)){
  background:#f0f8f3 !important;
  color:#193e4b !important;
  font-weight:700 !important;
  font-size:clamp(16px,1.35vw,19px) !important;
}

/* Accès à la thèse en tête de navigation, accompagné d'un petit guide. */
.entete .nav .these-nav{display:inline-flex;flex:0 0 auto;align-items:center;align-self:center;scroll-snap-align:start;gap:2px;margin-inline-end:6px;padding-inline:1px 8px;border-inline-end:1px solid #d6e3e8}
.entete .nav .these-guide{display:block;flex:none;width:39px;height:42px;overflow:visible}
.these-guide-bras{animation:these-guide-pointer 1.65s ease-in-out infinite;transform-origin:25px 30px;transform-box:view-box}
@keyframes these-guide-pointer{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(14deg)}}
.entete .nav .acces-these{display:inline-flex;flex:none;scroll-snap-align:none;align-items:center;justify-content:center;gap:8px;min-height:40px;height:40px;padding:7px 16px 7px 13px;border:0;border-radius:999px;background:linear-gradient(135deg,#245a73 0%,#1f5a8a 55%,#2f7d9a 100%);color:#fff;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:.01em;box-shadow:0 2px 8px rgba(31,90,138,.28),inset 0 1px 0 rgba(255,255,255,.22)}
.entete .nav .acces-these>svg{display:block;flex:none;width:18px;height:18px;padding:0;border-radius:0;background:none;box-shadow:none;color:inherit;stroke-width:2;transform:none}
.entete .nav .acces-these::after{inset:0;width:auto;height:auto;border-radius:inherit;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);opacity:1;transform:translateX(-120%);transition:transform .7s ease}
.entete .nav .acces-these:hover,.entete .nav .acces-these:focus-visible{color:#fff;background:linear-gradient(135deg,#1d4c61 0%,#184d78 55%,#256d88 100%);transform:translateY(-1px);box-shadow:0 6px 16px rgba(31,90,138,.36),inset 0 1px 0 rgba(255,255,255,.22)}
.entete .nav .acces-these:hover::after,.entete .nav .acces-these:focus-visible::after{transform:translateX(120%)}
.entete .nav .acces-these:focus-visible{outline:2px solid #173f52;outline-offset:2px}
[dir=rtl] .these-guide{scale:-1 1}
@media(max-width:700px){
 .entete .nav .these-nav{margin-inline-end:4px;padding-inline-end:7px}
 .entete .nav .these-guide{width:33px;height:38px}
 .entete .nav .acces-these{min-height:40px;height:40px;padding:7px 12px;font-size:13px;gap:6px}
 .entete .nav .acces-these>svg{width:17px;height:17px}
}
@media(prefers-reduced-motion:reduce){.these-guide-bras{animation:none}.entete .nav .acces-these,.entete .nav .acces-these::after{transition:none}.entete .nav .acces-these:hover{transform:none}}
@media(forced-colors:active){.entete .nav .acces-these{border:1px solid LinkText}}

/* Objectifs spécifiques : profils, ressources et réseaux en un regard. */
:is(#salle,#recherche) .objectifs-visuels{--ov-ink:#193d4d;container-type:inline-size;container-name:objectifs-zone;margin-block:20px 34px}
:is(#salle,#recherche) .objectifs-visuels :is(p,li,dd){text-align:start!important;text-align-last:auto!important;text-justify:none!important;hyphens:none!important;-webkit-hyphens:none!important;word-spacing:normal}
:is(#salle,#recherche) .objectifs-visuels .ov-intro{margin-bottom:18px}
:is(#salle,#recherche) .objectifs-visuels .ov-intro .ov-accroche{margin:0 0 6px;font:700 clamp(23px,2.1vw,29px)/1.25 var(--sans);color:var(--ov-ink)}
:is(#salle,#recherche) .objectifs-visuels .ov-intro p:last-child{margin:0;max-width:850px;font:400 16px/1.65 var(--sans);color:#536b77}
:is(#salle,#recherche) .objectifs-visuels .ov-parcours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none}
:is(#salle,#recherche) .objectifs-visuels .ov-parcours li{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 12px;border:1px solid #d6e4de;border-radius:12px;background:#f2f7ee;color:#356c25;font:600 14px/1.3 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-parcours li:nth-child(2){background:#edf8f6;border-color:#cce6e2;color:#096f6c}
:is(#salle,#recherche) .objectifs-visuels .ov-parcours li:nth-child(3){background:#edf3fb;border-color:#ccddf0;color:#0755ad}
:is(#salle,#recherche) .objectifs-visuels .ov-parcours li+li::before{content:"→";position:absolute;inset-inline-start:-19px;color:#8a9ca5;font:400 21px/1 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-parcours span{font-size:11px;font-weight:750;padding:4px 6px;border:1px solid currentColor;border-radius:6px}
:is(#salle,#recherche) .objectifs-visuels .ov-schema-note{margin:12px 0 8px;font:400 11px/1.5 var(--sans);color:#6b7f89}
:is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;margin:0}
:is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille>.objectif-carte{--ov-accent:#3d8028;--ov-pale:#f2f8ed;min-width:0;padding:0;overflow:hidden;border:1px solid #d5e1db;border-top:4px solid var(--ov-accent);border-radius:17px;background:#fff;box-shadow:0 8px 26px -20px #193d4d}
:is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille>.objectif-carte[data-objectif=O2]{--ov-accent:#087e7b;--ov-pale:#edf8f6;border-top-color:var(--ov-accent)}
:is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille>.objectif-carte[data-objectif=O3]{--ov-accent:#0755ad;--ov-pale:#edf3fb;border-top-color:var(--ov-accent)}
:is(#salle,#recherche) .objectifs-visuels .ov-entete{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:9px 11px;padding:21px 20px 12px;background:linear-gradient(160deg,var(--ov-pale),#fff)}
:is(#salle,#recherche) .objectifs-visuels .ov-code{display:grid;place-items:center;min-width:36px;height:34px;border-radius:9px;background:var(--ov-accent);color:#fff;font:750 12px/1 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-entete h4{display:block;grid-column:2;grid-row:1;align-self:start;max-width:none;text-align:start;margin:0;color:var(--ov-ink);font:700 20px/1.25 var(--sans);letter-spacing:-.025em}
:is(#salle,#recherche) .objectifs-visuels .ov-entete .ov-question{grid-column:1/-1;grid-row:2;margin:0;min-height:25px;color:#536b77;font:500 15px/1.55 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-schema{display:grid;place-items:center;margin:0 14px 15px;padding:9px 5px 5px;border:1px solid color-mix(in srgb,var(--ov-accent) 16%,#fff);border-radius:12px;background:var(--ov-pale)}
:is(#salle,#recherche) .objectifs-visuels .ov-schema svg{display:block;width:100%;max-width:300px;height:116px;overflow:visible;font-family:var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-livrable{min-height:105px;padding:0 20px 14px}
:is(#salle,#recherche) .objectifs-visuels .ov-label{margin:0 0 6px!important;color:var(--ov-accent);font:750 10px/1.5 var(--sans)!important;letter-spacing:.08em;text-transform:uppercase}
:is(#salle,#recherche) .objectifs-visuels .ov-livrable h5{margin:0 0 10px;color:var(--ov-ink);font:650 16px/1.4 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-livrable ul{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
:is(#salle,#recherche) .objectifs-visuels .ov-livrable li{padding:4px 7px;border:1px solid #dce6e9;border-radius:6px;background:#f7fafb;color:#3d5663;font:500 11px/1.4 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-utilite{min-height:105px;margin:0 14px 12px;padding:12px 13px;border-radius:10px;background:var(--ov-pale)}
:is(#salle,#recherche) .objectifs-visuels .ov-utilite p:last-child{margin:0;color:#314d5b;font:400 14px/1.6 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-details{margin:0 20px;border-top:1px solid #e0e8eb;color:#45616f}
:is(#salle,#recherche) .objectifs-visuels .ov-details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:47px;padding:10px 0;cursor:pointer;list-style:none;color:#45616f;font:550 12px/1.45 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-details summary::-webkit-details-marker{display:none}
:is(#salle,#recherche) .objectifs-visuels .ov-details summary::after{content:"+";flex:none;display:grid;place-items:center;width:22px;height:22px;border:1px solid #ccdce2;border-radius:50%;color:var(--ov-accent);font:500 17px/1 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-details[open] summary::after{content:"−"}
:is(#salle,#recherche) .objectifs-visuels .ov-details summary:focus-visible{outline:2px solid var(--ov-accent);outline-offset:3px;border-radius:4px}
:is(#salle,#recherche) .objectifs-visuels .ov-details-corps{padding-bottom:13px}
:is(#salle,#recherche) .objectifs-visuels .ov-details-corps .these-lacune-visible{border:0!important;padding:10px 12px!important;background:#f2f6f8!important}
:is(#salle,#recherche) .objectifs-visuels .ov-details-corps p{margin:8px 0;color:#3d5663;font:400 14px/1.65 var(--sans)}
:is(#salle,#recherche) .objectifs-visuels .ov-details-corps p[style]{font-size:10px!important;font-weight:650;letter-spacing:.06em}
:is(#salle,#recherche) .objectifs-visuels .ov-details-corps .note{opacity:1}
:is(#salle,#recherche) .objectifs-visuels .ov-methode{display:flex;align-items:center;justify-content:space-between;gap:10px;width:calc(100% - 40px);min-height:45px;margin:0 20px 15px;padding:10px 0;border:0;border-top:1px solid #e0e8eb;background:transparent;color:var(--ov-accent);font:650 12px/1.4 var(--sans);text-align:start;cursor:pointer}
:is(#salle,#recherche) .objectifs-visuels .ov-methode:hover{color:var(--ov-ink);text-decoration:underline;text-underline-offset:3px}
:is(#salle,#recherche) .objectifs-visuels .ov-convergence{margin:17px 0 0;padding:13px 18px;border-inline-start:3px solid #90b4bc;border-radius:0 9px 9px 0;background:#f2f7f8;color:#3d5663;font:400 14px/1.6 var(--sans)}
@media(max-width:1000px){
 :is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille{grid-template-columns:minmax(0,1fr);gap:18px}
 :is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille>.objectif-carte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
 :is(#salle,#recherche) .objectifs-visuels .ov-entete{grid-column:1/-1}
 :is(#salle,#recherche) .objectifs-visuels .ov-schema{grid-column:1;grid-row:2;align-self:stretch}
 :is(#salle,#recherche) .objectifs-visuels .ov-livrable{grid-column:2;grid-row:2;min-height:0;padding-top:3px}
 :is(#salle,#recherche) .objectifs-visuels .ov-utilite{grid-column:1/-1;min-height:0}
 :is(#salle,#recherche) .objectifs-visuels .ov-details,:is(#salle,#recherche) .objectifs-visuels .ov-methode{grid-column:1/-1}
}
@container objectifs-zone (max-width:820px){
 :is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille{grid-template-columns:minmax(0,1fr);gap:18px}
 :is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille>.objectif-carte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
 :is(#salle,#recherche) .objectifs-visuels .ov-entete{grid-column:1/-1}
 :is(#salle,#recherche) .objectifs-visuels .ov-schema{grid-column:1;grid-row:2;align-self:stretch}
 :is(#salle,#recherche) .objectifs-visuels .ov-livrable{grid-column:2;grid-row:2;min-height:0;padding-top:3px}
 :is(#salle,#recherche) .objectifs-visuels .ov-utilite{grid-column:1/-1;min-height:0}
 :is(#salle,#recherche) .objectifs-visuels .ov-details,:is(#salle,#recherche) .objectifs-visuels .ov-methode{grid-column:1/-1}
}
@media(max-width:580px){
 :is(#salle,#recherche) .objectifs-visuels .ov-parcours{gap:14px}
 :is(#salle,#recherche) .objectifs-visuels .ov-parcours li{flex-direction:column;gap:6px;padding:10px 4px;font-size:12px}
 :is(#salle,#recherche) .objectifs-visuels .ov-parcours li+li::before{inset-inline-start:-14px;font-size:17px}
 :is(#salle,#recherche) .objectifs-visuels .ov-entete{padding:18px 17px 12px}
 :is(#salle,#recherche) .objectifs-visuels .ov-entete h4{font-size:19px}
 :is(#salle,#recherche) .objectifs-visuels .these-objectifs.objectifs-grille>.objectif-carte{display:block}
 :is(#salle,#recherche) .objectifs-visuels .ov-schema{margin-inline:14px}
 :is(#salle,#recherche) .objectifs-visuels .ov-livrable{padding:0 18px 15px}
 :is(#salle,#recherche) .objectifs-visuels .ov-utilite{margin-inline:14px}
 :is(#salle,#recherche) .objectifs-visuels .ov-details{margin-inline:18px}
 :is(#salle,#recherche) .objectifs-visuels .ov-methode{width:calc(100% - 36px);margin-inline:18px}
}
html:is(.hc,.lv) :is(#salle,#recherche) .objectifs-visuels :is(.ov-carte,.ov-schema,.ov-livrable li,.ov-utilite,.ov-parcours li,.ov-convergence){background:Canvas;color:CanvasText;box-shadow:none;border-color:CanvasText}
@media(forced-colors:active){:is(#salle,#recherche) .objectifs-visuels .ov-code{background:Highlight;color:HighlightText}:is(#salle,#recherche) .objectifs-visuels .ov-carte{border-color:CanvasText}}

/* Chaîne cartographique O2 : six étapes équilibrées, puis schéma en pleine largeur. */
:is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes){
  container-type:inline-size;
  container-name:mapping-etapes;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
  margin:20px 0 32px;
  min-width:0;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre > ol.m-etapes{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:16px;
  width:100%;
  min-width:0;
  margin:0!important;
  padding:0!important;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre > ol.m-etapes > li{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  align-content:start;
  align-items:start;
  gap:12px;
  min-width:0;
  margin:0;
  padding:20px;
  border:1px solid #d4e4e7;
  border-top:3px solid #bde3e2;
  border-radius:14px;
  background:#fff;
  box-shadow:0 3px 12px rgba(13,42,58,.035);
}
:is(#salle,#recherche) .m-o2 .bloc-illustre > ol.m-etapes > li::before{
  position:static;
  grid-column:1;
  grid-row:1;
  width:32px;
  height:32px;
  background:#007e7b;
  color:#fff;
  font:700 16px/1 var(--sans);
}
:is(#salle,#recherche) .m-o2 .bloc-illustre > ol.m-etapes > li > b{
  grid-column:2;
  grid-row:1;
  align-self:center;
  font:700 17px/1.35 var(--sans);
  color:#006d6b;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre > ol.m-etapes > li > p{
  grid-column:1/-1;
  min-width:0;
  max-width:none;
  margin:0!important;
  font:400 16px/1.55 var(--sans)!important;
  color:#344f5d;
  text-align:start!important;
  text-align-last:auto!important;
  text-justify:none!important;
  word-spacing:normal!important;
  letter-spacing:normal;
  hyphens:none!important;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes) > figure{
  width:100%;
  min-width:0;
  max-width:none!important;
  margin:0!important;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes) > figure > a{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:16px;
  border:1px solid #d4e4e7;
  border-radius:14px;
  background:#fff;
  cursor:zoom-in;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes) > figure img{
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain;
  border:0;
  border-radius:6px;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes) > figure > a::after{
  content:"Voir le schéma en grand ↗";
  display:block;
  margin-top:10px;
  color:#006d6b;
  font:600 13px/1.4 var(--sans);
  text-align:end;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes) figcaption{
  margin:10px 4px 0;
  font:400 14px/1.5 var(--sans);
  color:#536d7a;
  text-align:start!important;
  text-align-last:auto!important;
}
:is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes) figcaption .m-source{
  display:block;
  margin-top:3px;
  font-size:13px;
}
@container mapping-etapes (max-width:640px){
  :is(#salle,#recherche) .m-o2 .bloc-illustre > ol.m-etapes{grid-template-columns:minmax(0,1fr)}
  :is(#salle,#recherche) .m-o2 .bloc-illustre > ol.m-etapes > li{padding:18px}
  :is(#salle,#recherche) .m-o2 .bloc-illustre:has(> ol.m-etapes) > figure > a{padding:8px}
}

/* Thèse : un seul chapitre est affiché à la fois.
   Le sommaire reste accessible et les flèches changent de panneau,
   sans dérouler l'intégralité de la thèse. */
.rubriques[data-rubriques="these"][data-navigation="atelier"]{
  display:grid;
  grid-template-columns:minmax(205px,244px) minmax(0,1fr);
  gap:clamp(18px,2.5vw,34px);
  align-items:start;
  container-type:normal;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] > .rubriques-console{
  display:block;
  grid-column:1;
  grid-row:1;
  min-width:0;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] > .rubrique-corps{
  display:block;
  width:100%;
  min-width:0;
  grid-column:2;
  grid-row:1;
}
/* Le CSS d'affichage des panneaux ne doit jamais prévaloir sur hidden. */
.rubriques[data-rubriques="these"][data-navigation="atelier"] > .rubrique-corps[hidden]{
  display:none!important;
}
@media(max-width:1099px){
  .rubriques[data-rubriques="these"][data-navigation="atelier"]{display:block}
  .rubriques[data-rubriques="these"][data-navigation="atelier"] > .rubriques-console,
  .rubriques[data-rubriques="these"][data-navigation="atelier"] > .rubrique-corps{
    grid-column:auto;
    grid-row:auto;
  }
}

/* Thèse : bandeau des affiliations en pleine largeur, logos nets (octobre 2026). */
#recherche .section-corps.pleine.these > .colonne-outils{
  column-count:1 !important;
  column-width:auto !important;
  columns:auto !important;
  width:100%;
  max-width:none;
  min-width:0;
}
#recherche .these .rubriques[data-rubriques="these"],
#recherche .these .rubriques[data-rubriques="these"] > .rubrique-corps{
  width:100%;
  max-width:none;
  min-width:0;
  box-sizing:border-box;
}
#recherche .these .logos-recherche{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:none;
  min-width:0;
  box-sizing:border-box;
  margin:28px 0 12px;
  padding:clamp(16px,2.6vw,34px);
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
}
#recherche .these .logos-recherche img{
  display:block;
  width:100%;
  max-width:1300px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
@media(max-width:640px){
  #recherche .these .logos-recherche{
    margin-block:20px 10px;
    padding:12px 8px;
    border-radius:12px;
  }
}


/* O2 — lecture scientifique de la carte 04 conservée près du calcul R → QGIS.
   Une seule carte, en pleine largeur ; commentaire directement sous l'illustration. */
.these .o2-carte-500m-principale{
  min-width:0;
  width:100%;
  max-width:none;
}
.these .o2-carte-500m-principale img{
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
}
.these .o2-lecture-carte-500m{
  grid-column:1 / -1;
  min-width:0;
  width:100%;
  max-width:none;
  margin:20px 0 30px;
  padding:22px 0 0;
  border-top:1px solid #cbded9;
  color:var(--body,#354f59);
}
.these .o2-lecture-carte-500m h5{
  margin:0 0 14px;
  color:var(--ink-deep,#173f52);
  font:650 clamp(19px,2vw,25px)/1.3 var(--sans, sans-serif);
  letter-spacing:-.015em;
}
.these .o2-lecture-carte-500m p{
  max-width:98ch;
  margin:0 0 14px;
  font:400 16px/1.78 var(--sans, sans-serif);
  text-wrap:pretty;
}
.these .o2-lecture-carte-500m p strong{
  color:var(--ink-deep,#173f52);
  font-weight:650;
}


/* Thèse / chapitre Contexte — cadrage scientifique et périmètre sectoriel.
   Grilles équilibrées (6 notions, 6 secteurs), sans justification forcée. */
.these .cadrage-these{
  --cad-encre:#173e4b;
  --cad-muted:#46616b;
  --cad-trait:#d9e4e4;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  margin:4px 0 clamp(34px,4vw,54px);
  scroll-margin-top:100px;
  color:var(--cad-encre);
}
.these .cadrage-these,
.these .cadrage-these *{box-sizing:border-box}
.these .cadrage-these :is(p,li,figcaption){
  text-align:start!important;
  text-justify:auto!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-spacing:normal!important;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
.these .cadrage-these-intro{
  padding:clamp(22px,3.1vw,36px);
  margin:0 0 24px;
  border:1px solid #d4e3e8;
  border-inline-start:5px solid #286f87;
  border-radius:14px;
  background:#f5f9fa;
}
.these .cadrage-these-surtexte{
  margin:0 0 8px!important;
  color:#407283;
  font:750 11px/1.5 var(--sans,system-ui,sans-serif)!important;
  letter-spacing:.095em;
  text-transform:uppercase;
}
.these .cadrage-these-intro h3{
  max-width:28ch;
  margin:0 0 13px;
  font:650 clamp(23px,2.5vw,34px)/1.24 var(--sans,system-ui,sans-serif);
  letter-spacing:-.023em;
  color:#143e4e;
}
.these .cadrage-these-intro>p:last-child{
  max-width:98ch;
  margin:0;
  font:400 clamp(15px,1.23vw,17px)/1.77 var(--sans,system-ui,sans-serif);
  color:#365562;
}
.these .cadrage-these-grille{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch;
  margin:0 0 32px;
}
.these .cadrage-these-fiche{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  gap:0;
  margin:0;
  padding:clamp(20px,2.1vw,28px);
  border:1px solid var(--cad-trait);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 22px -21px rgba(11,63,78,.3);
}
.these .cadrage-these-fiche:nth-child(2n){
  background:#fbfcfd;
}
.these .cadrage-these-fiche-tete{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid #e4ebed;
}
.these .cadrage-these-numero{
  display:flex;
  flex:0 0 35px;
  align-items:center;
  justify-content:center;
  width:35px;
  height:35px;
  border-radius:9px;
  background:#eaf3f5;
  color:#225c6e;
  font:800 12px/1 var(--sans,system-ui,sans-serif);
  letter-spacing:.04em;
}
.these .cadrage-these-fiche-tete h5{
  margin:1px 0 0;
  padding:0;
  color:#153f4e;
  font:720 clamp(17px,1.55vw,21px)/1.33 var(--sans,system-ui,sans-serif);
  letter-spacing:-.015em;
  text-align:start;
  text-wrap:balance;
}
.these .cadrage-these-fiche p{
  margin:0 0 11px;
  color:#38535d;
  font:400 clamp(14px,1.06vw,16px)/1.72 var(--sans,system-ui,sans-serif);
}
.these .cadrage-these-fiche p strong{
  color:#1e4655;
  font-weight:720;
}
.these .cadrage-these-fiche .cadrage-these-citation{
  margin:auto 0 0;
  padding-top:12px;
  color:#60757e;
  border-top:1px solid #e9eff0;
  font:italic 400 12.5px/1.58 var(--sans,system-ui,sans-serif);
}
.these .cadrage-these-secteurs{
  padding:clamp(18px,2.6vw,30px);
  margin:0 0 25px;
  border:1px solid #d5e3dd;
  border-radius:16px;
  background:#f7faf8;
}
.these .cadrage-these-sousentete{
  max-width:100%;
  margin-bottom:20px;
}
.these .cadrage-these-sousentete h4{
  margin:0 0 12px;
  font:730 clamp(21px,2.3vw,29px)/1.25 var(--sans,system-ui,sans-serif);
  color:#24564d;
  text-wrap:balance;
}
.these .cadrage-these-sousentete>p:last-child,
.these .cadrage-these-articulation p{
  max-width:108ch;
  margin:0;
  color:#405d5b;
  font:400 clamp(14px,1.09vw,16px)/1.76 var(--sans,system-ui,sans-serif);
}
.these .cadrage-these-secteurs-grille{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch;
  gap:13px!important;
}
.these .cadrage-these-secteurs-grille article{
  min-width:0;
  margin:0;
  padding:20px 19px 18px;
  border:1px solid #d7e4e0;
  border-top:3px solid #5b9482;
  border-radius:10px;
  background:white;
}
.these .cadrage-these-secteurs-grille article span{
  display:block;
  margin-bottom:9px;
  font:750 11px/1.5 var(--sans,system-ui,sans-serif);
  letter-spacing:.085em;
  color:#37715f;
  text-transform:uppercase;
}
.these .cadrage-these-secteurs-grille h5{
  margin:0 0 9px;
  font:700 clamp(16px,1.4vw,19px)/1.3 var(--sans,system-ui,sans-serif);
  color:#1d4b44;
  text-wrap:balance;
}
.these .cadrage-these-secteurs-grille p{
  margin:0;
  font:400 14px/1.67 var(--sans,system-ui,sans-serif);
  color:#47615b;
}
.these .cadrage-these-note{
  margin:19px 0 0!important;
  padding:15px 18px;
  border-inline-start:3px solid #4a8f79;
  background:#edf5f0;
  color:#34574a;
  font:400 14px/1.72 var(--sans,system-ui,sans-serif);
}
.these .cadrage-these-articulation{
  margin:0 0 24px;
  padding:22px clamp(21px,2.6vw,30px);
  border:1px solid #d8e5e8;
  border-radius:14px;
  background:#f9fbfc;
}
.these .cadrage-these-articulation h4,
.these .cadrage-these-sources h4{
  margin:0 0 12px;
  font:720 clamp(19px,1.8vw,23px)/1.34 var(--sans,system-ui,sans-serif);
  color:#174556;
}
.these .cadrage-these-articulation p+p{margin-top:12px}
.these .cadrage-these-figure{
  display:flex;
  justify-content:center;
  min-width:0;
  margin:20px 0 28px;
}
.these .cadrage-these-figure figure{
  width:100%!important;
  max-width:1050px;
  min-width:0;
  margin:0 auto!important;
}
.these .cadrage-these-figure img{width:100%;height:auto;object-fit:contain}
.these .cadrage-these-sources{
  min-width:0;
  padding:19px clamp(19px,2.5vw,28px);
  border-top:1px solid #d6e2e5;
}
.these .cadrage-these-sources ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 22px;
  padding:0;
  margin:0 0 15px;
  list-style:none;
}
.these .cadrage-these-sources li{
  min-width:0;
  border-bottom:1px solid #e6edee;
  padding:0 0 10px;
  font:400 13px/1.58 var(--sans,system-ui,sans-serif);
}
.these .cadrage-these-sources a{color:#175f7d;text-decoration:underline;text-underline-offset:3px}
.these .cadrage-these-sources a:hover{color:#083f59}
.these .cadrage-these-sources>p{
  margin:0;
  font:400 13px/1.65 var(--sans,system-ui,sans-serif);
  color:#536b73;
}
@media(max-width:1050px){
  .these .cadrage-these-secteurs-grille{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .these .cadrage-these-grille,
  .these .cadrage-these-secteurs-grille,
  .these .cadrage-these-sources ul{grid-template-columns:minmax(0,1fr)!important}
  .these .cadrage-these-intro{padding:21px 18px}
  .these .cadrage-these-fiche{padding:20px 18px}
  .these .cadrage-these-secteurs{padding:17px 15px}
  .these .cadrage-these-fiche-tete{gap:10px}
}



/* Les accès directs restent tous présents au début de la salle,
   mais ne recouvrent plus les chapitres pendant le défilement. */
.salle .salle-barre{
  padding-block:7px;
}

/* Le fil de la thèse : centrage fiable des numéros O1, O2 et O3 dans les cercles. */
.these-parcours.these-cartes > button > bdi {
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  box-sizing: border-box;
  width: 38px;
  height: 38px;
  min-width: 38px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}


/* Méthodologie — une vue par objectif (O1, O2, O3).
   Les autres objectifs ne doivent jamais apparaître sous la revue de portée. */
.these .these-objectif-vue[hidden],
.these-objectif-vue[hidden] {display:none!important}
.these .these-objectif-vue{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  scroll-margin-top:110px;
}
.these .these-methode-parcours[data-objectifs-isoles="oui"]{
  margin-bottom:12px;
  scroll-margin-top:115px;
}
.these .these-methode-parcours[data-objectifs-isoles="oui"] a[aria-current="step"]{
  border-color:var(--meth-color);
  background:color-mix(in srgb, var(--meth-color) 6%, white);
  box-shadow:0 6px 18px -12px rgba(21,63,74,.32);
  transform:none;
}
.these .these-methode-parcours[data-objectifs-isoles="oui"] a[aria-current="step"]::after{
  content:"En cours";
  color:var(--meth-color);
  font:700 11px/1.3 var(--sans,system-ui,sans-serif);
  letter-spacing:.015em;
  text-transform:none;
}
.these .these-methode-parcours[data-objectifs-isoles="oui"] a:focus-visible{
  outline:3px solid var(--meth-color);
  outline-offset:3px;
}
.these .these-methode-consigne{
  margin:0 0 25px;
  color:#536771;
  font:400 clamp(13px,1.04vw,15px)/1.6 var(--sans,system-ui,sans-serif);
  text-align:start!important;
  hyphens:none!important;
}
.these .these-objectif-vue>.a-apercu:first-child{margin-top:14px}
.these .these-objectif-vue>.these-methode-objectif:first-child{margin-top:14px}
.these .these-objectif-vue>.these-objectif-limites-titre{
  margin:32px 0 12px;
  color:#173f52;
  font:700 clamp(19px,1.8vw,24px)/1.35 var(--sans,system-ui,sans-serif);
}
.these .these-objectif-vue>.limites-these{margin-bottom:24px}
@media(max-width:700px){
  .these .these-methode-parcours[data-objectifs-isoles="oui"]{gap:8px}
  .these .these-methode-parcours[data-objectifs-isoles="oui"] a{padding:13px 12px}
  .these .these-methode-parcours[data-objectifs-isoles="oui"] a[aria-current="step"]::after{
    font-size:10px;
  }
}


/* Problématique de thèse : chaque lacune précède explicitement son objectif. */
:is(#salle,#recherche) .objectifs-visuels .ov-lacune-avant{padding:18px 20px 16px;background:color-mix(in srgb,var(--ov-accent) 6%,#fff);border-bottom:1px solid color-mix(in srgb,var(--ov-accent) 22%,#fff)}
:is(#salle,#recherche) .objectifs-visuels .ov-lacune-avant .ov-lacune-titre{margin:0 0 9px!important;color:var(--ov-accent);font:750 12px/1.45 var(--sans)!important;letter-spacing:.045em;text-transform:uppercase}
:is(#salle,#recherche) .objectifs-visuels .ov-lacune-avant>p:not(.ov-lacune-titre):not(.ov-lacune-sources){margin:0!important;font:400 14px/1.7 var(--sans)!important;color:#284653}
:is(#salle,#recherche) .objectifs-visuels .ov-lacune-avant .ov-lacune-sources{margin:11px 0 0!important;font:500 12px/1.6 var(--sans)!important;color:#536b77}
:is(#salle,#recherche) .objectifs-visuels .ov-lacune-sources a{color:var(--ov-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:is(#salle,#recherche) .objectifs-visuels .ov-lacune-sources a:focus-visible{outline:2px solid var(--ov-accent);outline-offset:2px}
:is(#salle,#recherche) .objectifs-visuels .ov-entete{border-top:0}
@media(max-width:700px){:is(#salle,#recherche) .objectifs-visuels .ov-lacune-avant{padding:16px 17px 14px}}


/* Navigation intérieure : version éditoriale sobre, sans pictogrammes (2026-10-18). */
/* Les onglets sont des liens de chapitre, pas des cartes illustrées. */
.salle .salle-barre{
  padding-block:5px;
  gap:10px;
  box-shadow:none;
}
.salle .salle-barre #salle-titre{
  font-size:14px;
  line-height:1.25;
  font-weight:650;
}
.salle .salle-barre button[data-retour],
.salle .salle-barre button[data-suivante],
.salle .salle-barre button[data-contact]{
  min-height:36px;
  padding:7px 12px;
  border-radius:8px;
  font-size:13px;
  line-height:1.2;
  box-shadow:none;
}
.salle .salle-barre button[data-ecouter],
.salle .salle-barre button[data-arreter]{
  min-height:36px;
  padding:7px 11px;
  border-radius:8px;
  font-size:13px;
}
.salle .salle-barre .salle-actions{gap:8px}
@media(max-width:700px){
  .salle .salle-barre{padding-block:7px}
  .salle .salle-barre #salle-titre{font-size:12px}
  .salle .salle-barre button[data-retour],
  .salle .salle-barre button[data-suivante],
  .salle .salle-barre button[data-contact]{
    min-height:44px;
    padding:8px 10px;
    font-size:12px;
  }
  .salle .salle-barre button[data-ecouter],
  .salle .salle-barre button[data-arreter]{min-height:44px}
}


/* Thèse — restauration du sommaire latéral discret (2026-10-18). */
/* Ne change ni la structure des chapitres ni les commandes de navigation.
   Supprime l'effet « cartes empilées », les pictogrammes et les traits multicolores. */
.rubriques[data-rubriques="these"][data-navigation="atelier"] > .rubriques-console{
  padding:10px 12px 14px 0;
  border:0;
  border-inline-end:1px solid #dce6e4;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-console-tete{
  padding:0 12px 0 6px;
  gap:8px;
  color:#55717b;
  font-size:10px;
  letter-spacing:.055em;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-progression{
  height:2px;
  margin:12px 12px 13px 6px;
  background:#dde9e7;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav{
  gap:0;
  padding:0;
  background:transparent;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button,
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button:hover,
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button[aria-selected="true"]{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:46px;
  padding:10px 9px;
  border:0;
  border-bottom:1px solid #e1e9e7;
  border-inline-start:3px solid transparent;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  text-align:start;
  hyphens:none;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button:hover,
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button:focus-visible{
  background:#eef4f3;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button[aria-selected="true"]{
  border-bottom-color:#ccddda;
  border-inline-start-color:#26758c;
  background:#eaf3f2;
  color:#173f52;
  font-weight:650;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav .rubrique-icone{
  display:none;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubrique-libelle{
  gap:4px;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubrique-etape{
  font-size:10px;
  letter-spacing:.04em;
  color:#738b8b;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubrique-libelle strong{
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
.rubriques[data-rubriques="these"][data-navigation="atelier"] .rubrique-direction{
  width:13px;
  height:13px;
}
@media(max-width:1099px){
  .rubriques[data-rubriques="these"][data-navigation="atelier"] > .rubriques-console{
    padding:10px 0 12px;
    border-inline-end:0;
    border-bottom:1px solid #dce6e4;
  }
  .rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button,
  .rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button:hover,
  .rubriques[data-rubriques="these"][data-navigation="atelier"] .rubriques-nav button[aria-selected="true"]{
    flex:0 0 172px;
    width:172px;
    max-width:172px;
    min-height:52px;
    padding:9px 10px;
    border-bottom:0;
    border-inline-end:1px solid #dce6e4;
    scroll-snap-align:start;
  }
}

/* Typographie éditoriale : préserver l'accueil et l'en-tête d'origine.
   La règle ne modifie plus le hall, ses portes, son sol, ni sa météo. */


/* En-tête principal : rapprocher légèrement les coordonnées vers la gauche (écrans > 700 px). */
@media(min-width:701px){
  .entete .marque-bloc{flex:0 1 auto}
  .entete-contact{gap:6px 12px;justify-content:flex-start}
}

/* Alignement éditorial : paragraphes rédigés uniquement, sans changer les titres,
   les éléments d'interface, les légendes ni la présentation FALC. */
body:not(.page-abregee) :is(#contenu .section-corps, #salle .salle-contenu)
  p:not(:is(.surtitre,.surtexte,.cadrage-these-surtexte,.these-titre-label,
            .ov-label,.ov-lacune-sources,.ref,.m-source,.a-src,.r-statut,
            .f-synthese-titre,.etat,.meta,.eyebrow,.overline)):not(:is(.these-devis p,.these-chiffres p,.a-obj p,
            .rubriques-console p,.rubriques-pagination p,
            .chiffres p,.barres p)) {
  text-align:justify!important;
}


/* Porte Recherche uniquement : police -1 px (hors menus), cartes rapprochées. */
/* Les six sous-sections de la porte Recherche seulement.
   Toute navigation (nav), les sommaires, les panneaux latéraux et la barre supérieure sont exclus. */

/* Espaces verticaux et grilles de cartes : ni sommaires ni onglets. */
body :is(#recherche,#axes,#publications,#approche,#methodes,#ia,.gab[data-gab-salle="recherche"],.gab[data-gab-salle="axes"],.gab[data-gab-salle="publications"],.gab[data-gab-salle="approche"],.gab[data-gab-salle="methodes"],.gab[data-gab-salle="ia"]) .gab-corps :is(
  .methode-rubrique,.o1-circuit,.o2-sources-modernes,.o3-quali-matrice,
  .these-methode-objectif,.publication-bloc,.axe-carte
){margin-bottom:14px!important}
body :is(#recherche,#axes,#publications,#approche,#methodes,#ia,.gab[data-gab-salle="recherche"],.gab[data-gab-salle="axes"],.gab[data-gab-salle="publications"],.gab[data-gab-salle="approche"],.gab[data-gab-salle="methodes"],.gab[data-gab-salle="ia"]) :is(.gab-corps,.section-corps) :is(
  .o2-sources-grille,.o2-var-grille,.o1-circuit-steps,.o1-methode-flux,
  .o3-quali-grille,.o2-sources-indicateurs,.o1-analyse-piliers,
  .these-methode-grille,.axe-cartes,.publication-cartes
){gap:clamp(9px,1.3vw,15px)!important}
body :is(#recherche,#axes,#publications,#approche,#methodes,#ia,.gab[data-gab-salle="recherche"],.gab[data-gab-salle="axes"],.gab[data-gab-salle="publications"],.gab[data-gab-salle="approche"],.gab[data-gab-salle="methodes"],.gab[data-gab-salle="ia"]) :is(.gab-corps,.section-corps) :is(
  .o2-sources-grille,.o2-sources-modernes,.o1-circuit,.o3-quali-matrice
){margin-bottom:16px!important}

/* Navigation compacte : le guide désigne directement le projet de thèse. */
.entete .nav{justify-content:flex-start;gap:1px;margin-inline-start:0;margin-inline-end:auto;width:fit-content;max-width:100%;padding:2px}
.entete .nav .these-nav{gap:0;margin-inline-end:3px;padding-inline:0 5px}
.entete .nav .these-guide{width:36px;height:40px;margin-inline-end:-1px}
.these-guide-bras{animation:none}
.entete .nav .acces-these{gap:5px;min-height:34px;height:34px;padding:5px 9px;font-size:12.5px;letter-spacing:0}
.entete .nav .acces-these>svg{width:16px;height:16px}
.entete .nav>a{gap:4px;padding:4px 7px;min-height:34px}
.entete .nav>a:hover,.entete .nav>a:focus-visible{background:var(--nav-accent,#237a9a);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--nav-accent,#237a9a) 35%,transparent);transform:none}
.entete .nav>a:hover svg,.entete .nav>a:focus-visible svg{color:#fff}
.entete .nav>a:hover::after,.entete .nav>a:focus-visible::after{background:#fff;opacity:.8}
.entete .nav>a:focus-visible{outline:2px solid var(--nav-accent,#237a9a);outline-offset:2px}
@media(max-width:700px){.entete .nav .these-guide{width:32px;height:36px}.entete .nav .acces-these{padding:5px 8px;font-size:12px}.entete .nav>a{padding:4px 6px}}
@media(forced-colors:active){.entete .nav>a:hover,.entete .nav>a:focus-visible{background:Highlight;color:HighlightText}.entete .nav>a:hover svg,.entete .nav>a:focus-visible svg{color:HighlightText}}

/* Main ouverte pour saluer, puis index dirigé vers le projet de thèse. */
.entete .nav .these-guide-bras{transform-box:view-box;transform-origin:29px 32px;animation:these-coucou-puis-pointer 8s ease-in-out infinite}
.these-guide-main-coucou{animation:these-main-coucou 8s step-end infinite}
.these-guide-main-index{animation:these-main-index 8s step-end infinite}
@keyframes these-coucou-puis-pointer{
 0%,4%{transform:rotate(-75deg)}
 9%,19%{transform:rotate(-105deg)}
 14%,24%{transform:rotate(-65deg)}
 29%,34%{transform:rotate(-85deg)}
 44%,91%{transform:rotate(-8deg)}
 100%{transform:rotate(-75deg)}
}
@keyframes these-main-coucou{0%,36%{opacity:1}37%,96%{opacity:0}97%,100%{opacity:1}}
@keyframes these-main-index{0%,36%{opacity:0}37%,96%{opacity:1}97%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
 .entete .nav .these-guide-bras{animation:none;transform:rotate(-8deg)}
 .these-guide-main-coucou{animation:none;opacity:0}
 .these-guide-main-index{animation:none;opacity:1}
}

/* Menu compact : réserver la place des informations de Montréal. */
.entete .nav{justify-content:flex-start;gap:1px;padding:2px;align-items:center;margin-inline-start:0;margin-inline-end:auto}
.entete .nav .these-nav{gap:2px;margin-inline-end:3px;padding-inline:0 5px}
.entete .nav .these-guide{width:40px;height:40px;margin-inline-end:0}
.entete .nav .acces-these{gap:4px;min-height:34px;height:34px;padding:5px 8px;font-size:12px;box-shadow:0 1px 4px rgba(31,90,138,.24)}
.entete .nav .acces-these>svg{width:16px;height:16px}
.entete .nav>a{gap:4px;padding:4px 6px;min-height:34px;font-size:12px}
.entete .nav>a:is(:hover,:focus-visible){background:color-mix(in srgb,var(--nav-accent,#237a9a) 86%,#000);color:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nav-accent,#237a9a) 65%,#000),0 3px 10px color-mix(in srgb,var(--nav-accent,#237a9a) 45%,transparent)}
.entete .nav>a:is(:hover,:focus-visible) svg{color:#fff;stroke-width:2}
.entete .nav .acces-these:is(:hover,:focus-visible){background:linear-gradient(120deg,#074980,#0086a5);color:#fff;box-shadow:0 3px 12px rgba(0,112,156,.5)}
@media(max-width:700px){.entete .nav .these-guide{width:50px;height:46px}.entete .nav .acces-these{padding:6px 8px}.entete .nav>a{padding:6px 7px}}
@media(forced-colors:active){.entete .nav>a:is(:hover,:focus-visible),.entete .nav .acces-these:is(:hover,:focus-visible){background:Highlight;color:HighlightText}}

@media(min-width:1280px){
 .entete .nav{max-width:calc(100% - var(--direct-largeur,420px) - 24px)}
}

/* O2 : exception d'alignement pour la ligne 05 du tableau des limites. */
#methode-o2-9 .o2-limites-tableau tbody tr:nth-child(5) .o2-limites-libelle strong {
  text-align:left!important;
  text-align-last:left!important;
  text-justify:auto!important;
}

/* Publications scientifiques : notices bibliographiques pleine largeur.
   Limitées au panneau des articles : ne modifie ni l'en-tête ni les menus. */
.publications-page #publication-articles{
  padding:clamp(17px,2.5vw,28px);
  background:#f8fafb;
  border:1px solid #dfe8e9;
}
.publications-page #publication-articles .travaux,
.publications-page #publication-articles .travaux-grille{width:100%;max-width:none;min-width:0}
.publications-page #publication-articles .travaux-tete{
  padding:0 2px 15px;
  margin:0 0 16px;
  border-bottom:1px solid #dce6e8;
}
.publications-page #publication-articles .travaux-tete h3{
  font-size:clamp(20px,2vw,25px);
  font-weight:650;
}
.publications-page #publication-articles .travaux-tete p{font-size:13.5px;line-height:1.5}
.publications-page #publication-articles .travaux-grille{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  counter-reset:notice-publication;
}
.publications-page #publication-articles .travail,
.publications-page #publication-articles .travail.vedette{
  display:grid!important;
  grid-column:auto!important;
  grid-template-columns:48px minmax(0,1fr) minmax(150px,max-content)!important;
  grid-template-rows:auto auto auto auto;
  align-items:start;
  column-gap:21px;
  row-gap:7px;
  width:100%;
  min-width:0;
  margin:0;
  padding:22px 25px 21px 19px!important;
  background:#fff;
  border:1px solid #dce7e7;
  border-radius:13px;
  box-shadow:0 3px 12px rgba(22,59,73,.045);
  transform:none;
}
.publications-page #publication-articles .travail::before{
  counter-increment:notice-publication;
  content:counter(notice-publication,decimal-leading-zero);
  grid-column:1;
  grid-row:1 / span 4;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:10px;
  background:#e9f2f3;
  color:#266272;
  font:700 13px/1 var(--sans);
  letter-spacing:.02em;
}
.publications-page #publication-articles .travail[data-axe-cible="travail-hospitalisations"]{
  border-color:#bad6ce;
  box-shadow:inset 4px 0 #287964,0 3px 12px rgba(22,59,73,.045);
}
.publications-page #publication-articles .travail[data-axe-cible="travail-hospitalisations"]::before{
  background:#e0f0e8;
  color:#1e6955;
}
.publications-page #publication-articles .travail > .domaine{
  grid-column:2;
  grid-row:1;
  align-self:center;
  color:#406b70;
  font-size:11px;
  letter-spacing:.065em;
  overflow-wrap:normal;
}
.publications-page #publication-articles .travail > .statut-pastille{
  grid-column:3;
  grid-row:1;
  justify-self:end;
  align-self:start;
  max-width:280px;
  padding:5px 11px;
  background:#edf3f4;
  color:#3d6469;
  font-size:11.5px;
  font-weight:650;
  line-height:1.35;
  text-align:center;
}
.publications-page #publication-articles .travail[data-axe-cible="travail-hospitalisations"] > .statut-pastille{
  background:#e5f2ec;
  color:#215d4d;
}
.publications-page #publication-articles .travail > h4,
.publications-page #publication-articles .travail.vedette > h4{
  grid-column:2 / -1;
  grid-row:2;
  margin:1px 0 0;
  font-size:clamp(18px,1.65vw,21px)!important;
  font-weight:630!important;
  line-height:1.34!important;
  color:#173d4e;
  overflow-wrap:break-word;
}
.publications-page #publication-articles .travail > .auteurs{
  grid-column:2 / -1;
  grid-row:3;
  margin:0;
  max-width:100%;
  font-size:13.5px;
  line-height:1.6;
  color:#536d75;
}
.publications-page #publication-articles .travail > .etiquettes{display:none}
.publications-page #publication-articles .travail > .pub-details{
  grid-column:2 / -1;
  grid-row:4;
  min-width:0;
  margin-top:7px;
  padding-top:10px;
  border-top:1px solid #ecf1f1;
}
.publications-page #publication-articles .pub-details summary{
  display:list-item;
  width:max-content;
  max-width:100%;
  cursor:pointer;
  color:#246777;
  font-size:13px;
  font-weight:650;
  line-height:1.5;
}
.publications-page #publication-articles .pub-details summary:focus-visible{
  outline:2px solid #226c7d;
  outline-offset:4px;
}
.publications-page #publication-articles .pub-details .resume{
  margin:13px 0 0;
  max-width:95ch;
  font-size:14px;
  line-height:1.7;
  text-align:justify;
  grid-column:auto;
  grid-row:auto;
  align-self:auto;
}
.publications-page #publication-articles .pub-details .etiquettes{
  display:flex;
  grid-column:auto;
  grid-row:auto;
  margin-top:12px;
}
@media(max-width:760px){
  .publications-page #publication-articles{padding:15px 12px}
  .publications-page #publication-articles .travail,
  .publications-page #publication-articles .travail.vedette{
    grid-template-columns:35px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto auto;
    column-gap:11px;
    row-gap:7px;
    padding:17px 14px!important;
  }
  .publications-page #publication-articles .travail::before{
    grid-row:1 / span 5;
    width:32px;
    height:32px;
    font-size:11px;
  }
  .publications-page #publication-articles .travail > .domaine{grid-column:2;grid-row:1}
  .publications-page #publication-articles .travail > .statut-pastille{
    grid-column:2;
    grid-row:2;
    justify-self:start;
    max-width:100%;
    text-align:start;
  }
  .publications-page #publication-articles .travail > h4,
  .publications-page #publication-articles .travail.vedette > h4{grid-column:2;grid-row:3}
  .publications-page #publication-articles .travail > .auteurs{grid-column:2;grid-row:4}
  .publications-page #publication-articles .travail > .pub-details{grid-column:2;grid-row:5}
}
