/* Cabinet CS — feuille de style du site
   Couleurs : bleu nuit (texte, logo), orangé « olivier » (accent), fonds blanc et crème.
   Police : Inter (hébergée sur le site). */
:root{
  --ink:#1a2b3c; --text:#566072; --muted:#7a8291; --line:#e6e0d4; --line-2:#efe9de;
  --bg:#ffffff; --bg-alt:#f7f3eb; --cream:#faf6ee;
  --accent:#b8944a; --accent-text:#7f6430; --accent-soft:#f4eee2; --accent-pale:#faf6ee;
  --btn:#b8944a; --btn-hover:#1a2b3c;
  --navy:#1a2b3c;
  --radius:16px; --radius-sm:10px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4{color:var(--ink);margin:0;line-height:1.2;text-wrap:balance;font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(34px,5vw,52px);letter-spacing:-.03em;line-height:1.08}
h2{font-size:clamp(26px,3.2vw,34px);letter-spacing:-.02em}
h3{font-size:18px}
p{margin:0}
a{color:var(--accent-text)}
strong{color:var(--ink);font-weight:600}
.wrap{max-width:1160px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px))}
.narrow{max-width:780px;margin-inline:auto}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- En-tête et menu ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand img{width:42px;height:42px;border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.brand b{display:block;font-size:16.5px;line-height:1.2}
.brand small{display:block;font-size:13px;color:var(--muted);line-height:1.3}
.nav ul{list-style:none;margin:0;padding:0}
.nav>ul{display:flex;align-items:center;gap:4px}
.nav a{text-decoration:none;color:var(--ink);font-weight:500;font-size:15.5px}
.nav>ul>li>a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px}
.nav>ul>li>a:hover{background:var(--bg-alt)}
.nav>ul>li>a[aria-current="page"],.nav>ul>li>a.in-section{color:var(--accent-text);background:var(--accent-pale)}
.nav .chev{width:14px;height:14px}
.has-sub{position:relative}
.sub{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:360px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 40px -16px rgba(20,36,61,.25);padding:8px;display:none}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
.sub a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:12px}
.sub a:hover,.sub a[aria-current="page"]{background:var(--accent-pale)}
.sub img{width:44px;height:44px;border-radius:10px;object-fit:cover}
.sub b{display:block;font-size:15px;font-weight:600}
.sub span{display:block;font-size:13.5px;color:var(--muted);font-weight:400;line-height:1.35}
.sub .all{display:block;text-align:center;font-size:14px;color:var(--accent-text);font-weight:600;padding:10px;border-top:1px solid var(--line-2);border-radius:0 0 10px 10px;margin-top:4px}
.nav-cta{margin-left:8px}
.menu-btn{display:none;align-items:center;gap:8px;font:inherit;font-weight:600;font-size:15px;color:var(--ink);background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer}
.menu-btn svg{width:20px;height:20px}
.menu-btn .i-close{display:none}
.menu-btn[aria-expanded="true"] .i-open{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:block}
@media (max-width:1180px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 30px -20px rgba(20,36,61,.3);max-height:calc(100vh - 72px);overflow:auto}
  .nav.open{display:block}
  .nav>ul{flex-direction:column;align-items:stretch;gap:2px;padding:12px max(20px,env(safe-area-inset-left,0px)) 20px}
  .nav>ul>li>a{display:flex;padding:13px 14px;border-radius:12px;font-size:16.5px}
  .nav .chev{display:none}
  .sub{position:static;transform:none;width:auto;display:block;border:0;box-shadow:none;padding:0 0 6px 10px}
  .has-sub::after{display:none}
  .sub .all{display:none}
  .nav-cta{margin:10px 0 0}
  .nav-cta .btn{width:100%;justify-content:center}
}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15.5px;text-decoration:none;padding:13px 22px;border-radius:999px;background:var(--btn);color:#1d1608;border:1px solid var(--btn);line-height:1.2}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:#fff}
.btn svg{width:18px;height:18px}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--accent);background:var(--accent-pale)}
.btn.sm{padding:10px 18px;font-size:15px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.center .btns{justify-content:center}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--accent-text);text-decoration:none}
.link-arrow svg{width:16px;height:16px;transition:transform .15s}
.link-arrow:hover svg{transform:translateX(3px)}

/* ---------- Sections ---------- */
.section{padding-block:88px}
.section.alt{background:var(--bg-alt)}
.section.cream{background:linear-gradient(180deg,var(--cream),#fff)}
.sec-head{display:grid;gap:10px;margin-bottom:44px}
.sec-head.center{text-align:center;justify-items:center}
.sec-head .sub-t{max-width:640px;color:var(--text);font-size:17px}
.kicker{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.kicker.gray{color:var(--muted)}
.lead{font-size:18.5px;line-height:1.65;color:var(--text);max-width:62ch}
.tagline{font-size:19px;font-weight:600;color:var(--accent-text)}
.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.chip-ic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;flex:none}
.grid2,.grid3,.grid4{display:grid;gap:16px}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;gap:10px;align-content:start}
.card p{font-size:15.5px}
.card.row{grid-template-columns:44px minmax(0,1fr);gap:16px}
.card.row h3{margin-bottom:4px}
.pull{border-left:3px solid var(--accent);padding:4px 0 4px 20px;font-style:italic;color:var(--ink);font-size:18px}
.prose{display:grid;gap:18px}
.prose p{font-size:17px}
.bullets{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.bullets li{position:relative;padding-left:24px}
.bullets li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.small{font-size:14.5px;color:var(--muted)}

/* ---------- Fil d'Ariane et sommaire ---------- */
.crumbs{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:28px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent-text);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:500}
.toc{position:sticky;top:72px;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.toc ul{list-style:none;margin:0;padding:10px 0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.toc ul::-webkit-scrollbar{display:none}
.toc a{display:block;white-space:nowrap;text-decoration:none;color:var(--text);font-size:14.5px;font-weight:500;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}
.toc a:hover,.toc a.on{color:var(--accent-text);border-color:var(--accent);background:var(--accent-pale)}
.toc .toc-label{font-size:13px;color:var(--muted);align-self:center;padding-right:4px;white-space:nowrap}

/* ---------- Héros ---------- */
.hero{padding-block:56px 80px;background:linear-gradient(180deg,var(--cream) 0%,#fff 100%)}
.home-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:56px;align-items:center}
.home-hero .txt{display:grid;gap:22px}
.portrait{margin:0;justify-self:end;max-width:400px;width:100%;position:relative}
.portrait img{border-radius:24px;aspect-ratio:640/804;object-fit:cover;width:100%;box-shadow:0 30px 60px -30px rgba(20,36,61,.45)}
.portrait figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.95);border-radius:14px;padding:12px 16px;font-size:14px;color:var(--text)}
.portrait figcaption b{display:block;color:var(--ink);font-size:15.5px}
.facts{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--ink);font-size:15px;font-weight:500}
.facts span{display:inline-flex;align-items:center;gap:8px}
.facts .ic{color:var(--accent-text);width:20px;height:20px}
.offer-hero{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;align-items:center}
.offer-hero .art{width:200px;height:200px;border-radius:22px;object-fit:cover;box-shadow:0 20px 40px -20px rgba(20,36,61,.45)}
.offer-hero .txt{display:grid;gap:14px}
.page-hero{text-align:center;display:grid;gap:16px;justify-items:center}

/* ---------- Cartes d'accompagnement ---------- */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.offer{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;transition:box-shadow .2s,transform .2s,border-color .2s}
.offer:hover{box-shadow:0 24px 48px -24px rgba(20,36,61,.35);transform:translateY(-3px);border-color:#d8c49a}
.offer .pic{height:190px;background:var(--cream);display:grid;place-items:center;overflow:hidden}
.offer .pic img{height:100%;width:100%;object-fit:cover}
.offer .body{padding:22px 24px 24px;display:grid;gap:10px;align-content:start}
.offer h3{font-size:21px}
.offer h3 a{color:inherit;text-decoration:none}
.offer h3 a::after{content:"";position:absolute;inset:0}
.offer p{font-size:15.5px}
.offer .for{display:flex;flex-wrap:wrap;gap:6px}
.offer .for span,.tags span{font-size:13px;font-weight:500;color:var(--ink);background:var(--bg-alt);border:1px solid var(--line);padding:4px 10px;border-radius:999px}
.offer .link-arrow{margin-top:6px}
.choose{display:grid;gap:10px;margin-top:40px}
.choose a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 22px;border-radius:14px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--text)}
.choose a:hover{border-color:var(--accent);background:var(--accent-pale)}
.choose b{color:var(--ink)}
.choose .link-arrow{white-space:nowrap}

/* ---------- Thèmes, étapes ---------- */
.themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-weight:700;display:grid;place-items:center}
.duo{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:center;max-width:620px;margin:32px auto 0}
.duo .who{border-radius:var(--radius);padding:18px;text-align:center;display:grid;gap:4px;justify-items:center}
.duo .who:first-child{background:var(--accent-pale);border:2px solid #dcc89c}
.duo .who:last-child{background:#eef1f5;border:2px solid #c9d2de}
.duo .who b{color:var(--ink)}
.duo .who span{font-size:14px}
.duo .mid{display:grid;justify-items:center;gap:2px;color:var(--accent-text);font-size:13px;font-weight:600;text-align:center}
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.tags.accent span{color:var(--accent-text);background:#fff;border-color:#dcc89c}
.note{margin-top:20px;padding:16px 20px;border-radius:12px;background:var(--accent-pale);border:1px solid #e8dcc3;font-size:15.5px;color:var(--ink)}

/* ---------- Piliers (numérotés) ---------- */
.pillars{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:p}
.pillars li{counter-increment:p;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 16px}
.pillars li::before{content:counter(p);grid-row:span 2;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-weight:700;font-size:15px;display:grid;place-items:center}
.pillars h3{display:flex;align-items:center;gap:10px;font-size:17.5px}
.pillars h3 .ic{color:var(--accent-text);width:20px;height:20px}
.pillars p{font-size:15.5px}

/* ---------- Dépliants ---------- */
.more{background:#fff;border:1px solid var(--line);border-radius:14px}
.more[open]{border-color:#dcc89c;background:var(--accent-pale)}
.more summary{list-style:none;cursor:pointer;padding:18px 52px 18px 20px;position:relative;display:grid;gap:2px}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"";position:absolute;right:20px;top:50%;width:10px;height:10px;border-right:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.more[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.more summary b{color:var(--ink);font-size:16px}
.more summary span{font-size:14px;color:var(--accent-text);font-weight:500}
.more .det{padding:0 20px 20px;font-size:15.5px}
.mores{align-items:start}
.hint{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}

/* ---------- Concrètement ---------- */
.phase{border:2px solid #e6d8bb;background:var(--accent-pale);border-radius:20px;padding:28px;display:grid;gap:22px}
.phase-head{display:flex;align-items:center;gap:14px}
.num{width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-weight:700;display:grid;place-items:center;flex:none;font-size:17px}
.phase-head h3{font-size:21px}
.meta-line{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--text);margin-top:2px}
.meta-line span{display:inline-flex;align-items:center;gap:6px}
.meta-line .ic{width:16px;height:16px;color:var(--accent-text)}
.meta-line .free{color:var(--accent-text);font-weight:600}
.flow{display:grid;justify-items:center;gap:4px;padding:14px 0;color:var(--accent-text);font-size:14.5px;font-style:italic;font-weight:500}
.flow .ic{width:24px;height:24px}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:14px}
.panel h4{font-size:16.5px}
.vsb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vsb div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;display:grid;gap:6px;justify-items:center}
.vsb .L{width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-weight:700;font-size:18px;display:grid;place-items:center}
.vsb b{color:var(--ink)}
.vsb p{font-size:14.5px}
.phase-note{font-style:italic;font-size:15px;border-top:1px solid #e8dcc3;padding-top:16px}
.rpbdc{margin:0;display:grid;gap:8px}
.rpbdc div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;align-items:baseline}
.rpbdc dt{font-weight:600;color:var(--ink)}
.rpbdc dt span{color:var(--accent-text);font-weight:700;margin-right:6px}
.rpbdc dd{margin:0;font-size:15.5px}
.arrows{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.arrows li{display:flex;gap:8px;align-items:center;font-size:15.5px}
.arrows .ic{width:16px;height:16px;color:var(--accent-text)}
.infog{display:grid;gap:28px}
.infog h5{margin:0 0 14px;text-align:center;color:var(--accent-text);font-size:14.5px;font-weight:600;text-decoration:underline;text-decoration-color:#dcc89c;text-decoration-thickness:2px;text-underline-offset:5px}
.timeline{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--accent-pale);border:1px solid #e8dcc3;border-radius:12px;padding:16px}
.timeline div{flex:1;text-align:center;font-size:13.5px;max-width:170px}
.timeline b{display:block;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.timeline .now b{color:var(--accent-text)}
.timeline .ic{color:var(--accent-text);width:18px;height:18px}
.levels{list-style:none;margin:0 auto;padding:0;display:grid;gap:5px;max-width:440px}
.levels li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center}
.levels li span{font-weight:700;color:var(--muted);text-align:right;font-size:14px}
.levels li b{display:block;text-align:center;padding:8px;border-radius:8px;font-size:14px;font-weight:600;color:#fff}
.levels li:nth-child(1) b{background:#1a2b3c}.levels li:nth-child(2) b{background:#24394f}.levels li:nth-child(3) b{background:#2f4863}
.levels li:nth-child(4) b{background:#3a5675}.levels li:nth-child(5) b{background:#b8944a;color:#1d1608}
.levels li:nth-child(6) b{background:#d9c49a;color:#1d1608}.levels li:nth-child(7) b{background:#efe6d3;color:#1a2b3c}
.stades{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--accent-pale);border:1px solid #e8dcc3;border-radius:12px;padding:18px}
.stades div{flex:1;text-align:center;display:grid;justify-items:center;gap:6px;font-size:14px;color:var(--ink);font-weight:500;max-width:170px}
.stades i{font-style:normal;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--ink)}
.stades div:nth-child(1) i{background:#efe6d3}.stades div:nth-child(3) i{background:#d9c49a}.stades div:nth-child(5) i{background:#1a2b3c;color:#fff}
.stades .ic{color:var(--accent-text);width:18px;height:18px}
.orfv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.orfv div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;display:grid;gap:2px;font-size:13.5px}
.orfv .L{font-size:24px;font-weight:700;color:var(--accent-text)}
.orfv b{color:var(--ink);font-size:14.5px}
.trilogy{display:flex;align-items:center;justify-content:center;gap:12px}
.trilogy div{text-align:center;display:grid;justify-items:center;gap:4px;font-size:13.5px;max-width:150px}
.trilogy i{font-style:normal;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-weight:700;display:grid;place-items:center}
.trilogy div:nth-child(1) i{width:52px;height:52px}.trilogy div:nth-child(3) i{width:44px;height:44px}.trilogy div:nth-child(5) i{width:36px;height:36px}
.trilogy b{color:var(--ink);font-size:14.5px}
.trilogy .ic{color:var(--accent-text);width:16px;height:16px}

/* ---------- Situations types ---------- */
.sits{display:grid;gap:14px}
.sit{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;display:grid;gap:8px}
.sit p{font-size:15.5px}
.sit .res{display:flex;gap:10px;color:var(--ink)}
.sit .res .ic{color:var(--accent-text);width:18px;height:18px;margin-top:3px}
.disclaimer{text-align:center;font-size:14px;color:var(--muted);font-style:italic;margin:-28px auto 32px;max-width:640px}

/* ---------- Espaces dirigeants ---------- */
.spaces{display:grid;gap:16px}
.space{background:#fff;border:2px solid #e6d8bb;border-radius:20px;overflow:hidden}
.space>summary{list-style:none;cursor:pointer;padding:22px 60px 22px 24px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:center;position:relative}
.space>summary::-webkit-details-marker{display:none}
.space>summary:hover{background:var(--accent-pale)}
.space>summary::after{content:"";position:absolute;right:26px;top:50%;width:11px;height:11px;border-right:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.space[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}
.space>summary .chip-ic{width:52px;height:52px}
.space>summary b{display:block;font-size:20px;color:var(--ink)}
.space>summary span span{display:block;font-size:15px;color:var(--text)}
.space-body{padding:4px 24px 28px;display:grid;gap:26px}
.space-body h4{font-size:16.5px;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.space-body h4 .ic{color:var(--accent-text);width:18px;height:18px}
.cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.cats li{display:flex;gap:10px;font-size:15.5px}
.cats .ic{width:16px;height:16px;color:var(--accent-text);margin-top:5px}
.cats b{color:var(--ink)}
.fmt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fmt div{background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:14px;display:grid;gap:2px}
.fmt .ic{color:var(--accent-text);width:18px;height:18px;margin-bottom:4px}
.fmt b{color:var(--ink);font-size:15px}
.mini-sits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mini-sits div{background:var(--bg-alt);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:14.5px;display:grid;gap:6px;align-content:start}
.mini-sits b{color:var(--ink)}
.mini-sits .r{color:var(--accent-text)}
.olive-card{display:grid;grid-template-columns:220px minmax(0,1fr);background:#fff;border:1px solid #e6d8bb;border-radius:22px;overflow:hidden;margin-top:36px;box-shadow:0 20px 40px -30px rgba(20,36,61,.3)}
.olive-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.olive-card .t{padding:26px 28px;display:grid;gap:12px;align-content:center}
.olive-card .t p{font-size:15.5px}
.olive-card .t em{color:var(--ink);font-weight:500}

/* ---------- Blason ---------- */
.blason{display:grid;gap:14px}
.bl-axis{display:flex;justify-content:center;gap:18px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.bl-axis i{font-style:italic;text-transform:none;letter-spacing:0;font-weight:400}
.env{border-radius:22px;padding:16px}
.env-title{text-align:center;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.env-sub{text-align:center;font-size:12.5px;color:var(--muted);margin-bottom:12px}
.e-org{background:#ebf2fb;border:2px solid #9fbfe3}.e-org>.env-title{color:#2c6cb0}
.e-org>.env-sub{border-bottom:1px solid #c9dbef;padding-bottom:10px}
.e-hum{background:#f3eff8;border:2px solid #c6b5dc}.e-hum .env-title{color:#6e4d9c}
.e-id{background:#fbf0f0;border:2px solid #e2a4a4}.e-id .env-title{color:#b23a3a}
.e-bus{background:#f8f2e6;border:2px solid #d9c49a}.e-bus .env-title{color:#7f6430}
.bl-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.bl-mid{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:10px}
.bl-mid .env{padding:12px;border-radius:16px}
.bl-col{display:grid;gap:6px;margin-top:8px}
.comp{font:inherit;font-size:13px;font-weight:600;line-height:1.25;border:2px solid transparent;border-radius:10px;padding:10px 8px;cursor:pointer;text-align:center;color:inherit}
.e-org .comp{background:#d4e3f5;color:#173d66}.e-hum .comp{background:#e3daee;color:#3c2a57}.e-id .comp{background:#f4d9d9;color:#5e1e1e}.e-bus .comp{background:#efe3c8;color:#3d2f12}
.comp:hover{transform:scale(1.03)}
.comp[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 6px 14px -6px rgba(20,36,61,.5)}
.bl-foot{display:flex;justify-content:space-between;font-size:12.5px;padding:10px 4px 0;border-top:1px solid #c9dbef;margin-top:12px}
.bl-foot span:first-child{color:#6e4d9c}.bl-foot span:last-child{color:#7f6430}
.bl-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:13px}
.bl-legend span{display:inline-flex;align-items:center;gap:6px}
.bl-legend i{width:12px;height:12px;border-radius:50%}
.bl-detail{border:1px solid #dcc89c;background:var(--accent-pale);border-radius:14px;padding:18px 20px;display:grid;gap:4px}
.bl-detail[hidden]{display:none}
.bl-detail small{color:var(--accent-text);font-weight:600}
.bl-detail b{color:var(--ink);font-size:17px}
.bl-list{display:none}

/* ---------- FAQ, contact, CTA ---------- */
.faq{display:grid;gap:12px}
.coords{display:grid;gap:12px}
.coord{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.coord small{display:block;font-size:13px;color:var(--muted)}
.coord b,.coord a.v{font-size:17px;color:var(--ink);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.copy{font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer}
.copy:hover{border-color:var(--accent)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.cta-band{padding-block:84px;background:linear-gradient(180deg,#fff,var(--cream));text-align:center;border-top:1px solid var(--line-2)}
.cta-band .inner{display:grid;gap:16px;justify-items:center}
.cta-band .ic.big{width:40px;height:40px;color:var(--accent)}
.others{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mini-offer{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--text);background:#fff}
.mini-offer:hover{border-color:var(--accent);background:var(--accent-pale)}
.mini-offer img{width:72px;height:72px;border-radius:12px;object-fit:cover}
.mini-offer b{display:block;color:var(--ink);font-size:16.5px}
.mini-offer span{font-size:14.5px}
.who-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.facts-list{display:grid;gap:12px}
.facts-list div{border-left:3px solid var(--accent);background:var(--accent-pale);border-radius:0 12px 12px 0;padding:14px 18px}
.facts-list small{display:block;font-size:13px;color:var(--accent-text);font-weight:600}
.facts-list p{color:var(--ink);font-weight:500}
.teaser{display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}
.teaser img{width:200px;height:200px;object-fit:cover;object-position:top;border-radius:18px}
.teaser .t{display:grid;gap:12px}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--navy);color:#c4ccd8;padding-block:56px 28px;font-size:15px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ft h2{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-weight:600}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft a{color:#c4ccd8;text-decoration:none}
.ft a:hover{color:#fff;text-decoration:underline}
.ft .brand{color:#fff;margin:0 0 14px}
.ft .brand small{color:#9aa6b8}
.ft-bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:13.5px;color:#9aa6b8}
.ft-bottom a{color:#9aa6b8}

/* ---------- Pages simples (mentions, 404) ---------- */
.legal h2{font-size:22px;margin:36px 0 10px}
.legal p{max-width:720px;margin-bottom:10px}
.todo{background:#fff3cd;padding:0 4px;border-radius:3px}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .offers,.themes,.grid3,.mini-sits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid4,.fmt{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .section{padding-block:60px}
  .hero{padding-block:32px 56px}
  .sec-head{margin-bottom:32px}
  .home-hero,.offer-hero,.contact-grid,.who-grid,.teaser{grid-template-columns:1fr;gap:28px}
  .portrait{justify-self:center;max-width:320px}
  .offer-hero .art{width:140px;height:140px}
  .teaser img{width:140px;height:140px}
  .offers,.themes,.grid2,.grid3,.mini-sits,.others,.cats,.vsb{grid-template-columns:1fr}
  .orfv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rpbdc div{grid-template-columns:1fr;gap:0}
  .duo{grid-template-columns:1fr}
  .timeline,.stades,.trilogy{flex-direction:column}
  .timeline .ic,.stades .ic,.trilogy .ic{transform:rotate(90deg)}
  .olive-card{grid-template-columns:1fr}
  .olive-card img{height:240px}
  .phase{padding:18px}
  .space>summary{grid-template-columns:44px minmax(0,1fr);padding:18px 52px 18px 18px}
  .space>summary .chip-ic{width:44px;height:44px}
  .space-body{padding:4px 18px 22px}
  .bl-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bl-mid{grid-template-columns:1fr}
  .ft{grid-template-columns:1fr;gap:28px}
  .coord{grid-template-columns:40px minmax(0,1fr)}
  .coord .copy{grid-column:2;justify-self:start}
  .choose a{grid-template-columns:1fr}
}
@media print{.site-header,.toc,.menu-btn{display:none}.more,.space{break-inside:avoid}}
/* Correctifs */
.sub a>span>b{color:var(--ink)}
.nav .btn{color:#1d1608}.nav .btn:hover{color:#fff}
.offer .pic{height:200px;padding:16px;background:linear-gradient(180deg,var(--cream),#f1e8d6)}
.offer .pic img{width:auto;height:100%;max-width:100%;object-fit:contain;border-radius:14px;box-shadow:0 12px 24px -14px rgba(20,36,61,.45)}
@media (max-width:440px){.brand small{display:none}}
.offer .pic img{height:168px}

/* Bandeau d’appel à l’action en bleu nuit (comme la V1) */
.cta-band{background:var(--navy);border-top:0}
.cta-band h2{color:#fff}
.cta-band .lead{color:#c3cdd8}
.cta-band .ic.big{color:var(--accent)}
.cta-band .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cta-band .btn.ghost:hover{background:#fff;color:var(--navy)}
.cta-band .btn:hover{background:#fff;border-color:#fff;color:var(--navy)}
.site-footer{border-top:1px solid rgba(255,255,255,.08)}

/* ===== Structure Organisations / Dirigeants ===== */
.doors2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.door2{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.door2 .pic{height:210px;padding:18px;background:linear-gradient(180deg,var(--cream),#f1e8d6);display:grid;place-items:center}
.door2 .pic img{height:174px;width:auto;border-radius:16px;box-shadow:0 12px 24px -14px rgba(26,43,60,.45)}
.door2 .body{padding:26px 28px 28px;display:grid;gap:12px;align-content:start}
.door2 h3{font-size:23px}
.door2 .btn{justify-self:start;margin-top:6px}
.door-links{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.door-links a{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--text);font-size:14.5px;background:var(--bg-alt)}
.door-links a:hover{border-color:var(--accent);background:var(--accent-pale)}
.door-links .ic{width:18px;height:18px;color:var(--accent-text);margin-top:2px}
.door-links b{display:block;color:var(--ink);font-size:15.5px}
.offers.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.others.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.sub-h{text-align:center;margin:48px 0 20px;font-size:20px}
.note .ic{width:18px;height:18px;color:var(--accent-text);vertical-align:-3px}
.sit dl{margin:4px 0 0;display:grid;gap:8px}
.sit dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:baseline}
.sit dt{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sit dd{margin:0;font-size:15.5px}
.sit .res{display:grid;padding-top:10px;border-top:1px solid var(--line-2)}
.sit .res dt{color:var(--accent-text)}
.sit .res dd{color:var(--ink);font-weight:500}
.sits.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.others.three{grid-template-columns:1fr}}
@media (max-width:760px){.doors2,.offers.two,.sits.grid2{grid-template-columns:1fr}.sit dl div{grid-template-columns:1fr;gap:0}.door2 .pic{height:180px}.door2 .pic img{height:144px}}

/* En-tête : pas de retour à la ligne dans le menu */
.nav a,.nav .btn{white-space:nowrap}
.nav>ul>li>a{padding:10px 12px}
.hdr{gap:16px}
@media (max-width:1340px) and (min-width:1181px){.brand small{display:none}.nav>ul>li>a{padding:9px 10px;font-size:15px}.nav-cta{margin-left:4px}}
.brand span{white-space:nowrap}
/* Bouton « Organisations » du menu (ouvre le sous-menu) */
.nav-parent{font:inherit;font-weight:500;font-size:15.5px;color:var(--ink);background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:999px;white-space:nowrap}
.nav-parent:hover,.has-sub:focus-within .nav-parent{background:var(--bg-alt)}
.nav-parent.in-section{color:var(--accent-text);background:var(--accent-pale)}
@media (max-width:1340px) and (min-width:1181px){.nav-parent{padding:9px 10px;font-size:15px}}
@media (max-width:1180px){.nav-parent{display:flex;width:100%;padding:13px 14px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:default}.nav-parent:hover{background:none}}
/* Boutons des deux portes d'entrée */
.door-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
#offres{padding-top:72px}
.nav .sub a,.nav .sub a span{white-space:normal}

/* Offre « Comment ça va ? » et trois portes d'entrée */
.doors2{grid-template-columns:repeat(3,minmax(0,1fr))}
.door2 h3{font-size:21px}
.door2 .pic img{max-width:100%}
.steps.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.contact-cards{display:grid;gap:12px}
@media (max-width:1000px){.doors2{grid-template-columns:1fr}.door2{grid-template-columns:220px minmax(0,1fr);grid-template-rows:none}.door2 .pic{height:auto}.steps.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.door2{grid-template-columns:1fr}.door2 .pic{height:180px}.steps.four{grid-template-columns:1fr}}
