/* Elia Interactive : système visuel « bento terre » (série 5, piste C3, GO du 2026-11-13).
   Remplace le style « dossier technique ». Cartes arrondies, teintes chaudes en aplat
   (argile, abricot, olive, pierre), un accent terre cuite, titres en Bricolage Grotesque.
   Pas de dégradé, de halo, de verre ni d'italique. Mêmes noms de classes qu'avant. */
:root{
  --bg:#f6f1e9; --bg-2:#efe7da; --surface:#fffcf7; --ink:#231f1a; --ink-2:#4a4238;
  --mute:#6e6356; --faint:#70655a; --line:rgb(35 31 26 / .10); --line-2:rgb(35 31 26 / .18);
  --acc:#a84227; --acc-2:#973a21; --acc-soft:#f3dccf; --acc-ink:#fff5ec;
  --ok:#4e5a2b; --ok-soft:#e3e6cc; --warn:#85501a; --warn-soft:#f4ddb8;
  --clay:#ebcdb7; --apricot:#f4ddb8; --olive:#d9ddbe; --stone:#e4ded4;
  --deep:#4e5a2b; --deep-ink:#f4f1e4; --hi:#f4ddb8;
  --shadow:0 1px 0 rgb(60 40 20 / .05),0 12px 30px -18px rgb(60 40 20 / .30);
  --shadow-up:0 2px 0 rgb(60 40 20 / .05),0 24px 42px -22px rgb(60 40 20 / .42);
  --f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-text:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
  --gut:max(20px,env(safe-area-inset-left,0px)); --gut-r:max(20px,env(safe-area-inset-right,0px));
  --r:26px; --r-s:16px; --nav-h:76px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#17140f; --bg-2:#1f1b16; --surface:#26211b; --ink:#f1eadf; --ink-2:#d9cfc2;
  --mute:#a89c8d; --faint:#9a8e80; --line:rgb(241 234 223 / .10); --line-2:rgb(241 234 223 / .18);
  --acc:#e2825f; --acc-2:#efa284; --acc-soft:#3a2219; --acc-ink:#1a120d;
  --ok:#b7c58a; --ok-soft:#252a18; --warn:#e0ae6e; --warn-soft:#33281a;
  --clay:#3a2a20; --apricot:#3a3020; --olive:#2c301e; --stone:#2a251f;
  --deep:#2f3619; --deep-ink:#f1eadf; --hi:#e0ae6e;
  --shadow:0 1px 0 rgb(0 0 0 / .3),0 16px 36px -20px rgb(0 0 0 / .7);
  --shadow-up:0 2px 0 rgb(0 0 0 / .3),0 26px 46px -22px rgb(0 0 0 / .8); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#17140f; --bg-2:#1f1b16; --surface:#26211b; --ink:#f1eadf; --ink-2:#d9cfc2;
  --mute:#a89c8d; --faint:#9a8e80; --line:rgb(241 234 223 / .10); --line-2:rgb(241 234 223 / .18);
  --acc:#e2825f; --acc-2:#efa284; --acc-soft:#3a2219; --acc-ink:#1a120d;
  --ok:#b7c58a; --ok-soft:#252a18; --warn:#e0ae6e; --warn-soft:#33281a;
  --clay:#3a2a20; --apricot:#3a3020; --olive:#2c301e; --stone:#2a251f;
  --deep:#2f3619; --deep-ink:#f1eadf; --hi:#e0ae6e;
  --shadow:0 1px 0 rgb(0 0 0 / .3),0 16px 36px -20px rgb(0 0 0 / .7);
  --shadow-up:0 2px 0 rgb(0 0 0 / .3),0 26px 46px -22px rgb(0 0 0 / .8); color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
::selection{background:var(--acc);color:var(--acc-ink)}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2.5px solid var(--acc);outline-offset:3px;border-radius:10px}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;font-weight:700;text-wrap:balance}
p{margin:0;text-wrap:pretty}
li,dd,figcaption,small,blockquote,label{text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px}
.skip:focus{left:12px}

/* ---------- Mise en page ---------- */
.wrap{max-width:1240px;margin-inline:auto;padding-left:var(--gut);padding-right:var(--gut-r)}
.narrow{max-width:760px}
.g2,.g3,.g4{display:grid;gap:20px}
@media (min-width:760px){.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.g4{grid-template-columns:repeat(4,1fr)}}
.sec{padding-block:clamp(64px,8vw,112px)}
.sec.flush{border-top:0}
.sec.alt{background:var(--bg-2);border-radius:clamp(28px,4vw,48px);margin-inline:clamp(0px,1.2vw,16px)}
.sec.ink{background:var(--deep);color:var(--deep-ink);border-radius:clamp(28px,4vw,48px);margin:0 clamp(0px,1.2vw,16px) clamp(16px,2vw,24px)}
.sec.ink .lede,.sec.ink .mute{color:color-mix(in srgb,var(--deep-ink) 78%,var(--deep))}
.sec.ink .h1 .m,.sec.ink .h2 .m{color:var(--hi)}

/* En-tête de section : index mono à gauche, titre à droite */
.sh{display:grid;gap:16px;margin-bottom:clamp(30px,4vw,48px);max-width:860px}
.sh-i{font:600 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acc);display:inline-flex;gap:10px;align-items:center}
.sh-i b{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:11px 11px 11px 4px;background:var(--acc);color:var(--acc-ink);font-weight:600}
.sec.ink .sh-i{color:var(--hi)}
.sh-t{display:grid;gap:16px;max-width:820px}
.sh-a{margin-top:6px}

/* ---------- Typographie ---------- */
.mono{font:500 12px/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.eyebrow{font:500 11.5px/1.2 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);justify-self:start;align-self:flex-start;width:max-content;max-width:100%}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc)}
.h1{font-size:clamp(38px,5.6vw,74px);line-height:1.02;letter-spacing:-.035em;font-weight:800}
.h2{font-size:clamp(30px,4.1vw,52px);line-height:1.05;letter-spacing:-.03em;font-weight:800}
.h3{font-size:clamp(21px,1.8vw,25px);line-height:1.2;letter-spacing:-.02em;font-weight:700}
.h4{font-size:17px;line-height:1.3;letter-spacing:-.01em}
.h1 .m{color:var(--acc)}
.h2 .m{color:inherit}
.h2.duo .m{color:var(--mute)}
.lede{font-size:clamp(17px,1.45vw,19.5px);line-height:1.55;color:var(--ink-2);max-width:58ch}
.mute{color:var(--mute)}
.small{font-size:15px;line-height:1.55}
.num{font-family:var(--f-display);font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.prose{display:grid;gap:18px;max-width:68ch}
.prose h2{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.025em;margin-top:22px}
.prose h3{font-size:20px;margin-top:10px}
.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.prose ul{display:grid;gap:8px}
.prose ul li{padding-left:22px;position:relative}
.prose ul li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:1.5px;background:var(--acc)}

/* ---------- Boutons et liens ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;font:700 16px/1 var(--f-display);letter-spacing:-.005em;white-space:nowrap;transition:background-color .25s,box-shadow .25s,color .25s,transform .25s var(--ease)}
.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-p{background:var(--acc);color:var(--acc-ink);box-shadow:0 3px 0 var(--acc-2)}
.btn-p:hover{background:var(--acc-2);transform:translateY(-2px);box-shadow:0 5px 0 color-mix(in srgb,var(--acc-2) 80%,#000)}
.btn-s{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink)}
.btn-s:hover{box-shadow:inset 0 0 0 1.5px var(--ink);transform:translateY(-2px)}
.sec.ink .btn-p{background:var(--hi);color:#231f1a;box-shadow:0 3px 0 color-mix(in srgb,var(--hi) 60%,#000)}
.sec.ink .btn-s{background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--deep-ink) 45%,transparent);color:var(--deep-ink)}
.btn-sm{min-height:42px;padding:0 18px;font-size:15px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.lnk{display:inline-flex;align-items:center;gap:8px;color:var(--acc);font:700 16px/1.3 var(--f-display)}
.lnk svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.lnk:hover svg{transform:translateX(3px)}
.lnk:hover span{text-decoration:underline;text-underline-offset:4px}

/* ---------- Navigation ---------- */
.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 97%,transparent);border-bottom:1px solid transparent;transition:border-color .3s,transform .5s var(--ease)}
.nav.solid{border-bottom-color:var(--line)}
.nav.hide{transform:translateY(-101%)}
.nav-in{height:var(--nav-h);display:flex;align-items:center;gap:20px}
.logo{display:inline-flex;align-items:center;gap:10px;font:800 18px/1 var(--f-display);letter-spacing:-.02em;white-space:nowrap;color:var(--ink)}
.logo-m{width:38px;height:38px;flex:none;color:var(--acc);overflow:visible;transition:transform .5s var(--ease)}
.logo-m path{fill:none;stroke:currentColor;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.logo:hover .logo-m{transform:rotate(-12deg)}
.logo-t{display:grid;gap:4px}
.logo-t small{font:500 11px/1.1 var(--f-mono);letter-spacing:.02em;color:var(--mute)}
@media (max-width:379px){.nav .logo-t small{display:none}}
.foot .logo-t small{display:none}
.links{display:flex;gap:2px;margin-inline:auto;padding:5px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:14.5px;font-weight:600}
.links a{padding:8px 15px;white-space:nowrap;border-radius:999px;color:var(--ink-2);transition:color .2s,background-color .2s}
.links a:hover{color:var(--ink);background:var(--bg-2)}
.links a.on{color:var(--ink);background:var(--apricot)}
.nav-r{display:flex;align-items:center;gap:10px}
.lang{font:600 11.5px/1 var(--f-mono);letter-spacing:.05em;color:var(--mute);display:inline-flex;padding:4px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.lang a{padding:7px 9px;border-radius:999px}
.lang a[aria-current="true"]{color:var(--bg);background:var(--ink)}
.lang a:not([aria-current="true"]):hover{color:var(--ink)}
.burger{display:none;width:44px;height:44px;border-radius:999px;background:var(--ink);place-items:center}
.burger span,.burger span::before,.burger span::after{background:var(--bg)!important}
.burger[aria-expanded="true"] span{background:transparent!important}
.burger span{display:block;width:18px;height:1.6px;background:var(--ink);position:relative;transition:transform .35s var(--ease),background-color .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.6px;background:var(--ink);transition:transform .35s var(--ease)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1180px){.links,.nav-r .lang,.nav-r .btn{display:none}.burger{display:grid}.nav-r{margin-left:auto}}
.menu{position:fixed;inset:var(--nav-h) 0 0;z-index:35;background:var(--bg);padding:28px var(--gut-r) 32px var(--gut);display:flex;flex-direction:column;gap:2px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .4s var(--ease),visibility 0s .4s;overflow:auto}
.menu.open{visibility:visible;opacity:1;transform:none;transition:opacity .3s,transform .4s var(--ease)}
.menu>a:not(.btn){font:800 30px/1.25 var(--f-display);letter-spacing:-.03em;padding:12px 0;border-bottom:1px solid var(--line)}
.menu>a.on:not(.btn){color:var(--acc)}
.menu .btn{margin-top:24px;align-self:flex-start}
.menu .prefs .seg a,.menu .prefs .seg button{border-bottom:0}

/* ---------- Composants ---------- */
.card{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column;gap:14px;position:relative;transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
a.card:hover,.card.hov:hover{box-shadow:var(--shadow-up);transform:translateY(-4px)}
.card.flat{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.card.acc{box-shadow:inset 0 0 0 2px var(--acc),var(--shadow)}
.c-clay{background:var(--clay)}.c-apricot{background:var(--apricot)}.c-olive{background:var(--olive)}.c-stone{background:var(--stone)}
.c-deep{background:var(--deep);color:var(--deep-ink)}.c-terra{background:var(--acc);color:var(--acc-ink)}
.tag{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;font:500 11.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--bg-2);color:var(--ink-2);white-space:nowrap}
.tag.acc{background:var(--acc-soft);color:var(--acc)}
.tag.ok{background:var(--ok-soft);color:var(--ok)}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--acc);display:inline-block;flex:none}
.dot.live{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 50%,transparent);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 45%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* Liste à puces carrées */
.ticks{display:grid;gap:10px}
.ticks li{position:relative;padding-left:28px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:0;top:.24em;width:18px;height:18px;border-radius:7px 7px 7px 3px;background:var(--acc-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23b5482b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
:root[data-theme="dark"] .ticks li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23e2825f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ticks li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23e2825f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}

/* Tableau clé / valeur (fiche) */
.kv{display:grid;border-top:1px solid var(--line)}
.kv>div{display:grid;grid-template-columns:minmax(110px,34%) 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.kv dt{font:500 11.5px/1.6 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--mute);padding-top:2px}
.kv dd{margin:0}

/* Tableau */
.tbl{width:100%;border-collapse:collapse;font-size:15.5px}
.tbl th{font:500 11.5px/1.4 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--mute);text-align:left;padding:0 16px 12px 0;border-bottom:1px solid var(--line-2)}
.tbl td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Chiffre clé */
.metric{display:grid;gap:6px}
.metric .num{font-size:clamp(44px,5vw,68px);line-height:1;color:var(--ink)}
.metric .num small{font-size:.45em;letter-spacing:-.02em;color:var(--mute);margin-left:4px}
.metric p{font-size:15px;color:var(--mute);line-height:1.45}

/* Avant / après */
.ba{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.ba>div{display:grid;gap:4px}
.ba .k{font:500 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.ba .v{font:800 28px/1 var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ba .v.b{color:var(--warn)}.ba .v.a{color:var(--ok)}
.ba .ar{width:28px;height:1.5px;background:var(--line-2);position:relative}
.ba .ar::after{content:"";position:absolute;right:0;top:-3.5px;width:8px;height:8px;border-top:1.5px solid var(--line-2);border-right:1.5px solid var(--line-2);transform:rotate(45deg)}

/* Étapes numérotées */
.steps{display:grid;gap:0;counter-reset:st;border-top:1px solid var(--line)}
.steps>li{counter-increment:st;display:grid;grid-template-columns:56px 1fr;gap:6px 18px;padding:22px 0;border-bottom:1px solid var(--line)}
.steps>li::before{content:counter(st,decimal-leading-zero);display:grid;place-items:center;width:36px;height:36px;border-radius:13px 13px 13px 4px;background:var(--acc-soft);font:600 12.5px/1 var(--f-mono);color:var(--acc);grid-row:span 2}
.steps>li h3{font-size:20px;letter-spacing:-.02em;font-weight:700}
.steps>li p{color:var(--mute);font-size:15.5px}
@media (min-width:960px){.steps.h{grid-template-columns:repeat(4,1fr);border-top:0;gap:20px}.steps.h>li{grid-template-columns:1fr;border-bottom:0;border-top:1.5px solid var(--line-2);padding:18px 0 0}.steps.h>li::before{grid-row:auto}.steps.h>li.on{border-top-color:var(--acc)}.steps.h>li::before{margin-bottom:6px}}

/* Figure légendée */
.fig{margin:0;display:grid;gap:12px}
.fig figcaption{font:500 11px/1.5 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.fig figcaption b{color:var(--acc);font-weight:600}

/* Questions fréquentes */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font:700 19px/1.35 var(--f-display);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:12px;height:12px;margin-top:6px;border-right:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.faq details>div{padding:0 0 22px;color:var(--mute);max-width:70ch;display:grid;gap:12px}

/* Bandeau d'appel final */
.cta-band{display:grid;gap:28px;align-items:end}
@media (min-width:960px){.cta-band{grid-template-columns:7fr 5fr}}
.cta-band>*{min-width:0}
.cta-band .btns{justify-content:flex-start}
.btn{max-width:100%}
@media (max-width:400px){.btn{white-space:normal;text-align:center;line-height:1.2;padding-block:12px}}
.mail{flex-wrap:wrap;overflow-wrap:anywhere}
@media (min-width:960px){.cta-band .btns{justify-content:flex-end}}
.mail{font:500 15px/1.4 var(--f-mono);letter-spacing:.01em;display:inline-flex;align-items:center;gap:10px}
.mail button{font:500 11px/1 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;padding:7px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 55%,transparent);color:inherit}
.mail button:hover{box-shadow:inset 0 0 0 1.5px currentColor}

/* Formulaire */
.field{display:grid;gap:8px}
.field label,.field legend{font:500 12px/1.4 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--mute)}
.field input,.field textarea,.field select{font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:0;border-radius:16px;box-shadow:inset 0 0 0 1.5px var(--line-2);padding:14px 16px;width:100%;transition:box-shadow .2s}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--acc)}
.choice{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}
.choice legend{margin-bottom:8px}
.choice label{cursor:pointer}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice span{display:inline-flex;align-items:center;height:42px;padding:0 16px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line-2);font-size:15px;transition:background-color .2s,box-shadow .2s,color .2s}
.choice input:checked+span{background:var(--acc);color:var(--acc-ink);box-shadow:none}
.choice input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}

/* Pied de page */
.foot{padding:56px 0 calc(28px + env(safe-area-inset-bottom,0px));font-size:15px}
.foot-g{display:grid;gap:32px}
@media (min-width:860px){.foot-g{grid-template-columns:5fr 2fr 2fr 3fr}}
.foot h4{font:500 11.5px/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.foot ul{display:grid;gap:9px}
.foot ul a:hover{color:var(--acc)}
.foot .pitch{max-width:34ch;color:var(--mute);margin-top:14px}
.foot-b{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;color:var(--faint);font-size:13.5px}
.foot-b a:hover{color:var(--ink)}

/* Message éphémère */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:999px;font-size:14.5px;opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--ease);z-index:90}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* Apparitions (discrètes) */
.js .rv{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 80ms)}
.js .rv.in{opacity:1;transform:none}
.rm .rv{opacity:1!important;transform:none!important;transition:none!important}
.js .rv.done{transition:none}
@media print{.nav,.menu,.toast{display:none}.rv{opacity:1!important;transform:none!important}}

/* Très petits écrans : aucun bloc ne force la largeur */
@media (max-width:360px){.wrap :where(div,figure,article,aside,section,dl,ul,ol,figcaption){min-width:0;overflow-wrap:anywhere}}

/* Lisibilité sur les teintes (audit 2026-11-14) : textes secondaires et accent foncés sur argile, abricot, olive, pierre */
.c-clay,.c-apricot,.c-olive,.c-stone{--mute:var(--ink-2);--faint:var(--ink-2);--acc:var(--acc-2)}

/* Traits dessinés à la main (2026-11-14) : un mot clé souligné (hd-u) ou entouré (hd-c), tracé quand il apparaît. */
.hd{position:relative;display:inline-block;white-space:nowrap;isolation:isolate}
.hd>svg{position:absolute;pointer-events:none;overflow:visible;z-index:-1}
.hd-u>svg{left:-3%;width:106%;bottom:-.2em;height:.36em}
.hd-c>svg{left:-9%;top:-16%;width:118%;height:132%}
.hd path{fill:none;stroke:var(--acc);stroke-width:2.6px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1s cubic-bezier(.16,1,.3,1) .45s}
.hd-c path{stroke-width:2.2px;transition-duration:1.25s}
.sec.ink .hd path{stroke:var(--hi)}
.js .hd:not(.in) path{stroke-dashoffset:1}
.hd.done path{transition:none}
.rm .hd path{stroke-dashoffset:0!important;transition:none}
.rm .hd>svg{animation:hd-fade .5s ease-out both}
@keyframes hd-fade{from{opacity:0}to{opacity:1}}
@media print{.hd path{stroke-dashoffset:0!important}}

/* Audit 2026-11-14, points restants */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.foot h2{font:500 11.5px/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.fig figcaption{text-transform:none;letter-spacing:.01em;font-size:12px}
.fig figcaption b{text-transform:uppercase;letter-spacing:.06em}
.lnk{padding-block:10px;margin-block:-10px}
