/* ==========================================================================
   Kaada Group · Design system v3 « Terrain »
   Primaire : orange de la charte #EC6508
   Secondaires : encre vert forêt #14211A (texte, bandes sombres), feuille #2E7247 (validation)
   Fond : papier légèrement teinté #F5F6F1
   Typo : Bricolage Grotesque (titres) · Source Sans 3 (texte) · JetBrains Mono (données, étiquettes)
   Parti pris : sobre et clair, bandes sombres ponctuelles, la donnée terrain comme signature visuelle.
   ========================================================================== */
/* Polices auto-hébergées (ADR-003), sous-ensemble latin, licences OFL dans assets/fonts/ */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/bricolage-grotesque-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;font-display:swap;src:url(../assets/fonts/source-sans-3-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/source-sans-3-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}
:root{
  --bg:#FFFFFF; --bg-2:#F7F8F5; --surface:#FFFFFF;
  --ink:#14211A; --ink-2:#34423A; --muted:#56635A; --line:#DCE1D6; --line-2:#C9D0C2;
  --orange:#EC6508; --orange-hover:#F47B22; --orange-ink:#B44B03; --orange-soft:#FBEADB; --on-orange:#1A0E04;
  --leaf:#2E7247; --leaf-soft:#E1EEE5; --rouge:#C8361C; --rouge-soft:#FBE7E2;
  --band:#14211A; --band-2:#1B2A21; --band-3:#22332A; --band-fg:#EEF2EA; --band-muted:#A9B5AA; --band-line:#2B3A31;
  --line-champ:#7E8A80; --focus:#B44B03;
  --courbe-douce:cubic-bezier(.2,.7,.2,1); --courbe-rebond:cubic-bezier(.34,1.56,.64,1);
  --mv-court:.15s; --mv-moyen:.3s; --mv-long:.6s;
  --f-titre:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-texte:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --r-s:8px; --r:10px; --r-l:14px;
  --ombre:0 24px 50px -28px rgba(20,33,26,.38);
  --ombre-s:0 10px 26px -18px rgba(20,33,26,.35);
  --max:1200px; --entete:72px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F1712; --bg-2:#131D17; --surface:#16211A;
  --ink:#EAEFE7; --ink-2:#CBD4CD; --muted:#A3B0A6; --line:#28362D; --line-2:#344539;
  --orange:#F07A26; --orange-hover:#FF8C3A; --orange-ink:#FF9A52; --orange-soft:#2C1D10; --on-orange:#1A0E04;
  --leaf:#5FB27E; --leaf-soft:#173022; --rouge:#FF7A63; --rouge-soft:#3A1A14;
  --band:#0A110D; --band-2:#111B15; --band-3:#18241D; --band-fg:#EAEFE7; --band-muted:#94A398; --band-line:#223027;
  --line-champ:#6B7D70; --focus:#F07A26;
  --ombre:0 24px 50px -28px rgba(0,0,0,.7); --ombre-s:0 10px 26px -18px rgba(0,0,0,.6);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1712; --bg-2:#131D17; --surface:#16211A;
  --ink:#EAEFE7; --ink-2:#CBD4CD; --muted:#A3B0A6; --line:#28362D; --line-2:#344539;
  --orange:#F07A26; --orange-hover:#FF8C3A; --orange-ink:#FF9A52; --orange-soft:#2C1D10; --on-orange:#1A0E04;
  --leaf:#5FB27E; --leaf-soft:#173022; --rouge:#FF7A63; --rouge-soft:#3A1A14;
  --band:#0A110D; --band-2:#111B15; --band-3:#18241D; --band-fg:#EAEFE7; --band-muted:#94A398; --band-line:#223027;
  --line-champ:#6B7D70; --focus:#F07A26;
  --ombre:0 24px 50px -28px rgba(0,0,0,.7); --ombre-s:0 10px 26px -18px rgba(0,0,0,.6);
  color-scheme:dark}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--entete) + 24px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-texte);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{font-family:var(--f-titre);font-weight:700;line-height:1.08;margin:0;letter-spacing:-.02em;text-wrap:balance}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
/* Surfaces sombres en mode clair : orange de la charte (5,10:1 sur band) */
.sombre,.pied,.menu-global,.cta-boite,.contact-bande{--focus:#EC6508}
::selection{background:var(--orange);color:var(--on-orange)}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-80px;background:var(--orange);color:var(--on-orange);padding:10px 16px;border-radius:8px;z-index:200;font-weight:600}
.skip:focus{top:12px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- Typographie ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--orange)}
.t-xl{font-size:clamp(2.4rem,4.8vw,3.8rem);font-weight:800;letter-spacing:-.025em;line-height:1.04}
.t-l{font-size:clamp(2rem,3.6vw,2.9rem)}
.t-m{font-size:clamp(1.6rem,2.6vw,2.15rem)}
.grad{color:var(--orange)}
.lead{font-size:clamp(1.04rem,1.3vw,1.14rem);color:var(--muted);max-width:62ch;line-height:1.65}
.petit{font-size:13.5px;color:var(--muted)}
.mono{font-family:var(--f-mono)}
.lien{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px;color:var(--orange-ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color var(--mv-court)}
.lien svg{width:16px;height:16px;transition:transform .2s}
.lien:hover svg{transform:translateX(3px)}
.lien-inline{color:var(--orange-ink);font-weight:600;text-underline-offset:3px}
.pastille-tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;padding:6px 12px 6px 6px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .2s}
.pastille-tag:hover{border-color:var(--orange)}
.pastille-tag b{font-weight:500;background:var(--orange);color:var(--on-orange);padding:3px 9px;border-radius:99px}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-texte);font-weight:600;font-size:16px;text-decoration:none;padding:13px 22px;border-radius:99px;border:1.5px solid transparent;cursor:pointer;transition:transform var(--mv-moyen) var(--courbe-douce),background-color var(--mv-court),border-color var(--mv-court),color var(--mv-court);white-space:nowrap;line-height:1.2}
.btn svg{width:18px;height:18px;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn-p{background:var(--orange);color:var(--on-orange)}
.btn-p:hover{background:var(--orange-hover)}
.btn-s{border-color:var(--line-2);color:var(--ink);background:transparent}
.btn-s:hover{border-color:var(--ink)}
.btn-sm{padding:9px 16px;font-size:14.5px}
.btn:disabled{opacity:.7;cursor:progress;transform:none}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Logo : fichiers officiels (charte ch. 02). Le SVG porte 8 unités de marge : on la compense à gauche pour garder l'alignement sur la grille ---------- */
.logo{display:flex;align-items:center;text-decoration:none;flex:none}
.logo img{display:block;width:201px;max-width:none;height:auto;margin-left:-8px}
.logo .logo-sombre{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .logo-clair{display:none}:root:not([data-theme="light"]) .logo .logo-sombre{display:block}}
:root[data-theme="dark"] .logo .logo-clair{display:none}
:root[data-theme="dark"] .logo .logo-sombre{display:block}
.logo-pied{margin-bottom:18px}

/* ---------- En-tête minimal ---------- */
.entete{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.entete.defile{border-color:var(--line)}
.entete .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--entete)}
.entete-droite{display:flex;align-items:center;gap:10px}
/* Sélecteur de langue FR | EN (ADR-020) : liens vers la page équivalente, aucune mémorisation */
.langues{display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:12.5px;font-weight:500;letter-spacing:.06em}
.langues a{display:inline-flex;align-items:center;min-height:44px;padding:0 7px;color:var(--muted);text-decoration:none;border-radius:6px;transition:color var(--mv-court)}
.langues a:hover{color:var(--ink)}
.langues a[aria-current]{color:var(--orange-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.langues-sep{color:var(--line-2)}
.menu-global .langues a,.pied .langues a{color:var(--band-muted)}
.menu-global .langues a:hover,.pied .langues a:hover{color:var(--band-fg)}
.menu-global .langues a[aria-current],.pied .langues a[aria-current]{color:var(--band-fg)}
.menu-global .langues-sep,.pied .langues-sep{color:var(--band-line)}
.langues-menu{margin-left:auto;margin-right:10px}
.pied-bas .langues{font-size:12px}
.pied-bas .langues a{min-height:32px}
/* Petits écrans : l'en-tête ne garde que la langue proposée ; le menu et le pied de page gardent FR | EN */
@media (max-width:420px){.langues-entete a[aria-current],.langues-entete .langues-sep{display:none}}
@media (max-width:380px){.entete .bm-texte{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.bouton-menu{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 8px 0 16px;border-radius:99px;border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;font-weight:600;font-size:15.5px;color:var(--ink);transition:border-color .2s,background .2s}
.bouton-menu:hover{border-color:var(--ink)}
.bm-traits{position:relative;width:18px;height:12px;display:inline-block}
/* Traits du bouton menu : seul transform est animé (le trait court est un trait de 18 px réduit à 11 px, calé à gauche) */
.bm-traits i{position:absolute;left:0;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.bm-traits i:first-child{top:2px}
.bm-traits i:last-child{top:8px;transform:translateX(-3.5px) scaleX(.6111)}
.bouton-menu:hover .bm-traits i:last-child{transform:none}
.bouton-menu.ouvert .bm-traits i:first-child{transform:translateY(3px) rotate(45deg)}
.bouton-menu.ouvert .bm-traits i:last-child{transform:translateY(-3px) rotate(-45deg)}
.bm-raccourci{font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 7px;background:var(--bg)}
@media (max-width:760px){.entete-cta,.bm-raccourci{display:none}.bouton-menu{padding:0 16px}}

/* ---------- Île de navigation flottante ---------- */
.ile{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:96;display:flex;align-items:center;gap:2px;padding:6px;border-radius:99px;background:color-mix(in srgb,var(--band) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--band-line);box-shadow:0 24px 50px -20px rgba(10,17,13,.55);transform:translate(-50%,calc(100% + 40px));opacity:0;transition:transform .55s cubic-bezier(.2,1.2,.3,1),opacity .3s}
.ile.visible{transform:translate(-50%,0);opacity:1}
.ile a,.ile button{position:relative;z-index:1;font-size:14.5px;font-weight:600;color:var(--band-muted);text-decoration:none;padding:9px 15px;border-radius:99px;border:0;background:none;cursor:pointer;transition:color .2s;white-space:nowrap}
.ile a:hover,.ile a[aria-current="page"],.ile a.survol{color:var(--band-fg)}
.ile-indic{position:absolute;z-index:0;top:6px;bottom:6px;left:0;width:0;border-radius:99px;background:var(--band-3);opacity:0;transition:transform .45s cubic-bezier(.3,1.35,.45,1),width .45s cubic-bezier(.3,1.35,.45,1),opacity .2s}
.ile-indic::after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--orange)}
.ile .ile-cta{background:var(--orange);color:var(--on-orange);font-weight:600;margin-left:4px}
.ile .ile-cta:hover{color:var(--on-orange);background:var(--orange-hover)}
.ile .ile-menu{width:40px;height:40px;padding:0;display:grid;place-items:center;color:var(--band-fg)}
.ile .ile-menu:hover .bm-traits i:last-child{transform:none}
@media (max-width:760px){.ile{display:none}}

/* ---------- Menu plein écran ---------- */
.menu-global{position:fixed;inset:0;z-index:300;background:var(--band);color:var(--band-fg);display:flex;flex-direction:column;overflow-y:auto;clip-path:circle(0 at var(--mx,95%) var(--my,36px));transition:clip-path .7s cubic-bezier(.7,0,.2,1)}
.menu-global[hidden]{display:none}
.menu-global.ouvert{clip-path:circle(150% at var(--mx,95%) var(--my,36px))}
.menu-global>.wrap{width:100%}
.mg-haut{display:flex;align-items:center;justify-content:space-between;height:var(--entete);flex:none}
.menu-global .bouton-menu{background:transparent;border-color:var(--band-line);color:var(--band-fg)}
.menu-global .bouton-menu:hover{border-color:var(--band-fg)}
.menu-global .bm-raccourci{background:transparent;border-color:var(--band-line);color:var(--band-muted)}
.mg-corps{flex:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:start;padding-block:clamp(20px,4vh,48px)}
.pm-recherche{display:flex;align-items:center;gap:12px;border-bottom:1.5px solid var(--line-champ);padding:6px 0 12px;margin-bottom:18px;transition:border-color .2s}
.pm-recherche:focus-within{border-bottom:2px solid var(--focus);padding-bottom:11.5px}
.pm-recherche svg{width:20px;height:20px;color:var(--band-muted);flex:none}
.pm-recherche input{flex:1;min-width:0;background:none;border:0;color:var(--band-fg);font:inherit;font-size:17px;padding:6px 0}
.pm-recherche input::placeholder{color:var(--band-muted)}
.pm-recherche input:focus{outline:none}
.pm-liste{display:grid}
.pm-liste li{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.18s + var(--i) * .045s)}
.menu-global.ouvert .pm-liste li{opacity:1;transform:none}
.pm-liste a{display:flex;align-items:baseline;gap:18px;padding:7px 0;text-decoration:none;color:var(--band-fg);transition:opacity .25s,color .25s}
.pm-liste .n{font-family:var(--f-mono);font-size:12.5px;color:var(--band-muted);width:24px;flex:none}
.pm-liste .t{font-family:var(--f-titre);font-weight:700;font-size:clamp(1.9rem,4.3vh,3rem);line-height:1.05;letter-spacing:-.025em;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pm-liste svg{width:26px;height:26px;align-self:center;color:var(--orange);opacity:0;transform:translateX(-12px);transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1)}
.pm-liste:hover a,.pm-liste:focus-within a{opacity:.38}
.pm-liste a:hover,.pm-liste a:focus-visible,.pm-liste a.choisi{opacity:1}
.pm-liste a:hover .t,.pm-liste a.choisi .t{transform:translateX(10px)}
.pm-liste a:hover svg,.pm-liste a.choisi svg{opacity:1;transform:none}
.pm-liste a[aria-current="page"] .n,.pm-liste a[data-actif] .n{color:var(--orange)}
.pm-liste a[aria-current="page"] .n::after,.pm-liste a[data-actif] .n::after{content:" ●"}
.mg-droite{position:sticky;top:20px;min-width:0;border-left:1px solid var(--band-line);padding-left:clamp(24px,4vw,48px);opacity:0;transform:translateX(20px);transition:opacity .5s ease .35s,transform .6s cubic-bezier(.2,.8,.2,1) .35s}
.menu-global.ouvert .mg-droite{opacity:1;transform:none}
.pm-apercu[hidden]{display:none}
.pm-apercu{animation:apercu .4s cubic-bezier(.2,.8,.2,1)}
@keyframes apercu{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pm-apercu .eyebrow{color:var(--orange)}
.pm-accroche{font-family:var(--f-titre);font-weight:700;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.3;margin:14px 0 24px;color:var(--band-fg)}
.pm-sous{display:grid;gap:2px;margin-bottom:22px}
.pm-sous.deux{grid-template-columns:1fr 1fr;gap:2px 18px}
/* Onze expertises : le Conseil en tête sur toute la largeur, lignes resserrées pour tenir à 1280 × 720 (photos.md § 11.7) */
.pm-sous.deux .pm-large{grid-column:1/-1}
.pm-sous.deux a{padding-block:6px}
.pm-sous a{display:block;padding:9px 12px;margin-inline:-12px;border-radius:8px;text-decoration:none;transition:background-color var(--mv-court)}
.pm-sous a:hover{background:var(--band-2)}
.pm-sous b{display:block;font-weight:600;font-size:15.5px;transition:transform var(--mv-moyen) var(--courbe-douce)}
.pm-sous small{display:block;font-size:13.5px;color:var(--band-muted)}
.menu-global .lien{color:var(--orange)}
.pm-resultats{display:grid;gap:2px;margin-bottom:18px}
.pm-resultats[hidden]{display:none}
.pm-resultats a{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:12px 14px;border-radius:var(--r);text-decoration:none;color:var(--band-fg)}
.pm-resultats a b{display:inline-block;font-family:var(--f-titre);font-size:1.25rem;font-weight:700;transition:transform var(--mv-moyen) var(--courbe-douce)}
.pm-resultats a small{font-size:13.5px;color:var(--band-muted);text-align:right}
.pm-resultats a[aria-selected="true"],.pm-resultats a:hover{background:var(--band-2)}
.pm-resultats a[aria-selected="true"] b{color:var(--orange);transform:translateX(4px)}
.pm-resultats mark{background:none;color:var(--orange)}
.pm-vide{padding:12px 0;color:var(--band-muted)}
.pm-vide[hidden]{display:none}
.menu-global.recherche .pm-liste{display:none}
.mg-bas{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;padding-block:20px 28px;border-top:1px solid var(--band-line);font-family:var(--f-mono);font-size:12.5px;color:var(--band-muted);flex:none;opacity:0;transition:opacity .5s ease .45s}
.menu-global.ouvert .mg-bas{opacity:1}
.mg-bas a{text-decoration:none}
.mg-bas a:hover{color:var(--band-fg)}
.mg-eudr{margin-left:auto;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--band-line);border-radius:99px;padding:6px 14px 6px 6px}
.mg-eudr b{background:var(--orange);color:var(--on-orange);padding:3px 9px;border-radius:99px;font-weight:500;white-space:nowrap;flex:none}
.mg-eudr:hover{border-color:var(--orange)}
@media (max-width:900px){
  .mg-corps{grid-template-columns:1fr}
  .mg-droite{display:none}
  .pm-liste a{padding:8px 0;opacity:1!important}
  .pm-liste a .t{transform:none!important}
  .pm-liste svg{display:none}
  .pm-liste .t{font-size:clamp(1.7rem,8vw,2.4rem)}
  .mg-eudr{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.menu-global{clip-path:none!important}}
body.menu-ouvert{overflow:hidden}

.lecture{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--orange);transform-origin:left;transform:scaleX(0);z-index:120;pointer-events:none}

/* ---------- Sections ---------- */
.section{padding-block:clamp(64px,8vw,104px)}
.section.serre{padding-block:clamp(44px,5vw,72px)}
.alt{background:var(--surface);border-block:1px solid var(--line)}
.sombre{background:var(--band);color:var(--band-fg);position:relative}
.sombre h2,.sombre h3{color:var(--band-fg)}
.sombre .eyebrow{color:var(--orange)}
.sombre .lead,.sombre .petit{color:var(--band-muted)}
.sombre .lien{color:var(--orange)}
.sombre .btn-s{border-color:var(--band-line);color:var(--band-fg)}
.sombre .btn-s:hover{border-color:var(--band-fg)}
.tete-section{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px;align-items:end;margin-bottom:clamp(36px,4.5vw,52px)}
.tete-section h2{margin-top:14px}
.tete-section.centre{grid-template-columns:1fr;text-align:center;justify-items:center}
.tete-section.centre .lead{margin-inline:auto}
@media (max-width:860px){.tete-section{grid-template-columns:1fr}}
.halo,.grille-fond{background-image:none}

/* ---------- Héros d'accueil ---------- */
.hero{padding-block:clamp(44px,6vw,80px) clamp(40px,5vw,64px)}
.hero>.wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:center}
.hero h1{margin:20px 0 22px}
.hero .actions{margin-top:30px}
.hero-preuves{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:32px;font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.hero-preuves span::before{content:"● ";color:var(--leaf)}
.carte-stage{position:relative;min-width:0;width:100%;aspect-ratio:1/1.02}
.carte-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.carte-pause{position:absolute;top:8px;right:8px;z-index:2;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line-champ);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.carte-pause[hidden]{display:none}
.carte-pause svg{width:18px;height:18px}
.carte-pause svg[hidden]{display:none}
.carte-pause:hover{border-color:var(--ink-2)}
.parcelle{position:relative;width:100%;max-width:420px;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--ombre);font-size:14.5px}
.parcelle-tete{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.parcelle-id{font-family:var(--f-mono);font-size:12.5px;font-weight:400}
.parcelle dl{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:0}
.parcelle dt{color:var(--muted)}
.parcelle dd{margin:0;font-family:var(--f-mono);font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:900px){.hero>.wrap{grid-template-columns:1fr}.carte-stage{max-width:520px;margin-inline:auto}}

/* Bandeau des filières */
.filieres{border-block:1px solid var(--line);background:var(--surface)}
.filieres .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-block:18px}
.filieres b{font-family:var(--f-mono);font-weight:500;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.filieres span{font-family:var(--f-titre);font-weight:700;font-size:19px}

/* ---------- Héros des pages ---------- */
.hero-page{padding-block:clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}
.hero-page>.wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero-page.sans-image>.wrap{grid-template-columns:1fr}
.hero-page h1{margin:16px 0 18px;max-width:20ch}
.hero-page.sans-image h1{max-width:24ch}
.hero-page .ph{aspect-ratio:5/4}
.hero-page .actions{margin-top:28px}
.ariane{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted)}
.ariane a{text-decoration:none}
.ariane a:hover{color:var(--orange-ink)}
.ariane [aria-current]{color:var(--ink)}
@media (max-width:900px){.hero-page>.wrap{grid-template-columns:1fr}.hero-page .ph{aspect-ratio:16/10}}

/* ---------- Photos ---------- */
.ph{position:relative;overflow:hidden;border-radius:var(--r-l);background:var(--bg-2);isolation:isolate;min-width:0;max-width:100%}
.ph::before{content:"";position:absolute;inset:30%;background:url("../assets/img/kdg-symbole.png") center/contain no-repeat;opacity:.12;z-index:-1}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
a:hover .ph img,.ph:hover img{transform:scale(1.03)}
/* Illustrations au trait (ADR-016, ADR-017) */
.ph.illus{background:none}
.ph.illus::before{display:none}
.ph.illus img{object-fit:contain}
a:hover .ph.illus img,.ph.illus:hover img{transform:none}
.illus-bande,.illus-bande img{display:block;width:100%;height:auto;margin:0 0 20px}
@media (max-width:900px){.illus-bande{display:none}}
.illus-vignette img{display:block;width:280px;max-width:100%;height:auto;margin-top:16px}
.illus-filiere img{display:block;width:96px;height:96px;margin-bottom:10px}
/* Pictogramme à la place d'une image (thème sensible : protection de l'enfance) */
.ph.ph-icone{background:var(--orange-soft);display:grid;place-items:center;color:var(--orange-ink)}
.ph.ph-icone::before{display:none}
.ph-icone svg{width:48px;height:48px}
.ph.voile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,17,13,.55))}
.ph .legende{position:absolute;left:12px;bottom:12px;z-index:2;font-family:var(--f-mono);font-size:11.5px;color:#fff;background:rgba(10,17,13,.6);backdrop-filter:blur(6px);padding:5px 10px;border-radius:6px;max-width:calc(100% - 24px)}
.puce-flottante{position:absolute;z-index:3;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;box-shadow:var(--ombre);display:flex;align-items:center;gap:10px;font-size:13px}
.puce-flottante .ico{width:32px;height:32px;border-radius:8px;background:var(--orange);color:var(--on-orange);display:grid;place-items:center;flex:none}
.puce-flottante .ico svg{width:17px;height:17px}
.puce-flottante b{display:block;font-size:13.5px;line-height:1.25}
.puce-flottante span{color:var(--muted);font-size:12px}

/* ---------- Défilant ---------- */
.defilant-zone{overflow:hidden;border-block:1px solid var(--line);padding-block:20px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.defilant-zone p{text-align:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.defilant{display:flex;width:max-content;animation:defile 70s linear infinite}
.defilant-zone:hover .defilant{animation-play-state:paused}
.defilant span{font-family:var(--f-titre);font-weight:700;font-size:1.3rem;color:var(--muted);padding:0 24px;white-space:nowrap}
@keyframes defile{to{transform:translateX(-50%)}}

/* ---------- Chiffres ---------- */
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.chiffre{border-left:1px solid var(--line);padding:26px 24px;min-width:0}
.chiffre:first-child{border-left:0;padding-left:0}
.chiffre b{display:block;font-family:var(--f-titre);font-weight:800;font-size:clamp(2.4rem,4vw,3.3rem);line-height:1;font-variant-numeric:tabular-nums}
.chiffre b i{font-style:normal;color:var(--orange)}
.chiffre>span{display:block;margin-top:10px;font-size:15px;color:var(--muted);line-height:1.45}
.sombre .chiffres,.sombre .chiffre{border-color:var(--band-line)}
.sombre .chiffre>span{color:var(--band-muted)}
@media (max-width:860px){.chiffres{grid-template-columns:1fr 1fr}.chiffre:nth-child(3){border-left:0;padding-left:0}.chiffre:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* ---------- Grille d'expertises (cadre de traits, comme l'artefact) ---------- */
.grille-exp{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grille-exp>a,.grille-exp>article{padding:30px 28px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;text-decoration:none;min-width:0;transition:background-color var(--mv-court),border-color var(--mv-court),transform var(--mv-moyen) var(--courbe-douce)}
.grille-exp .ico{color:var(--orange)}
.grille-exp .ico svg{width:32px;height:32px;stroke-width:1.6}
.grille-exp h3{font-size:1.32rem}
.grille-exp p{font-size:15.5px;color:var(--muted)}
.grille-exp .lien{margin-top:auto;padding-top:4px}
@media (max-width:980px){.grille-exp{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grille-exp{grid-template-columns:1fr}}

/* ---------- Puces ---------- */
.puces{display:flex;flex-wrap:wrap;gap:6px}
.puces span{font-family:var(--f-mono);font-size:11.5px;padding:3px 9px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.sombre .puces span{border-color:var(--band-line);color:var(--band-muted)}

/* ---------- Tuiles ---------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.tuile{grid-column:span 4;position:relative;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);padding:28px 26px;display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden;text-decoration:none;transition:border-color var(--mv-court),transform var(--mv-moyen) var(--courbe-douce)}
.tuile.s3{grid-column:span 3;padding:22px 20px}.tuile.s4{grid-column:span 4}.tuile.s5{grid-column:span 5}.tuile.s6{grid-column:span 6}.tuile.s7{grid-column:span 7}.tuile.s8{grid-column:span 8}.tuile.s12{grid-column:span 12}
.tuile h3{font-size:1.4rem}
.tuile.s3 h3{font-size:1.22rem}
.tuile p{color:var(--muted);font-size:15.5px}
.tuile .lien{margin-top:auto;padding-top:8px}
.tuile .ico{color:var(--orange)}
.tuile .ico svg{width:30px;height:30px;stroke-width:1.7}
.tuile.accent{background:var(--orange-soft);border-color:color-mix(in srgb,var(--orange) 30%,transparent)}
.alt .tuile{background:var(--bg)}
.alt .tuile.accent{background:var(--orange-soft)}
/* Tuiles dans une bande sombre (accueil, bloc « Du champ à l'acheteur ») */
.sombre .tuile{background:var(--band-2);border-color:var(--band-line)}
.sombre .tuile p{color:var(--band-muted)}
.sombre a.tuile:hover{border-color:var(--band-fg)}
.pastille-cul{align-self:flex-start;font-family:var(--f-mono);font-size:11px;color:var(--orange-ink);background:var(--orange-soft);padding:3px 9px;border-radius:99px}
@media (max-width:1000px){.tuile,.tuile.s3,.tuile.s4,.tuile.s5,.tuile.s7{grid-column:span 6}.tuile.s8,.tuile.s12{grid-column:span 12}.tuile.s3{padding:28px 26px}.tuile.s3 h3{font-size:1.4rem}}
/* Nombre impair de tuiles (Secteurs de l'accueil, 7 tuiles) : la dernière prend toute la largeur */
@media (max-width:1000px) and (min-width:641px){.bento>.tuile:last-child:nth-child(odd){grid-column:span 12}}
@media (max-width:640px){.tuile,.tuile.s3,.tuile.s4,.tuile.s5,.tuile.s6,.tuile.s7,.tuile.s8{grid-column:span 12}}

/* ---------- Texte + image ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.duo.inverse>:first-child{order:2}
.duo .ph{aspect-ratio:4/3.2}
.duo h2{margin:14px 0 16px}
.duo .lead+.lead{margin-top:14px}
@media (max-width:900px){.duo{grid-template-columns:1fr}.duo.inverse>:first-child{order:0}}
.coches{display:grid;gap:11px;margin:22px 0 28px}
.coches li{display:flex;gap:12px;font-size:16px;align-items:flex-start}
.coches li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--leaf-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='%232E7247' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.sombre .coches li{color:var(--band-fg)}
.liste{display:grid;gap:8px}
.liste li{position:relative;padding-left:18px;font-size:15.5px;color:var(--muted)}
.liste li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.sombre .liste li{color:var(--band-muted)}

/* ---------- Piliers (filet orange, sans boîte) ---------- */
.piliers{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 36px}
.pilier{border-top:2px solid var(--orange);padding-top:18px;min-width:0}
.pilier .n{font-family:var(--f-mono);font-size:12px;color:var(--orange-ink)}
.pilier h3{font-size:1.25rem;margin:8px 0 8px}
.pilier p{font-size:15.5px;color:var(--muted)}
.sombre .pilier .n{color:var(--orange)}
.sombre .pilier p{color:var(--band-muted)}
@media (max-width:980px){.piliers{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.piliers{grid-template-columns:1fr}}

/* ---------- Pourquoi (liste à icônes) ---------- */
.pourquoi-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px}
.pourquoi{display:grid;grid-template-columns:40px 1fr;gap:16px;padding-block:24px;border-bottom:1px solid var(--line);min-width:0}
.pourquoi .ico{color:var(--orange);margin-top:2px}
.pourquoi .ico svg{width:28px;height:28px;stroke-width:1.7}
.pourquoi h3{font-size:1.18rem;margin-bottom:6px}
.pourquoi p{color:var(--muted);font-size:15.5px}
@media (max-width:820px){.pourquoi-grille{grid-template-columns:1fr}}

/* ---------- Méthode (chiffres évidés) ---------- */
.etapes{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.etapes.e4{grid-template-columns:repeat(4,1fr)}
.etape{min-width:0}
.etape .n{display:block;font-family:var(--f-titre);font-weight:800;font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--orange)}
.etape h3{font-size:1.15rem;margin:12px 0 6px}
.etape p{font-size:15px;color:var(--muted)}
.etape .duree{display:inline-block;margin-top:10px;font-family:var(--f-mono);font-size:11.5px;color:var(--orange-ink);border:1px solid var(--line);padding:2px 8px;border-radius:99px}
@media (max-width:980px){.etapes,.etapes.e4{grid-template-columns:repeat(2,1fr);gap:32px 24px}}
@media (max-width:520px){.etapes,.etapes.e4{grid-template-columns:1fr}}

/* ---------- Parcours de la donnée (bande sombre) ---------- */
.flux{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--band-line);border-radius:var(--r);overflow:hidden;counter-reset:f}
.flux li{padding:22px 20px;border-right:1px solid var(--band-line);min-width:0;position:relative}
.flux li:last-child{border-right:0}
.flux .n{font-family:var(--f-mono);font-size:12px;color:var(--orange)}
.flux h3{font-size:1.08rem;margin:8px 0 6px}
.flux p{font-size:14.5px;color:var(--band-muted)}
.flux li::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .6s ease}
.flux li.actif::after{transform:none}
@media (max-width:900px){.flux{grid-template-columns:1fr}.flux li{border-right:0;border-bottom:1px solid var(--band-line)}.flux li:last-child{border-bottom:0}}
.agri-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 44px;margin-top:56px}
.agri-item{min-width:0;border-top:2px solid var(--orange);padding-top:18px}
.agri-item h3{font-size:1.22rem;margin-bottom:8px}
.agri-item p{color:var(--band-muted);font-size:15.5px}
/* Hors bande sombre, le gris de bande donnait environ 2:1 (positionnement-ux § 3.0) */
.section:not(.sombre) .agri-item p{color:var(--muted)}
@media (max-width:900px){.agri-grille{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.agri-grille{grid-template-columns:1fr}}
.preuve{margin-top:56px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:26px 30px;border:1px solid var(--band-line);border-radius:var(--r)}
.preuve .gros{font-family:var(--f-titre);font-weight:800;font-size:clamp(3rem,6vw,4.4rem);color:var(--orange);line-height:1}
.preuve p{color:var(--band-fg);font-size:1.08rem;max-width:60ch}
.preuve small{display:block;color:var(--band-muted);font-size:15px;margin-top:6px}
@media (max-width:860px){.preuve{grid-template-columns:auto 1fr}.preuve .actions{grid-column:1/-1}}
@media (max-width:560px){.preuve{grid-template-columns:1fr}}
/* Bloc d'orientation sans chiffre (accueil, lot 6) */
.preuve:not(:has(.gros)){grid-template-columns:minmax(0,1fr) auto}
@media (max-width:860px){.preuve:not(:has(.gros)){grid-template-columns:minmax(0,1fr)}}

/* ---------- Cartes (domaines d'intervention de l'accueil) ---------- */
.cas-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cas{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;min-width:0;transition:border-color var(--mv-court),transform var(--mv-moyen) var(--courbe-douce)}
.cas .ph{border-radius:0;aspect-ratio:16/10}
.cas .corps{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.cas .cas-secteur{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-ink)}
.cas h3{font-size:1.3rem}
.cas p{font-size:15px;color:var(--muted)}
.cas .lien{margin-top:auto;padding-top:6px}
@media (max-width:980px){.cas-grille{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cas-grille{grid-template-columns:1fr}}
.etude{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);padding-block:clamp(44px,6vw,72px);border-top:1px solid var(--line);scroll-margin-top:100px}
.etude:first-of-type{border-top:0;padding-top:0}
.etude .ph{aspect-ratio:4/3;position:sticky;top:110px}
.etude h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:12px 0 14px}
.fiche{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:20px 0;border:1px solid var(--line);border-radius:var(--r)}
.fiche div{padding:12px 14px;min-width:0;border-left:1px solid var(--line)}
.fiche div:first-child{border-left:0}
.fiche small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fiche b{font-size:15px}
.etude h3{font-size:1.12rem;margin:22px 0 8px}
.etude .texte p{color:var(--muted)}
.resultats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.resultats div{border:1px dashed var(--orange);border-radius:var(--r);padding:14px;background:var(--orange-soft);min-width:0}
.resultats b{display:block;font-family:var(--f-titre);font-size:1.6rem;color:var(--orange-ink);line-height:1.1}
.resultats span{font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.etude{grid-template-columns:1fr}.etude .ph{position:static}.fiche,.resultats{grid-template-columns:1fr}.fiche div{border-left:0;border-top:1px solid var(--line)}.fiche div:first-child{border-top:0}}

/* ---------- Équipe ---------- */
.equipe{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.membre{min-width:0}
.membre .ph{aspect-ratio:4/5;border-radius:var(--r)}
.membre .ph.illus{aspect-ratio:16/10}
.membre h3{font-size:1.22rem;margin-top:14px}
.membre h3:first-child{margin-top:0}
.membre .role{font-family:var(--f-mono);font-size:12.5px;color:var(--orange-ink);margin-top:6px}
.membre p{font-size:15px;color:var(--muted);margin-top:8px}
.fondateur{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:center}
.fondateur .ph{aspect-ratio:4/5}
.fondateur.sans-photo{grid-template-columns:minmax(0,76ch)}
.fondateur blockquote{margin:22px 0 0;padding:0 0 0 20px;border-left:3px solid var(--orange);font-family:var(--f-titre);font-size:1.25rem;line-height:1.4;font-weight:700;color:var(--ink)}
.parcours-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.parcours-chips span{font-family:var(--f-mono);font-size:12px;padding:5px 11px;border-radius:99px;border:1px solid var(--line)}
@media (max-width:980px){.equipe{grid-template-columns:1fr 1fr}.fondateur{grid-template-columns:1fr}.fondateur .ph{max-width:420px}}
@media (max-width:480px){.equipe{grid-template-columns:1fr}}

/* ---------- Valeurs (bande sombre de la page À propos) ---------- */
.bande-rouge{background:var(--band);color:var(--band-fg);position:relative;overflow:hidden}
.bande-rouge::after{content:"";position:absolute;right:-4%;top:-10%;width:520px;height:600px;background:url("../assets/img/kdg-symbole.png") center/contain no-repeat;opacity:.06;pointer-events:none}
.bande-rouge .wrap{position:relative;z-index:1}
.kaada{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:end;margin-bottom:44px}
.kaada .mot{font-family:var(--f-titre);font-weight:800;font-size:clamp(3.4rem,9vw,7rem);line-height:.9;color:var(--orange)}
.kaada .mot small{display:block;font-family:var(--f-mono);font-weight:400;font-size:13px;margin-top:14px;color:var(--band-muted)}
.kaada p{font-size:1.1rem;color:var(--band-muted)}
.valeurs{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}
.valeur{border-top:2px solid var(--orange);padding-top:16px;min-width:0}
.valeur h3{font-size:1.25rem;color:var(--band-fg);margin-bottom:6px}
.valeur p{font-size:15px;color:var(--band-muted)}
@media (max-width:980px){.kaada{grid-template-columns:1fr}.valeurs{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.valeurs{grid-template-columns:1fr}}

/* ---------- Tableau comparatif ---------- */
.table-zone{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table{width:100%;border-collapse:collapse;min-width:720px;font-size:15px}
th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}
thead th{font-family:var(--f-titre);font-size:15.5px;background:var(--bg)}
thead th.kdg{background:var(--band);color:var(--band-fg)}
td.kdg{background:var(--orange-soft);font-weight:600}
tbody tr:last-child>*{border-bottom:0}
.oui,.non,.mi{display:inline-flex;align-items:center;gap:8px}
.oui::before,.non::before,.mi::before{content:"";flex:none;width:16px;height:16px;border-radius:50%}
.oui::before{background:var(--leaf-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='%232E7247' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.mi::before{background:linear-gradient(90deg,var(--orange) 50%,var(--line) 50%)}
.non::before{background:var(--line)}

/* ---------- Détail des services ---------- */
.detail{display:grid;grid-template-columns:240px 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.sommaire{position:sticky;top:calc(var(--entete) + 28px);display:grid;gap:2px;border-left:1px solid var(--line)}
.sommaire a{text-decoration:none;font-size:14.5px;color:var(--muted);padding:6px 0 6px 16px;margin-left:-1px;border-left:2px solid transparent;transition:color .2s,border-color .2s}
.sommaire a:hover{color:var(--ink)}
.sommaire a.actif{color:var(--ink);font-weight:600;border-color:var(--orange)}
.service{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px;padding-block:44px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--entete) + 20px)}
.service:first-child{border-top:0;padding-top:0}
.service .tete{grid-column:1/-1;display:flex;gap:18px;align-items:flex-start}
.service .tete .ico{flex:none;width:52px;height:52px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--orange);display:grid;place-items:center}
.service .tete .ico svg{width:26px;height:26px;stroke-width:1.7}
.service h2{font-size:clamp(1.6rem,2.6vw,2.15rem)}
.service .tete p{color:var(--muted);margin-top:10px;max-width:66ch}
.service h3{font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
@media (max-width:980px){.detail{grid-template-columns:1fr}.sommaire{position:static;display:flex;flex-wrap:wrap;gap:6px;border:0}.sommaire a{border:1px solid var(--line);border-radius:99px;padding:5px 12px;margin:0;font-size:14px}.sommaire a.actif{border-color:var(--orange)}}
@media (max-width:700px){.service{grid-template-columns:1fr}}

/* ---------- Technologies ---------- */
.familles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.famille{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 24px;min-width:0}
.famille h2{font-size:1.25rem;margin-bottom:6px}
.famille p{font-size:15px;color:var(--muted);margin-bottom:14px}
@media (max-width:980px){.familles{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.familles{grid-template-columns:1fr}}

/* ---------- Onglets (agritech) ---------- */
.onglets{display:grid;grid-template-columns:290px 1fr;gap:28px;align-items:start}
.liste-onglets{display:grid;gap:4px;position:sticky;top:calc(var(--entete) + 24px)}
.liste-onglets button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:var(--r);border:1px solid transparent;background:none;cursor:pointer;font-weight:600;font-size:15.5px;color:var(--muted);transition:background .2s,color .2s,border-color .2s}
.liste-onglets button .ico{flex:none;color:var(--orange)}
.liste-onglets button svg{width:20px;height:20px}
.liste-onglets button:hover{color:var(--ink);border-color:var(--line)}
.liste-onglets button[aria-selected="true"]{background:var(--band);color:var(--band-fg);border-color:var(--band)}
html:not(.js) .liste-onglets{display:none}
html:not(.js) .onglets{grid-template-columns:1fr}
.panneau{border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--surface);min-width:0}
.panneau[hidden]{display:none}
.panneau:not([hidden]){animation:apparait .4s ease}
.panneau .ph{border-radius:0;height:clamp(220px,26vw,320px)}
.panneau .corps{padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:1.25fr .75fr;gap:30px}
.panneau h3{font-size:clamp(1.5rem,2.3vw,1.9rem);margin-bottom:12px}
.panneau .desc{color:var(--muted);margin-bottom:18px}
.encadre{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:14px;align-content:start}
.encadre small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:4px}
.encadre p{font-size:15px}
.encadre .cle{font-family:var(--f-titre);font-weight:700;font-size:1.2rem;line-height:1.25}
@keyframes apparait{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:1000px){.onglets{grid-template-columns:1fr}.liste-onglets{position:static;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
@media (max-width:700px){.panneau .corps{grid-template-columns:1fr}}

/* ---------- Innovations ---------- */
.innovations{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.innovation{border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;background:var(--surface);display:flex;flex-direction:column;gap:10px;min-width:0;transition:border-color var(--mv-court),transform var(--mv-moyen) var(--courbe-douce)}
.innovation .ico{color:var(--orange)}
.innovation .ico svg{width:28px;height:28px;stroke-width:1.7}
.innovation h3{font-size:1.15rem}
.innovation p{font-size:15px;color:var(--muted)}
.innovation .impact{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.innovation .impact b{color:var(--orange-ink)}
@media (max-width:1000px){.innovations{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.innovations{grid-template-columns:1fr}}

/* ---------- Démonstration produit ---------- */
.demo{position:relative;min-width:0;padding-bottom:30px}
.tdb{background:var(--band);border-radius:var(--r-l);padding:16px;color:var(--band-fg);box-shadow:var(--ombre);border:1px solid var(--band-line)}
.tdb-barre{display:flex;align-items:center;gap:7px;margin-bottom:14px}
.tdb-barre i{width:10px;height:10px;border-radius:50%;background:var(--band-line)}
.tdb-barre i:first-child{background:var(--orange)}
.tdb-barre span{margin-left:10px;font-family:var(--f-mono);font-size:11.5px;color:var(--band-muted)}
.tdb-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}
.tdb-kpi{background:var(--band-2);border:1px solid var(--band-line);border-radius:var(--r);padding:12px}
.tdb-kpi small{display:block;font-size:12px;color:var(--band-muted)}
.tdb-kpi b{font-family:var(--f-titre);font-size:1.55rem;font-variant-numeric:tabular-nums}
.tdb-kpi em{font-style:normal;font-family:var(--f-mono);font-size:10.5px;color:#7BC596}
.tdb-bas{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}
.tdb-bloc{background:var(--band-2);border:1px solid var(--band-line);border-radius:var(--r);padding:12px;min-width:0}
.tdb-bloc small{font-size:12px;color:var(--band-muted)}
.tdb-bloc svg{display:block;width:100%;height:auto;margin-top:6px}
.tel{position:absolute;right:-8px;bottom:0;width:min(190px,36%);background:#0A110D;border-radius:28px;padding:8px;box-shadow:var(--ombre);border:1px solid #223027}
.tel .ecran{background:#fff;border-radius:21px;overflow:hidden;color:#14211A}
.tel-tete{background:var(--orange);color:var(--on-orange);padding:12px;font-size:10.5px}
.tel-tete b{display:block;font-family:var(--f-titre);font-size:14px}
.tel svg{display:block;width:100%;height:auto}
.tel-champs{padding:10px;display:grid;gap:6px}
.tel-champs div{border:1px solid #DCE1D6;border-radius:7px;padding:5px 8px;font-size:9.5px;color:#56635A}
.tel-champs b{display:block;color:#14211A;font-size:10.5px}
.tel-btn{margin:2px 10px 12px;background:#14211A;color:#fff;text-align:center;border-radius:8px;padding:8px;font-size:10px;font-weight:600}
.fictif{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);margin-top:12px}
@media (max-width:540px){.tdb-kpis{grid-template-columns:1fr 1fr}.tdb-kpi:last-child{display:none}.tdb-bas{grid-template-columns:1fr}.tel{position:relative;right:auto;margin:-50px 0 0 auto}}

/* ---------- EUDR ---------- */
.eudr-grille{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
.compte{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 10px}
.compte div{border:1px solid var(--band-line);border-radius:var(--r);padding:14px 18px;min-width:96px;text-align:center}
.compte b{display:block;font-family:var(--f-titre);font-size:2.5rem;line-height:1;color:var(--band-fg);font-variant-numeric:tabular-nums}
.compte span{font-family:var(--f-mono);font-size:11px;color:var(--band-muted);text-transform:uppercase;letter-spacing:.1em}
.exigences{margin-top:28px;display:grid}
.exigences li{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--band-line)}
.exigences .n{font-family:var(--f-mono);font-size:13px;color:var(--orange);padding-top:3px}
.exigences b{display:block;color:var(--band-fg)}
.exigences span{font-size:15px;color:var(--band-muted)}
.quiz{background:var(--surface);color:var(--ink);border-radius:var(--r-l);padding:clamp(22px,3vw,34px);align-self:start;min-width:0;border:1px solid var(--line)}
.quiz h3{font-size:1.6rem;color:var(--ink)}
.quiz .intro{color:var(--muted);font-size:15px;margin:8px 0 18px}
.quiz-repli p{color:var(--muted);margin:0 0 18px}
.barre{height:4px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:22px}
.barre i{display:block;height:100%;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--courbe-douce)}
.question{display:none}
.question.active{display:block;animation:apparait .3s ease}
.question .num{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink);font-weight:500}
.question p{font-weight:600;font-size:1.06rem;margin:8px 0 18px;line-height:1.45}
.choix{display:grid;gap:8px}
.choix button{text-align:left;padding:13px 16px;border-radius:var(--r);border:1.5px solid var(--line-champ);background:var(--bg);cursor:pointer;font-size:15.5px;color:var(--ink);transition:border-color var(--mv-court),background-color var(--mv-court),transform var(--mv-court)}
.choix button:hover{border-color:var(--orange);background:var(--orange-soft)}
.resultat{display:none}
.resultat .num{font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink);margin:0}
.resultat.active{display:block;animation:apparait .35s ease}
.jauge{display:flex;align-items:baseline;gap:8px;margin:6px 0 10px}
.jauge b{font-family:var(--f-titre);font-size:3.4rem;line-height:1}
.niveau{display:inline-block;font-weight:700;font-size:13px;padding:4px 12px;border-radius:99px;margin-bottom:12px}
.resultat p{color:var(--muted);font-size:15.5px;margin-bottom:14px}
.resultat ul{margin-bottom:20px}
.refaire{background:none;border:0;font-size:14.5px;color:var(--muted);text-decoration:underline;cursor:pointer;margin-left:6px}
@media (max-width:920px){.eudr-grille{grid-template-columns:1fr}}

/* ---------- Secteurs ---------- */
.secteurs-liste{display:grid}
.secteur{display:grid;grid-template-columns:.9fr 1.1fr 1.1fr;gap:20px 40px;padding-block:38px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--entete) + 20px)}
.secteur:first-child{border-top:0;padding-top:0}
.secteur .tete .badge{display:inline-block;margin-bottom:10px;font-family:var(--f-mono);font-size:11px;color:var(--on-orange);background:var(--orange);padding:3px 9px;border-radius:99px}
.secteur h2{font-size:clamp(1.5rem,2.5vw,2rem)}
.secteur .tete p{color:var(--muted);margin-top:10px;font-size:15.5px}
.secteur h3{font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
@media (max-width:900px){.secteur{grid-template-columns:1fr}}

/* ---------- Ressources ---------- */
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.articles.a2{grid-template-columns:repeat(2,1fr)}
.carte-article{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;min-width:0;transition:border-color var(--mv-court),transform var(--mv-moyen) var(--courbe-douce)}
.alt .carte-article{background:var(--bg)}
.carte-article .ph{border-radius:0;aspect-ratio:16/9}
.carte-article .corps{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.carte-article .meta{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-ink)}
.carte-article h3{font-size:1.3rem}
.carte-article p{font-size:15px;color:var(--muted)}
.carte-article .lien{margin-top:auto;padding-top:6px}
@media (max-width:980px){.articles{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.articles,.articles.a2{grid-template-columns:1fr}}
.article{max-width:72ch;min-width:0}
.article section{scroll-margin-top:calc(var(--entete) + 20px)}
.article section+section{margin-top:44px}
.article h2{font-size:clamp(1.45rem,2.3vw,1.85rem);margin-bottom:14px}
.article p{font-size:17.5px;line-height:1.8;color:var(--ink-2)}
.article p+p,.article p+ul,.article ul+p,.article p+ol,.article ol+p{margin-top:14px}
.article .liste li{font-size:17px;color:var(--ink-2)}
.article .liste-num{list-style:decimal;padding-left:1.4em;display:grid;gap:8px}
.article .liste-num li{font-size:17px;color:var(--ink-2);padding-left:4px}
.article .avis{margin-bottom:28px}
.numeros{counter-reset:n;display:grid;gap:12px}
.numeros li{counter-increment:n;position:relative;padding-left:44px;font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.numeros li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:var(--f-mono);font-size:13px;color:var(--orange-ink);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
.auteur{margin-top:22px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted)}
.encart{margin-top:52px;padding:26px;border-radius:var(--r);background:var(--band);color:var(--band-fg);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.encart b{font-family:var(--f-titre);font-size:1.35rem;display:block}
.encart p{color:var(--band-muted)!important;font-size:15px!important}

/* ---------- FAQ ---------- */
.faq{max-width:880px;margin-inline:auto;display:grid;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 4px;font-family:var(--f-titre);font-weight:700;font-size:1.12rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--f-mono);font-size:16px;color:var(--orange-ink);transition:transform var(--mv-moyen) var(--courbe-douce)}
.faq details[open] summary::after{transform:rotate(45deg);border-color:var(--orange)}
.faq summary:hover{color:var(--orange-ink)}
.faq .rep{padding:0 4px 22px;color:var(--muted);font-size:16px;max-width:72ch}

/* ---------- Appel à l'action (bande sombre arrondie) ---------- */
.cta{padding-block:clamp(40px,5vw,72px)}
.cta-boite{position:relative;overflow:hidden;border-radius:var(--r-l);background:var(--band);color:var(--band-fg);padding:clamp(30px,5vw,56px);display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center}
.cta-boite::after{content:"";position:absolute;right:3%;top:50%;transform:translateY(-50%);width:220px;height:250px;background:url("../assets/img/kdg-symbole.png") center/contain no-repeat;opacity:.08;pointer-events:none}
.cta-boite>*{position:relative;z-index:1}
.cta-boite h2{font-size:clamp(1.8rem,3.6vw,2.7rem);color:var(--band-fg)}
.cta-boite p{color:var(--band-muted);margin-top:12px;max-width:54ch}
.cta-boite .actions{justify-content:flex-end}
.cta-boite .btn-s{border-color:var(--band-line);color:var(--band-fg)}
.cta-boite .btn-s:hover{border-color:var(--band-fg)}
@media (max-width:860px){.cta-boite{grid-template-columns:1fr}.cta-boite .actions{justify-content:flex-start}}

/* ---------- Contact (site sans formulaires, ADR-019) ---------- */
.contact-grille{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:start}
.coordonnees{display:grid;border-top:1px solid var(--line)}
.coord{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.coord .ico{color:var(--orange)}
.coord svg{width:22px;height:22px}
.coord small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.coord a,.coord span.val{font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.coord a:hover{color:var(--orange-ink)}

.compteur{display:block;text-align:right;font-family:var(--f-mono);font-size:11.5px;color:var(--muted);margin-top:4px}

.btn[aria-disabled="true"]{opacity:.7;cursor:progress}

@media (max-width:900px){.contact-grille{grid-template-columns:1fr}}

/* Bande de contact (accueil) */
.contact-bande .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px)}
.contact-bande h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-block:14px 18px}
.contact-bande .coords{margin-top:28px;display:grid;gap:0}
.contact-bande .coords div{display:grid;grid-template-columns:110px 1fr;gap:12px;border-top:1px solid var(--band-line);padding:12px 0}
.contact-bande .coords .k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted);padding-top:3px}
.contact-bande .coords a{text-decoration:none}
.contact-bande .coords a:hover{color:var(--orange)}

/* Bloc de contact direct : e-mail, téléphone, WhatsApp, à la place des formulaires (ADR-019) */
.contact-direct{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(22px,3.4vw,38px);display:grid;gap:16px;align-content:start;min-width:0}
.contact-direct .contact-titre{font-size:1.7rem}
.contact-direct p{color:var(--ink-2);font-size:16px}
.contact-direct p a{font-weight:600;color:var(--orange-ink);overflow-wrap:anywhere}
.contact-direct .liste{margin:0}
.contact-direct .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.contact-direct .contact-note{font-size:14px;color:var(--muted)}
.contact-bande .contact-direct{background:var(--band-2);border-color:var(--band-line);align-self:start}
.contact-bande .contact-direct .contact-titre{color:var(--band-fg)}
.contact-bande .contact-direct p{color:var(--band-muted)}
.contact-bande .contact-direct p a{color:var(--band-fg)}
@media (max-width:860px){.contact-bande .wrap{grid-template-columns:1fr}}

/* ---------- Postes ---------- */
.filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.filtres button{padding:7px 14px;border-radius:99px;border:1.5px solid var(--line);background:var(--bg);font-size:14.5px;font-weight:600;cursor:pointer;transition:background-color var(--mv-court),color var(--mv-court),border-color var(--mv-court),transform var(--mv-court)}
.filtres button[aria-pressed="true"]{background:var(--band);color:var(--band-fg);border-color:var(--band)}
.filtres .compte-postes{align-self:center;margin-left:auto;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.postes{display:grid;border-top:1px solid var(--line)}
.poste{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:background-color var(--mv-court)}
.poste>*:first-child{transition:transform var(--mv-moyen) var(--courbe-douce)}
.poste[hidden]{display:none}
.poste h3{font-size:1.25rem}
.poste p{font-size:15px;color:var(--muted);margin-top:4px}
.poste .puces{margin-top:10px}
@media (max-width:600px){.poste{grid-template-columns:1fr}}

/* ---------- Pied de page ---------- */
.pied{background:var(--band);color:var(--band-muted);font-size:15px}

.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:32px;padding-block:48px 34px}
.pied-grille h2{font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--band-fg);margin-bottom:16px}
.pied-grille li{margin-bottom:9px}
.pied-grille a{text-decoration:none;transition:color .2s}
.pied-grille a:hover{color:var(--band-fg)}
.reseaux{display:flex;gap:10px;margin-top:20px}
.reseaux a{width:38px;height:38px;border-radius:50%;border:1px solid var(--band-line);display:grid;place-items:center;transition:background .2s,border-color .2s}
.reseaux a:hover{background:var(--orange);border-color:var(--orange)}
.reseaux svg{width:16px;height:16px;fill:var(--band-fg)}
.pied-bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:22px;border-top:1px solid var(--band-line);font-family:var(--f-mono);font-size:12px}
.pied-bas a{text-decoration:none}
.pied-bas a:hover{color:var(--band-fg)}
@media (max-width:900px){.pied-grille{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pied-grille{grid-template-columns:1fr}}

/* ---------- WhatsApp, retour en haut, barre mobile ---------- */
.whatsapp{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:90;width:54px;height:54px;border-radius:50%;background:#25D366;border:2px solid #14211A;display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.45);transition:transform var(--mv-court)}
.whatsapp:hover{transform:scale(1.06)}
.whatsapp svg{width:27px;height:27px;fill:#14211A}
.haut{position:fixed;right:24px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:89;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--ink);box-shadow:var(--ombre-s);display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;cursor:pointer}
.haut.visible{opacity:1;visibility:visible}
.haut svg{width:18px;height:18px;stroke-width:2.2}
.barre-mobile{display:none}
@media (max-width:760px){
  .whatsapp{display:none}
  .barre-mobile{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:4px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:95;padding:5px;border-radius:99px;background:color-mix(in srgb,var(--band) 94%,transparent);backdrop-filter:blur(14px);border:1px solid var(--band-line);box-shadow:0 20px 40px -18px rgba(10,17,13,.6);transition:transform .4s cubic-bezier(.2,1.2,.3,1)}
  .barre-mobile.cachee{transform:translateY(calc(100% + 30px))}
  .barre-mobile a{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;border-radius:99px;padding:11px 8px;color:var(--band-fg);white-space:nowrap}
  .barre-mobile a svg{width:18px;height:18px}
  .barre-mobile a.principal{background:var(--orange);color:var(--on-orange);border-color:var(--orange)}
  body{padding-bottom:84px}
  .haut{bottom:calc(84px + env(safe-area-inset-bottom,0px));right:14px}
}

/* ---------- Pages simples ---------- */
.page-texte{max-width:76ch}
.page-texte h2{font-size:1.4rem;margin:36px 0 10px}
.page-texte p{color:var(--muted)}
.page-texte h3{font-size:1.12rem;margin:24px 0 8px}
.page-texte p+p,.page-texte .liste+p{margin-top:10px}
.introuvable{min-height:62vh;display:grid;place-items:center;text-align:center}
.merci-suite{max-width:52ch;margin:0 auto;text-align:left;display:grid;gap:10px;padding-left:1.2em;list-style:disc;color:var(--ink-2)}
.introuvable .code{font-family:var(--f-titre);font-weight:800;font-size:clamp(6rem,18vw,11rem);line-height:.9;color:var(--orange)}

/* ---------- Apparition au défilement (sobre) ---------- */
/* Apparition par la propriété translate : elle ne masque pas les transform de survol des cartes (QA-AN-01) ;
   la liste de transitions reprend celles des cartes, sans délai pour le survol */
.js .rv{opacity:.001;translate:0 14px;transition:opacity .6s ease,translate .6s cubic-bezier(.2,.7,.2,1),transform var(--mv-moyen) var(--courbe-douce),border-color var(--mv-court),background-color var(--mv-court)}
.js .rv.vu{opacity:1;translate:none}
/* Filet (F-24) : si main.js ne s'exécute pas, les blocs apparaissent quand même après 3 s ; avec le script, .vu est posé avant */
@keyframes rv-secours{to{opacity:1;translate:none}}
.js .rv:not(.vu){animation:rv-secours .6s ease 3s forwards}
.js .rv.d1{transition-delay:.06s,.06s,0s,0s,0s}.js .rv.d2{transition-delay:.12s,.12s,0s,0s,0s}.js .rv.d3{transition-delay:.18s,.18s,0s,0s,0s}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;translate:none}}
@view-transition{navigation:auto}

/* ---------- Petits écrans (QA-01, QA-02) ----------
   Les pistes 1fr valent minmax(auto,1fr) : un contenu insécable (champ, bouton) élargissait la page. */

@media (max-width:860px){.cta-boite,.contact-bande .wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.contact-bande .coords div{grid-template-columns:84px minmax(0,1fr)}.contact-bande .coords a,.contact-bande .coords span{overflow-wrap:anywhere}}

@media (max-width:420px){
  .btn{white-space:normal;text-align:center}
  .entete .wrap{gap:10px}
  .logo img{width:181px;margin-left:-7.2px}
  .bouton-menu{gap:8px;padding:0 12px}
  .barre-mobile{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.5fr)}
  .barre-mobile a{font-size:13px;gap:4px;padding-inline:4px}
  .barre-mobile a svg{width:16px;height:16px}
}
/* Très petits écrans : Appeler et WhatsApp en icône seule (le texte reste le nom accessible), le libellé principal garde la place */
@media (max-width:340px){
  .barre-mobile{grid-template-columns:auto auto minmax(0,1fr)}
  .barre-mobile a:not(.principal){font-size:0;padding-inline:14px}
  .barre-mobile a:not(.principal) svg{width:18px;height:18px}
}
::view-transition-old(root){animation:fondu-sortie .18s ease both}
::view-transition-new(root){animation:fondu-entree .3s ease both}
@keyframes fondu-sortie{to{opacity:0}}
@keyframes fondu-entree{from{opacity:0}}
@media (max-width:1100px) and (min-width:901px){.pied-grille{grid-template-columns:repeat(4,1fr)}.pied-grille>div:first-child{grid-column:1/-1}}

/* ==========================================================================
   Animations et micro-interactions (docs/specs/animations.md ; charte ch. 02 et 05)
   Mouvement par transform et opacity seulement ; survols réservés aux pointeurs fins
   ========================================================================== */
/* Logo animé (ADR-018, exception à la charte ch. 02) : seul le monogramme s'incline, autour du centre du carré ;
   le nom et la signature restent fixes, aucune couleur ne change */
.logo-anime{display:grid}
.logo-anime>.logo-mono,.logo-anime>.logo-nom{grid-area:1/1}
.logo-nom{display:block}
.logo-mono{transform-origin:13.93% 50%}
@media (prefers-reduced-motion:no-preference){
  .logo-mono{transition:transform .4s var(--courbe-rebond)}
  .logo-anime:hover .logo-mono,.logo-anime:focus-visible .logo-mono,.logo-anime:active .logo-mono{transform:rotate(-11deg)}
}

/* Survol (pointeur fin) */
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px)}
  a.tuile:hover,a.cas:hover,a.carte-article:hover,.grille-exp>a:hover,.innovation:hover{transform:translateY(-3px);border-color:var(--ink)}
  .grille-exp>a:hover{background:var(--surface)}
  .sombre a.tuile:hover{border-color:var(--band-fg)}
  .poste:hover{background:var(--bg)}
  .poste:hover>*:first-child{transform:translateX(6px)}
  .lien:hover{text-decoration-color:currentColor}
  .pm-sous a:hover b{transform:translateX(4px)}
  .filtres button:hover{border-color:var(--ink-2)}
}
/* Focus clavier : mêmes effets ; le contour apparaît sans transition */
.btn:focus-visible{transform:translateY(-2px)}
.btn:focus-visible svg,.lien:focus-visible svg{transform:translateX(3px)}
a.tuile:focus-visible,a.cas:focus-visible,a.carte-article:focus-visible,.grille-exp>a:focus-visible{transform:translateY(-3px);border-color:var(--ink)}
.sombre a.tuile:focus-visible{border-color:var(--band-fg)}
.poste:focus-visible>*:first-child{transform:translateX(6px)}
.lien:focus-visible{text-decoration-color:currentColor}
.pm-sous a:focus-visible b{transform:translateX(4px)}
/* Appui, écrans tactiles compris */
.btn:active{transform:translateY(0) scale(.97)}
a.tuile:active,a.cas:active,a.carte-article:active,.grille-exp>a:active{transform:translateY(-1px)}
.filtres button:active{transform:scale(.96)}

.choix button:active{transform:scale(.98)}
.whatsapp:active,.haut:active{transform:scale(.94)}
.haut{transition:opacity .3s,visibility .3s,transform var(--mv-court)}
/* Apparitions */
.poste:not([hidden]){animation:apparait .3s var(--courbe-douce)}
.faq details[open]>:not(summary){animation:apparait .3s var(--courbe-douce)}
[data-compteur]{font-variant-numeric:tabular-nums}

/* Onglets Agritech : indicateur qui glisse (seul transform est animé) */
.liste-onglets{position:relative}
@media (max-width:1000px){.liste-onglets{position:relative}}
.onglets-indic{position:absolute;left:0;top:0;z-index:0;border-radius:var(--r);background:var(--band);pointer-events:none}
.liste-onglets.indic-pret .onglets-indic{transition:transform .35s var(--courbe-douce)}
.liste-onglets button{position:relative;z-index:1}
.liste-onglets.indic-pret button[aria-selected="true"]{background:none;border-color:transparent}

/* Illustrations en ligne : couleurs (mêmes valeurs que les fichiers -clair / -sombre) */
:root{--it-t:#14211A;--it-m:#56635A;--it-a:#B44B03;--it-p:#EC6508;--it-c:#6B3A1F;--it-l:#2E7247;--it-f:#E2C38E;--it-fo:.45;--it-d:#FFFFFF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--it-t:#EEF2EA;--it-m:#A9B5AA;--it-a:#EC6508;--it-c:#C8A47A;--it-l:#5FB27E;--it-fo:.14;--it-d:#1B2A21}}
:root[data-theme="dark"],.sombre{--it-t:#EEF2EA;--it-m:#A9B5AA;--it-a:#EC6508;--it-c:#C8A47A;--it-l:#5FB27E;--it-fo:.14;--it-d:#1B2A21}
.illus-trace{display:block;width:100%;height:auto}
.ph.illus .illus-trace{position:absolute;inset:0;height:100%}
.illus-trace :is(.it-t,.it-m,.it-a,.it-c,.it-l){fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.it-t{stroke:var(--it-t)}.it-m{stroke:var(--it-m)}.it-a{stroke:var(--it-a)}.it-c{stroke:var(--it-c)}.it-l{stroke:var(--it-l)}
.it-p{fill:var(--it-p)}.it-k{fill:var(--it-c)}.it-f{fill:var(--it-f);fill-opacity:var(--it-fo)}.it-d{fill:var(--it-d)}.it-q{fill:var(--it-a)}
/* Tracé progressif à l'apparition, une seule fois, 1 s au total */
.js .illus-anim :is(.it-t,.it-m,.it-a,.it-c,.it-l){stroke-dasharray:1;stroke-dashoffset:1}
.js .illus-anim :is(.it-p,.it-k,.it-f,.it-d,.it-q){opacity:0}
.js .illus-anim.vu :is(.it-t,.it-m,.it-a,.it-c,.it-l){stroke-dashoffset:0;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}
.js .illus-anim.vu :is(.it-p,.it-k,.it-f,.it-d,.it-q){opacity:1;transition:opacity .4s ease .6s}
/* Secours si main.js ne s'exécute pas (pas de classe anim-pret) : tracé complet à 3 s */
@keyframes trace-secours{to{stroke-dashoffset:0}}
@keyframes plein-secours{to{opacity:1}}
.js:not(.anim-pret) .illus-anim:not(.vu) :is(.it-t,.it-m,.it-a,.it-c,.it-l){animation:trace-secours 1s ease 2s forwards}
.js:not(.anim-pret) .illus-anim:not(.vu) :is(.it-p,.it-k,.it-f,.it-d,.it-q){animation:plein-secours .4s ease 2.6s forwards}
/* Mouvement réduit : états finaux explicites (la règle globale coupe déjà animations et transitions) */
@media (prefers-reduced-motion:reduce){
  .js .illus-anim :is(.it-t,.it-m,.it-a,.it-c,.it-l){stroke-dashoffset:0}
  .js .illus-anim :is(.it-p,.it-k,.it-f,.it-d,.it-q){opacity:1}
}
/* SANKORA:DEBUT */
/* ==========================================================================
   Sankora · page produit et encarts
   Identité propre du produit (vert feuille #17573A, symbole cabosse-parcelle),
   signée Kaada Group ; l'orange KDG reste réservé aux actions.
   ========================================================================== */
:root{--sk:#17573A;--sk-fort:#0F3F29;--sk-soft:#ECF4EF;--sk-100:#D6E8DD;--sk-texte:#17573A;--sk-ok:#2E7247;--sk-av:#B86A00;--sk-ri:#C8361C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--sk-soft:#122219;--sk-100:#1C3326;--sk-texte:#7CC79C;--sk-ok:#6FBF8C;--sk-av:#F2A33A;--sk-ri:#FF7A63}}
:root[data-theme="dark"]{--sk-soft:#122219;--sk-100:#1C3326;--sk-texte:#7CC79C;--sk-ok:#6FBF8C;--sk-av:#F2A33A;--sk-ri:#FF7A63}

.sk-marque{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.sk-marque b{display:block;font-family:var(--f-titre);font-weight:800;font-size:1.65rem;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.sk-marque small{display:block;margin-top:5px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sk-symbole{flex:none;border-radius:11px;box-shadow:0 8px 22px -12px rgba(23,87,58,.7)}
.sk-vert{color:var(--sk-texte)}

/* Héros */
.sk-hero{position:relative;overflow:hidden;padding-block:clamp(40px,5vw,72px) clamp(56px,6vw,88px);background:
  radial-gradient(900px 420px at 88% 18%,color-mix(in srgb,var(--sk) 16%,transparent),transparent 70%),
  linear-gradient(180deg,var(--sk-soft),var(--bg));border-bottom:1px solid var(--line)}
.sk-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--sk) 22%,transparent) 1px,transparent 1.4px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);opacity:.55;pointer-events:none}
.sk-hero>.wrap{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,64px);align-items:center}
.sk-hero .sk-marque{margin:26px 0 22px}
.sk-hero h1{max-width:17ch;margin-bottom:18px}
.sk-hero .actions{margin-top:28px}
.sk-preuves{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px}
.sk-preuves li{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink-2)}
.sk-preuves li::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--sk-texte);transform:rotate(45deg)}
@media (max-width:960px){.sk-hero>.wrap{grid-template-columns:1fr}.sk-app{max-width:600px}}

/* Aperçu de l'application (illustratif) */
.sk-app{margin:0;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(15,63,41,.5);overflow:hidden;font-size:13px}
.sk-app-barre{display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.sk-pts{display:flex;gap:6px}.sk-pts i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.sk-url{font-family:var(--f-mono);font-size:11.5px;color:var(--muted)}
.sk-app-corps{padding:16px;display:grid;gap:14px}
.sk-app-tete{display:flex;align-items:center;gap:10px}
.sk-app-tete b{font-family:var(--f-titre);font-size:15px}
.sk-mini{border-radius:7px}
.sk-badge{margin-left:auto;font-family:var(--f-mono);font-size:11px;padding:4px 9px;border-radius:99px;background:var(--sk-soft);color:var(--sk-texte);border:1px solid var(--sk-100)}
.sk-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sk-kpis div{padding:10px 11px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--bg)}
.sk-kpis small{display:block;font-size:11px;color:var(--muted);line-height:1.25;min-height:2.5em}
.sk-kpis b{display:block;margin-top:4px;font-family:var(--f-titre);font-size:1.25rem;letter-spacing:-.02em}
.sk-kpis .ok{background:var(--sk);border-color:var(--sk)}.sk-kpis .ok small{color:#CFE5D8}.sk-kpis .ok b{color:#fff}
.sk-app-bas{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}
.sk-plan{width:100%;height:auto;display:block}
.sk-plan-fond{fill:#E4EEDD}.sk-plan-sol{fill:#D3E4C8}
.sk-p-ok{fill:rgba(46,114,71,.2);stroke:#2E7247}.sk-p-av{fill:rgba(236,101,8,.22);stroke:#EC6508}.sk-p-ri{fill:rgba(200,54,28,.2);stroke:#C8361C}
.sk-plan-pts circle{fill:#fff;stroke:#2E7247;stroke-width:1.4}
.sk-lot{border:1px solid var(--line);border-radius:var(--r-s);padding:11px 12px;display:flex;flex-direction:column;gap:6px}
.sk-lot-id{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.sk-lot b{font-family:var(--f-titre);font-size:14px}
.sk-lot ul{display:grid;gap:4px}
.sk-lot li{font-size:11.5px;color:var(--ink-2);padding-left:16px;position:relative}
.sk-lot li::before{content:"";position:absolute;left:0;top:4px;width:9px;height:9px;border-radius:50%;background:var(--sk-ok)}
.sk-etat{margin-top:auto;align-self:flex-start;font-size:11px;font-weight:600;padding:4px 9px;border-radius:99px;background:var(--orange-soft);color:var(--orange-ink)}
.sk-app figcaption{padding:8px 16px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:560px){.sk-kpis{grid-template-columns:1fr 1fr}.sk-app-bas{grid-template-columns:1fr}}

/* Échéance RDUE */
.sk-echeance{background:var(--sk);color:#EAF4EE}
.sk-echeance .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-block:18px}
.sk-echeance b{font-family:var(--f-titre);font-size:1.7rem;letter-spacing:-.02em;color:#fff}
.sk-echeance p{flex:1 1 360px;font-size:15.5px}
.sk-echeance .lien{color:#fff}

/* Chaîne des modules */
.sk-chaine{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--surface)}
.sk-chaine li{border-right:1px solid var(--line);position:relative}
.sk-chaine li:last-child{border-right:0}
.sk-chaine a{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px 20px 24px;text-decoration:none;transition:background .2s}
.sk-chaine a:hover{background:var(--sk-soft)}
.sk-chaine .n{font-family:var(--f-mono);font-size:12px;color:var(--sk-texte)}
.sk-chaine b{font-family:var(--f-titre);font-size:1.12rem}
.sk-chaine small{font-size:14.5px;color:var(--muted);line-height:1.5}
.sk-chaine li:not(:last-child)::after{content:"";position:absolute;right:-7px;top:26px;width:12px;height:12px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface);transform:rotate(45deg);z-index:1}
@media (max-width:980px){.sk-chaine{grid-template-columns:1fr 1fr}.sk-chaine li{border-bottom:1px solid var(--line)}.sk-chaine li::after{display:none}.sk-chaine li:nth-child(2n){border-right:0}}
@media (max-width:560px){.sk-chaine{grid-template-columns:1fr}.sk-chaine li{border-right:0}}

/* Blocs modules */
.sk-sur{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sk-texte)}
.sk-sur .ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--sk-soft);border:1px solid var(--sk-100)}
.sk-sur svg{width:18px;height:18px}
.sk-visuel{display:grid;place-items:center;padding:clamp(18px,3vw,34px);border-radius:var(--r-l);background:linear-gradient(160deg,var(--sk-soft),transparent 75%);border:1px solid var(--line)}
.sk-diag,.sk-dossier,.sk-alertes{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--ombre-s);overflow:hidden}
.sk-diag-tete{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.sk-diag-tete b{font-family:var(--f-titre);font-size:15px}
.sk-diag-tete span{font-family:var(--f-mono);font-size:11.5px;color:var(--muted)}
.sk-diag ul,.sk-alertes ul{display:grid}
.sk-diag li{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;padding:11px 16px 11px 30px;border-bottom:1px solid var(--line);font-size:14px;position:relative}
.sk-diag li:last-child{border-bottom:0}
.sk-diag li span{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.sk-diag li::before,.sk-alertes li::before{content:"";position:absolute;left:14px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%}
:is(.sk-diag,.sk-alertes) .ok::before{background:var(--sk-ok)}:is(.sk-diag,.sk-alertes) .av::before{background:var(--sk-av)}:is(.sk-diag,.sk-alertes) .ri::before{background:var(--sk-ri)}
.sk-trajet{width:100%;max-width:440px;display:grid;gap:0;counter-reset:t}
.sk-trajet li{position:relative;padding:0 0 22px 46px}
.sk-trajet li:last-child{padding-bottom:0}
.sk-trajet li::before{counter-increment:t;content:counter(t);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--sk);color:#fff;font-family:var(--f-mono);font-size:12px}
.sk-trajet li::after{content:"";position:absolute;left:14.5px;top:32px;bottom:2px;width:1px;background:var(--sk-100)}
.sk-trajet li:last-child::after{display:none}
.sk-trajet b{display:block;font-family:var(--f-titre);font-size:1.05rem}
.sk-trajet span{display:block;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);margin-top:2px}
.sk-trajet li:last-child::before{background:var(--orange);color:var(--on-orange)}
.sk-fichiers{display:grid}
.sk-fichiers li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);font-size:14.5px}
.sk-fichiers li:last-child{border-bottom:0}
.sk-fichiers .ext{flex:none;width:44px;text-align:center;font-family:var(--f-mono);font-size:10.5px;padding:4px 0;border-radius:5px;background:var(--sk-soft);color:var(--sk-texte);border:1px solid var(--sk-100)}
.sk-alertes li{position:relative;padding:11px 16px 11px 30px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.sk-alertes li b{display:block;font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sk-courbe{padding:12px 16px 14px}
.sk-courbe svg{width:100%;height:56px;display:block;stroke:var(--sk-texte)}
.sk-courbe span{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.sk-tel{width:250px;padding:12px;border-radius:30px;background:#0F1712;box-shadow:var(--ombre)}
.sk-tel-ecran{border-radius:20px;background:#F5F6F1;color:#14211A;padding:16px 14px;display:grid;gap:10px;min-height:380px;align-content:start}
.sk-tel-haut{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid #DCE1D6}
.sk-tel-haut b{font-family:var(--f-titre);font-size:15px}
.sk-tel-haut .hors{font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:99px;background:#FBEADB;color:#B44B03}
.sk-tel-champ{background:#fff;border:1px solid #DCE1D6;border-radius:9px;padding:8px 10px;font-size:13.5px}
.sk-tel-champ small{display:block;font-size:10.5px;color:#56635A}
.sk-tel-sync{margin-top:6px;display:grid;gap:6px;padding:10px;border-radius:9px;background:#17573A;color:#DCEDE3;font-size:12.5px}
.sk-tel-sync b{color:#fff;font-family:var(--f-titre);font-size:15px}

/* Publics */
.sk-publics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sk-public{padding:28px 26px;border-radius:var(--r-l);border:1px solid var(--band-line);background:var(--band-2)}
.sk-public .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--sk);color:#fff;margin-bottom:18px}
.sk-public .ico svg{width:22px;height:22px}
.sk-public h3{font-size:1.3rem;margin-bottom:10px}
.sk-public p{color:var(--band-muted);font-size:15.5px;margin-bottom:16px}
@media (max-width:960px){.sk-publics{grid-template-columns:1fr}}

/* Étapes */
.sk-etapes{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.sk-etapes li{border-top:2px solid var(--sk);padding-top:16px}
.sk-etapes .n{font-family:var(--f-mono);font-size:12px;color:var(--sk-texte)}
.sk-etapes h3{font-size:1.15rem;margin:6px 0 8px}
.sk-etapes p{font-size:15px;color:var(--muted)}
@media (max-width:980px){.sk-etapes{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.sk-etapes{grid-template-columns:1fr}}

/* Appel à l'action Sankora */
.sk-cta{background:linear-gradient(135deg,var(--sk-fort),#14211A 80%)}
.sk-cta::after{display:none}
.sk-cta .sk-symbole{margin-bottom:18px}
.sk-cta p{color:#C6D8CD}

/* Encart Sankora (accueil, agritech) */
.sk-encart{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(28px,4.5vw,56px);border-radius:var(--r-l);background:linear-gradient(150deg,var(--sk-soft),var(--surface) 70%);border:1px solid var(--sk-100);position:relative;overflow:hidden}
.sk-encart::after{content:"";position:absolute;right:-60px;bottom:-60px;width:260px;height:260px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--sk) 35%,transparent);pointer-events:none}
.sk-encart .sk-marque{margin-bottom:22px}
.sk-encart .eyebrow{display:flex}
.sk-encart h2{margin:12px 0 14px}
.sk-encart .actions{margin-top:24px}
.sk-encart-liste{display:grid;gap:0;border-top:1px solid var(--sk-100);position:relative;z-index:1}
.sk-encart-liste li{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;padding:13px 0;border-bottom:1px solid var(--sk-100)}
.sk-encart-liste .n{grid-row:span 2;font-family:var(--f-mono);font-size:12px;color:var(--sk-texte);padding-top:3px}
.sk-encart-liste b{font-family:var(--f-titre);font-size:1.05rem}
.sk-encart-liste small{font-size:14px;color:var(--muted);line-height:1.45}
@media (max-width:900px){.sk-encart{grid-template-columns:1fr}}

/* ---------- Sankora en action (démonstration animée) ---------- */
.sk-action{background:radial-gradient(1000px 520px at 50% 0%,#17573A55,transparent 70%),#0B1510;color:#EAF1EC;position:relative;overflow:hidden}
.sk-action::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 50% 30%,#000,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 30%,#000,transparent 75%);pointer-events:none}
.sk-action .wrap{position:relative}
.sk-action h2{color:#fff}
.sk-action .eyebrow{color:#FF9A52}
.sk-action .lead{color:#A9BDB0}
.sk-lecteur{margin-top:8px}
.sk-onglets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.sk-onglets button{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;text-align:left;padding:14px 16px 16px;border-radius:12px;border:1px solid #22362B;background:#0F1D16;color:#A9BDB0;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.sk-onglets button:hover{border-color:#2E4E3C;color:#EAF1EC}
.sk-onglets button[aria-selected="true"]{background:#13261C;border-color:#2E7247;color:#fff}
.sk-o-n{font-family:var(--f-mono);font-size:12px;color:#FF9A52}
.sk-onglets b{font-family:var(--f-titre);font-size:1.02rem;font-weight:700;line-height:1.2}
.sk-o-barre{grid-column:1/-1;height:3px;border-radius:3px;background:#22362B;overflow:hidden;margin-top:8px}
.sk-o-barre i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2E7247,#EC6508)}
.sk-onglets button[aria-selected="true"] .sk-o-barre i{width:100%}
.anime .sk-onglets button[aria-selected="true"]:not(.joue) .sk-o-barre i{width:0}
.sk-onglets button.joue .sk-o-barre i{animation:skBarre var(--duree) linear forwards}
@keyframes skBarre{from{width:0}to{width:100%}}
.sk-scene-texte{text-align:center;color:#C9D9CF;font-size:1.05rem;max-width:70ch;margin:0 auto 22px}
.sk-scene-grille{display:grid;grid-template-columns:1.5fr .9fr;gap:18px;align-items:stretch}
.sk-scene-visuel{display:grid;border-radius:16px;overflow:hidden;border:1px solid #22362B;box-shadow:0 50px 90px -40px #000,0 0 0 1px #ffffff05 inset;background:#0F1D16}
.sk-carte{display:block;width:100%;height:100%;min-height:100%}
.sk-mention{margin-top:16px;text-align:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6F8578}
@media (max-width:980px){.sk-scene-grille{grid-template-columns:1fr}}
@media (max-width:700px){.sk-onglets{grid-template-columns:1fr}.sk-onglets button:not([aria-selected="true"]) .sk-o-barre{display:none}}

/* Carte : éléments communs */
.sk-carte text{font-family:var(--f-texte)}
.sk-voisine{fill:rgba(46,114,71,.16);stroke:#2E7247;stroke-width:1.6;stroke-dasharray:5 4}
.sk-etiq-voisine{font-family:var(--f-mono)!important;font-size:11px;fill:#2E5236;text-anchor:middle}
.sk-trace{fill:none;stroke:#EC6508;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round;transition:stroke .6s}
.anime .sk-trace{stroke-dasharray:1;stroke-dashoffset:1}
.anime .sk-trace.on{stroke-dashoffset:0;transition:stroke-dashoffset 1.9s ease-in-out,stroke .6s}
.sk-remplissage{fill:rgba(46,114,71,.32);transition:opacity .8s}
.anime .sk-remplissage{opacity:0}.anime .sk-remplissage.on{opacity:1}
.sk-remplissage.on~.sk-trace,.sk-lecteur:not(.anime) .sk-trace{stroke:#1F6B3F}
.sk-fermeture{fill:none;stroke:#1F6B3F;stroke-width:3.2;stroke-linecap:round}
.anime .sk-fermeture{stroke-dasharray:1;stroke-dashoffset:1}
.anime .sk-fermeture.on{stroke-dashoffset:0;transition:stroke-dashoffset .8s ease-out}
.sk-trou{fill:none;stroke:#C8361C;stroke-width:2.4;stroke-dasharray:4 5;opacity:0;transition:opacity .4s}
.anime .sk-trou.on{opacity:1}
.sk-fermeture.on+.sk-trou{opacity:0}
.sk-pt{fill:#fff;stroke:#EC6508;stroke-width:2.6;transform-box:fill-box;transform-origin:center;transition:transform .35s cubic-bezier(.3,1.6,.5,1),opacity .4s,stroke .6s}
.anime .sk-pt{transform:scale(0)}.anime .sk-pt.on{transform:scale(1)}
.sk-pt-pointe{stroke:#C8361C}
.anime .sk-pt-pointe.on.on2,.sk-lecteur:not(.anime) .sk-pt-pointe{opacity:0}
.sk-remplissage.on~.sk-pt,.sk-lecteur:not(.anime) .sk-pt{stroke:#1F6B3F}
.sk-pt-neuf{stroke:#1F6B3F}
.sk-balayage{fill:rgba(236,101,8,.16);stroke:none;opacity:0}
.anime .sk-balayage.on{animation:skBalayer 1.7s ease-in-out forwards}
.sk-balayage-v{fill:rgba(255,255,255,.18)}
.anime .sk-balayage-v.on{animation:skBalayerV 3.4s ease-in-out forwards}
@keyframes skBalayer{0%{opacity:1;transform:translateY(0)}90%{opacity:1}100%{opacity:0;transform:translateY(470px)}}
@keyframes skBalayerV{0%{opacity:1;transform:translateX(0)}90%{opacity:1}100%{opacity:0;transform:translateX(720px)}}
.sk-alerte{transition:opacity .4s,transform .4s}
.anime .sk-alerte{opacity:0}.anime .sk-alerte.on{opacity:1}
.anime .sk-alerte.on.on2,.sk-lecteur:not(.anime) #sk-s-polygones .sk-alerte{opacity:0}
.sk-alerte rect{fill:#14211A;stroke:#ffffff22}
.sk-alerte .t1{font-size:13.5px;font-weight:700;fill:#fff}
.sk-alerte .t2{font-size:11.5px;fill:#F6B98B}
.sk-alerte-pt{fill:#C8361C;stroke:#fff;stroke-width:2.5}
.sk-onde{fill:none;stroke:#C8361C;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:skOnde 1.6s ease-out infinite}
@keyframes skOnde{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
.sk-sceau{transition:opacity .5s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.anime .sk-sceau{opacity:0}.anime .sk-sceau.on{opacity:1}
.sk-sceau rect{fill:#17573A;stroke:#fff;stroke-width:2;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.sk-sceau .t1{font-size:15px;font-weight:700;fill:#fff}
.sk-sceau .t2{font-size:11px;fill:#CFE5D8}

/* Carte : déforestation */
.sk-foret-bord{fill:none;stroke:#183F24;stroke-width:2;stroke-dasharray:6 5}
.sk-foret-lab{font-family:var(--f-mono)!important;font-size:12px;fill:#fff;paint-order:stroke;stroke:#183F24;stroke-width:3px}
.sk-perte{fill:#E8553A;stroke:#7A1F10;stroke-width:.8;transform-box:fill-box;transform-origin:center;transition:transform .3s cubic-bezier(.3,1.6,.5,1),opacity .3s}
.sk-perte-ancienne{fill:#F2A33A;stroke:#7A4A00}
.anime .sk-perte{opacity:0;transform:scale(0)}.anime .sk-perte.on{opacity:1;transform:scale(1)}
.sk-annees text{font-family:var(--f-mono);font-size:11px;font-weight:600;fill:#fff;paint-order:stroke;stroke:#5A160A;stroke-width:3px}
.anime .sk-annees{opacity:0;transition:opacity .5s}.anime .sk-annees.on{opacity:1}
.sk-parc{fill:rgba(255,255,255,.3);stroke:#fff;stroke-width:2.2;stroke-linejoin:round;transition:fill .5s,stroke .5s}
.sk-parc[data-etat=ok].on,.sk-lecteur:not(.anime) .sk-parc[data-etat=ok]{fill:rgba(46,114,71,.4);stroke:#1F6B3F}
.sk-parc[data-etat=av].on,.sk-lecteur:not(.anime) .sk-parc[data-etat=av]{fill:rgba(242,163,58,.42);stroke:#C77700}
.sk-parc[data-etat=ri].on,.sk-lecteur:not(.anime) .sk-parc[data-etat=ri]{fill:rgba(200,54,28,.45);stroke:#B0260F}
.sk-parc-id{font-family:var(--f-mono)!important;font-size:11px;font-weight:600;fill:#14211A;text-anchor:middle;pointer-events:none}

/* Carte : dossier */
.sk-carte-dossier{position:relative;min-height:440px;padding:28px 20px 70px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#1E3A2B,#0F1D16 70%)}
.sk-dossier-cadre{width:min(440px,88%);background:#F5F6F1;color:#14211A;border-radius:14px;padding:18px;box-shadow:0 30px 60px -20px #000}
.sk-dossier-tete{display:flex;gap:12px;align-items:center}
.sk-dossier-tete b{display:block;font-family:var(--f-titre);font-size:1.05rem}
.sk-dossier-tete small{display:block;font-family:var(--f-mono);font-size:11px;color:#56635A}
.sk-dossier-ico{width:36px;height:42px;border-radius:5px;background:linear-gradient(135deg,#17573A,#0F3F29);position:relative;flex:none}
.sk-dossier-ico::after{content:"";position:absolute;right:0;top:0;border:7px solid;border-color:#F5F6F1 #F5F6F1 #ffffff55 #ffffff55}
.sk-jauge{height:6px;border-radius:6px;background:#DCE1D6;margin:14px 0 8px;overflow:hidden}
.sk-jauge span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#2E7247,#EC6508)}
.anime .sk-jauge span{width:0}.anime .sk-jauge span.on{width:100%;transition:width 3.6s linear}
.sk-dossier-liste{display:grid}
.sk-dossier-liste li{display:grid;grid-template-columns:46px 1fr 20px;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid #DCE1D6;font-size:14px;transition:opacity .4s}
.anime .sk-dossier-liste li{opacity:.3}.anime .sk-dossier-liste li.on{opacity:1}
.sk-dossier-liste .ext{font-family:var(--f-mono);font-size:10.5px;text-align:center;padding:3px 0;border-radius:5px;background:#ECF4EF;color:#17573A;border:1px solid #D6E8DD}
.sk-coche{width:18px;height:18px;border-radius:50%;background:#2E7247 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='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.anime li:not(.on) .sk-coche{transform:scale(0)}
.sk-dossier-fin{margin-top:12px;padding:11px 13px;border-radius:10px;background:#17573A;color:#fff;transition:opacity .5s,transform .5s}
.anime .sk-dossier-fin{opacity:0;transform:translateY(8px)}.anime .sk-dossier-fin.on{opacity:1;transform:none}
.sk-dossier-fin b{display:block;font-family:var(--f-titre)}
.sk-dossier-fin small{display:block;font-size:12.5px;color:#CFE5D8}
.sk-bateau{position:absolute;right:18px;bottom:16px;padding:9px 14px 9px 36px;border-radius:99px;background:#EC6508;color:#1A0E04;font-weight:700;font-size:13.5px;box-shadow:0 14px 30px -12px #EC6508;transition:opacity .5s,transform .6s cubic-bezier(.3,1.4,.5,1)}
.sk-bateau::before{content:"";position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A0E04' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.anime .sk-bateau{opacity:0;transform:translateX(30px)}.anime .sk-bateau.on{opacity:1;transform:none}

/* Panneau latéral */
.sk-panneau{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:16px;border:1px solid #22362B;background:linear-gradient(180deg,#112018,#0D1913)}
.sk-panneau-tete b{display:block;font-family:var(--f-titre);font-size:1.15rem;color:#fff;margin-top:10px}
.sk-panneau-tete small{display:block;font-size:13px;color:#8FA697;margin-top:2px}
.sk-direct{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7CC79C}
.sk-direct::before{content:"";width:7px;height:7px;border-radius:50%;background:#7CC79C;box-shadow:0 0 0 0 #7CC79C;animation:skDirect 1.6s infinite}
@keyframes skDirect{0%{box-shadow:0 0 0 0 #7CC79C88}100%{box-shadow:0 0 0 9px #7CC79C00}}
.sk-regles{display:grid;border-top:1px solid #22362B}
.sk-r{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #22362B;font-size:14px}
.sk-r-nom{color:#C9D9CF}
.sk-r-res{flex:none;font-weight:600;text-align:right}
.sk-r-res .a{color:#FF8A73}.sk-r-res .b{color:#7CC79C}
.sk-r-corr .b{display:none}.sk-r-corr.on2 .a{display:none}.sk-r-corr.on2 .b{display:inline}
.sk-lecteur:not(.anime) .sk-r-corr .a{display:none}.sk-lecteur:not(.anime) .sk-r-corr .b{display:inline}
.anime .sk-r:not(.on) .sk-r-res span{display:none}
.anime .sk-r:not(.on) .sk-r-res::before{content:"···";font-weight:700;letter-spacing:.2em;color:#5F7567;font-family:var(--f-mono);font-size:13px;animation:skAttente 1.2s infinite}
@keyframes skAttente{50%{opacity:.35}}
.sk-verdict{margin-top:auto;padding:12px 14px;border-radius:12px;background:#17573A;transition:opacity .5s,transform .5s}
.sk-verdict b{display:block;font-family:var(--f-titre);color:#fff}
.sk-verdict small{display:block;color:#CFE5D8;font-size:13px;margin-top:2px}
.sk-verdict-ri{background:#5A1A0E;border:1px solid #C8361C}
.sk-verdict-ri small{color:#F6C2B6}
.anime .sk-verdict{opacity:0;transform:translateY(8px)}.anime .sk-verdict.on{opacity:1;transform:none}
.sk-sources{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sk-sources li{font-size:12.5px;color:#C9D9CF;padding:8px 10px 8px 30px;border-radius:9px;border:1px solid #22362B;position:relative;transition:border-color .4s,color .4s}
.sk-sources li::before{content:"";position:absolute;left:10px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:#7CC79C}
.anime .sk-sources li:not(.on){color:#5F7567}.anime .sk-sources li:not(.on)::before{background:#22362B}
.sk-bilan{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sk-bilan div{padding:10px;border-radius:10px;border:1px solid #22362B;transition:background .4s,border-color .4s,opacity .4s}
.sk-bilan b{display:block;font-family:var(--f-titre);font-size:1.6rem;line-height:1;color:#fff}
.sk-bilan small{display:block;font-size:11.5px;color:#A9BDB0;margin-top:4px;line-height:1.25}
.sk-bilan .ok.on,.sk-lecteur:not(.anime) .sk-bilan .ok{background:#17573A55;border-color:#2E7247}
.sk-bilan .av.on,.sk-lecteur:not(.anime) .sk-bilan .av{background:#E08A0033;border-color:#C77700}
.sk-bilan .ri.on,.sk-lecteur:not(.anime) .sk-bilan .ri{background:#C8361C40;border-color:#C8361C}
.anime .sk-bilan div:not(.on){opacity:.35}
.sk-empreinte{font-family:var(--f-mono);font-size:11.5px;color:#8FA697;transition:opacity .5s}
.sk-empreinte span{color:#FF9A52}
.anime .sk-empreinte:not(.on){opacity:0}

/* Sans / avec Sankora */
.sk-ap{border-radius:var(--r-l);border:1px solid var(--line);overflow:hidden;background:var(--surface)}
.sk-ap-tete,.sk-ap-ligne{display:grid;grid-template-columns:.7fr 1fr 1.15fr}
.sk-ap-tete span{padding:14px 20px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg-2)}
.sk-ap-tete span:last-child{background:var(--sk);color:#fff}
.sk-ap-ligne{border-top:1px solid var(--line)}
.sk-ap-ligne>*{padding:18px 20px}
.sk-ap-ligne b{font-family:var(--f-titre);font-size:1.08rem}
.sk-ap-ligne .sans{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--rouge) 55%,transparent);text-decoration-thickness:1.5px}
.sk-ap-ligne .avec{background:var(--sk-soft);font-weight:600;color:var(--ink);position:relative;padding-left:46px}
.sk-ap-ligne .avec::before{content:"";position:absolute;left:18px;top:21px;width:18px;height:18px;border-radius:50%;background:var(--sk) 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='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
@media (max-width:760px){.sk-ap-tete{display:none}.sk-ap-ligne{grid-template-columns:1fr}.sk-ap-ligne>*{padding:10px 18px}.sk-ap-ligne b{padding-top:18px}.sk-ap-ligne .avec{padding-bottom:16px}}
@media (max-width:700px){.sk-scene-visuel{min-height:300px}.sk-carte-dossier{min-height:420px}}

/* ==========================================================================
   Data4Child · module de Sankora pour le travail des enfants (accent bleu « protection »)
   ========================================================================== */
.d4c{--sk:#1D5C8C;--sk-fort:#123E61;--sk-soft:#EAF1F8;--sk-100:#D2E2F0;--sk-texte:#1D5C8C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .d4c{--sk-soft:#101C27;--sk-100:#1B2F42;--sk-texte:#8CBDEB}}
:root[data-theme="dark"] .d4c{--sk-soft:#101C27;--sk-100:#1B2F42;--sk-texte:#8CBDEB}
.d4c-bleu{color:var(--sk-texte)}
.d4c-symbole{box-shadow:0 8px 22px -12px rgba(29,92,140,.7)}
.d4c .sk-action{background:radial-gradient(1000px 520px at 50% 0%,#1D5C8C55,transparent 70%),#0A121A}
.d4c .sk-onglets button{background:#0E1823;border-color:#1E3346}
.d4c .sk-onglets button[aria-selected="true"]{background:#122334;border-color:#2F6FA3}
.d4c .sk-o-barre{background:#1E3346}.d4c .sk-o-barre i{background:linear-gradient(90deg,#2F6FA3,#EC6508)}
.d4c .sk-scene-visuel,.d4c .sk-panneau{border-color:#1E3346}
.d4c .sk-panneau{background:linear-gradient(180deg,#0F1B27,#0B151F)}
.d4c .sk-regles,.d4c .sk-r{border-color:#1E3346}
.d4c .sk-cta{background:linear-gradient(135deg,#123E61,#0E1A24 80%)}
.d4c .sk-cta p{color:#C3D5E6}
.sk-lecteur-4 .sk-onglets{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.sk-lecteur-4 .sk-onglets{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.sk-lecteur-4 .sk-onglets{grid-template-columns:1fr}}

/* Bandeau de contexte */
.d4c-contexte{background:var(--sk);color:#EAF2FA}
.d4c-contexte .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;padding-block:22px}
.d4c-ctx{padding:6px 0 6px 18px;border-left:2px solid #ffffff40}
.d4c-ctx b{display:block;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#FFB27A;margin-bottom:4px}
.d4c-ctx p{font-size:15px;line-height:1.5}
@media (max-width:860px){.d4c-contexte .wrap{grid-template-columns:1fr;gap:12px}}

/* Scènes : conteneurs communs */
.d4c-scene-tel,.d4c-scene-cas,.d4c-scene-suivi{position:relative;min-height:440px;padding:26px 20px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#173049,#0B151F 70%)}

/* Scène 1 : téléphone */
.d4c-tel{width:270px;padding:12px;border-radius:32px;background:#05090D;box-shadow:0 30px 60px -20px #000,0 0 0 1px #ffffff14 inset}
.d4c-tel-ecran{border-radius:22px;background:#F5F6F1;color:#14211A;padding:16px 14px;display:grid;gap:9px}
.d4c-tel-haut{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid #DCE1D6}
.d4c-tel-haut b{font-family:var(--f-titre);font-size:15px}
.d4c-res span{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:99px}
.d4c-res .hors{background:#FBEADB;color:#B44B03}
.d4c-res .reseau{display:none;background:#E1EEE5;color:#2E7247}
.d4c-res .reseau.on,.sk-lecteur:not(.anime) .d4c-res .reseau{display:inline}
.d4c-res:has(.reseau.on) .hors,.sk-lecteur:not(.anime) .d4c-res .hors{display:none}
.d4c-champ{background:#fff;border:1px solid #DCE1D6;border-radius:9px;padding:7px 10px;font-size:13.5px;transition:opacity .4s,border-color .4s}
.d4c-champ small{display:block;font-size:10.5px;color:#56635A}
.anime .d4c-champ:not(.on){opacity:.25}
.d4c-champ.on{border-color:#9DBBD6}
.d4c-geo{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;color:#1D5C8C;transition:opacity .4s}
.anime .d4c-geo:not(.on){opacity:0}
.d4c-pin{width:10px;height:10px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#EC6508}
.d4c-sync{margin-top:4px;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;border-radius:10px;background:#1D5C8C;color:#DCE8F3;font-size:11.5px}
.d4c-sync-l b{display:block;color:#fff;font-family:var(--f-titre);font-size:17px}
.d4c-sync-barre{grid-column:1/-1;height:5px;border-radius:5px;background:#ffffff30;overflow:hidden}
.d4c-sync-barre i{display:block;height:100%;width:100%;background:#7FD1A0}
.anime .d4c-sync-barre i{width:0}.anime .d4c-sync-barre i.on{width:100%;transition:width 1.6s ease-in-out}
.d4c-sync-ok{grid-column:1/-1;font-weight:700;color:#7FD1A0;transition:opacity .4s}
.anime .d4c-sync-ok:not(.on){opacity:0}
.d4c-signature{position:absolute;right:18px;top:20px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#0F1B27;border:1px solid #2F6FA3;color:#C3D5E6;font-family:var(--f-mono);font-size:11px;transition:opacity .5s,transform .5s}
.d4c-signature b{color:#7FD1A0}
.anime .d4c-signature{opacity:0;transform:translateY(-6px)}.anime .d4c-signature.on{opacity:1;transform:none}

/* Scène 2 : fiche de l'enfant */
.d4c-cas,.d4c-parcours{width:min(440px,92%);background:#F5F6F1;color:#14211A;border-radius:14px;padding:18px;box-shadow:0 30px 60px -20px #000}
.d4c-cas-tete{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.d4c-cas-tete b{display:block;font-family:var(--f-titre);font-size:1.05rem}
.d4c-cas-tete small{display:block;font-family:var(--f-mono);font-size:11px;color:#56635A}
.d4c-avatar{width:38px;height:38px;border-radius:50%;flex:none;background:#D2E2F0 radial-gradient(circle at 50% 38%,#1D5C8C 0 7px,transparent 7.5px);position:relative;overflow:hidden}
.d4c-avatar::after{content:"";position:absolute;left:50%;bottom:-10px;width:26px;height:20px;margin-left:-13px;border-radius:50%;background:#1D5C8C}
.d4c-reps{display:grid;border-top:1px solid #DCE1D6}
.d4c-reps li{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #DCE1D6;font-size:13.5px;transition:opacity .4s}
.d4c-reps small{color:#56635A}.d4c-reps span{font-weight:600;text-align:right}
.anime .d4c-reps li:not(.on){opacity:.2}
.d4c-classe{margin:12px 0;text-align:center;transition:opacity .4s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.d4c-classe span{display:inline-block;padding:8px 16px;border-radius:99px;background:#C8361C;color:#fff;font-weight:700;font-size:14px;box-shadow:0 10px 24px -10px #C8361C}
.anime .d4c-classe{opacity:0;transform:scale(.85)}.anime .d4c-classe.on{opacity:1;transform:none}
.d4c-plan small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#56635A;margin-bottom:6px;transition:opacity .4s}
.anime .d4c-plan small:not(.on){opacity:0}
.d4c-plan ol{display:grid;gap:6px}
.d4c-plan li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:#EAF1F8;font-size:13px;transition:opacity .4s,transform .4s}
.d4c-plan li span{font-family:var(--f-mono);font-size:11.5px;color:#1D5C8C;white-space:nowrap}
.anime .d4c-plan li:not(.on){opacity:0;transform:translateX(-8px)}

/* Scène 3 : carte des agents */
.d4c-agents-visuel{position:relative;display:grid;min-height:100%}
.d4c-zone{fill:rgba(29,92,140,.12);stroke:#1D5C8C;stroke-width:2;stroke-dasharray:7 5}
.d4c-zone-lab{font-family:var(--f-mono)!important;font-size:12px;fill:#123E61;font-weight:600}
.d4c-trajet{fill:none;stroke:#1D5C8C;stroke-width:1.6;stroke-opacity:.55}
.anime .d4c-trajet{stroke-dasharray:1;stroke-dashoffset:1}.anime .d4c-trajet.on{stroke-dashoffset:0;transition:stroke-dashoffset 3.4s linear}
.d4c-restant{fill:#fff;stroke:#8D9A90;stroke-width:2}
.d4c-fiche line{stroke:#1D5C8C;stroke-width:1.6}
.d4c-fiche circle{fill:#1D5C8C;stroke:#fff;stroke-width:2}
.d4c-fiche rect{fill:#EC6508;stroke:#fff;stroke-width:1.6}
.d4c-fiche{transform-box:fill-box;transform-origin:center;transition:opacity .3s,transform .35s cubic-bezier(.3,1.6,.5,1)}
.anime .d4c-fiche{opacity:0;transform:scale(.4)}.anime .d4c-fiche.on{opacity:1;transform:none}
.d4c-hors circle,.d4c-hors rect{fill:#C8361C}
.d4c-legende{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px 14px;padding:7px 12px;border-radius:9px;background:#F5F6F1E6;color:#14211A;font-size:11.5px}
.d4c-legende span{display:inline-flex;align-items:center;gap:6px}
.d4c-legende span::before{content:"";width:10px;height:10px;border-radius:50%}
.d4c-leg-d::before{background:#1D5C8C}.d4c-leg-f::before{background:#EC6508;border-radius:2px!important}.d4c-leg-r::before{background:#fff;border:2px solid #8D9A90;width:7px!important;height:7px!important}

/* Scène 4 : parcours de l'enfant */
.d4c-ligne{display:grid;gap:0;margin-top:4px}
.d4c-ligne li{position:relative;display:grid;grid-template-columns:78px 1fr;gap:0 12px;padding:0 0 10px 0;transition:opacity .4s}
.d4c-ligne li::before{content:"";position:absolute;left:89px;top:5px;width:10px;height:10px;border-radius:50%;background:#1D5C8C}
.d4c-ligne li::after{content:"";position:absolute;left:93.5px;top:17px;bottom:-1px;width:1px;background:#C6D6E5}
.d4c-ligne li:last-child::after{display:none}
.d4c-ligne li:last-child::before{background:#2E7247}
.d4c-date{grid-row:span 2;font-family:var(--f-mono);font-size:11px;color:#56635A;padding-top:2px}
.d4c-ligne b{padding-left:22px;font-family:var(--f-titre);font-size:14.5px}
.d4c-ligne small{padding-left:22px;font-size:12.5px;color:#56635A}
.anime .d4c-ligne li:not(.on){opacity:.15}
.d4c-sorti{margin-top:8px;text-align:center;transition:opacity .5s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.d4c-sorti span{display:inline-block;padding:9px 18px;border-radius:99px;background:#2E7247;color:#fff;font-weight:700;box-shadow:0 10px 24px -10px #2E7247}
.anime .d4c-sorti{opacity:0;transform:scale(.85)}.anime .d4c-sorti.on{opacity:1;transform:none}
.d4c-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.d4c-stats div{padding:10px 12px;border-radius:10px;border:1px solid #1E3346;transition:opacity .4s}
.d4c-stats b{display:block;font-family:var(--f-titre);font-size:1.45rem;color:#fff;line-height:1}
.d4c-stats small{display:block;margin-top:4px;font-size:11.5px;color:#A9BDCB}
.anime .d4c-stats div:not(.on){opacity:.2}

/* Fiabilité */
.d4c-fis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.d4c-fi{padding:22px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}
.d4c-fi::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--sk),var(--orange))}
.d4c-fi .ico{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--sk-soft);color:var(--sk-texte);margin-bottom:14px}
.d4c-fi .ico svg{width:22px;height:22px}
.d4c-fi h3{font-size:1.12rem;margin-bottom:6px}
.d4c-fi p{font-size:15px;color:var(--muted)}
@media (max-width:980px){.d4c-fis{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.d4c-fis{grid-template-columns:1fr}}
.d4c .pourquoi .ico{color:var(--sk-texte)}
.d4c-etapes{grid-template-columns:repeat(4,1fr);row-gap:30px}
@media (max-width:980px){.d4c-etapes{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.d4c-etapes{grid-template-columns:1fr}}
.d4c-ops{grid-template-columns:1fr 1fr}
@media (max-width:860px){.d4c-ops{grid-template-columns:1fr}}

/* Liens entre produits */
.d4c-lien{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:26px 28px;border-radius:var(--r-l);background:linear-gradient(120deg,#ECF4EF,var(--surface) 70%);border:1px solid #D6E8DD}
.d4c-lien h2{font-size:clamp(1.3rem,2.2vw,1.6rem)}
.d4c-lien p{color:var(--muted);margin-top:6px;max-width:70ch}
.d4c-lien .eyebrow{margin-bottom:6px}
.d4c-lien-bleu{background:linear-gradient(120deg,#EAF1F8,var(--surface) 70%);border-color:#D2E2F0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .d4c-lien{background:var(--surface);border-color:var(--line)}}
:root[data-theme="dark"] .d4c-lien{background:var(--surface);border-color:var(--line)}
@media (max-width:760px){.d4c-lien{grid-template-columns:1fr}}

/* Accueil : nos produits */
.sk-produits{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sk-produit{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3.5vw,40px);border-radius:var(--r-l);border:1px solid var(--sk-100);background:linear-gradient(150deg,var(--sk-soft),var(--surface) 75%);position:relative;overflow:hidden}
.sk-produit h3{font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.15}
.sk-produit p{color:var(--muted)}
.sk-produit .actions{margin-top:auto;padding-top:8px}
.sk-produit::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--sk) 35%,transparent);pointer-events:none}
@media (max-width:860px){.sk-produits{grid-template-columns:1fr}}
@media (max-width:700px){.d4c-scene-tel,.d4c-scene-cas,.d4c-scene-suivi{min-height:420px;padding:20px 12px}}
.anime .d4c-sync .v2:not(.on){display:none}.d4c-sync .v2.on+.v1,.sk-lecteur:not(.anime) .d4c-sync .v1{display:none}
.sk-onglets{position:relative}.sk-onglets .onglets-indic{display:none!important}

/* Accueil : annonce des produits dans le héros et section « Nos produits » */
.hero-produits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.hero-produits .pastille-tag{font-size:12px;gap:8px}
.hero-produits .pastille-tag svg{width:14px;height:14px;flex:none}
.hero-produits .pastille-tag:hover{border-color:#2E7247}
.hero-produits .d4c-tag b{background:#1D5C8C;color:#fff}
.hero-produits .d4c-tag:hover{border-color:#1D5C8C}
.sk-produits-section{border-bottom:1px solid var(--line)}
.sk-pv{gap:16px}
.sk-pv-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.sk-pv-tag{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:var(--sk);color:#fff}
.sk-pv-vis{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--sk-100);box-shadow:var(--ombre-s);transition:transform .3s var(--courbe-douce,ease)}
.sk-pv-vis:hover{transform:translateY(-3px)}
.sk-pv-carte{display:block;width:100%;height:auto}
.sk-pv h3 a{text-decoration:none;color:inherit}
.sk-pv h3 a:hover{color:var(--sk-texte)}
.sk-pv .coches{margin:4px 0 6px}
.sk-pv .coches li::before{background-color:var(--sk-soft)}
.sk-pv-p.ok{fill:rgba(46,114,71,.32);stroke:#1F6B3F}.sk-pv-p.av{fill:rgba(242,163,58,.4);stroke:#C77700}.sk-pv-p.ri{fill:rgba(200,54,28,.42);stroke:#B0260F}
.sk-pv-pulse{fill:#C8361C;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:skPouls 1.8s ease-in-out infinite}
@keyframes skPouls{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
.sk-pv-pts circle{fill:#1D5C8C;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:skPoint 3.5s ease-in-out infinite}
.sk-pv-pts circle:nth-child(2){animation-delay:.4s}.sk-pv-pts circle:nth-child(3){animation-delay:.8s}.sk-pv-pts circle:nth-child(4){animation-delay:1.2s}
.sk-pv-pts circle:nth-child(5){animation-delay:1.6s}.sk-pv-pts circle:nth-child(6){animation-delay:2s}.sk-pv-pts circle:nth-child(7){animation-delay:2.4s}
@keyframes skPoint{0%,100%{transform:scale(1)}15%{transform:scale(1.4)}30%{transform:scale(1)}}

/* Bandeau d'annonce des produits (toutes les pages) */
.kdg-annonce{background:#14211A;color:#EEF2EA;font-size:14px;position:relative;z-index:101}
.kdg-annonce .wrap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;padding-block:8px}
.kdg-annonce-txt{color:#C9D3CB}
.kdg-annonce-txt b{display:inline-block;margin-right:6px;padding:2px 9px;border-radius:99px;background:#EC6508;color:#1A0E04;font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.kdg-annonce-btn{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:99px;text-decoration:none;color:#fff;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.kdg-annonce-btn{background:transparent}
.kdg-annonce-btn.sk{border-color:#3F8F63}.kdg-annonce-btn.d4c{border-color:#4F8EC4}
.kdg-annonce-btn:hover{transform:translateY(-1px)}
.kdg-annonce-btn.sk:hover{background:#17573A55}.kdg-annonce-btn.d4c:hover{background:#1D5C8C55}
.kdg-annonce-btn b{font-family:var(--f-titre);font-weight:700}
.kdg-annonce-btn small{font-size:12.5px;opacity:.85}
.kdg-annonce-btn svg:last-child{width:14px;height:14px}
.kdg-annonce-ico{border-radius:5px;box-shadow:none!important}
@media (max-width:760px){.kdg-annonce-txt{display:none}.kdg-annonce-btn small{display:none}.kdg-annonce .wrap{gap:8px;padding-block:7px}}

/* Boutons produits du héros de l'accueil */
.hero-produits-btn{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn-produit{background:transparent;padding:10px 18px 10px 10px;gap:10px;border:1.5px solid}
.btn-produit.sk{color:#17573A;border-color:#17573A}.btn-produit.sk:hover{background:#ECF4EF;transform:translateY(-1px)}
.btn-produit.d4c{color:#1D5C8C;border-color:#1D5C8C}.btn-produit.d4c:hover{background:#EAF1F8;transform:translateY(-1px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-produit.sk{color:#7CC79C;border-color:#7CC79C}:root:not([data-theme="light"]) .btn-produit.d4c{color:#8CBDEB;border-color:#8CBDEB}:root:not([data-theme="light"]) .btn-produit:hover{background:#ffffff10}}
:root[data-theme="dark"] .btn-produit.sk{color:#7CC79C;border-color:#7CC79C}:root[data-theme="dark"] .btn-produit.d4c{color:#8CBDEB;border-color:#8CBDEB}
.btn-produit-ico{border-radius:6px;box-shadow:none!important}

/* Formulaires (Netlify Forms) */
.kf-section{background:var(--bg-2);border-top:1px solid var(--line)}
.kf-duo{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,64px);align-items:start}
.kf-duo .coches{margin-top:20px}
@media (max-width:900px){.kf-duo{grid-template-columns:1fr}}
.kf{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(20px,3vw,32px);box-shadow:var(--ombre-s)}
.kf-grille{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.kf-plein{grid-column:1/-1}
@media (max-width:600px){.kf-grille{grid-template-columns:1fr}}
.kf-champ label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.kf-req{color:var(--orange-ink)}
.kf input:not([type=checkbox]),.kf select,.kf textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1.5px solid var(--line-champ,#7E8A80);border-radius:var(--r-s);padding:11px 12px;transition:border-color .2s,box-shadow .2s}
.kf textarea{resize:vertical;min-height:110px}
.kf input:focus,.kf select:focus,.kf textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 22%,transparent)}
.kf-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:14.5px;color:var(--ink-2)}
.kf-consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--orange);flex:none}
.kf-envoyer{width:100%}
.kf-note{margin-top:12px;font-size:13px;color:var(--muted);text-align:center}
.kf-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.d4c .kf input:focus,.d4c .kf select:focus,.d4c .kf textarea:focus{border-color:#1D5C8C;box-shadow:0 0 0 3px rgba(29,92,140,.2)}
.kf-merci .wrap{max-width:720px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;padding-block:clamp(40px,8vw,90px)}
.kf-merci-ico{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#E1EEE5;color:#2E7247}
.kf-merci-ico svg{width:36px;height:36px}
.kf-merci .actions{justify-content:center}

/* ---------- Captures réelles (captures.py) : cadre de navigateur, héros, galerie ---------- */
.kc-ecran{margin:0;border-radius:var(--r-l);overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.kc-barre{display:flex;align-items:center;gap:12px;height:30px;padding:0 12px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.kc-pts{display:flex;gap:5px}
.kc-pts i{width:8px;height:8px;border-radius:50%;background:var(--line-2)}
.kc-url{font-family:var(--f-mono);font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:1px 12px}
.kc-ecran img{display:block;width:100%;height:auto}
.kc-ecran figcaption{padding:8px 14px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:12px;letter-spacing:.03em;color:var(--muted)}
.kc-hero{width:100%;max-width:680px;justify-self:end;box-shadow:var(--ombre)}
@media (min-width:980px) and (prefers-reduced-motion:no-preference){
  .kc-hero{transform:perspective(1800px) rotateY(-7deg) rotateX(2deg);transition:transform .8s var(--courbe-douce)}
  .kc-hero:hover{transform:none}
}
.kc-duo{position:relative;justify-self:end;width:100%;max-width:680px}
.kc-duo .kc-hero{max-width:none}
.kc-fiche{position:absolute;left:-36px;top:10%;width:clamp(140px,14vw,200px);margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--ombre)}
.kc-fiche img{display:block;width:100%;height:auto}
@media (max-width:980px){.kc-hero,.kc-duo{justify-self:start}.kc-fiche{left:auto;right:-6px;top:auto;bottom:-30px}}
.kc-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,32px)}
.kc-gal-item{margin:0;min-width:0}
.kc-mini .kc-barre{height:22px;padding:0 10px}
.kc-mini .kc-pts i{width:6px;height:6px}
.kc-gal-item figcaption{display:grid;gap:4px;margin-top:14px}
.kc-gal-item figcaption b{font-family:var(--f-titre);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.kc-gal-item figcaption span{color:var(--muted);font-size:15.5px}
.kc-note{margin-top:22px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted)}
.sk-pv-vis img{display:block;width:100%;height:auto}
.sombre .kc-ecran{border-color:var(--band-line)}

/* ---------- Fonctionnalités clés (captures.fonctions) ---------- */
.kc-tel{margin:0 auto;width:min(300px,100%);border-radius:38px;border:9px solid #0F1712;background:#0F1712;overflow:hidden;box-shadow:var(--ombre)}
.kc-tel img{display:block;width:100%;height:auto;border-radius:29px}
.kc-tel-panneau{border-radius:22px;border-width:1px;border-color:var(--line);background:var(--surface)}
.kc-tel-panneau img{border-radius:0}
.kc-f-liste{counter-reset:none}
.kc-f-btn{display:flex;gap:16px;width:100%;text-align:left;padding:18px 18px 18px 16px;border:0;border-left:2px solid var(--line);background:none;cursor:pointer;color:var(--ink);font:inherit;transition:border-color var(--mv-court),background-color var(--mv-court)}
.kc-f-btn .n{font-family:var(--f-mono);font-size:12.5px;color:var(--orange-ink);padding-top:3px}
.kc-f-txt{display:grid;gap:4px}
.kc-f-txt b{font-family:var(--f-titre);font-size:1.15rem;letter-spacing:-.02em;line-height:1.2}
.kc-f-txt span{color:var(--muted);font-size:15.5px}
.kc-f-txt small{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.kc-f-mobile{margin-top:14px}
.kc-f-ecrans{display:none}
.kc-fonc-section .kc-note{margin-top:28px}
@media (min-width:980px){
  .kc-fonc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4vw,64px);align-items:start}
  .kc-f-mobile{display:none}
  .kc-f-btn:hover{border-left-color:var(--ink-2)}
  .kc-f.actif .kc-f-btn{border-left:3px solid var(--orange);background:var(--bg-2);border-radius:0 var(--r) var(--r) 0}
  .js .kc-f:not(.actif) .kc-f-txt span{display:none}
  .js .kc-f:not(.actif) .kc-f-txt small{display:none}
  .kc-f-ecrans{display:grid;position:sticky;top:calc(var(--entete) + 32px);min-height:640px;align-items:center}
  .kc-p{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .4s var(--courbe-douce),transform .5s var(--courbe-douce),visibility 0s .4s}
  .kc-p.actif{opacity:1;visibility:visible;transform:none;transition:opacity .4s var(--courbe-douce),transform .5s var(--courbe-douce)}
  .kc-p .kc-ecran{box-shadow:var(--ombre)}
}
@media (max-width:979px){
  .kc-f-btn{border-left:0;padding:0}
  .kc-f{border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;background:var(--surface)}
  .kc-f .kc-tel{width:min(220px,100%)}
}
@media (min-width:760px) and (max-width:979px){.kc-f-liste{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}}
@media (prefers-reduced-motion:reduce){.kc-p{transition:none;transform:none}}
.kc-fiche-tel{border:0;background:none;box-shadow:none;overflow:visible;width:clamp(140px,15vw,210px)}
.kc-fiche-tel .kc-tel{width:100%;border-width:7px;border-radius:30px}
.kc-fiche-tel .kc-tel img{border-radius:23px}

/* ---------- Loupe des captures réelles (pages produits) ---------- */
.kc-zoomable{position:relative}
.kc-zoomable img{cursor:zoom-in}
.kc-zoom{position:absolute;right:10px;bottom:10px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:99px;border:1px solid var(--line-2);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--ink);cursor:pointer;box-shadow:var(--ombre-s);transition:transform var(--mv-court),border-color var(--mv-court)}
.kc-zoom svg{width:20px;height:20px}
.kc-zoom:hover{border-color:var(--ink);transform:scale(1.06)}
.kc-ecran.kc-zoomable .kc-zoom{bottom:auto;top:40px}
.kc-tel.kc-zoomable{overflow:visible}
.kc-tel.kc-zoomable .kc-zoom{right:-14px;bottom:24px}
.kc-loupe{width:min(1400px,96vw);height:min(94vh,1000px);max-width:none;max-height:none;padding:0;border:1px solid var(--band-line);border-radius:var(--r-l);background:var(--band);color:var(--band-fg);--focus:#EC6508;overflow:hidden}
.kc-loupe[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}
.kc-loupe::backdrop{background:rgba(10,17,13,.82)}
.kc-loupe-barre{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px 10px 20px;border-bottom:1px solid var(--band-line)}
.kc-loupe-titre{flex:1;min-width:0;font-family:var(--f-titre);font-weight:700;font-size:1.05rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-loupe-outils{display:flex;gap:6px}
.kc-loupe-outils button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:99px;border:1px solid var(--band-muted);background:none;color:var(--band-fg);cursor:pointer}
.kc-loupe-outils button:hover{border-color:var(--band-fg)}
.kc-loupe-outils svg{width:20px;height:20px}
.kc-loupe-fermer{background:var(--orange)!important;border-color:var(--orange)!important;color:var(--on-orange)!important}
.kc-loupe-zone{overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;min-height:0;background:#0A110D}
.kc-loupe-zone img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in;border-radius:8px;flex:none}
.kc-loupe.zoome .kc-loupe-zone{align-items:flex-start;justify-content:flex-start}
.kc-loupe.zoome .kc-loupe-zone img{max-width:none;max-height:none;height:auto;cursor:zoom-out}
.kc-loupe-aide{margin:0;padding:8px 20px;font-family:var(--f-mono);font-size:12px;color:var(--band-muted);border-top:1px solid var(--band-line)}
@media (max-width:760px){.kc-loupe{width:100vw;height:100dvh;border-radius:0;border:0}.kc-loupe-aide{display:none}}

/* ---------- Pages texte « Comment fonctionne… » (fonctionnement.py) ---------- */
.fn-hero{padding-block:clamp(40px,6vw,88px) clamp(28px,4vw,48px);border-bottom:1px solid var(--line);background:var(--bg-2)}
.fn-hero .eyebrow{margin-top:22px}
.fn-hero h1{margin-top:14px;max-width:24ch}
.fn-hero .lead{margin-top:18px;max-width:62ch}
.fn-lecture{margin-top:18px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted)}
.fn-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-block:clamp(32px,5vw,64px) clamp(64px,8vw,104px)}
.fn-sommaire p{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:12px}
.fn-sommaire ol{display:grid;gap:2px}
.fn-sommaire a{display:flex;gap:10px;padding:7px 0;color:var(--ink-2);text-decoration:none;font-size:15px;line-height:1.35}
.fn-sommaire a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.fn-sommaire .n{font-family:var(--f-mono);font-size:12px;color:var(--muted);padding-top:2px}
.fn-article{max-width:72ch}
.fn-section{padding-block:clamp(24px,3vw,36px);border-top:1px solid var(--line);scroll-margin-top:calc(var(--entete) + 24px)}
.fn-section:first-child{border-top:0;padding-top:0}
.fn-section .n{font-family:var(--f-mono);font-size:12.5px;color:var(--orange-ink)}
.fn-section h2{font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.08;margin:8px 0 6px}
.fn-section p{margin-top:14px;color:var(--ink-2);font-size:17px;line-height:1.65}
.fn-section .coches{margin-top:16px}
.fn-cta{margin-top:clamp(28px,4vw,40px);padding:clamp(24px,3vw,36px);border-radius:var(--r);background:var(--orange-soft);border:1px solid color-mix(in srgb,var(--orange) 30%,transparent)}
.fn-cta h2{font-size:clamp(1.5rem,2.4vw,2rem)}
.fn-cta p{margin-top:10px;color:var(--ink-2)}
.fn-cta .actions{margin-top:20px}
.fn-autre{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}
.kc-lire{margin-top:18px}
@media (min-width:980px){
  .fn-grille{grid-template-columns:240px minmax(0,1fr);gap:clamp(48px,6vw,88px)}
  .fn-sommaire{position:sticky;top:calc(var(--entete) + 32px);align-self:start}
}
@media (max-width:979px){.fn-sommaire{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}}
.sk-renvoi{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;max-width:880px}
.sk-renvoi .lead{margin-top:12px}
.sk-renvoi .actions{margin-top:20px}
.sk-renvoi-ico{width:56px;height:56px;flex:none}
.sk-renvoi-recit{margin-top:28px;max-width:62ch;font-size:17px}
@media (max-width:640px){.sk-renvoi{grid-template-columns:1fr;gap:16px}}

/* Captures réelles de Sankora à la place des illustrations dessinées (captures_reelles.py) */
.ph.ph-capture{background:var(--bg-2);border:1px solid var(--line)}
.ph.ph-capture::before{display:none}
.ph.ph-capture img{object-fit:cover;object-position:left top}
.ph.ph-capture img,.ph.ph-capture:hover img{transform:none}
.capture-vignette{display:block;width:280px;max-width:100%;margin-top:16px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg-2)}
.capture-vignette img{display:block;width:100%;height:auto}


/* Section Sankora : jetons de la page ramenés à ceux de Kaada Group (couleurs, polices, thème sombre compris) */
.sk-site {
  --sankora: var(--orange); --sankora-hover: var(--orange-hover); --sankora-pale: var(--orange-soft);
  --canopee: var(--leaf); --point: var(--orange); --givre: var(--bg-2); --surface-2: var(--bg-2);
  --band-accent: var(--orange); --conforme: var(--leaf); --conforme-bg: var(--leaf-soft);
  --reserve: #B86A00; --reserve-bg: #FBF0DA; --rejet: var(--rouge); --rejet-bg: var(--rouge-soft); --info: #2563A6; --info-bg: #E1ECF8;
  --f-display: var(--f-titre); --f-sans: var(--f-texte); --r-m: var(--r); --r-xl: var(--r-l); --largeur: 1240px;
  font-family: var(--f-texte); color: var(--ink);
}
.sk-site .btn-principal, .sk-site .bande .btn-principal { background: var(--orange); color: var(--on-orange); border-radius: 999px; }
.sk-site .btn-principal:hover, .sk-site .bande .btn-principal:hover { background: var(--orange-hover); }
.sk-site .btn-secondaire, .sk-site .btn-ligne { border-radius: 999px; }
.sk-site .carte .gps, .sk-site .carte .ska-halo { fill: var(--orange); }
.sk-site .rv { opacity: 1; }
/* Barre de navigation de la section, sous l'en-tête de Kaada Group */
.sk-sousnav { position: sticky; top: var(--sk-haut, 0px); z-index: 90; transition: top .4s cubic-bezier(.2,.7,.2,1); background: var(--surface); border-bottom: 1px solid var(--line); }
.sk-sousnav .cadre { display: flex; align-items: center; gap: 20px; min-height: 60px; }
.sk-sousnav .menu { margin-left: -12px; }
/* Logo Sankora à la place de celui de Kaada Group, sur les pages de la section */
.logo-sankora { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ink); font-family: var(--f-titre); font-size: 24px; letter-spacing: -.01em; }
.logo-sankora b { font-weight: 700; }
.logo-sankora-ico { width: 40px; height: 40px; flex: none; }
.pied .logo-sankora, .logo-sankora-clair { color: #fff; }
.sk-sousnav .outils { margin-left: auto; }
.sk-sousnav .btn { padding: 10px 16px; font-size: 14.5px; }
/* Sankora en bref */
.sk-site .bref-chapeau { max-width: 68ch; }
.sk-site .bref-titre { margin: clamp(48px, 6vw, 72px) 0 20px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-family: var(--f-mono, monospace); color: var(--band-accent, var(--orange)); }
.sk-site .bref-atouts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sk-site .bref-atout { padding: 22px; border: 1px solid var(--band-line, rgba(255,255,255,.14)); border-radius: var(--r); background: rgba(255,255,255,.03); }
.sk-site .bref-atout svg { width: 26px; height: 26px; color: var(--orange); }
.sk-site .bref-atout h3 { margin: 12px 0 6px; font-size: 1.12rem; color: var(--band-fg, #fff); }
.sk-site .bref-atout p { margin: 0; color: var(--band-muted, #b9c2bd); font-size: 15px; }
.sk-site .bref-liens { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 32px 0 0; }
.sk-site .bande .bref-liens a { color: var(--band-fg, #fff); }
@media (max-width: 980px) { .sk-site .bref-atouts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .sk-site .bref-atouts { grid-template-columns: 1fr; } }
/* Blocs de services de l'accueil : titre et chapeau sur toute la largeur, puis la capture et les cartes côte à côte */
.sk-site .bloc > div:first-child { display: contents; }
.sk-site .bloc > div:first-child > .surtitre, .sk-site .bloc > div:first-child > .nom-bloc, .sk-site .bloc > div:first-child > .chapeau { grid-column: 1 / -1; max-width: 72ch; }
.sk-site div.bloc { row-gap: 0; }
.sk-site .bloc .nom-bloc { margin-top: 10px; }
.sk-site .bloc .chapeau { margin: 12px 0 28px; }
.sk-site .bloc .liste-services { grid-column: 1; grid-row: 4; margin-top: 0; }
.sk-site .bloc .bloc-visuel { grid-column: 2; grid-row: 4; align-self: start; }
.sk-site .bloc-inverse .liste-services { grid-column: 2; }
.sk-site .bloc-inverse .bloc-visuel { grid-column: 1; order: 0; }
@media (max-width: 900px) { .sk-site .bloc .liste-services, .sk-site .bloc .bloc-visuel { grid-column: 1; grid-row: auto; } }
/* Calendrier du RDUE */
.sk-site .rf-tete { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; margin-bottom: clamp(32px, 4vw, 48px); }
.sk-site .rf-tete .chapeau { max-width: 62ch; }
.sk-site .rf-compte { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px 22px; border-radius: var(--r); background: var(--orange-soft); max-width: 230px; margin: 0; }
.sk-site .rf-compte b { font-family: var(--f-titre); font-size: 44px; line-height: 1; color: var(--orange-ink, var(--orange)); }
.sk-site .rf-compte span { font-size: 14px; color: var(--ink); }
.sk-site .rf-frise { list-style: none; margin: 0; padding: 0; position: relative; }
.sk-site .rf-frise::before { content: ""; position: absolute; left: 176px; top: 8px; bottom: 8px; width: 2px; background: var(--line); }
.sk-site .rf-jalon { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 34px; padding: 0 0 30px; position: relative; }
.sk-site .rf-jalon::before { content: ""; position: absolute; left: 170px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--surface, #fff); border: 3px solid var(--line-2, #bbb); box-sizing: border-box; }
.sk-site .rf-jalon.passe::before { background: var(--ink); border-color: var(--ink); }
.sk-site .rf-jalon.proche::before { background: var(--orange); border-color: var(--orange); box-shadow: 0 0 0 6px var(--orange-soft); }
.sk-site .rf-date { text-align: right; }
.sk-site .rf-date time { display: block; font-family: var(--f-mono, monospace); font-size: 17px; font-weight: 600; color: var(--ink); }
.sk-site .rf-date span { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--orange-ink, var(--orange)); margin-top: 4px; }
.sk-site .rf-corps { padding-left: 14px; }
.sk-site .rf-corps h3 { font-size: 1.2rem; margin: 0 0 6px; }
.sk-site .rf-corps p { margin: 0 0 8px; color: var(--muted); max-width: 70ch; }
@media (min-width: 1000px) {
  .sk-site .rf-corps { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 32px; align-items: start; }
  .sk-site .rf-corps h3, .sk-site .rf-corps p:not(.rf-vous) { grid-column: 1; }
  .sk-site .rf-corps p.rf-vous { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
}
.sk-site .rf-corps p.rf-vous { padding: 10px 14px; border-left: 3px solid var(--orange); background: var(--bg-2); border-radius: 0 8px 8px 0; color: var(--ink); font-size: 15px; }
.sk-site .rf-jalon.proche .rf-corps h3 { color: var(--orange-ink, var(--orange)); }
@media (max-width: 760px) {
  .sk-site .rf-tete { grid-template-columns: 1fr; }
  .sk-site .rf-frise::before { left: 6px; }
  .sk-site .rf-jalon { grid-template-columns: 1fr; gap: 6px; padding-left: 30px; }
  .sk-site .rf-jalon::before { left: 0; }
  .sk-site .rf-date { text-align: left; }
  .sk-site .rf-corps { padding-left: 0; }
}
/* Questions fréquentes */
.sk-site .faq-groupes { columns: 2 420px; column-gap: 48px; }
.sk-site .faq-groupe { break-inside: avoid; margin-bottom: 32px; }
.sk-site .faq-groupe h3 { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-ink, var(--orange)); font-family: var(--f-mono, monospace); margin: 0 0 8px; }
.sk-site .faq-groupe details { border-bottom: 1px solid var(--line); }
.sk-site .faq-groupe summary { cursor: pointer; padding: 14px 30px 14px 0; font-weight: 600; color: var(--ink); list-style: none; position: relative; }
.sk-site .faq-groupe summary::-webkit-details-marker { display: none; }
.sk-site .faq-groupe summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font-size: 22px; line-height: 1.2; color: var(--orange); transition: transform .2s; }
.sk-site .faq-groupe details[open] summary::after { transform: rotate(45deg); }
.sk-site .faq-groupe details p { margin: 0 0 16px; color: var(--muted); }
/* Écrans réels qui défilent en haut de l'accueil Sankora */
.sk-defile { margin: 0; }
.sk-defile .defile-pile { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.sk-defile .defile-pile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left top; opacity: 0; transition: opacity .9s ease, transform 6s ease; transform: scale(1.02); cursor: zoom-in; }
.sk-defile .defile-pile img.actif { opacity: 1; transform: scale(1); }
.sk-defile figcaption { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sk-defile .defile-titre { font-weight: 600; color: var(--ink); font-family: var(--f-texte); letter-spacing: 0; }
.sk-defile .defile-points { display: inline-flex; gap: 6px; margin-left: auto; }
.sk-defile .defile-point { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: var(--line-2, #c9c9c9); cursor: pointer; transition: width .3s, background .3s; }
.sk-defile .defile-point.actif { width: 22px; background: var(--orange); }
.sk-defile .defile-note { flex-basis: 100%; font-size: 12px; opacity: .75; }
@media (prefers-reduced-motion: reduce) { .sk-defile .defile-pile img { transition: none; transform: none; } }
@media (max-width: 1140px) {
  .sk-sousnav .menu { top: 100%; }
  .sk-sousnav .cadre { min-height: 52px; }
  .sk-sousnav .outils { margin-left: 0; flex: 1; display: flex; justify-content: flex-end; }
  .sk-sousnav .burger { width: 100%; justify-content: space-between; border: 0; background: none; padding: 0; height: 52px; }
  .sk-sousnav .burger-lib { display: inline !important; font-weight: 600; font-size: 15px; color: var(--ink); }
}

/* Pages services et filières de la section Sankora (pages_sankora.py) */
.sp .sp-hero-grille { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.sp .sp-nom { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; font-weight: 600; color: var(--ink); }
.sp .sp-ico { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--orange-soft); color: var(--orange-ink, var(--orange)); flex: none; }
.sp .sp-ico svg { width: 22px; height: 22px; }
.sp .sp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.sp .sp-statut { margin: 20px 0 0; padding: 12px 16px; border-radius: var(--r); background: var(--orange-soft); color: var(--ink); max-width: 62ch; font-size: 15px; }
.sp .sp-statut b { display: inline-block; margin-right: 8px; padding: 2px 10px; border-radius: 99px; background: var(--orange); color: var(--on-orange, #fff); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.sp .sp-fig { margin: 0; }
.sp .sp-fig figcaption { margin-top: 10px; font-size: 14px; color: var(--muted); }
.sp .sp-fig-tel { max-width: 260px; }
.sp .sp-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.sp .sp-carte { padding: 24px; border: 1px solid var(--line); border-radius: var(--r-l, 16px); background: var(--surface, #fff); }
.sp .sp-carte .n { font-family: var(--f-mono); font-size: 13px; color: var(--orange-ink, var(--orange)); }
.sp .sp-carte h3 { margin: 10px 0 8px; font-size: 1.2rem; }
.sp .sp-carte p { margin: 0; color: var(--muted); }
.sp .sp-deux { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.sp .sp-etapes { list-style: none; margin: 28px 0 0; padding: 0; counter-reset: none; }
.sp .sp-etapes li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 0 0 22px; position: relative; }
.sp .sp-etapes li:not(:last-child)::before { content: ""; position: absolute; left: 19px; top: 40px; bottom: 4px; width: 2px; background: var(--line); }
.sp .sp-etapes .n { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--bg, #fff); font-family: var(--f-mono); font-weight: 600; }
.sp .sp-etapes h3 { margin: 8px 0 6px; font-size: 1.12rem; }
.sp .sp-etapes p { margin: 0; color: var(--muted); }
.sp .sp-captures { display: grid; gap: 28px; position: sticky; top: 150px; }
.sp .sp-captures:has(.sp-fig-tel) { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: start; }
.sp .sp-note { margin: 0; font-family: var(--f-mono); font-size: 12.5px; color: var(--muted); grid-column: 1 / -1; }
.sp .sp-fonctions { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.sp .sp-fonctions li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; align-items: start; }
.sp .sp-fonctions svg { width: 22px; height: 22px; padding: 3px; border-radius: 50%; background: var(--leaf-soft, #e3efe7); color: var(--leaf, #1d6b45); }
.sp .sp-profils { display: grid; gap: 12px; margin-top: 18px; }
.sp .sp-profil { padding: 16px 18px; border-left: 3px solid var(--orange); background: var(--bg-2); border-radius: 0 var(--r) var(--r) 0; }
.sp .sp-profil h3 { margin: 0 0 4px; font-size: 1.02rem; }
.sp .sp-profil p { margin: 0; color: var(--muted); font-size: 15px; }
.sp .sp-appel-txt { font-family: var(--f-titre); font-size: clamp(26px, 3.2vw, 40px); line-height: 1.15; max-width: 30ch; margin: 14px 0 0; color: var(--band-fg, #fff); }
.sp .sp-faq { columns: 2 400px; column-gap: 48px; }
.sp .sp-faq details { break-inside: avoid; }
.sp .sp-faq details { border-bottom: 1px solid var(--line); }
.sp .sp-faq summary { cursor: pointer; padding: 16px 30px 16px 0; font-weight: 600; list-style: none; position: relative; }
.sp .sp-faq summary::-webkit-details-marker { display: none; }
.sp .sp-faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font-size: 22px; color: var(--orange); transition: transform .2s; }
.sp .sp-faq details[open] summary::after { transform: rotate(45deg); }
.sp .sp-faq details p { margin: 0 0 16px; color: var(--muted); }
.sp .sp-liens { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.sp .sp-lien-carte { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; color: var(--ink); background: var(--surface, #fff); transition: border-color .2s, transform .2s; }
.sp .sp-lien-carte .sp-ico { grid-row: span 2; }
.sp .sp-lien-carte span:last-child { color: var(--muted); font-size: 14px; }
.sp .sp-lien-carte:hover { border-color: var(--ink); transform: translateY(-2px); }
/* Filières */
.sf .sf-banniere { position: relative; min-height: clamp(420px, 62vh, 620px); display: flex; align-items: flex-end; overflow: hidden; background: #14231b; color: #fff; }
.sf .sf-banniere-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sf .sf-voile { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,18,14,.25) 0%, rgba(10,18,14,.55) 45%, rgba(10,18,14,.88) 100%); }
.sf .sf-banniere-texte { position: relative; padding-block: clamp(80px, 10vw, 140px) clamp(40px, 5vw, 64px); }
.sf .sf-banniere .ariane, .sf .sf-banniere .ariane a, .sf .sf-banniere .ariane span { color: rgba(255,255,255,.85); }
.sf .sf-banniere h1 { color: #fff; max-width: 22ch; margin-top: 22px; }
.sf .sf-banniere .lead { color: rgba(255,255,255,.88); max-width: 60ch; margin-top: 16px; }
.sf .sf-rdue { display: inline-block; margin-top: 22px; padding: 5px 12px; border-radius: 99px; font-family: var(--f-mono); font-size: 12px; letter-spacing: .04em; background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.sf .sf-rdue.oui { background: var(--orange); border-color: var(--orange); color: var(--on-orange, #fff); }
.sf .sf-credit { position: absolute; right: 12px; bottom: 8px; margin: 0; font-size: 11px; color: rgba(255,255,255,.75); }
.sf .sf-credit a { color: inherit; }
.sf .sf-intro { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.sf .sf-intro.sans-photo { grid-template-columns: minmax(0, 1fr); }
.sf .sf-intro.sans-photo .sf-texte { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(28px, 5vw, 72px); align-items: start; }
.sf .sf-intro.sans-photo .sf-texte > .eyebrow, .sf .sf-intro.sans-photo .sf-texte > h2 { grid-column: 1; }
.sf .sf-intro.sans-photo .sf-texte > p { grid-column: 1; }
.sf .sf-intro.sans-photo .sf-chiffres { grid-column: 2; grid-row: 1 / span 6; margin-top: 0; grid-template-columns: 1fr; }
@media (max-width: 900px) { .sf .sf-intro.sans-photo .sf-texte { grid-template-columns: 1fr; } .sf .sf-intro.sans-photo .sf-chiffres { grid-column: 1; grid-row: auto; margin-top: 24px; } }
/* Bannière sans photo : teinte de la filière et grand pictogramme du produit */
.sf .sf-banniere.sans-photo { background: radial-gradient(700px 420px at 85% 50%, color-mix(in srgb, var(--orange) 24%, transparent), transparent 70%), linear-gradient(135deg, var(--sf-c1), var(--sf-c2) 70%); }
.sf .sf-banniere.sans-photo .sf-voile { background: none; }
.sf .sf-picto { position: absolute; right: 7%; top: 50%; transform: translateY(-50%); width: clamp(180px, 26vw, 340px); height: auto; aspect-ratio: 1; pointer-events: none; }
.sf .sf-picto .tr { fill: none; stroke: rgba(255,255,255,.2); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.sf .sf-picto .pt { fill: var(--orange); stroke: none; }
.sf .sf-banniere-texte { position: relative; z-index: 1; }
@media (max-width: 760px) { .sf .sf-picto { right: -40px; top: 30%; opacity: .5; } }
.sf .sf-produit { margin: 0; position: sticky; top: 150px; }
.sf .sf-produit img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-l, 18px); box-shadow: var(--ombre); }
.sf .sf-produit figcaption { margin-top: 8px; font-size: 12px; color: var(--muted); }
.sf .sf-produit figcaption a { color: inherit; }
.sf .sf-texte p { color: var(--muted); max-width: 66ch; margin: 14px 0 0; }
.sf .sf-texte h2 { margin-bottom: 6px; }
.sp h2.t-l + p.lead { margin-top: 16px; }
.sp .tete-section { margin-bottom: clamp(24px, 3vw, 40px); }
.sf .sf-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin-top: 28px; }
.sf .sf-chiffre { padding: 18px; border-radius: var(--r); background: var(--bg-2); }
.sf .sf-chiffre b { display: block; font-family: var(--f-titre); font-size: 30px; line-height: 1.1; color: var(--orange-ink, var(--orange)); }
.sf .sf-chiffre span { display: block; margin-top: 6px; font-size: 14px; color: var(--ink); }
.sf .sf-source { display: block; margin-top: 8px; font-size: 11.5px; font-style: italic; color: var(--muted); line-height: 1.4; }
.sf .sf-source a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.sf .sf-pays { list-style: none; margin: 0; padding: 0; counter-reset: pays; display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; }
.sf .pays-cite { white-space: nowrap; }
.sf .drapeau { display: inline-block; width: 1.15em; height: auto; aspect-ratio: 4 / 3; margin: 0 .3em .1em 0; vertical-align: middle; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.12); }
.sf .drapeau-liste { grid-row: span 2; width: 44px; height: 33px; border-radius: 4px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.12); align-self: center; }
.sf .sf-pays li { counter-increment: pays; display: grid; grid-template-columns: 34px 44px minmax(0, 1fr); column-gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface, #fff); }
.sf .sf-pays li::before { content: counter(pays); grid-row: span 2; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--bg, #fff); font-family: var(--f-mono); font-size: 13px; }
.sf .sf-pays li span { color: var(--muted); font-size: 15px; }
.sf .sf-reglementation { margin-top: 28px; padding: 22px 24px; border-radius: var(--r-l, 16px); background: var(--orange-soft); }
.sf .sf-reglementation h3 { margin: 0 0 8px; font-size: 1.1rem; }
.sf .sf-reglementation p { margin: 0; color: var(--ink); max-width: 80ch; }
.sf .sf-banniere-texte { width: 100%; }
.sf .sf-banniere.sans-photo { min-height: clamp(300px, 42vh, 440px) !important; }
.sf .sf-defis { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
@media (min-width: 1000px) { .sf .sf-defis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sf .sf-outils { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 16px; }
@media (max-width: 520px) { .sf .sf-outils { grid-template-columns: 1fr; } }
.sf .sf-outil { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: var(--r-l, 16px); background: var(--surface, #fff); }
.sf .sf-outil h3 { margin: 4px 0 6px; font-size: 1.1rem; }
.sf .sf-outil p { margin: 0; color: var(--muted); }
.sf .sf-entetes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 20px; margin-bottom: 10px; font-family: var(--f-mono); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.sf .sf-entetes span:last-child { color: var(--orange-ink, var(--orange)); }
.sf .sf-paires { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sf .sf-paire { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 20px; align-items: stretch; }
.sf .sf-defi { padding: 22px; border-radius: var(--r-l, 16px); background: var(--bg-2); position: relative; }
.sf .sf-defi::after { content: "→"; position: absolute; right: -17px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--orange); color: var(--on-orange, #fff); font-size: 14px; z-index: 1; }
.sf .sf-defi .n { font-family: var(--f-mono); font-size: 13px; color: var(--muted); }
.sf .sf-defi h3, .sf .sf-solution h3 { margin: 8px 0 6px; font-size: 1.12rem; }
.sf .sf-defi p, .sf .sf-solution p { margin: 0; color: var(--muted); }
.sf .sf-solution { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 22px; border-radius: var(--r-l, 16px); border: 1px solid var(--line); background: var(--surface, #fff); }
.sf .sf-etat { display: inline-block; padding: 3px 10px; border-radius: 99px; font-size: 11.5px; font-family: var(--f-mono); letter-spacing: .03em; background: var(--orange-soft); color: var(--orange-ink, var(--orange)); }
.sf .sf-etat.ok { background: var(--leaf-soft, #e3efe7); color: var(--leaf, #1d6b45); }
.sf .sf-liens { margin-top: 10px !important; display: flex; flex-wrap: wrap; gap: 6px 18px; }
@media (max-width: 760px) { .sf .sf-paire, .sf .sf-entetes { grid-template-columns: 1fr; } .sf .sf-entetes { display: none; } .sf .sf-defi::after { right: 50%; top: auto; bottom: -17px; transform: translateX(50%) rotate(90deg); } }
.sf .sf-aides { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.sf .sf-aide { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: var(--r-l, 16px); background: var(--surface, #fff); }
.sf .sf-aide h3 { margin: 4px 0 6px; font-size: 1.1rem; }
.sf .sf-aide p { margin: 0 0 10px; color: var(--muted); }
.sf .sf-bas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); }
.sf .sf-autres { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.sf .sf-autre { padding: 10px 16px; border: 1px solid var(--line-2, var(--line)); border-radius: 99px; text-decoration: none; color: var(--ink); font-weight: 600; }
.sf .sf-autre:hover { border-color: var(--orange); color: var(--orange-ink, var(--orange)); }
.sf .sf-sources ul { margin: 16px 0 0; padding-left: 18px; color: var(--muted); font-size: 14.5px; }
.sf .sf-sources li { margin-bottom: 6px; }
@media (max-width: 900px) {
  .sp .sp-hero-grille, .sp .sp-deux, .sp .sp-faq, .sf .sf-intro, .sf .sf-bas { grid-template-columns: 1fr; }
  .sp .sp-captures, .sf .sf-produit { position: static; }
}
.sk-site *, .sk-site *::before, .sk-site *::after{ box-sizing: border-box; }
.sk-site h1, .sk-site h2, .sk-site h3, .sk-site h4{ font-family: var(--f-display); font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0; text-wrap: balance; }
.sk-site p{ margin: 0; }
.sk-site a{ color: inherit; }
.sk-site :focus-visible{ outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 6px; }
.sk-site ul{ margin: 0; padding: 0; list-style: none; }
.sk-site .cadre{ max-width: var(--largeur); margin-inline: auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.sk-site .ska-section{ padding-block: clamp(72px, 9vw, 112px); }
.sk-site .givre{ background: var(--givre); }
.sk-site .bande{ background: var(--band); color: var(--band-fg); }
.sk-site .surtitre{ font-family: var(--f-mono); font-size: 12.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--sankora); }
.sk-site .bande .surtitre{ color: var(--band-accent); }
.sk-site .titre{ font-size: clamp(30px, 4.2vw, 46px); max-width: 22ch; margin-top: 14px; }
.sk-site .chapeau{ font-size: clamp(16.5px, 1.5vw, 18.5px); color: var(--muted); max-width: 60ch; margin-top: 16px; }
.sk-site .bande .chapeau{ color: var(--band-muted); }
.sk-site .entete-section{ margin-bottom: clamp(36px, 5vw, 56px); }
.sk-site .ska-centre{ text-align: center; }
.sk-site .ska-centre .titre, .sk-site .ska-centre .chapeau{ margin-inline: auto; }
.sk-site .btn{ display: inline-flex; align-items: center; justify-content: center; gap: 10px; font: 600 15.5px/1.2 var(--f-sans); text-decoration: none; cursor: pointer;
  padding: 15px 22px; border-radius: var(--r-m); border: 1.5px solid transparent; transition: background .15s, border-color .15s; }
.sk-site .btn-principal{ background: var(--sankora); color: #fff; }
.sk-site .btn-principal:hover{ background: var(--sankora-hover); }
.sk-site .btn-ligne{ background: transparent; color: var(--ink); border-color: var(--line-2); }
.sk-site .btn-ligne:hover{ border-color: var(--sankora); }
.sk-site .bande .btn-principal{ background: var(--orange); }
.sk-site .bande .btn-principal:hover{ background: var(--orange-hover); }
.sk-site .bande .btn-ligne{ color: var(--band-fg); border-color: var(--band-line); }
.sk-site .bande .btn-ligne:hover{ border-color: var(--band-accent); }
.sk-site .lien-fleche{ display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--sankora); text-decoration: none; }
.sk-site .lien-fleche::after{ content: "→"; transition: transform .15s; }
.sk-site .lien-fleche:hover::after{ transform: translateX(3px); }
.sk-site .logo{ display: inline-flex; flex: none; }
.sk-site .logo img{ height: 36px; width: auto; display: block; }
.sk-site .logo .l-sombre{ display: none; }
.sk-site .menu{ display: flex; align-items: center; gap: 16px; margin-left: 8px; }
.sk-site .menu-liste{ display: flex; align-items: center; gap: 2px; }
.sk-site .menu-item{ position: relative; }
.sk-site .menu-btn, .sk-site .menu-lien{ display: inline-flex; align-items: center; gap: 6px; font: 500 15.5px/1 var(--f-sans); color: var(--ink-2); background: transparent; border: 0; cursor: pointer; padding: 12px 12px; border-radius: var(--r-s); text-decoration: none; }
.sk-site .menu-btn svg{ width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .15s; }
.sk-site .menu-btn:hover, .sk-site .menu-lien:hover, .sk-site .menu-item.ouvert .menu-btn{ color: var(--sankora); background: var(--givre); }
.sk-site .menu-item.ouvert .menu-btn svg{ transform: rotate(180deg); }
.sk-site .sous-menu{ display: none; position: absolute; top: calc(100% + 10px); left: 0; min-width: 260px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-l); box-shadow: var(--ombre); padding: 10px; z-index: 50; }
.sk-site .menu-item.ouvert .sous-menu{ display: grid; gap: 2px; }
.sk-site .sous-menu::before{ content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.sk-site .sous-menu-large{ width: min(680px, calc(100vw - 40px)); }
.sk-site .menu-item.ouvert .sous-menu-large{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sk-site .sm-colonne{ display: grid; gap: 2px; align-content: start; }
.sk-site .sm-titre{ font: 500 11.5px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 10px 12px 8px; }
.sk-site .sous-menu a{ display: grid; gap: 2px; padding: 10px 12px; border-radius: var(--r-s); text-decoration: none; }
.sk-site .sous-menu a:hover{ background: var(--givre); }
.sk-site .sous-menu a b{ font-weight: 600; font-size: 15px; color: var(--ink); }
.sk-site .sous-menu a span{ font-size: 13.5px; color: var(--muted); }
.sk-site .menu-cta{ display: none; }
.sk-site .outils{ display: flex; align-items: center; gap: 12px; margin-left: auto; }
.sk-site .langue{ display: inline-flex; }
.sk-site .langue a{ font: 500 13px/1 var(--f-mono); padding: 10px 7px; color: var(--muted); text-decoration: none; border-radius: 6px; }
.sk-site .langue a[aria-current="page"]{ color: var(--sankora); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }
.sk-site .burger{ display: none; align-items: center; gap: 8px; font: 600 15px/1 var(--f-sans); color: var(--ink); background: transparent; border: 1px solid var(--line-2); border-radius: var(--r-m); padding: 10px 12px; cursor: pointer; min-height: 44px; }
.sk-site .burger svg{ width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
@media (max-width: 1140px) {.sk-site .burger{ display: inline-flex; }
.sk-site .cta-entete{ display: none; }
.sk-site .menu{ display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 12px; background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--ombre);
    padding: 12px max(20px, env(safe-area-inset-right, 0px)) 20px max(20px, env(safe-area-inset-left, 0px)); max-height: calc(100vh - 90px); overflow-y: auto; margin: 0; }
.sk-site .menu.ouvert{ display: flex; }
.sk-site .menu-liste{ flex-direction: column; align-items: stretch; }
.sk-site .menu-btn, .sk-site .menu-lien{ width: 100%; justify-content: space-between; padding: 14px 8px; font-size: 17px; border-radius: 0; border-bottom: 1px solid var(--line); }
.sk-site .menu-btn:hover, .sk-site .menu-item.ouvert .menu-btn{ background: transparent; }
.sk-site .sous-menu, .sk-site .sous-menu-large{ position: static; width: auto; min-width: 0; box-shadow: none; border: 0; padding: 4px 0 10px 8px; border-radius: 0; }
.sk-site .menu-item.ouvert .sous-menu-large{ grid-template-columns: 1fr; }
.sk-site .menu-cta{ display: inline-flex; }}
@media (max-width: 420px) {.sk-site .burger-lib{ display: none; }
.sk-site .logo img{ height: 30px; }}
.sk-site .banniere{ position: relative; overflow: hidden; padding-block: clamp(64px, 9vw, 128px); }
.sk-site .banniere .cadre{ position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 80px); align-items: center; }
.sk-site .banniere h1{ font-size: clamp(44px, 6.8vw, 84px); line-height: .98; letter-spacing: -0.04em; margin-top: 18px; }
.sk-site .banniere h1 em{ font-style: normal; color: var(--band-accent); }
.sk-site .ska-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.sk-site .carte{ position: relative; border-radius: var(--r-xl); background: var(--band-2); border: 1px solid var(--band-line); overflow: hidden; margin: 0; }
.sk-site .carte svg{ display: block; width: 100%; height: auto; }
.sk-site .carte .grille{ stroke: var(--band-line); stroke-width: 1; }
.sk-site .carte .courbe{ fill: none; stroke: var(--band-line); stroke-width: 1.3; }
.sk-site .carte .voisine{ fill: none; stroke: #3C6A55; stroke-width: 1.4; stroke-dasharray: 5 5; }
.sk-site .carte .poly{ fill: rgba(92,199,149,.14); stroke: #5CC795; stroke-width: 2.8; stroke-linejoin: round; stroke-dasharray: 1500; animation: tracer 2.6s ease-out both .2s; }
.sk-site .carte .sommet{ fill: #0F2219; stroke: #5CC795; stroke-width: 2; }
.sk-site .carte .gps{ fill: #FF6B00; }
.sk-site .carte .ska-halo{ fill: #FF6B00; transform-box: fill-box; transform-origin: center; animation: halo 2.4s ease-out infinite; }
.sk-site .carte text{ font-family: var(--f-mono); font-size: 11px; fill: var(--band-muted); }
@keyframes tracer { from { stroke-dashoffset: 1500; } to { stroke-dashoffset: 0; } }
@keyframes halo { 0% { transform: scale(.7); opacity: .5; } 100% { transform: scale(2.6); opacity: 0; } }
.sk-site .ska-badge{ position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; background: var(--surface); color: var(--ink); border-radius: var(--r-l); padding: 14px 18px; box-shadow: 0 18px 44px -24px rgba(0,0,0,.6); }
.sk-site .ska-badge .ska-code{ font: 500 14px/1.2 var(--f-mono); }
.sk-site .pastille{ display: inline-flex; align-items: center; gap: 7px; width: fit-content; font-size: 13.5px; font-weight: 600; padding: 6px 10px; border-radius: var(--r-s); }
.sk-site .pastille::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.sk-site .p-ok{ color: var(--conforme); background: var(--conforme-bg); }
.sk-site .p-res{ color: var(--reserve); background: var(--reserve-bg); }
.sk-site .p-info{ color: var(--info); background: var(--info-bg); }
@media (max-width: 900px) {.sk-site .banniere .cadre{ grid-template-columns: 1fr; }}
.sk-site .ska-piliers{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sk-site .ska-pilier{ background: var(--givre); border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(26px, 3vw, 36px); display: grid; gap: 12px; align-content: start; }
.sk-site .ska-tuile{ width: 48px; height: 48px; border-radius: 27.5%; background: var(--sankora-pale); color: var(--canopee); display: grid; place-items: center; flex: none; }
.sk-site .ska-tuile svg{ width: 22px; height: 22px; }
.sk-site .ska-pilier h3{ font-size: 24px; margin-top: 6px; }
.sk-site .ska-pilier p{ color: var(--muted); }
@media (max-width: 860px) {.sk-site .ska-piliers{ grid-template-columns: 1fr; }}
.sk-site .bloc{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.sk-site .bloc + .bloc{ margin-top: clamp(64px, 8vw, 104px); }
.sk-site .bloc-inverse .bloc-visuel{ order: -1; }
.sk-site .bloc h3.nom-bloc{ font-size: clamp(28px, 3.4vw, 38px); margin-top: 12px; }
.sk-site .bloc .chapeau{ margin-top: 14px; }
.sk-site .liste-services{ display: grid; gap: 12px; margin-top: 28px; }
.sk-site .svc{ display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px; border: 1px solid var(--line); border-radius: var(--r-l); background: var(--surface); }
.sk-site .svc h4{ font-size: 18px; letter-spacing: -0.01em; line-height: 1.25; }
.sk-site .svc p{ color: var(--muted); font-size: 15px; margin-top: 4px; }
.sk-site .sigle{ font: 500 11.5px/1 var(--f-mono); letter-spacing: .06em; color: var(--sankora); background: var(--sankora-pale); padding: 5px 7px; border-radius: 6px; vertical-align: middle; margin-left: 4px; }
.sk-site .ska-ecran{ background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--ombre); }
.sk-site .ecran-barre{ display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--line); background: var(--surface-2); flex-wrap: wrap; }
.sk-site .ecran-barre .chemin{ font: 500 12.5px/1.3 var(--f-mono); color: var(--muted); }
.sk-site .ecran-barre .demo-lib{ margin-left: auto; font-size: 12px; color: var(--muted); }
.sk-site .ska-panneau{ padding: clamp(20px, 3vw, 28px); display: grid; gap: 16px; }
.sk-site .ska-panneau h4{ font-size: 21px; }
.sk-site .lignes{ display: grid; border: 1px solid var(--line); border-radius: var(--r-l); overflow: hidden; }
.sk-site .ligne{ display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 15px; }
.sk-site .ligne:last-child{ border-bottom: 0; }
.sk-site .ligne .v{ font-family: var(--f-mono); font-size: 13.5px; text-align: right; font-variant-numeric: tabular-nums; }
.sk-site .bord{ width: 6px; align-self: stretch; border-radius: 4px; }
.sk-site .ligne.delai{ grid-template-columns: 6px minmax(0, 1fr) auto; }
.sk-site .ska-d1{ background: #B3352A; }
.sk-site .ska-d2{ background: #C98A0B; }
.sk-site .ska-d3{ background: #2563A6; }
.sk-site .d4{ background: #2F9E6E; }
@media (max-width: 900px) {.sk-site .bloc{ grid-template-columns: 1fr; }
.sk-site .bloc-inverse .bloc-visuel{ order: 0; }}
@media (max-width: 480px) {.sk-site .ligne{ grid-template-columns: 1fr; gap: 6px; }
.sk-site .ligne .v{ text-align: left; }
.sk-site .ligne.delai{ grid-template-columns: 6px minmax(0, 1fr); }
.sk-site .ligne.delai .v{ grid-column: 2; }}
.sk-site .ska-filieres{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.sk-site .filiere{ display: grid; justify-items: center; text-align: center; gap: 12px; }
.sk-site .disque{ width: clamp(120px, 14vw, 168px); height: clamp(120px, 14vw, 168px); max-width: 100%; border-radius: 50%; background: var(--surface); border: 1px solid var(--line); display: grid; place-items: center; }
.sk-site .disque svg{ width: 46%; height: 46%; }
.sk-site .disque .tr{ fill: none; stroke: var(--sankora); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.sk-site .disque .pt{ fill: var(--canopee); }
.sk-site .filiere h3{ font-size: 22px; }
.sk-site .filiere p{ color: var(--muted); font-size: 15px; max-width: 26ch; }
.sk-site .note-filieres{ margin-top: 36px; color: var(--muted); font-size: 15px; text-align: center; }
@media (max-width: 860px) {.sk-site .ska-filieres{ grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }}
.sk-site .ska-chiffres{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sk-site .ska-chiffre{ padding: 8px 24px; border-left: 1px solid var(--band-line); display: grid; gap: 8px; align-content: start; }
.sk-site .ska-chiffre:first-child{ border-left: 0; padding-left: 0; }
.sk-site .ska-chiffre b{ font: 500 clamp(44px, 6vw, 72px)/1 var(--f-display); letter-spacing: -0.03em; color: var(--band-fg); font-variant-numeric: tabular-nums; }
.sk-site .ska-chiffre span{ color: var(--band-muted); font-size: 16px; max-width: 22ch; }
@media (max-width: 860px) {.sk-site .ska-chiffres{ grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
.sk-site .ska-chiffre:nth-child(3){ border-left: 0; padding-left: 0; }}
.sk-site .rdue{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.sk-site .calendrier{ display: grid; gap: 0; margin-top: 28px; border-left: 2px solid var(--line-2); }
.sk-site .jalon{ position: relative; padding: 0 0 26px 26px; display: grid; gap: 4px; }
.sk-site .jalon:last-child{ padding-bottom: 0; }
.sk-site .jalon::before{ content: ""; position: absolute; left: -8px; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: var(--surface); border: 2.5px solid var(--canopee); }
.sk-site .jalon.proche::before{ background: var(--point); border-color: var(--point); }
.sk-site .jalon .date{ font: 500 14px/1.2 var(--f-mono); color: var(--sankora); }
.sk-site .jalon h4{ font-size: 19px; }
.sk-site .jalon p{ color: var(--muted); font-size: 15px; }
.sk-site .ska-faq{ display: grid; gap: 10px; }
.sk-site .ska-faq details{ border: 1px solid var(--line); border-radius: var(--r-l); background: var(--surface); }
.sk-site .ska-faq summary{ cursor: pointer; list-style: none; padding: 18px 20px; font-family: var(--f-display); font-weight: 600; font-size: 18px; letter-spacing: -0.01em; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.sk-site .ska-faq summary::-webkit-details-marker{ display: none; }
.sk-site .ska-faq summary::after{ content: "+"; font: 400 24px/1 var(--f-sans); color: var(--sankora); flex: none; }
.sk-site .ska-faq details[open] summary::after{ content: "–"; }
.sk-site .ska-faq details p{ padding: 0 20px 20px; color: var(--muted); font-size: 15.5px; }
.sk-site .ska-faq h3{ font-size: 22px; margin-bottom: 8px; }
.sk-site .sources-rdue{ margin-top: 18px; font-size: 13px; color: var(--muted); }
@media (max-width: 900px) {.sk-site .rdue{ grid-template-columns: 1fr; }}
.sk-site .profils{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sk-site .profil{ background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-l); padding: 26px; display: grid; grid-template-rows: auto auto 1fr auto; gap: 12px; }
.sk-site .profil h3{ font-size: 22px; }
.sk-site .profil p{ color: var(--muted); font-size: 15.5px; }
.sk-site .profil ul{ display: grid; gap: 8px; font-size: 15px; color: var(--ink-2); }
.sk-site .profil li{ padding-left: 18px; position: relative; }
.sk-site .profil li::before{ content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; border: 1.6px solid var(--canopee); }
@media (max-width: 1000px) {.sk-site .profils{ grid-template-columns: repeat(2, minmax(0, 1fr)); }}
@media (max-width: 560px) {.sk-site .profils{ grid-template-columns: 1fr; }}
.sk-site .contact .cadre{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 80px); align-items: start; }
.sk-site .contact .ska-coord{ margin-top: 28px; color: var(--band-muted); }
.sk-site form.formulaire{ background: var(--surface); color: var(--ink); border-radius: var(--r-xl); padding: clamp(24px, 3vw, 36px); display: grid; gap: 16px; }
.sk-site .champs{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sk-site .champ{ display: grid; gap: 6px; min-width: 0; }
.sk-site .champ.large{ grid-column: 1 / -1; }
.sk-site .champ label{ font-size: 14px; font-weight: 600; color: var(--muted); }
.sk-site .champ input, .sk-site .champ select, .sk-site .champ textarea{ font: 16px/1.4 var(--f-sans); color: var(--ink); background: var(--surface-2); border: 1px solid var(--line-2); border-radius: var(--r-s); padding: 12px 13px; width: 100%; min-height: 48px; }
.sk-site .champ textarea{ min-height: 110px; resize: vertical; }
.sk-site .piege{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sk-site .consent{ display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14px; color: var(--muted); }
.sk-site .consent input{ width: 18px; height: 18px; margin-top: 2px; accent-color: var(--sankora); }
.sk-site .note-form{ font-size: 13px; color: var(--muted); }
.sk-site form.formulaire{ position: relative; }
@media (max-width: 860px) {.sk-site .contact .cadre{ grid-template-columns: 1fr; }}
@media (max-width: 520px) {.sk-site .champs{ grid-template-columns: 1fr; }}
@media (prefers-reduced-motion: reduce) {.sk-site .carte .poly, .sk-site .carte .ska-halo{ animation: none; }
.sk-site .carte .ska-halo{ opacity: 0; }}
.sk-site .aller-contenu{ position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--sankora); color: #fff; padding: 10px 14px; border-radius: var(--r-s); text-decoration: none; font-weight: 600; }
.sk-site .aller-contenu:focus{ top: calc(12px + env(safe-area-inset-top, 0px)); }
.sk-site .lien-svc{ margin-top: 10px; font-size: 15px; }
.sk-site .ariane{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--band-muted); margin-bottom: 22px; }
.sk-site .ariane a{ color: var(--band-fg); text-decoration: none; }
.sk-site .ariane a:hover{ text-decoration: underline; text-underline-offset: 3px; }
.sk-site .puces-d4c{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.sk-site .puce-d4c{ font: 500 12.5px/1.2 var(--f-mono); padding: 8px 10px; border-radius: var(--r-s); border: 1px solid var(--band-line); color: var(--band-fg); }
.sk-site .liste-ronds{ display: grid; gap: 9px; font-size: 15px; color: var(--ink-2); }
.sk-site .liste-ronds li{ padding-left: 18px; position: relative; }
.sk-site .liste-ronds li::before{ content: ""; position: absolute; left: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; border: 1.6px solid var(--canopee); }
.sk-site .deroule-d4c{ display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; counter-reset: dr; }
.sk-site .deroule-d4c li{ counter-increment: dr; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-l); padding: 22px; display: grid; gap: 8px; align-content: start; }
.sk-site .deroule-d4c li::before{ content: counter(dr); width: 36px; height: 36px; border-radius: 27.5%; background: var(--sankora); color: #fff; display: grid; place-items: center; font: 500 14px/1 var(--f-mono); }
.sk-site .deroule-d4c h3{ font-size: 19px; }
.sk-site .deroule-d4c p{ color: var(--muted); font-size: 15px; }
.sk-site .modules-d4c{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sk-site .d4c-module{ border: 1px solid var(--line); border-radius: var(--r-xl); padding: clamp(24px, 3vw, 34px); display: grid; gap: 12px; align-content: start; background: var(--givre); }
.sk-site .d4c-module h3{ font-size: 24px; }
.sk-site .d4c-module p{ color: var(--muted); }
.sk-site .renvoi-sk{ margin-top: 28px; padding: 24px; border-radius: var(--r-l); background: var(--sankora-pale); display: grid; gap: 8px; }
.sk-site .renvoi-sk h3{ font-size: 20px; }
.sk-site .renvoi-sk p{ color: var(--ink-2); font-size: 15.5px; }
@media (max-width: 860px) {.sk-site .modules-d4c{ grid-template-columns: 1fr; }}
.sk-site .fn-tete{ padding-block: clamp(56px, 7vw, 96px); }
.sk-site .fn-tete h1{ font-size: clamp(34px, 5vw, 58px); max-width: 22ch; margin-top: 16px; }
.sk-site .fn-lecture{ margin-top: 18px; font: 500 13px/1 var(--f-mono); color: var(--band-muted); }
.sk-site .fn-grille{ display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); padding-block: clamp(48px, 6vw, 80px); align-items: start; }
.sk-site .fn-sommaire{ position: sticky; top: calc(env(safe-area-inset-top, 0px) + 96px); font-size: 15px; }
.sk-site .fn-sommaire p{ font: 500 12px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.sk-site .fn-sommaire ol{ list-style: none; display: grid; gap: 4px; counter-reset: so; }
.sk-site .fn-sommaire li{ counter-increment: so; }
.sk-site .fn-sommaire a{ display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px; padding: 7px 8px; border-radius: var(--r-s); text-decoration: none; color: var(--ink-2); }
.sk-site .fn-sommaire a::before{ content: counter(so, decimal-leading-zero); font: 500 12px/1.6 var(--f-mono); color: var(--canopee); }
.sk-site .fn-sommaire a:hover{ background: var(--givre); color: var(--sankora); }
.sk-site .fn-article{ max-width: 70ch; display: grid; gap: 44px; }
.sk-site .fn-section{ display: grid; gap: 14px; }
.sk-site .fn-section h2{ font-size: clamp(24px, 2.6vw, 30px); }
.sk-site .fn-section p{ color: var(--ink-2); }
.sk-site .fn-cta{ padding: 28px; border-radius: var(--r-xl); background: var(--band); color: var(--band-fg); display: grid; gap: 12px; }
.sk-site .fn-cta h2{ font-size: 26px; }
.sk-site .fn-cta p{ color: var(--band-muted); }
.sk-site .fn-cta .btn-principal{ background: var(--orange); }
.sk-site .fn-cta .btn-ligne{ color: var(--band-fg); border-color: var(--band-line); }
@media (max-width: 860px) {.sk-site .fn-grille{ grid-template-columns: 1fr; }
.sk-site .fn-sommaire{ position: static; }}
.sk-site .engagements.deux{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 860px) {.sk-site .engagements.deux{ grid-template-columns: 1fr; }}
/* SANKORA:FIN */
/* MODERNISATION:DEBUT */
/* Modernisation 2026-10 · charte v2.2, chapitre 16 (jetons, mouvement, focus, états).
   Bloc géré par outils/site-netlify/moderniser_site.py : ne pas modifier à la main dans le site. */

/* ---------- En-tête : se compacte au défilement, se range quand on descend, revient quand on remonte ---------- */
.entete{transition:border-color .3s,transform .4s var(--courbe-douce),margin-bottom var(--mv-moyen) var(--courbe-douce)}
.entete .wrap{transition:height var(--mv-moyen) var(--courbe-douce)}
/* La marge compense la hauteur perdue : le contenu ne saute pas */
.entete.defile{margin-bottom:12px}
.entete.defile .wrap{height:60px}
.entete.masque{transform:translateY(-110%)}
.entete:focus-within{transform:none}

/* ---------- Thème : bouton de l'en-tête ---------- */
.bouton-theme{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border-radius:99px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--mv-court)}
.bouton-theme:hover{border-color:var(--ink)}
.bouton-theme svg{grid-area:1/1;width:19px;height:19px;transition:opacity .25s ease,transform .45s var(--courbe-douce)}
.bouton-theme .ic-soleil{opacity:0;transform:rotate(-70deg) scale(.5)}
:root[data-theme="dark"] .bouton-theme .ic-soleil{opacity:1;transform:none}
:root[data-theme="dark"] .bouton-theme .ic-lune{opacity:0;transform:rotate(70deg) scale(.5)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .bouton-theme .ic-soleil{opacity:1;transform:none}
  :root:not([data-theme="light"]) .bouton-theme .ic-lune{opacity:0;transform:rotate(70deg) scale(.5)}
}
/* Très petits écrans : le choix du thème reste dans le pied de page */
@media (max-width:359px){.bouton-theme{display:none}}

/* ---------- Thème : choix à trois options dans le pied de page ---------- */
.theme-choix{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;font-family:var(--f-mono);font-size:12px}
.theme-choix>span{margin-right:6px}
.theme-choix button{min-height:32px;padding:0 10px;border:1px solid transparent;border-radius:99px;background:none;color:var(--band-muted);font:inherit;cursor:pointer;transition:color var(--mv-court),border-color var(--mv-court)}
.theme-choix button:hover{color:var(--band-fg)}
/* État sélectionné : bordure et coche, pas seulement la couleur */
.theme-choix button[aria-pressed="true"]{color:var(--band-fg);border-color:var(--band-muted)}
.theme-choix button[aria-pressed="true"]::before{content:"✓\00a0"}

/* ---------- Expertises : grille modulaire ---------- */
.grille-exp.bento-exp{gap:16px;border:0}
.bento-exp>a{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.grille-exp.bento-exp>a:hover{background:var(--surface)}
.bento-exp>.exp-vedette{background:var(--orange-soft);border-color:color-mix(in srgb,var(--orange) 30%,transparent)}
.grille-exp.bento-exp>.exp-vedette:hover{background:var(--orange-soft)}
.bento-exp>.exp-vedette h3{font-size:clamp(1.6rem,2.6vw,2.15rem)}
.bento-exp>.exp-vedette p{font-size:17px;color:var(--ink-2);max-width:46ch}
.bento-exp>.exp-tout{background:var(--bg-2);gap:10px}
.grille-exp.bento-exp>.exp-tout:hover{background:var(--bg-2)}
.bento-exp>.exp-tout h3{font-size:1.32rem;max-width:30ch}
.bento-exp .exp-tout-illus{margin:6px 0 0}
.bento-exp>.exp-vedette{order:-1}
@media (min-width:760px){
  .grille-exp.bento-exp{grid-template-columns:repeat(2,1fr)}
  .bento-exp>.exp-vedette{grid-column:span 2}
}
@media (min-width:980px){
  .grille-exp.bento-exp{grid-template-columns:repeat(3,1fr);grid-auto-flow:row dense}
  .bento-exp>.exp-tout{grid-column:span 2}
  .bento-exp>.exp-vedette{padding:36px 34px}
}

/* ---------- Conduite de projet, réunie avec « Pourquoi Kaada Group » ---------- */
.etapes-bloc{margin-top:clamp(56px,7vw,88px);padding-top:clamp(40px,5vw,56px);border-top:1px solid var(--line)}
.etapes-tete{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;align-items:end;margin-bottom:clamp(28px,4vw,40px)}
.etapes-tete .eyebrow{grid-column:1/-1}
.etapes-tete h3{font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.08}
.etapes-tete p{color:var(--muted)}
.etape h4{font-size:1.15rem;margin:12px 0 6px}
@media (max-width:860px){.etapes-tete{grid-template-columns:1fr}}

/* ---------- Téléphone : cartes en défilement horizontal ---------- */
@media (max-width:759px){
  .defil-mobile{display:grid!important;grid-auto-flow:column;grid-auto-columns:min(84%,340px);grid-template-columns:none!important;gap:12px!important;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(16px,4vw,40px);
    margin-inline:calc(-1 * clamp(16px,4vw,40px));padding:2px clamp(16px,4vw,40px) 14px;
    border:0!important;border-radius:0!important;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
  .defil-mobile>*{scroll-snap-align:start;grid-column:auto!important;grid-row:auto!important;min-width:0}
  .js .defil-mobile>.rv,.js .defil-mobile.rv{opacity:1;translate:none;animation:none}
  .etapes.defil-mobile{grid-auto-columns:min(72%,280px)}
  .flux.defil-mobile{overflow-x:auto}
  .flux.defil-mobile li{border:1px solid var(--band-line)!important;border-radius:var(--r)}
  .pourquoi-grille.defil-mobile .pourquoi{grid-template-columns:1fr;gap:12px;padding:22px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
  .sombre .defil-mobile{scrollbar-color:var(--band-line) transparent}
  /* Secteurs : tuiles compactes, deux colonnes, sans paragraphe */
  .secteurs-compact{gap:10px}
  .secteurs-compact .tuile,.secteurs-compact .tuile.s3,.secteurs-compact .tuile.s4{grid-column:span 6;padding:16px 14px;gap:8px}
  .secteurs-compact .tuile:last-child{grid-column:span 12}
  .secteurs-compact .tuile p{display:none}
  .secteurs-compact .tuile h3,.secteurs-compact .tuile.s3 h3{font-size:1.02rem}
  .secteurs-compact .tuile .ico svg{width:24px;height:24px}
}

/* ---------- Pied de page plus court sur téléphone ---------- */
@media (max-width:520px){
  .pied-grille{grid-template-columns:1fr 1fr;gap:28px 20px}
  .pied-grille>div:first-child,.pied-grille>div:last-child{grid-column:1/-1}
}

/* ---------- Barre d'actions mobile : bouton Menu à portée de pouce ---------- */
.bmo-menu{display:none}
@media (max-width:760px){
  .barre-mobile{--focus:#EC6508;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)}
  .bmo-menu{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:99px;background:var(--band-3);color:var(--band-fg);cursor:pointer}
}
@media (max-width:420px){
  .barre-mobile{grid-template-columns:44px auto auto minmax(0,1fr)}
  .barre-mobile a:not(.principal){font-size:0;gap:0;padding-inline:13px}
  .barre-mobile a:not(.principal) svg{width:18px;height:18px}
}

/* ---------- Héros : capture réelle posée sur la carte d'Afrique ---------- */
.carte-stage{position:relative}
.hero-ecran{position:absolute;right:0;bottom:2%;width:min(70%,480px);display:block;text-decoration:none;z-index:2}
.hero-ecran .kc-ecran{box-shadow:var(--ombre)}
.hero-ecran .kc-barre{height:22px;padding:0 10px}
.hero-ecran .kc-pts i{width:6px;height:6px}
.hero-ecran .kc-url{font-size:12px;padding:0 10px}
.hero-ecran-tag{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:14.5px;font-weight:600;color:var(--orange-ink)}
.hero-ecran-tag svg{width:16px;height:16px;transition:transform var(--duree,.2s)}
.hero-ecran:hover .hero-ecran-tag svg{transform:translateX(3px)}
@media (prefers-reduced-motion:no-preference){
  .hero-ecran .kc-ecran{transition:transform .5s var(--courbe-douce)}
  .hero-ecran:hover .kc-ecran{transform:translateY(-4px)}
}
@media (max-width:760px){.hero-ecran{width:68%;bottom:0}}

/* ---------- Récit au défilement : de la parcelle au dossier d'export ---------- */
.recit{margin-top:clamp(8px,2vw,24px)}
.recit-etapes{counter-reset:none}
.recit-etape{padding:24px 0 24px 24px;border-left:2px solid var(--band-line);transition:border-color .4s,opacity .4s}
.recit-etape .n{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.recit-etape h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:10px 0 10px;color:var(--band-fg)}
.recit-etape p{color:var(--band-muted);max-width:44ch}
.recit-etape.actif{border-color:var(--orange)}
.recit-mobile{margin-top:18px}
.recit-ecrans{display:none}
.recit-lien{display:inline-flex;margin-top:18px;color:var(--orange)}
@media (min-width:980px){
  .recit{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,72px)}
  .recit-etape{min-height:min(64vh,560px);display:flex;flex-direction:column;justify-content:center}
  .js .recit-etape:not(.actif){opacity:.42}
  .recit-mobile{display:none}
  .recit-ecrans{display:block;position:sticky;top:calc(50vh - 230px);align-self:start}
  .recit-pile{display:grid}
  .recit-img{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .5s var(--courbe-douce),transform .6s var(--courbe-douce)}
  .recit-img.actif{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.recit-img{transition:none;transform:none}.recit-etape{transition:none}}

/* ---------- Preuves : normes, formats et réalités du terrain ---------- */
.preuves-bande{background:var(--bg-2)}
.preuves-tete{max-width:760px;margin-bottom:clamp(28px,4vw,40px)}
.preuves-tete h2{margin-top:14px}
.preuves-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px}
.preuves-grille li{display:grid;gap:6px;padding:18px 0;border-top:1px solid var(--line-2)}
.preuves-grille b{font-family:var(--f-mono);font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-ink)}
.preuves-grille span{font-size:15.5px;color:var(--ink-2)}
@media (max-width:980px){.preuves-grille{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.preuves-grille{gap:0 16px}.preuves-grille span{font-size:14.5px}}

/* ---------- Moins d'éléments flottants : WhatsApp reste dans le contact, la barre mobile et le pied de page ---------- */
.whatsapp{display:none!important}
/* MODERNISATION:FIN */
