/* Site de test de design Neur.on : mesures de la référence, couleurs Neur.on (spec § 4). */
:root{
  --page:#ffffff;--ink:#06122e;--btn:#001B4C;--btn-ink:#ffffff;--text:#39455c;--muted:#5b6880;
  --mid:#97A3B8;--line:#E3E9F3;--tile:#F5F8FF;--ui-bg:#FAFBFE;--accent:#317BFF;--accent-d:#1f5fd6;
  /* Alias attendus par cx.css, repris du site actuel */
  --navy:#001B4C;--navy-2:#06246b;--blue:#317BFF;--blue-d:#1f5fd6;--blue-dd:#1a55c4;--sky:#7FB0FF;
  --blue-pale:#E3ECFF;--bg:#F5F8FF;--bg-2:#EDF2FB;--tint:#EAF2FF;--line-2:#d2def1;--white:#ffffff;
  --r-btn:6px;--r-bloc:8px;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Source Serif 4","Times New Roman",serif;
  --num:"Inter",ui-sans-serif,system-ui,sans-serif;
  --ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --wrap:1216px;--gut:20px;
  color-scheme:light;
}
:root[data-theme="sombre"]{--page:#001233;--ink:#ffffff;--btn:#ffffff;--btn-ink:#001B4C;--text:#d5e2fb;--muted:#96BCFF;--mid:#7390c4;--line:#0c2f7a;--tile:#06246b;--accent:#7FB0FF;--accent-d:#96BCFF;color-scheme:dark}
@media (prefers-color-scheme:dark){
  :root[data-theme="systeme"]{--page:#001233;--ink:#ffffff;--btn:#ffffff;--btn-ink:#001B4C;--text:#d5e2fb;--muted:#96BCFF;--mid:#7390c4;--line:#0c2f7a;--tile:#06246b;--accent:#7FB0FF;--accent-d:#96BCFF;color-scheme:dark}
  :root[data-theme="systeme"] .logo-c{display:none}
  :root[data-theme="systeme"] .logo-s{display:block}
}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:400 16px/24px var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent-d);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:8px;z-index:100;background:var(--page);padding:8px 12px;border-radius:8px}

/* En-tête (68 px, collant) */
.hd{position:sticky;top:0;z-index:50;background:var(--page)}
.hd-in{display:flex;align-items:center;height:68px}
.hd-logo img{height:28px;width:auto}
.logo-s{display:none}
:root[data-theme="sombre"] .logo-c{display:none}
:root[data-theme="sombre"] .logo-s{display:block}
.hd-nav{display:flex;align-items:stretch;gap:12px;margin-left:40px;align-self:stretch}
.hd-i{display:inline-flex;align-items:center;gap:4px;padding:24px 8px;font:500 14px/20px var(--sans);color:var(--ink);background:none;border:0;cursor:pointer}
.hd-i svg{width:14px;height:14px;transition:transform .2s}
.hd-i[aria-expanded="true"] svg{transform:rotate(180deg)}
.hd-cta{margin-left:auto;display:flex;align-items:center;gap:16px}
/* Connexion à Corrext : lien texte à gauche du bouton de démo */
.hd-cx{padding:8px 4px;font:500 14px/20px var(--sans);color:var(--ink);text-decoration:none}
.hd-cx:hover{text-decoration:underline;text-underline-offset:3px}
.hd-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:34px;padding:8px;margin-right:-8px;background:none;border:0;cursor:pointer}
.hd-burger span{display:block;height:1.5px;background:var(--ink);border-radius:1px}
.hd.min .hd-in{height:68px}

/* Méga-menu */
.mg{position:absolute;left:0;right:0;top:100%;background:var(--page);border-top:1px solid var(--line);padding:32px 0 48px}
.mg-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 300px;gap:32px}
/* Sous-titres sur une largeur fixe (248 px) : mêmes coupures de ligne à toutes les largeurs. Sous 1280 px, la carte
   mise en avant cède sa place pour que chaque colonne garde ces 248 px */
@media (max-width:1279px){.mg-in{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-card{display:none}}
.mg-col{margin-left:-12px}
.mg-h{font:400 12px/16px var(--sans);text-transform:uppercase;letter-spacing:.3px;color:var(--muted);padding:0 12px;margin-bottom:8px}
.mg-a{display:block;padding:8px 12px;border-radius:6px;transition:background .15s}
.mg-a:hover,.mg-a:focus-visible{background:var(--tile)}
.mg-a b{display:block;font:500 14px/20px var(--sans);color:var(--ink)}
.mg-a em{display:block;max-width:248px;min-height:36px;margin-top:4px;font:400 13px/18px var(--sans);font-style:normal;color:var(--muted)}  /* toujours deux lignes : titres alignés d'une colonne à l'autre */
.mg-card{display:block;padding:12px;margin:-12px -12px 0 0;border-radius:6px;transition:background .15s}
.mg-card:hover{background:var(--tile)}
.mg-mini{display:block;position:relative;aspect-ratio:371/247;border-radius:6px;overflow:hidden;border:1px solid var(--line);background-color:#E3E9F3;background-image:radial-gradient(55% 55% at 18% 12%,rgba(49,123,255,.14),transparent 60%),radial-gradient(50% 50% at 88% 20%,rgba(49,123,255,.12),transparent 55%),radial-gradient(55% 55% at 6% 90%,rgba(255,255,255,.55),transparent 60%)}
.mg-mw{position:absolute;left:12%;right:12%;top:16%;bottom:-8%;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.12);display:flex;gap:4px;padding:8px}
.mg-mw i{width:6px;height:6px;border-radius:50%;background:#d9dee8}
.mg-card b{display:block;margin-top:12px;font:500 14px/20px var(--sans);color:var(--ink)}
.mg-t{display:block;margin-top:4px;font:400 13px/18px var(--sans);color:var(--muted)}
.mg-card .lien{margin-top:8px;font-size:14px;line-height:20px}
.mg-tous{display:block;padding:8px 12px}
.mg-tous .lien{font-size:14px;line-height:20px}
.mg-voile{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:40}

/* Menu mobile */
.mm{position:fixed;left:0;right:0;bottom:0;top:68px;z-index:49;background:var(--page);overflow:auto;padding:8px 0 32px}
.mm-g{border-bottom:1px solid var(--line)}
.mm-h{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 0;background:none;border:0;border-bottom:1px solid var(--line);font:500 16px/24px var(--sans);color:var(--ink);text-align:left;cursor:pointer}
.mm-g .mm-h{border-bottom:0}
.mm-h svg{width:14px;height:14px;transition:transform .2s}
.mm-h[aria-expanded="true"] svg{transform:rotate(180deg)}
.mm-b{padding:0 0 16px}
.mm-b p{margin:12px 0 4px;font:400 12px/16px var(--sans);text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}
.mm-b a{display:block;padding:8px 0;font:400 15px/22px var(--sans);color:var(--text)}
.mm-cx{display:block;margin-top:24px;padding:11px 16px;border:1px solid var(--line);border-radius:8px;text-align:center;font:500 15px/20px var(--sans);color:var(--ink)}
.mm-cta{margin-top:12px;width:100%}

/* Boutons et liens */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:0;border-radius:8px;background:var(--btn);color:var(--btn-ink);font:500 16px/24px var(--sans);cursor:pointer;transition:opacity .15s}
.btn:hover{opacity:.86}
.btn-s{padding:8px 16px;font-size:14px;line-height:20px}
.lien{display:inline-flex;align-items:center;gap:6px;padding:2px 0;font:500 16px/24px var(--sans);color:var(--accent-d)}
.lien::after{content:"→";transition:transform .15s}
.lien:hover::after{transform:translateX(3px)}

/* Sections et titres */
.sec{padding:64px 0}
.hero{padding:128px 0 64px}
.hero-g{display:grid;grid-template-columns:576px minmax(0,1fr);column-gap:120px;align-items:start}  /* RÈGLE COMMUNE : titre calé en haut sur le texte de droite (Fabien, 2026-10-16) */
.h1{font:600 40px/48px var(--sans);color:var(--ink)}
.h1 .n{display:block}
.h1 .s{display:block;font:300 40px/48px var(--serif)}
.hero-d p{color:var(--text);margin-bottom:24px}
.hero-a .h1{max-width:932px}
/* Baseline sous le titre de l'accueil (contenus-v2 H-accueil.json) */
.hero-bl{max-width:640px;margin-top:20px;font:400 18px/28px var(--sans);color:var(--text);text-wrap:pretty}
.hero-act{margin-top:32px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.hero-act .note{font:400 14px/20px var(--sans);color:var(--muted)}
.hero-st{padding-top:56px}
/* Accueil : distinctions un peu plus près de l'animation du hero (128 → 96 px, retour de Fabien du 2026-10-15) */
.hero-a + .dist{padding-top:32px}
.h2{font:300 30px/36px var(--serif);color:var(--ink);margin-bottom:32px}
.h2 em,.h3s em,.bd p em{font-style:italic;color:var(--accent)}
.h3s{font:300 30px/36px var(--serif);color:var(--ink)}
.intro{max-width:680px;margin:-16px 0 32px;color:var(--text)}
.pill{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--ink);border-radius:999px;font:500 12px/16px var(--sans);color:var(--ink)}
.legende + .tb,.intro + .tb{margin-top:24px}
.cmp-leg{display:flex;flex-wrap:wrap;gap:8px 24px}
.cmp-leg > span{display:inline-flex;align-items:center;gap:8px}
.bt-p .n{font:500 40px/48px var(--num);color:var(--ink)}
.legende{margin-top:16px;font:400 14px/20px var(--sans);color:var(--muted);max-width:760px}

/* Scène : panneau à dégradé, cadre, fenêtre (toujours claire) */
.ech{position:relative;width:100%}
.ech > .st{position:absolute;left:0;top:0;transform-origin:0 0;transform:scale(var(--k,1))}
.st{--ink:#06122e;--text:#39455c;--muted:#5b6880;--mid:#97A3B8;--line:#E3E9F3;--tile:#F5F8FF;--ui-bg:#FAFBFE;--accent:#317BFF;--accent-d:#1f5fd6;color-scheme:light;
  border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#E3E9F3;
  background-image:radial-gradient(55% 55% at 18% 12%,rgba(49,123,255,.14),transparent 60%),radial-gradient(50% 50% at 88% 20%,rgba(49,123,255,.12),transparent 55%),radial-gradient(65% 65% at 74% 94%,rgba(49,123,255,.10),transparent 62%),radial-gradient(55% 55% at 6% 90%,rgba(255,255,255,.55),transparent 60%),radial-gradient(48% 48% at 97% 62%,rgba(255,255,255,.42),transparent 55%)}
.st-f{width:79%;height:calc(100% - 26px);border:2px solid rgba(255,255,255,.8);border-radius:20px;padding:9px}
.fen{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);font:400 13px/19.5px var(--ui);color:#171717;text-align:left}
.fen-b{position:relative;flex:0 0 28px;display:flex;align-items:center;gap:5px;padding:0 12px;border-bottom:1px solid rgba(0,0,0,.06)}
.fen-b i{width:8px;height:8px;border-radius:50%;background:#d9dee8}
.fen-b span{position:absolute;left:0;right:0;text-align:center;font:500 13px/19.5px var(--ui);letter-spacing:-.13px;color:var(--mid);pointer-events:none}
.fen-c{position:relative;flex:1;min-height:0;overflow:hidden}
.sim-cur{position:absolute;left:0;top:0;z-index:5;width:18px;height:18px;margin:-2px 0 0 -2px;pointer-events:none;transition:transform .7s cubic-bezier(.4,0,.2,1);background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M2 1.5l12.5 7.2-5.6 1.3-2.6 5.3z' fill='%2306122e' stroke='%23fff' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E")}
.sim-cur.clic::after{content:"";position:absolute;left:-6px;top:-6px;width:24px;height:24px;border-radius:50%;background:rgba(49,123,255,.28);animation:clic .3s ease-out forwards}
@keyframes clic{from{transform:scale(.4);opacity:1}to{transform:scale(1.5);opacity:0}}
/* Jauge de déroulé : fine ligne au bas de la scène, épaisseur constante à l'écran quelle que soit la réduction (--k) */
.sim-jauge{position:absolute;left:0;right:0;bottom:0;z-index:6;height:calc(3px / var(--k,1));background:rgba(0,27,76,.08);pointer-events:none;transition:opacity .4s}
.sim-jauge i{display:block;height:100%;background:var(--accent);opacity:.7;transform:scaleX(0);transform-origin:0 50%}
.sim-libre .sim-jauge{opacity:0}
/* Mode libre (scène jouée une fois puis cliquable) : consigne au bas de la scène, commandes au pointeur */
.sim-main{position:absolute;left:50%;bottom:calc(36px / var(--k,1));width:max-content;max-width:86%;text-align:center;z-index:6;margin:0;padding:calc(6px / var(--k,1)) calc(14px / var(--k,1));border-radius:999px;background:#fff;
  box-shadow:0 1px 2px rgba(0,27,76,.08),0 8px 20px -10px rgba(0,27,76,.3);font:500 calc(13px / var(--k,1))/1.4 var(--sans);color:#06122e;text-wrap:balance;transform:translateX(-50%);animation:sim-main .5s ease both}
@keyframes sim-main{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translateX(-50%)}}
.sim-libre [role="button"]{cursor:pointer}
/* Pause des animations (WCAG 2.2.2) : bouton pause (.en-pause) ou bloc hors de l'écran (.hors-champ, posé par sim.js et
   global/animations.js) ; une animation suspendue ne coûte plus rien au processeur */
.en-pause *,.en-pause *::before,.en-pause *::after,.hors-champ *,.hors-champ *::before,.hors-champ *::after{animation-play-state:paused!important}
.anim-pause{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--page);color:var(--ink);cursor:pointer}
.anim-pause[hidden]{display:none}
.anim-pause svg{width:12px;height:12px;fill:currentColor}
.anim-pause .ap-lecture,.anim-pause[data-en-pause] .ap-pause{display:none}
.anim-pause[data-en-pause] .ap-lecture{display:block}
.anim-pause:hover{border-color:var(--mid)}
.anim-pause:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Dans une scène : coin bas droit, au-dessus de la jauge, taille constante à l'écran quelle que soit la réduction (--k) ;
   la scène garde ses couleurs claires en thème sombre */
.sim-pp{position:absolute;right:calc(12px / var(--k,1));bottom:calc(14px / var(--k,1));z-index:7;width:calc(32px / var(--k,1));height:calc(32px / var(--k,1));
  border:calc(1px / var(--k,1)) solid #E3E9F3;background:#fff;color:#06122e;box-shadow:0 1px 2px rgba(0,27,76,.08),0 6px 16px -8px rgba(0,27,76,.3)}
.sim-pp svg{width:calc(12px / var(--k,1));height:calc(12px / var(--k,1))}
.sim-pp:focus-visible{outline:calc(2px / var(--k,1)) solid #1f5fd6;outline-offset:calc(2px / var(--k,1))}
/* Démo libre (visite finie ou interrompue) : plus rien ne bouge seul, le bouton s'efface dès qu'il perd le focus */
.sim-libre .sim-pp:not(:focus){display:none}
/* Grille de cartes animées : bouton au-dessus de la grille, à droite */
.fx-pp{margin:16px 0 -24px auto}
.sim-libre [role="button"]:focus-visible{outline:2px solid #317BFF;outline-offset:2px}
.sim-libre .cr-txt{position:relative;z-index:3}  /* le terme surligné reste cliquable au-dessus des calques du panneau */
.sim-libre .cr-txt mark[role="button"]:hover{filter:brightness(.96)}
@media (max-width:640px){.sim-main{display:none}}  /* scène trop réduite : la consigne en masquerait le centre */
.ui-off{opacity:.38}
.ui-barre{display:block;height:8px;border-radius:4px;background:#E9EDF4;margin:8px 0}

/* Maquettes reprises du site actuel (.maq) et démo Corrext dans la fenêtre */
.maq{height:100%;overflow:hidden}
.maq > .win{height:100%;border:0;border-radius:0;box-shadow:none;margin:0}
.maq > .win > .win-top,.maq > .jv-win > .jv-bar{display:none}
.maq > .jv-win{height:100%;border:0;border-radius:0;box-shadow:none}
.fen-c > .cx-zone{height:100%;overflow:hidden}
.fen-c .cx{border:0;border-radius:0;box-shadow:none;margin:0}

/* Écran Corrext « Text translation » (scène d'accueil) : structure et palette de l'application, rendu affiné.
   Mouvements par transform et opacity, courbe de décélération commune. */
.cr{--ease:cubic-bezier(.22,.8,.24,1);--c-ink:#1e1f3b;--c-text:#3a3c56;--c-mut:#6c7089;--c-dim:#a6aac0;--c-line:rgba(30,31,59,.09);--c-bg:#f7f8fc;--c-ind:#3b34c9;--c-ind-soft:#efeefc;--c-hl:#d6e4ff;
  position:relative;height:100%;overflow:hidden;background:#fff;font:400 13px/19.5px "Inter",var(--ui);color:var(--c-text);animation:app-in .5s var(--ease) both}
.cr.fin{opacity:0;transition:opacity .45s ease}
@keyframes app-in{from{opacity:0}to{opacity:1}}
.cr svg{display:block;flex:0 0 auto}
.cr-top{position:relative;z-index:3;display:flex;align-items:center;gap:18px;height:48px;padding:0 20px;border-bottom:1px solid var(--c-line);background:#fff}
.cr-logo{width:88px;height:auto}
.cr-home{font:500 13px/19.5px "Inter",var(--ui);color:var(--c-ind)}
.cr-sp{flex:1}
.cr-bell svg{width:16px;height:16px;color:var(--c-mut)}
.cr-av{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c-ind-soft);color:var(--c-ind);font:600 11px/1 "Inter",var(--ui)}
.cr-notice{position:absolute;z-index:2;top:60px;left:20px;right:20px;display:flex;gap:10px;padding:12px 14px;border:1px solid rgba(59,52,201,.12);border-radius:10px;background:var(--c-ind-soft);opacity:0;transform:translateY(-8px);transition:opacity .4s ease,transform .6s var(--ease)}
.cr-notice svg{width:16px;height:16px;margin-top:1px;color:var(--c-ind)}
.cr-notice b{display:block;font:600 12px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-notice p{margin:2px 0 0;font:400 11.5px/17px "Inter",var(--ui);color:var(--c-text)}
.cr.avis .cr-notice{opacity:1;transform:none}
.cr-corps{position:absolute;top:48px;left:0;right:0;bottom:0;padding:14px 20px 0;transition:transform .65s var(--ease)}
.cr.avis .cr-corps{transform:translateY(var(--h-avis,104px))}
.cr-tabs{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cr-tl{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--c-line);border-radius:9px;background:var(--c-bg)}
.cr-tl{position:relative}
.cr-tl span{position:relative;z-index:1;transition:color .35s ease;padding:5px 12px;border-radius:7px;font:500 12px/18px "Inter",var(--ui);color:var(--c-mut)}
.cr-tl span.on{background:#fff;color:var(--c-ind);box-shadow:0 1px 2px rgba(30,31,59,.08),0 0 0 1px rgba(30,31,59,.04)}
.cr-sw{display:inline-flex;align-items:center;gap:8px;font:500 12px/18px "Inter",var(--ui);color:var(--c-mut);transition:color .35s ease,transform .16s ease}
.cr-sw.on{color:var(--c-ind)}
.cr-sw i{position:relative;width:30px;height:18px;border-radius:999px;background:#d5d7e4;transition:background-color .35s ease}
.cr-sw i::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(30,31,59,.25);transition:transform .45s var(--ease)}
.cr-sw.on i{background:var(--c-ind)}
.cr-sw.on i::after{transform:translateX(12px)}
.cr-work{border:1px solid var(--c-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.04),0 8px 24px rgba(30,31,59,.04)}
.cr-bar{position:relative;z-index:4;display:flex;align-items:center;border-bottom:1px solid var(--c-line)}
.cr-sel{position:relative;flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;height:42px;padding:0 14px;font:500 12px/18px "Inter",var(--ui);color:var(--c-ink);transition:transform .16s ease}
.cr-sel svg{width:14px;height:14px;color:var(--c-dim)}
.cr-sel + .cr-sel,.cr-swap + .cr-sel{border-left:1px solid var(--c-line)}
.cr-src{flex:1.2;display:grid;grid-template-columns:minmax(0,1fr) auto}
.cr-src .v0,.cr-src .v1{grid-area:1/1;white-space:nowrap;transition:opacity .35s ease}
.cr-src .v1{opacity:0}
.cr-src.detecte .v0{opacity:0}
.cr-src.detecte .v1{opacity:1}
.cr-src svg{grid-area:1/2}
.cr-bar > .cr-swap{display:grid;place-items:center;flex:0 0 44px;height:42px;border-left:1px solid var(--c-line);color:var(--c-mut)}
.cr-swap svg{width:15px;height:15px}
.cr-eng{flex:.9}
.cr-menu{position:absolute;z-index:6;top:46px;left:6px;right:6px;padding:4px;border:1px solid var(--c-line);border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(30,31,59,.14),0 2px 6px rgba(30,31,59,.06);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:50% 0;transition:opacity .25s ease,transform .45s var(--ease)}
.cr-sel.ouvert .cr-menu{opacity:1;transform:none}
.cr-menu span{display:block;padding:7px 10px;border-radius:7px;font:400 12px/18px "Inter",var(--ui);color:var(--c-text);transition:background-color .2s ease,color .2s ease}
.cr-menu span.on{background:var(--c-bg);color:var(--c-ink);font-weight:500}
.cr-panes{display:grid;grid-template-columns:1fr 1fr}
.cr-pane{position:relative;height:214px;padding:16px 46px 40px 18px}
.cr-pane + .cr-pane{border-left:1px solid var(--c-line);background:#fcfcfe;border-radius:0 0 12px 0}
.cr-in::before{content:attr(data-ph);position:absolute;top:16px;left:18px;right:44px;color:#9a9eb5;transition:opacity .2s ease}
.cr-in.rempli::before{opacity:0}
.cr-txt,.cr-out{margin:0;font:400 13px/21px "Inter",var(--ui);color:var(--c-ink)}
.cr-out{color:var(--c-text)}
.cr-in.tape .cr-txt::after{content:"";display:inline-block;width:1.5px;height:15px;margin-left:1px;vertical-align:-3px;background:var(--c-ink);animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.cr-txt mark{color:inherit;border-radius:2px;background:linear-gradient(var(--c-hl),var(--c-hl)) no-repeat 0 0/0% 100%;transition:background-size .7s var(--ease)}
.cr-txt mark.on{background-size:100% 100%}
.cr-ic{position:absolute;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:var(--c-mut);transition:background-color .2s ease,transform .16s ease,opacity .3s ease}
.cr-ic svg{width:14px;height:14px}
.cr-ic.press{transform:scale(.88);background:var(--c-ind-soft)}
.cr-clear{top:10px;right:10px;opacity:0}
.cr-in.rempli .cr-clear{opacity:1}
.cr-cp{top:10px;right:10px}
.cr-spark{right:10px;bottom:8px;border:1px solid var(--c-line);background:#fff;color:var(--c-ind);box-shadow:0 1px 2px rgba(30,31,59,.06)}
.cr-foot{position:absolute;left:14px;right:14px;bottom:11px;display:flex;align-items:center;justify-content:space-between;color:var(--c-dim)}
.cr-tgt .cr-foot{right:44px}
.cr-ur{display:inline-flex;gap:6px}
.cr-ur svg{width:14px;height:14px}
.cr-cnt{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut);font-variant-numeric:tabular-nums}
.cr-lkb{position:absolute;right:12px;bottom:38px;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--c-ink);color:#fff;font:500 11.5px/16px "Inter",var(--ui);box-shadow:0 6px 16px rgba(30,31,59,.22);opacity:0;transform:translateY(6px) scale(.94);transition:opacity .3s ease,transform .45s var(--ease)}
.cr-lkb svg{width:12px;height:12px}
.cr.lkb .cr-lkb{opacity:1;transform:none}
.cr.lkb .cr-lkb.press{transform:scale(.92)}
.cr-sk{display:block;position:relative;height:9px;margin:6px 0 11px;overflow:hidden;border-radius:5px;background:#eef0f7;opacity:0;transition:opacity .3s ease}
.cr-sk:nth-child(1){width:92%}.cr-sk:nth-child(2){width:84%}.cr-sk:nth-child(3){width:58%}
.cr.traduit .cr-sk{opacity:1}
.cr-sk::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent)}
@keyframes sk{to{transform:translateX(100%)}}
.cr .w{display:inline-block;opacity:0;transform:translateY(5px);transition:opacity .4s ease,transform .5s var(--ease);transition-delay:calc(var(--i) * 22ms)}
.cr .vu .w{opacity:1;transform:none}
.cr .sort{opacity:0;transition:opacity .22s ease}
.cr-bas{position:relative;height:112px;margin-top:14px}
.cr-hint,.cr-alts{position:absolute;top:0;left:0;right:0;transition:opacity .4s ease,transform .6s var(--ease)}
.cr-hint{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-bg)}
.cr-ill{flex:0 0 210px;padding:10px 12px;border:1px solid var(--c-line);border-radius:8px;background:#fff;font:400 10.5px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-ill mark{border-radius:2px;background:var(--c-hl);color:var(--c-ink)}
.cr-hint b{font:600 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-hint p{margin:2px 0 0;font:400 12px/18px "Inter",var(--ui);color:var(--c-mut)}
.cr.alts .cr-hint{opacity:0;transform:translateY(6px)}
.cr-alts{padding:12px 16px 14px;border:1px solid var(--c-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.04),0 8px 24px rgba(30,31,59,.04);opacity:0;transform:translateY(10px)}
.cr.alts .cr-alts{opacity:1;transform:none}
.cr-alts-h{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.cr-alts-h b{font:600 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-gen{display:inline-flex;align-items:center;gap:5px;font:500 12px/18px "Inter",var(--ui);color:var(--c-ind)}
.cr-gen svg{width:13px;height:13px}
.cr-pg{display:inline-flex;align-items:center;gap:2px;margin-left:auto;font:400 11.5px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-pg .cr-ic{position:static;width:24px;height:24px}
.cr-pgn{margin-right:6px;font-variant-numeric:tabular-nums}
.cr-alt{min-height:42px;margin:0;font:400 13px/21px "Inter",var(--ui);color:var(--c-text);transition:opacity .22s ease}
.cr-alt-ph{color:var(--c-dim)}
.cr-alt-e{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;background:var(--c-bg);font:500 11px/16px "Inter",var(--ui);color:var(--c-mut);opacity:0;transition:opacity .3s ease}
.cr-alt-e.on{opacity:1}
.cr-modal{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:rgba(30,31,59,.18);opacity:0;transition:opacity .35s ease}
/* Calques qui apparaissent et disparaissent (fenêtre CHnell, avertissement, alternatives, bouton Fast Lookup) :
   invisibles ET traversables tant qu'ils sont masqués, sinon ils captent les clics de la démo en mode libre */
.cr-modal,.cr-notice,.cr-alts,.cr-lkb{pointer-events:none}
.cr.modal .cr-modal{opacity:1;pointer-events:auto}
.cr.avis .cr-notice,.cr.alts .cr-alts,.cr.lkb .cr-lkb{pointer-events:auto}
.cr-ch{width:620px;padding:18px 20px 16px;border-radius:14px;background:#fff;box-shadow:0 24px 60px rgba(30,31,59,.22),0 2px 8px rgba(30,31,59,.08);transform:translateY(14px) scale(.98);transition:transform .6s var(--ease)}
.cr.modal .cr-ch{transform:none}
.cr-ch-h{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--c-line)}
.cr-ch-h img{width:auto;height:22px}
.cr-ch-h span{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-ch-q{display:flex;align-items:center;gap:10px;margin:14px 0 6px}
.cr-box{flex:1;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--c-line);border-radius:9px;background:var(--c-bg)}
.cr-box svg{width:14px;height:14px;color:var(--c-mut)}
.cr-box b{font:600 13px/19.5px "Inter",var(--ui);color:var(--c-ink)}
.cr-lang{padding:6px 10px;border:1px solid var(--c-line);border-radius:8px;font:500 12px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-ch-q .cr-swap{color:var(--c-mut)}
.cr .lk-c{font:500 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr .lk-r > div{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;padding:12px 0;border-top:1px solid var(--c-line);opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .6s var(--ease);transition-delay:calc(var(--i) * 140ms + 300ms)}
.cr.modal .lk-r > div{opacity:1;transform:none}
.cr .lk-r p{display:-webkit-box;margin:0 0 6px;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;font:400 12px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr .lk-r p + p{color:var(--c-text)}
.cr .lk-r mark{border-radius:2px;background:var(--c-hl);color:inherit}
.cr .lk-r small{grid-column:1/-1;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-ch-f{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.cr-more{font:500 12px/18px "Inter",var(--ui);color:var(--c-ind)}
.cr-btn{padding:6px 14px;border:1px solid var(--c-line);border-radius:8px;font:500 12px/18px "Inter",var(--ui);color:var(--c-ink);transition:transform .16s ease,background-color .2s ease}
.cr-btn.press{transform:scale(.94);background:var(--c-bg)}
.cr-sel.press{transform:scale(.98)}
.cr-sw.press{transform:scale(.96)}

/* Écrans Corrext : compléments (pastille, menus, vues, tableau de bord, fragments) */
.cr-tl-pill{position:absolute;top:3px;bottom:3px;left:0;width:100px;border-radius:7px;background:#fff;box-shadow:0 1px 2px rgba(30,31,59,.08),0 0 0 1px rgba(30,31,59,.04);transform-origin:0 0;opacity:0}
.cr-tl.pret .cr-tl-pill{opacity:1;transition:transform .55s var(--ease)}
.cr-tl.pret span.on{background:transparent;box-shadow:none}
.cr-menu span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cr-menu small{padding:1px 6px;border-radius:999px;background:var(--c-bg);font:500 10.5px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-menu em{display:inline-flex;opacity:0;color:var(--c-dim);transition:opacity .3s ease}
.cr-menu em svg{width:12px;height:12px}
.cr-menu span.off{color:var(--c-dim)}
.cr-menu span.off em{opacity:1}
.cr-vues{position:relative;height:430px}
.cr-vue{position:absolute;inset:0;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .55s var(--ease);pointer-events:none}
.cr-vue.on{opacity:1;transform:none;transition-delay:.12s}
.cr-cfg{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.cr-cfg label{display:block;margin-bottom:6px;font:500 11.5px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-cfg .cr-sel{height:38px;border:1px solid var(--c-line);border-radius:9px;background:#fff}
.cr-h4{margin:0 0 8px;font:600 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;border:1.5px dashed rgba(59,52,201,.22);border-radius:12px;background:var(--c-bg);text-align:center;transition:transform .2s ease,background-color .3s ease}
.cr-drop > svg{box-sizing:content-box;width:20px;height:20px;padding:7px;border-radius:10px;background:#fff;color:var(--c-ind);box-shadow:0 1px 3px rgba(30,31,59,.08)}
.cr-drop .t{font:400 12.5px/18px "Inter",var(--ui);color:var(--c-text)}
.cr-drop .t b{font-weight:600;color:var(--c-ind)}
.cr-drop .s{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-drop.press{transform:scale(.99);background:var(--c-ind-soft)}
.cr-file{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid var(--c-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.04),0 8px 24px rgba(30,31,59,.05);opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .6s var(--ease)}
.cr-vue.depose .cr-file{opacity:1;transform:none}
.cr-file > svg{width:18px;height:18px;color:var(--c-ind)}
.cr-file .fm{flex:1;display:grid;gap:2px;min-width:0}
.cr-file .fn{font:500 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-file .fs{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-file .bar{display:block;height:4px;margin-top:6px;overflow:hidden;border-radius:2px;background:#eceef6}
.cr-file .bar i{display:block;height:100%;border-radius:2px;background:var(--c-ind);transform:scaleX(0);transform-origin:0 0;transition:transform 2.6s cubic-bezier(.3,.1,.2,1)}
.cr-vue.charge .cr-file .bar i{transform:none}
.cr-file .cr-st{display:grid;font:500 11.5px/16px "Inter",var(--ui)}
.cr-file .cr-st > span{grid-area:1/1;white-space:nowrap;transition:opacity .3s ease}
.cr-file .s0{color:var(--c-mut)}
.cr-file .s1{opacity:0;color:var(--c-ind)}
.cr-vue.fini .s0{opacity:0}
.cr-vue.fini .s1{opacity:1}
.cr-set{flex:.9}
.cr-dot{width:6px;height:6px;margin-left:auto;border-radius:50%;background:var(--c-ind);opacity:0;transition:opacity .3s ease}
.cr-set.regle .cr-dot{opacity:1}
.cr-pop{position:absolute;z-index:6;top:46px;right:6px;width:300px;padding:12px;border:1px solid var(--c-line);border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(30,31,59,.14),0 2px 6px rgba(30,31,59,.06);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:100% 0;transition:opacity .25s ease,transform .45s var(--ease)}
.cr-sel.ouvert .cr-pop{opacity:1;transform:none}
.cr-h5{margin:0 0 6px;font:500 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cr-chip{padding:4px 10px;border:1px solid var(--c-line);border-radius:999px;font:500 11.5px/16px "Inter",var(--ui);color:var(--c-text);transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.cr-chip.on{border-color:rgba(59,52,201,.3);background:var(--c-ind-soft);color:var(--c-ind)}
.cr-pop-a{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid var(--c-line)}
.cr-rst{font:500 12px/18px "Inter",var(--ui);color:var(--c-mut)}
.cr-btn-p{border-color:var(--c-ind);background:var(--c-ind);color:#fff}
.cr-btn-p.press{background:#2f29a8}
.cr u{text-decoration:underline;text-decoration-color:rgba(59,52,201,.55);text-decoration-thickness:1.5px;text-underline-offset:3px}
.cr-data{padding:4px 10px;border:1px solid var(--c-line);border-radius:999px;font:500 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-dp{position:relative;height:362px;overflow:hidden;border:1px solid var(--c-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.04),0 8px 24px rgba(30,31,59,.04)}
.cr-panel{position:absolute;inset:0;padding:16px 18px;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .55s var(--ease)}
.cr-panel.on{opacity:1;transform:none;transition-delay:.1s}
.cr-dash .dph{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.cr-dash .dt{margin:0;font:600 14px/20px "Inter",var(--ui);color:var(--c-ink)}
.cr-dash .dph span{font:400 11.5px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-dash .ptable{width:100%;border-collapse:collapse;font:400 12px/18px "Inter",var(--ui)}
.cr-dash th{padding:6px 8px;border-bottom:1px solid var(--c-line);text-align:left;font:500 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-dash td{padding:9px 8px;border-bottom:1px solid var(--c-line);color:var(--c-ink);vertical-align:middle}
.cr-dash tr:last-child td{border-bottom:0}
.cr-dash .pn2{font-weight:500}
.cr-dash .pn2 small{display:block;font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-dash .num{text-align:right;color:var(--c-mut);font-variant-numeric:tabular-nums}
.cr-dash .hm{white-space:nowrap}
.cr-dash .st{overflow:visible;background-image:none;display:inline-block;padding:2px 9px;border-radius:999px;background:var(--c-bg);font:500 11px/16px "Inter",var(--ui);color:var(--c-text);white-space:nowrap}
.cr-dash .st.rev{background:var(--c-ind-soft);color:var(--c-ind)}
.cr-dash .st.done{background:var(--c-ink);color:#fff}
.cr-dash .st.quote{box-shadow:inset 0 0 0 1px var(--c-line);background:#fff}
.cr-dash .pbar{display:inline-block;width:84px;height:5px;overflow:hidden;vertical-align:middle;border-radius:3px;background:#eceef6}
.cr-dash .pbar i{display:block;height:100%;border-radius:3px;background:var(--c-ind);transform:scaleX(0);transform-origin:0 0;transition:transform 1s var(--ease) .3s}
.cr-panel.on .pbar i{transform:none}
.cr-dash .pbar + b{margin-left:8px;font:500 11px/16px "Inter",var(--ui);color:var(--c-mut);font-variant-numeric:tabular-nums}
.cr-dash tbody tr,.cr-dash .qrow,.cr-dash .doc{opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .55s var(--ease)}
.cr-panel.on tbody tr,.cr-panel.on .qrow,.cr-panel.on .doc{opacity:1;transform:none}
.cr-panel.on :is(tbody tr,.qrow,.doc):nth-child(1){transition-delay:.15s}
.cr-panel.on :is(tbody tr,.qrow,.doc):nth-child(2){transition-delay:.22s}
.cr-panel.on :is(tbody tr,.qrow,.doc):nth-child(3){transition-delay:.29s}
.cr-panel.on :is(tbody tr,.qrow,.doc):nth-child(4){transition-delay:.36s}
.cr-panel.on :is(tbody tr,.qrow,.doc):nth-child(5){transition-delay:.43s}
.cr-dash .qlist{display:grid;gap:8px}
.cr-dash .qrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--c-line);border-radius:10px}
.cr-dash .qrow b{font:500 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-dash .qrow small{display:block;font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-dash .qrow .pill{padding:3px 10px;border-radius:999px;background:var(--c-ink);font:500 11px/16px "Inter",var(--ui);color:#fff;white-space:nowrap}
.cr-dash .qrow .gen{font:500 11.5px/16px "Inter",var(--ui);color:var(--c-ind);white-space:nowrap}
.cr-dash .folder{display:flex;align-items:center;gap:8px;margin-bottom:6px;font:600 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-dash .folder svg,.cr-dash .tree-note svg{width:15px;height:15px;color:var(--c-mut)}
.cr-dash .doc{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:10px 12px 10px 24px;border-top:1px solid var(--c-line)}
.cr-dash .doc > span{font:500 12px/18px "Inter",var(--ui);color:var(--c-ink)}
.cr-dash .doc small{display:block;font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-dash .tg{position:relative;width:30px;height:18px;border-radius:999px;background:var(--c-ind)}
.cr-dash .tg::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(30,31,59,.25);transform:translateX(12px)}
.cr-dash .tg.off{background:#d5d7e4}
.cr-dash .tg.off::after{transform:none}
.cr-dash .tree-note{display:flex;align-items:center;gap:6px;margin-top:10px;font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-kpis{display:flex;gap:22px;margin-top:12px;font:400 11.5px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-kpis b{margin-right:4px;font:600 12px/16px "Inter",var(--ui);color:var(--c-ink)}
.cr-frag{padding:16px}
.cr-frag .cr-tl span{padding:4px 9px;font-size:11px;white-space:nowrap}
.cr-frag .cr-sw{font-size:11px;white-space:nowrap}
.cr-frag .cr-sel{padding:0 12px;font-size:11.5px}
.cr-frag .cr-menu span{white-space:nowrap}
.cr-frag .cr-pane{height:170px}
.cr-q4 .cr-pane{height:150px}
.cr-q4-fr .cr-pane{height:286px}  /* axe LexMachina de l'accueil : texte fiscal anglais vers français, sans alternatives */
.cr-q4-fr .cr-out .w{display:inline}  /* mots en ligne : pas de coupure entre l’élision et le terme surligné (« l’Administration ») */
.cr-q4 .cr-bas{height:auto}
.cr-q4 .cr-alts{position:relative}
.cr-q4 mark{border-radius:2px;background:transparent;color:inherit;transition:background-color .5s ease}
.cr-q4 mark.vu{background:var(--c-hl)}
.cr-q4 mark.oth.vu{background:#e6e8f2}
.cr-sec .cr-pane{height:180px}
.cr-chst{display:grid;place-items:center;height:100%;background:var(--c-bg)}
.cr-chst .cr-ch{width:660px;transform:none;box-shadow:0 12px 40px rgba(30,31,59,.12),0 2px 6px rgba(30,31,59,.06)}
.cr-chst .lk-r > div{opacity:1;transform:none}

/* Cartes à puces et valeurs clés */
.puces{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.cd-sp{margin-top:8px}
.cd .kv{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px;border-radius:8px;background-color:#E3E9F3;background-image:radial-gradient(55% 55% at 18% 12%,rgba(49,123,255,.14),transparent 60%),radial-gradient(55% 55% at 6% 90%,rgba(255,255,255,.55),transparent 60%)}
.cd .kv i{display:block;font:400 12px/16px var(--sans);font-style:normal;color:#5b6880}
.cd .kv b{display:block;margin-top:4px;font:500 18px/24px var(--num);color:#06122e}

/* Cartes à quatre colonnes, abréviations, recherche CHnell */
.cd.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
/* Cartes à visuel de termes : visuels de même hauteur sur une ligne (sous-grille), termes centrés (Fabien, 2026-10-19) */
.cd:has(> * > .v > .kv) > *{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
.cd:has(> * > .v > .kv) .v{display:grid}
.cd:has(> * > .v > .kv) .lien{align-self:end}
.cd .kv{align-content:center}
.cd .kv-ab{display:flex;align-items:center;justify-content:center;height:120px}
.cd .kv-ab b{font:500 40px/48px var(--num);margin:0}
.ck-l{display:grid;gap:10px}
.mx-p.ck{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.mx-p.ck mark{background:#d6e4ff;color:inherit;border-radius:2px;padding:0 1px}
.mx-p.ck small{grid-column:1/-1;margin:10px 0 0;font-size:10px;letter-spacing:.1px}
@media (max-width:1023px){.cd.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Bande des distinctions (C9) */
.dist .i{margin-bottom:24px;text-align:center;font:400 14px/20px var(--sans);color:var(--ink)}
.dist ul{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.dist ul.d6{grid-template-columns:repeat(6,minmax(0,1fr))}
.dist ul.d7{grid-template-columns:repeat(7,minmax(0,1fr))}
.dist li{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:24px 12px;border-radius:8px;background:var(--tile);text-align:center}
.dist li b{font:600 13px/16px var(--sans);color:var(--text);text-wrap:balance}
.dist li span{font:400 11px/14px var(--sans);color:var(--text);text-wrap:balance}

/* Tuiles (C8) */
.tl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tl.t4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tl.t2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tl > *{display:flex;flex-direction:column;justify-content:space-between;gap:64px;min-height:228px;padding:16px;border-radius:8px;background:var(--tile)}
.tl.txt > *{justify-content:flex-start;gap:4px;min-height:0}
.tl.txt p{margin-top:8px;font-size:14px;line-height:22px}  /* RÈGLE COMMUNE : espace sous le titre, texte plus petit que le titre (validé sur LexMachina, 2026-10-16) */
.tl > *:has(> .n){justify-content:flex-start}  /* RÈGLE COMMUNE : textes des tuiles chiffrées alignés au pixel (validé sur l'accueil, 2026-10-16) */
/* Piliers de l'accueil : titre un peu plus grand sur une ligne, texte un peu plus petit */
.tl.tl-pil > *{gap:8px;padding:20px}
.tl.tl-pil b{font-size:18px;line-height:26px;white-space:nowrap}
.tl.tl-pil p{font-size:15px;line-height:23px}
.intro.intro-l{max-width:none}
.tl .n{display:block;height:60px;white-space:nowrap;font:500 48px/60px var(--num);color:var(--ink);letter-spacing:-.01em}  /* RÈGLE COMMUNE : chiffre sur une ligne de hauteur fixe, unité accolée (« 30 Langues ») */
.tl .n .u{font-size:clamp(30px,2.8vw,40px);line-height:1;font-weight:500;letter-spacing:0;white-space:nowrap}
.tl b{display:block;font:500 16px/24px var(--sans);color:var(--ink)}
.tl p{color:var(--text)}

/* Bento (C8) */
.bt{display:grid;grid-template-columns:minmax(0,584fr) minmax(0,288fr) minmax(0,288fr);grid-auto-rows:minmax(169px,auto);gap:8px}
.bt > *{border-radius:8px;background:var(--tile)}
.bt-g{grid-row:span 2;display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:48px}
.bt-g p{color:var(--text)}
.bt-p{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;text-align:center}
.bt-p b{font:500 16px/24px var(--sans);color:var(--ink)}
.bt-p p{font:400 16px/24px var(--sans);color:var(--muted)}
.bt-p .n .u{display:block;margin-top:2px;font-size:20px;line-height:26px;font-weight:500}
.bt-p .ic{width:34px;height:34px;color:var(--ink)}
.bt-l{grid-column:span 2}

/* Deux listes contrastées (C11) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.duo.seul{grid-template-columns:minmax(0,760px)}
.duo h3{padding:0 12px 16px;font:600 16px/24px var(--sans);color:var(--muted)}
.duo .oui h3{color:var(--ink)}
.duo li{display:flex;gap:12px;padding:12px;color:var(--muted)}
.duo .oui li{color:var(--ink)}
.duo li::before{content:"";flex:0 0 16px;height:16px;margin-top:4px;border-radius:50%;border:1.5px solid var(--mid)}
.duo .oui li::before{border:5px solid var(--ink)}

/* Témoignage (C10) */
.qt{display:grid;grid-template-columns:490px minmax(0,1fr);gap:48px;align-items:center;padding:16px;border-radius:8px;background:var(--tile)}
.qt-v{height:490px;overflow:hidden;padding:40px;border-radius:8px;background:#fff;color:#39455c}
.qt-v small{display:block;margin-bottom:16px;font:500 11px/16.5px var(--ui);letter-spacing:.22px;color:#6b778c}
.qt-v p{font:300 22px/32px var(--serif)}
.qt blockquote p{font:300 30px/36px var(--serif);color:var(--ink)}
.qt figcaption{margin-top:24px}
.qt .temo-lab{display:block;font:600 16px/24px var(--sans);color:var(--ink)}

/* Cartes de rebond (C12) */
.cd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cd > *{display:flex;flex-direction:column;padding:16px;border-radius:8px;background:var(--tile)}
.cd .v{margin-bottom:24px}
.cd b{font:500 16px/24px var(--sans);color:var(--ink)}
.cd p{margin-top:4px;font:400 14px/20px var(--sans);color:var(--text)}
.cd .lien{margin-top:auto;padding-top:8px}
/* Cartes à texte seul (ni visuel, ni lien, ni chiffres) : plus aérées, texte adouci (retour de Fabien du 2026-10-15) */
.cd:not(:has(.v,.kv,a,.cd-meta)){gap:16px}
.cd:not(:has(.v,.kv,a,.cd-meta)) > *{padding:28px}
.cd:not(:has(.v,.kv,a,.cd-meta)) b{font-weight:600;font-size:17px}
.cd:not(:has(.v,.kv,a,.cd-meta)) p{margin-top:12px;font-size:16px;line-height:24px;color:var(--muted)}
@media (max-width:640px){.cd:not(:has(.v,.kv,a,.cd-meta)) > *{padding:24px}}

/* Bande d'appel intermédiaire (C13) */
.bd{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:48px;border-radius:8px;background:var(--tile)}
.bd p{max-width:787px;font:300 30px/36px var(--serif);color:var(--ink)}

/* Appel final (C14) */
.cta{padding:96px 0;text-align:center}
.cta h2 .l1{display:block;font:600 40px/48px var(--sans);color:var(--ink)}
.cta h2 .l2{display:block;font:300 40px/48px var(--serif);color:var(--ink)}
.cta .btn{margin-top:32px}
/* Appel final en bleu foncé (page contact) : bande pleine largeur, titre clair, bouton blanc */
.cta.cta-n{background:#001B4C;background-image:radial-gradient(60% 120% at 50% 0%,rgba(49,123,255,.22),transparent 70%)}
.cta.cta-n h2 .l1{color:#ffffff}
.cta.cta-n h2 .l2{color:#b9cdf3}
.cta.cta-n .btn{background:#ffffff;color:#001B4C}
.cta.cta-n .btn:focus-visible{outline:2px solid #7FB0FF;outline-offset:3px}

/* Questions fréquentes */
.fq{display:grid;grid-template-columns:372px minmax(0,1fr);column-gap:40px}
.fq .h2{margin:0}
.fq details{border-bottom:1px solid var(--line)}
.fq details:first-child{border-top:1px solid var(--line)}
.fq summary{display:flex;justify-content:space-between;gap:24px;padding:20px 0;list-style:none;cursor:pointer;font:500 16px/24px var(--sans);color:var(--ink)}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";flex:0 0 auto;font:300 22px/24px var(--sans);color:var(--muted);transition:transform .2s}
.fq details[open] summary::after{transform:rotate(45deg)}
.fq .r{max-width:680px;padding:0 0 20px;color:var(--text)}
.fq .r p + p{margin-top:12px}

/* Tableaux */
.tb{overflow-x:auto;padding:8px 16px;border-radius:8px;background:var(--tile)}
.tb table{width:100%;border-collapse:collapse;font:400 15px/22px var(--sans)}
.tb th{padding:12px;border-bottom:1px solid var(--line);text-align:left;font:500 14px/20px var(--sans);color:var(--muted)}
.tb td{padding:12px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:top}
.tb tr:last-child td{border-bottom:0}
.tb td:first-child{font-weight:500;color:var(--ink)}
.cmp-y,.cmp-p,.cmp-n{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:-3px}
.cmp-y{background:var(--ink)}
.cmp-p{background:linear-gradient(90deg,var(--ink) 50%,var(--line) 50%)}
.cmp-n{border:1.5px solid var(--mid)}

/* Contact (C16) */
/* Page contact (retour de Fabien du 2026-10-16, skill cro) : titre et réassurance à gauche, formulaire à droite ;
   sur mobile, le formulaire suit directement l'accroche */
.ct{display:grid;grid-template-columns:minmax(0,456px) minmax(0,600px);grid-template-rows:auto 1fr;grid-template-areas:"t f" "r f";justify-content:space-between;align-items:start;column-gap:64px;padding:48px 0 96px}
.ct-t{grid-area:t}
.ct-r{grid-area:r;display:grid;gap:32px;margin-top:40px}
.ct-f{grid-area:f;padding:28px;border-radius:8px;background:var(--tile)}
.ct .h1{margin-bottom:24px}
.ct-t > p{font:400 17px/27px var(--sans);color:var(--text)}
.ct-bt{margin-bottom:12px;font:600 15px/22px var(--sans);color:var(--ink)}
.ct-et{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:ct}
.ct-et li{position:relative;display:grid;gap:2px;padding-left:36px;counter-increment:ct}
.ct-et li::before{content:counter(ct);position:absolute;left:0;top:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tile);font:600 12px/1 var(--sans);color:var(--accent-d)}
.ct-et b{font:500 15px/24px var(--sans);color:var(--ink)}
.ct-et span{font:400 14px/22px var(--sans);color:var(--muted)}
.ct-ok{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ct-ok li{position:relative;padding-left:26px;font:400 14px/22px var(--sans);color:var(--text)}
.ct-ok li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--accent-d);border-bottom:2px solid var(--accent-d);transform:rotate(-45deg)}
.ct-ecr{font:400 14px/22px var(--sans);color:var(--text)}
.ct-ecr a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
/* Preuve sociale : distinctions du bandeau de l'accueil, en tête de la colonne de gauche */
.ct-pv ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.ct-pv li{display:grid;align-content:center;justify-items:center;gap:2px;min-height:72px;padding:12px 14px;border-radius:8px;background:var(--tile);text-align:center;text-wrap:balance}
.ct-pv b{font:600 14px/20px var(--sans);color:var(--text)}
.ct-pv span{font:400 13px/18px var(--sans);color:var(--muted)}
.ct-opt{grid-column:1/-1;margin-top:4px;padding-top:20px;border-top:1px solid var(--line)}
.ct-og{font:600 15px/22px var(--sans);color:var(--ink)}
.ct-on{margin-top:4px;font:400 13px/20px var(--sans);color:var(--muted)}
.ct-f h2{font:600 24px/32px var(--sans);color:var(--ink)}
.ct-f > p{margin:4px 0 20px;font-size:15px;line-height:23px;color:var(--text)}
.ct-f form{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.ct-f .pl,.ct-f .cs,.ct-f .btn,.ct-f .avis{grid-column:1/-1}
.ct-f input:focus-visible,.ct-f select:focus-visible,.ct-f textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.ct-f .btn{height:50px;font-size:16px}
.ct-f label{display:block;margin-bottom:6px;font:500 14px/20px var(--sans);color:var(--ink)}
.ct-f input,.ct-f select,.ct-f textarea{width:100%;height:44px;padding:0 16px;border:1px solid var(--mid);border-radius:8px;background:var(--page);font:400 16px/24px var(--sans);color:var(--ink)}
.ct-f textarea{height:96px;padding:10px 16px;resize:vertical}
.ct-f select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235b6880' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}
.ct-f .cs{display:flex;gap:12px;font:400 12px/19.5px var(--sans);color:var(--muted)}
.ct-f .cs input{width:16px;height:16px;flex:0 0 16px;margin-top:2px}
.ct-f .btn{width:100%}
.ct-f .avis{text-align:center;font:400 14px/20px var(--sans);color:var(--muted)}
.ct-f .delai{grid-column:1/-1;margin-top:-6px;text-align:center;font:500 14px/20px var(--sans);color:var(--text)}

/* Contact : compléments */
.ct-f .req{margin-left:2px;color:var(--muted)}
.ct-f fieldset{margin:0;padding:0;border:0}
.ct-f legend{margin-bottom:6px;font:500 14px/20px var(--sans);color:var(--ink)}
.ct-f .cases{display:flex;flex-wrap:wrap;gap:6px}
.ct-f .case{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 9px;border:1px solid var(--mid);border-radius:8px;background:var(--page);font:400 13px/20px var(--sans);cursor:pointer}
.ct-f .case input{width:16px;height:16px;padding:0}
.ct-f .aide{margin-top:8px;font:400 12px/18px var(--sans);color:var(--muted)}
.ct-f .alt{grid-column:1/-1;margin-top:-4px;text-align:center;font:400 14px/22.75px var(--sans);color:var(--text)}
.ct-f .alt a,.ct-f .cs a{color:var(--ink);text-decoration:underline}
.ct-f .usage{grid-column:1/-1;font:400 12px/18px var(--sans);color:var(--muted)}
.tl-c{margin-top:8px;color:var(--text)}
.tl-c ol{margin:0;padding-left:20px;display:grid;gap:8px}
.tl-c ul{display:grid;gap:8px}
.tl-c b{color:var(--ink);font-weight:500}
.tl-c .sous{margin-top:12px;font:500 12px/16px var(--sans);text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}

/* Blog (C17) et article (C18) */
.bl-h{padding:96px var(--gut);background:var(--accent-d);color:#fff;text-align:center}
.bl-h .h1{color:#fff}
.bl-h .h1 .n{font:600 55px/55px var(--sans)}
.bl-h .h1 .s{margin-top:12px;font:300 32px/44.8px var(--sans)}
.bl-f{display:grid;grid-template-columns:679px minmax(0,1fr);gap:40px;padding:40px 0;border-bottom:1px solid var(--line)}
.bl-f img,.bl-c img{width:100%;object-fit:cover;border-radius:3px;background:var(--line)}
.bl-f img{height:412px}
.bl-f h2{font:600 32px/36.8px var(--sans);color:var(--ink)}
.bl-f .x{margin-top:16px;font:400 18px/27px var(--serif);color:var(--muted)}
.bl-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:40px 0}
.bl-c img{height:200px}
.bl-c .cat,.ar .cat{display:block;margin-top:15px;font:600 12px/18px var(--sans);text-transform:uppercase;color:var(--accent-d)}
.bl-c h3{margin-top:4px;font:600 22px/25.3px var(--sans);color:var(--ink)}
.bl-c .x{margin-top:10px;font:400 16px/25.6px var(--serif);color:var(--muted)}
.meta{display:flex;align-items:center;gap:8px;margin-top:16px;font:400 12px/16.8px var(--sans);text-transform:uppercase;letter-spacing:.2px;color:var(--muted)}
.meta img{width:30px;height:30px;border-radius:50%;background:var(--tile)}
.ar{max-width:700px;margin:0 auto}
.ar-h{padding:70px 0 0}
.ar .cat{margin:0;font-size:13px;line-height:18.2px}
.ar h1{margin-top:4px;font:600 55px/63.25px var(--sans);color:var(--ink)}
.ar .chapo{margin-top:20px;font:300 23px/32.2px var(--serif);color:var(--muted)}
.ar-fig{max-width:1040px;margin:25px auto 50px}
.ar-fig img{width:100%;height:400px;object-fit:cover;border-radius:3px}
.ar-c{padding-bottom:32px}
.ar-c p,.ar-c li{font:400 20px/32px var(--serif);color:var(--text)}
.ar-c p{margin:0 0 30px}
.ar-c h2{margin:51px 0 13px;font:600 32px/40px var(--sans);color:var(--ink)}
.ar-c h3{margin:32px 0 12px;font:600 24px/32px var(--sans);color:var(--ink)}
.ar-c ul,.ar-c ol{margin:0 0 30px;padding-left:28px;list-style:disc}
.ar-c ol{list-style:decimal}
.ar-c blockquote,.ar-c .art-note,.ar-c .ar-brief{margin:0 0 30px;padding:20px 24px;border-radius:8px;background:var(--tile)}
.ar-c table{width:100%;margin:0 0 30px;border-collapse:collapse;font:400 16px/24px var(--sans)}
.ar-c th,.ar-c td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
/* Pages légales : le lien téléphone prend la hauteur de ligne de l'adresse (cible de 24 px) */
.legal-card a[href^="tel:"]{display:inline-block}

/* Couverture typographique (articles sans photo, comme le site actuel) */
.couv{display:flex;align-items:center;justify-content:center;width:100%;border-radius:3px;font:500 40px/1 var(--num);letter-spacing:.06em;color:#06122e;background-color:#E3E9F3;background-image:radial-gradient(55% 55% at 18% 12%,rgba(49,123,255,.16),transparent 60%),radial-gradient(55% 55% at 6% 90%,rgba(255,255,255,.55),transparent 60%),radial-gradient(48% 48% at 97% 62%,rgba(255,255,255,.42),transparent 55%)}
.couv span{color:#7FB0FF}
.bl-f .couv{height:412px;font-size:56px}
.bl-c .couv{height:200px}
.ar-fig .couv{height:400px;font-size:64px}
.bl-f,.bl-c{color:inherit}
.bl-f > div{align-self:center}
.bl-f .cat{display:block;margin-bottom:8px;font:600 12px/18px var(--sans);text-transform:uppercase;color:var(--accent-d)}
.bl-s{padding-top:0}
.bl-plus{margin-bottom:32px}
.meta > * + *::before{content:"·";margin-right:8px}
.meta img + *::before{content:none}
.ar-s{padding-bottom:32px}
.ar-c .ar-brief b{display:block;margin-bottom:6px;font:600 16px/24px var(--sans);color:var(--ink)}
.ar-c .ar-brief p{margin:0}
.ar-c a{color:var(--accent-d);text-decoration:underline;text-underline-offset:3px}

/* Pages complétées : aide, glossaire, replis */
.k-lab{margin-bottom:12px;font:500 12px/16px var(--sans);text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}
.tl.tl-lang > *{min-height:0;gap:2px;padding:16px}
.tl.tl-lang b{font:500 18px/26px var(--sans)}
.tl.tl-lang p{font:400 13px/18px var(--sans);color:var(--muted)}
.tl.tl-ledger > *{min-height:200px}
.gt{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start}
.gt .h2{margin-bottom:16px}
.gt-d{font:400 17px/28px var(--sans);color:var(--text)}
.gt-n{padding:24px;border-radius:8px;background:var(--tile)}
.gt-n p{color:var(--text)}
.gt-n .lien{margin-top:12px}
.tb-g td a{color:var(--ink);font-weight:500}
.tb-g td a:hover{color:var(--accent-d)}
.tb-g td:last-child{color:var(--muted)}
.para{max-width:760px;margin-top:12px;color:var(--text)}
.liste{max-width:760px;margin-top:16px;display:grid;gap:8px;list-style:disc;padding-left:22px;color:var(--text)}
.hc-s{padding-top:96px}
.hc-g{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.hc-nav{position:sticky;top:96px;display:grid;gap:2px}
.hc-nav p{margin:18px 0 6px;padding:0 10px;font:500 12px/16px var(--sans);text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}
.hc-nav ul{display:grid;gap:2px}
.hc-nav a{display:block;padding:6px 10px;border-radius:6px;font:400 14px/20px var(--sans);color:var(--text);transition:background .15s}
.hc-nav a:hover{background:var(--tile);color:var(--ink)}
.hc-retour{font-weight:500!important;color:var(--accent-d)!important}
.hc-m .h1{margin-bottom:16px}
.hc-m .intro{margin:0 0 32px}
.fq-l details{border-bottom:1px solid var(--line)}
.fq-l details:first-child{border-top:1px solid var(--line)}
.fq-l summary{display:flex;justify-content:space-between;gap:24px;padding:18px 0;list-style:none;cursor:pointer;font:500 16px/24px var(--sans);color:var(--ink)}
.fq-l summary::-webkit-details-marker{display:none}
.fq-l summary::after{content:"+";flex:0 0 auto;font:300 22px/24px var(--sans);color:var(--muted);transition:transform .2s}
.fq-l details[open] summary::after{transform:rotate(45deg)}
.fq-l .r,.fq .r{max-width:720px;padding:0 0 20px;color:var(--text)}
.fq-l .r p + p,.fq-l .r p + ol,.fq-l .r ol + p,.fq-l .r p + div,.fq-l .r div + p{margin-top:12px}
.fq-l .r ol,.fq .r ol,.fq .r ul{display:grid;gap:6px;margin:12px 0 0;padding-left:22px}
.fq-l .r ol{list-style:decimal}
.fq .r ul{list-style:disc}
.fq-l .hc-know{margin-top:14px;padding:14px 16px;border-radius:8px;background:var(--tile)}
.fq-l .hc-know b{display:block;margin-bottom:4px;color:var(--ink)}
@media (max-width:1023px){
  .gt,.hc-g{grid-template-columns:minmax(0,1fr);gap:32px}
  .hc-nav{position:static}
}

.cd .cd-meta{margin-top:8px;font:500 12px/16px var(--sans);text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}
.acl{display:grid;grid-template-columns:320px minmax(0,1fr);gap:32px;padding:32px 0;border-top:1px solid var(--line)}
.acl:first-of-type{border-top:0}
.acl img,.acl .couv{width:100%;height:200px;object-fit:cover;border-radius:3px;background:var(--line)}
.acl .meta{margin-top:0}
.acl h3{margin:8px 0 10px;font:600 22px/27px var(--sans);color:var(--ink)}
.acl p{max-width:720px;color:var(--text)}
.acl p + p{margin-top:10px}
.lf-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px}
.lf-g > div{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:8px;background:var(--tile)}
.lf-g b{font:500 15px/22px var(--sans);color:var(--ink)}
.lf-g span{font:400 13px/18px var(--sans);color:var(--muted)}
.lf-g em{align-self:flex-start;margin-top:6px;padding:1px 8px;border:1px solid var(--ink);border-radius:999px;font:500 11px/16px var(--sans);font-style:normal;color:var(--ink)}
@media (max-width:1023px){.acl{grid-template-columns:minmax(0,1fr);gap:16px}.lf-g{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pied de page : disposition de la V1, police et couleurs de la V2 */
.pied{padding:64px 0 32px;border-top:1px solid var(--line);background:var(--page)}
.fp-g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.1fr;gap:48px;margin-bottom:48px}
.fp-logo{display:inline-block;margin-bottom:16px}
.fp-logo img{height:34px;width:auto}
.fp-a p{max-width:320px;font:400 14px/22px var(--sans);color:var(--muted)}
.fp-a .fp-iso{margin-top:16px;font-size:13px;line-height:20px}
.fp-so{display:inline-grid;place-items:center;width:40px;height:40px;margin-top:20px;border:1px solid var(--line);border-radius:8px;transition:border-color .2s}
.fp-so:hover{border-color:var(--mid)}
.fp-so svg{width:20px;height:20px;display:block}
.fp-h{margin-bottom:16px;font:600 13px/18px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.fp-h a{color:inherit;text-decoration:none}
.fp-h a:hover{text-decoration:underline;text-underline-offset:3px}
.fp-g li{margin-bottom:10px;font:400 14px/22px var(--sans);color:var(--muted)}
.fp-g li a{color:inherit}
.fp-g li a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.fp-c{display:flex;gap:10px;align-items:flex-start}
.fp-c svg{flex:0 0 auto;width:15px;height:15px;margin-top:4px;color:var(--accent)}
.fp-b{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;padding-top:24px;border-top:1px solid var(--line);font:400 13px/20px var(--sans);color:var(--muted)}
.fp-b > span{margin-right:auto}
.fp-l{display:flex;flex-wrap:wrap;gap:8px 24px}
.fp-l a{color:inherit}
.fp-l a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.pied .theme{margin-top:16px;background:var(--tile)}
@media (max-width:940px){.fp-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}.fp-a{grid-column:1/-1}}
@media (max-width:560px){.fp-g{grid-template-columns:minmax(0,1fr)}}
.theme{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px}
.theme button{display:grid;place-items:center;width:28px;height:24px;border:0;border-radius:999px;background:none;color:var(--muted);cursor:pointer}
.theme button svg{width:14px;height:14px}
.theme button[aria-pressed="true"]{background:var(--page);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}

/* Alignements des lignes de fonctionnalité (C7) */
.ft{display:grid;grid-template-columns:372px minmax(0,1fr);column-gap:40px;align-items:center}
.ft + .ft{margin-top:128px}
.ft.inv{grid-template-columns:minmax(0,1fr) 372px}
.ft.inv .ft-t{order:2}
.ft-t .pill{margin-bottom:16px}
.ft-t .h3s{margin-bottom:16px}
.ft-t p{color:var(--muted)}
.ft-t ul{display:grid;gap:8px;margin-top:16px}
.ft-t li{position:relative;padding-left:16px;color:var(--text)}
.ft-t li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.ft-t li a{color:var(--accent-d)}
.ft-t .lien{margin-top:16px}

/* Écrans intermédiaires et mobiles */
@media (max-width:1215px){
  .hero-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px}
  .ct{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);column-gap:48px}
  .bl-f{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  .dist ul,.dist ul[class]{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1023px){
  .hd-nav,.mg,.mg-voile{display:none!important}
  .hd-burger{display:inline-flex}
  .hd-cta .btn-s,.hd-cx{display:none}
  .hero{padding:105px 0 48px}
  .hero-g,.ft,.ft.inv,.fq,.qt,.bl-f,.ct{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .ct{grid-template-areas:"t" "f" "r"}
  .ct-r{margin-top:8px}
  .ft.inv .ft-t{order:0}
  .ft + .ft{margin-top:80px}
  .h1,.h1 .s,.cta h2 .l1,.cta h2 .l2{font-size:30px;line-height:36px}
  .h2,.h3s,.bd p,.qt blockquote p{font-size:24px;line-height:28.8px}
  .tl,.tl.t4,.cd,.bl-g,.duo{grid-template-columns:minmax(0,1fr)}
  .tl.t4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bt{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bt-g{grid-column:1/-1;grid-row:auto}
  .bd{flex-direction:column;align-items:flex-start}
  .qt-v{height:auto}
  .ar h1{font-size:40px;line-height:46px}
  .bl-h .h1 .n{font-size:40px;line-height:44px}
}
@media (max-width:640px){
  .bt,.tl.t4,.dist ul,.dist ul[class],  .tl.t2{grid-template-columns:minmax(0,1fr)}
  .ar-c table{display:block;overflow-x:auto}
  .ar-c{overflow-wrap:anywhere}
  .bt-g,.bt-l{grid-column:1/-1}
  .ct-f form{grid-template-columns:minmax(0,1fr)}
  .ct-f{padding:24px 20px}
  .tl .n{font-size:40px;line-height:48px}
  .ar h1{font-size:32px;line-height:38px}
  .bd,.bt-g{padding:32px 24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .sim-cur,.sim-jauge,.anim-pause{display:none}
}

/* ---------- Vues Corrext par fonction (blocs explicatifs) ---------- */
.cr-vw{display:flex;flex-direction:column;padding:20px 22px}
.cr-vw .vw-c{display:flex;flex-direction:column;min-width:0}
.vw-h{margin:0;font:600 15px/22px "Inter",var(--ui);letter-spacing:-.01em;color:var(--c-ink)}
.vw-s{margin:2px 0 14px;font:400 12px/18px "Inter",var(--ui);color:var(--c-mut)}
.vw-h5{margin:0 0 8px;font:600 11.5px/16px "Inter",var(--ui);color:var(--c-ink)}
.vw-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--c-ind-soft);font:500 11px/17px "Inter",var(--ui);font-style:normal;color:var(--c-ind)}
.vw-suisse{margin-left:7px;padding:0 6px;border-radius:999px;background:#e9f6ef;font:600 11px/16px "Inter",var(--ui);color:#1d6b43}
/* Fil d'étapes */
.vw-steps{display:flex;align-items:center;gap:10px;margin:-2px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--c-line)}
.vw-et{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:500 11.5px/16px "Inter",var(--ui);color:var(--c-mut)}
.vw-et i{display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(30,31,59,.14);border-radius:50%;background:#fff;font:600 10.5px/1 "Inter",var(--ui);font-style:normal;color:var(--c-mut);transition:background-color .35s ease,border-color .35s ease,color .35s ease,box-shadow .35s ease}
.vw-et i svg{width:11px;height:11px}
.vw-et.ok{color:var(--c-text)}
.vw-et.ok i{border-color:var(--c-ind);background:var(--c-ind);color:#fff}
.vw-et.cur{color:var(--c-ink)}
.vw-et.cur i{border-color:var(--c-ind);color:var(--c-ind);box-shadow:0 0 0 3px var(--c-ind-soft)}
.vw-lien{flex:1;min-width:12px;height:1px;background:var(--c-line)}
/* Lot de fichiers */
.vw-lot .cr-tabs{margin-bottom:16px}
.cr-frag .cr-src{flex:1.45}
.vw-files{display:flex;flex-direction:column;gap:8px}
.cr-vw .cr-file{margin-top:0;opacity:1;transform:none;transition:opacity .45s ease,transform .6s var(--ease)}
.cr-vw .cr-file.cache{opacity:0;transform:translateY(10px)}
.cr-vw .cr-file .bar i{transition-delay:calc(var(--i,0) * 450ms)}
.cr-vw .cr-file.charge .bar i{transform:none}
.cr-vw .cr-file.fait .s0{opacity:0}
.cr-vw .cr-file.fait .s1{opacity:1}
.vw-drop{flex-direction:row;justify-content:center;gap:12px;margin-bottom:10px;padding:14px 16px;text-align:left}
.vw-drop .t,.vw-drop .s{display:block}
/* Devis : options, tableau des fichiers, échéance */
.vw-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.vw-opt{display:grid;grid-template-columns:auto 1fr;column-gap:10px;padding:11px 13px;border:1px solid var(--c-line);border-radius:10px;background:#fff;transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease,transform .2s ease}
.vw-opt i{grid-row:span 2;width:14px;height:14px;margin-top:2px;border:1.5px solid rgba(30,31,59,.22);border-radius:50%;box-sizing:border-box;transition:box-shadow .25s var(--ease),border-color .25s ease}
.vw-opt b{font:600 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.vw-opt span{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.vw-opt.on{border-color:rgba(59,52,201,.35);background:#fbfbff;box-shadow:0 0 0 3px rgba(59,52,201,.06)}
.vw-opt.on i{border-color:var(--c-ind);box-shadow:inset 0 0 0 3.5px var(--c-ind)}
.vw-opt.press{transform:scale(.985)}
.vw-ext{transition:opacity .45s ease,transform .6s var(--ease)}
.vw-devis.interne .vw-ext{opacity:0;transform:translateY(8px)}
.vw-tab{border:1px solid var(--c-line);border-radius:10px;background:#fff}
.vw-tr{display:grid;grid-template-columns:2.2fr .7fr .7fr;align-items:center;gap:10px;padding:9px 12px;font:400 11.5px/16px "Inter",var(--ui);color:var(--c-text)}
.vw-th{padding:7px 12px;border-bottom:1px solid var(--c-line);border-radius:10px 10px 0 0;background:var(--c-bg);font:500 11px/14px "Inter",var(--ui);color:var(--c-mut)}
.vw-fn{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;color:var(--c-ink)}
.vw-fn svg{width:14px;height:14px;color:var(--c-ind)}
.vw-tr > span{white-space:nowrap}
.vw-niv{height:30px;padding:0 10px;border:1px solid var(--c-line);border-radius:8px;font-size:11px}
.vw-niv .cr-v{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.vw-niv .cr-menu{top:34px;left:auto;right:0;width:280px}
.vw-sub{display:flex;align-items:center;gap:12px;padding:0 12px 10px}
.vw-lab{font:500 11px/16px "Inter",var(--ui);color:var(--c-mut);white-space:nowrap}
.vw-sub .vw-niv{flex:0 1 300px;margin-left:auto}
.vw-pied{display:flex;align-items:center;justify-content:space-between;margin-top:16px}
.vw-ech{display:flex;align-items:center;gap:10px}
.vw-ech > svg{box-sizing:content-box;width:16px;height:16px;padding:7px;border-radius:8px;background:var(--c-ind-soft);color:var(--c-ind)}
.vw-ech b{display:block;font:600 11.5px/16px "Inter",var(--ui);color:var(--c-ink)}
.vw-ech small{display:block;font:400 11px/15px "Inter",var(--ui);color:var(--c-mut)}
/* Alternatives par moteur */
.vw-alts .cr-tabs{margin-bottom:12px}
.vw-alts .cr-alts{box-shadow:0 1px 3px rgba(30,31,59,.04),0 10px 28px rgba(59,52,201,.07)}
/* Analyse d'un fichier déposé */
.vw-carte{margin-bottom:16px;padding:12px 14px;border:1px solid var(--c-line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.04),0 8px 24px rgba(30,31,59,.05);transition:opacity .45s ease,transform .6s var(--ease)}
.vw-carte.cache{opacity:0;transform:translateY(10px)}
.vw-carte-h{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px solid var(--c-line)}
.vw-carte-h > svg{width:18px;height:18px;color:var(--c-ind)}
.vw-carte-h > b{flex:1;font:500 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.vw-anl{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut);animation:vw-pulse 1.4s ease-in-out infinite}
.vw-pg{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.vw-pg b{font:600 13px/16px "Inter",var(--ui);color:var(--c-ink)}
.vw-an.fini .vw-anl,.vw-an:not(.fini) .vw-pg{display:none}
.vw-det{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:10px}
.vw-det > div{transition:opacity .45s ease,transform .6s var(--ease)}
.vw-det > div + div{transition-delay:.12s}
.vw-an:not(.fini) .vw-det > div{opacity:0;transform:translateY(6px)}
.vw-det label{display:block;margin-bottom:5px;font:500 11px/14px "Inter",var(--ui);color:var(--c-mut)}
.vw-det .cr-sel{height:32px;padding:0 10px;border:1px solid var(--c-line);border-radius:8px;font-size:11.5px}
.vw-opts-mini{opacity:.6}
@keyframes vw-pulse{50%{opacity:.45}}
/* Extrait du registre : niveaux et récapitulatif */
.vw-hr .vw-et:not(.cur) > span{display:none}
.vw-hr-g{display:grid;grid-template-columns:1fr 214px;gap:18px;min-height:0}
.vw-soc{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--c-line);border-radius:10px;background:var(--c-bg)}
.vw-soc > svg{width:18px;height:18px;color:var(--c-ind)}
.vw-soc > span{flex:1;display:grid}
.vw-soc b{font:600 12.5px/18px "Inter",var(--ui);color:var(--c-ink)}
.vw-soc small{font:400 11px/15px "Inter",var(--ui);color:var(--c-mut)}
.vw-nivs{display:flex;flex-direction:column;gap:8px}
.vw-niv-c{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--c-line);border-radius:10px;background:#fff;transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease,transform .2s ease}
.vw-niv-c i{flex:0 0 auto;width:14px;height:14px;margin-top:2px;border:1.5px solid rgba(30,31,59,.22);border-radius:50%;box-sizing:border-box;transition:box-shadow .25s var(--ease),border-color .25s ease}
.vw-niv-c > span{display:grid;gap:1px}
.vw-niv-c b{font:600 12px/17px "Inter",var(--ui);color:var(--c-ink)}
.vw-niv-c small{font:400 11px/15px "Inter",var(--ui);color:var(--c-mut)}
.vw-niv-c.on{border-color:rgba(59,52,201,.35);background:#fbfbff;box-shadow:0 0 0 3px rgba(59,52,201,.06)}
.vw-niv-c.on i{border-color:var(--c-ind);box-shadow:inset 0 0 0 3.5px var(--c-ind)}
.vw-niv-c.press{transform:scale(.985)}
.vw-ord{align-self:start;padding:14px 16px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-bg)}
.vw-ord .vw-h5{margin-bottom:2px}
.vw-ord dl{display:grid;margin:0}
.vw-ord dt{margin-top:10px;font:500 11px/15px "Inter",var(--ui);color:var(--c-mut)}
.vw-ord dd{min-height:17px;margin:0;font:500 12px/17px "Inter",var(--ui);color:var(--c-ink);transition:opacity .25s ease}
.vw-ord dd.sort{opacity:0}
/* Vignettes d'outil (cartes) : maquettes du site Neur.on au niveau des écrans Corrext */
.cr-vg{display:flex;flex-direction:column;gap:8px;height:100%;overflow:hidden;padding:11px 14px;font:400 11px/16px "Inter",var(--ui)}
.cr-vg svg{width:13px;height:13px}
.cr-vg .jv-langs{display:flex;align-items:center;gap:8px;font:500 11px/16px "Inter",var(--ui);color:var(--c-ink)}
.cr-vg .jv-langs span{padding:1px 8px;border-radius:999px;background:var(--c-ind-soft);color:var(--c-ind)}
.cr-vg .jv-2col{display:grid;flex:1;grid-template-columns:1fr 1fr;gap:8px;min-height:0}
.cr-vg .jv-2col div{overflow:hidden;font-size:11px !important;-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent);padding:9px 10px;border:1px solid var(--c-line);border-radius:8px;font:400 10.5px/15.5px "Inter",var(--ui);color:var(--c-text)}
.cr-vg .jv-2col div + div{background:var(--c-bg)}
.cr-vg .jv-steps{display:flex;align-items:center;gap:7px;font:500 11px/15px "Inter",var(--ui);color:var(--c-mut)}
.cr-vg .jv-steps span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.cr-vg .jv-steps span.ok{color:var(--c-text)}
.cr-vg .jv-steps span svg{box-sizing:border-box;width:15px;height:15px;padding:3px;border-radius:50%;background:var(--c-ind);color:#fff}
.cr-vg .jv-steps span.cur{color:var(--c-ink)}
.cr-vg .jv-steps span.cur::before{content:"";box-sizing:border-box;width:15px;height:15px;border:4px solid var(--c-ind);border-radius:50%;box-shadow:0 0 0 3px var(--c-ind-soft)}
.cr-vg .jv-steps i{flex:1;height:1px;background:var(--c-line)}
.cr-vg .jv-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cr-vg .jv-opt{display:grid;padding:9px 10px;border:1px solid var(--c-line);border-radius:8px;background:#fff}
.cr-vg .jv-opt b{font:600 11px/16px "Inter",var(--ui);color:var(--c-ink)}
.cr-vg .jv-opt span{font:400 11px/14px "Inter",var(--ui);color:var(--c-mut)}
.cr-vg .jv-opt.on{border-color:rgba(59,52,201,.35);background:#fbfbff;box-shadow:0 0 0 2px rgba(59,52,201,.06)}
.cr-vg .jv-search{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border:1px solid var(--c-line);border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(30,31,59,.05)}
.cr-vg .jv-search svg{color:var(--c-mut)}
.cr-vg .jv-search b{flex:1;font:500 11.5px/16px "Inter",var(--ui);color:var(--c-ink)}
.cr-vg .jv-search span{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.cr-vg .jv-res{display:grid;gap:5px;min-height:0;overflow:hidden}
.cr-vg .jv-res div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-vg .jv-res div{padding:6px 10px;border-radius:8px;background:var(--c-bg);font:400 11px/15px "Inter",var(--ui);color:var(--c-text)}
.cr-vg mark{padding:0 2px;border-radius:3px;background:var(--c-hl);color:inherit}
.cr-vg .jv-src{display:flex;align-items:center;gap:5px;font:500 11px/14px "Inter",var(--ui);color:var(--c-mut)}
.cr-vg .jv-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.cr-vg .jv-list li{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--c-line);border-radius:8px;background:#fff;font:500 11px/15px "Inter",var(--ui);color:var(--c-text)}
.cr-vg .jv-list li i{flex:0 0 auto;box-sizing:border-box;width:12px;height:12px;border:1.5px solid rgba(30,31,59,.22);border-radius:50%}
.cr-vg .jv-list li.on{border-color:rgba(59,52,201,.35);background:#fbfbff;color:var(--c-ink)}
.cr-vg .jv-list li.on i{border:3.5px solid var(--c-ind)}
.cr-vg .jv-list li.off{background:var(--c-bg);color:var(--c-mut)}
.cr-vg .jv-list li span{margin-left:auto;padding:0 7px;border-radius:999px;background:#e9f6ef;font:600 11px/16px "Inter",var(--ui);color:#1d6b43}
.cr-vg .jv-chips{display:flex}
.cr-vg .jv-chip{display:inline-flex;align-items:center;gap:7px;padding:3px 10px 3px 4px;border-radius:999px;background:var(--c-ink);font:500 11px/16px "Inter",var(--ui);color:#fff}
.cr-vg .jv-chip::before{content:"";width:22px;height:12px;border-radius:6px;background:radial-gradient(circle at 16px 6px,#fff 4px,transparent 4.5px),#4f8cff}
.cr-vg .jv-code{flex:1;margin:0;overflow:hidden;padding:10px 12px;border-radius:8px;background:var(--c-ink);white-space:pre;font:400 10.5px/14.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:#dcdef2}
.cr-vg .jv-code .m{font-weight:600;color:#9ee6bd}
.cr-vg .jv-code .k{color:#c3beff}
.cr-vg .jv-foot{font:400 11px/14px "Inter",var(--ui);color:var(--c-mut)}
@media (prefers-reduced-motion:reduce){.vw-anl{animation:none}}
/* Ajustements des vues : hauteurs utiles, CHnell plein cadre */
.vw-alts .cr-pane{height:200px}
.vw-alts .cr-bas{height:128px}
.vw-ch{display:block;padding:18px 22px;background:#fff}
.vw-ch .cr-ch{width:auto;padding:0;border-radius:0;box-shadow:none}
.vw-ch .lk-r > div{padding-right:0}
/* Axe CHnell de l'accueil, scène « chnell » : résultats masqués puis révélés un à un (sans script, tout reste visible) */
.vw-ch.cherche .lk-c{opacity:0;transition:opacity .4s ease}
.vw-ch.cherche .lk-c.vu{opacity:1}
.vw-ch.cherche .lk-r > div{opacity:0;transform:translateY(8px)}
.vw-ch.cherche .lk-r > div.vu{opacity:1;transform:none}
.vw-ch.cherche .lk-r mark{background:transparent;transition:background-color .5s ease}
.vw-ch.cherche .lk-r mark.vu{background:var(--c-hl)}
.vw-hr .vw-soc small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vw-hr .vw-soc > span{min-width:0}
.vw-hr .vw-s{margin-bottom:10px}
.vw-hr .vw-niv-c{padding:9px 12px}
/* Vignettes : la fenêtre occupe presque toute la scène, barre de titre compacte */
.st:has(.cr-vg) .st-f{width:92%;height:calc(100% - 14px);padding:5px;border-radius:14px}
.st:has(.cr-vg) .fen-b{flex-basis:22px;padding:0 9px}
.st:has(.cr-vg) .fen-b i{width:6px;height:6px}
.st:has(.cr-vg) .fen-b span{font-size:11px;line-height:22px}
.cr-vg .jv-list li{padding:5px 10px}

/* ---------- Signature Neur.on : écarts volontaires avec la référence de rendu ----------
   Trois marqueurs propres à la marque, regroupés ici pour pouvoir les retirer d'un bloc. */
/* 1. Scène : trame de nœuds (le motif du logo Neur.on) sur un plan bleu, au lieu des halos pastel */
.st{background-color:#e6edf8;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='1.1' fill='%23001b4c' fill-opacity='.15'/%3E%3C/svg%3E"),
    linear-gradient(155deg,rgba(49,123,255,.18),rgba(49,123,255,0) 46%),
    linear-gradient(335deg,rgba(0,27,76,.09),rgba(0,27,76,0) 52%);
  background-size:22px 22px,100% 100%,100% 100%;background-position:11px 11px,0 0,0 0}
/* 2. Fenêtre : barre d'application (cadenas et titre à gauche), sans les trois pastilles macOS */
.fen-b i{display:none}
.fen-b span{position:static;display:flex;align-items:center;gap:7px;padding-left:2px;text-align:left;font-size:12px;letter-spacing:0;color:var(--muted)}
.fen-b span::before{content:"";flex:0 0 auto;width:11px;height:11px;background:var(--accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.8'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.8'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E") center/contain no-repeat}
/* 3. Pilules : teinte pleine et losange du logo, au lieu du contour noir */
.pill{gap:8px;border-color:transparent;background:rgba(49,123,255,.10)}
.pill::before{content:"";flex:0 0 auto;width:5px;height:5px;border:1.5px solid var(--accent);border-radius:1px;transform:rotate(45deg)}
.cr .pill{gap:0}
.cr .pill::before,.cx-zone .pill::before{content:none}  /* les pastilles de l'écran Corrext restent celles de l'application */
:root[data-theme="sombre"] .pill{background:rgba(127,176,255,.14)}
@media (prefers-color-scheme:dark){:root[data-theme="systeme"] .pill{background:rgba(127,176,255,.14)}}

/* Squelette : le reflet ne tourne que pendant une traduction en cours */
.cr.traduit .cr-sk::after{animation:sk 1.15s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.cr.traduit .cr-sk::after{animation:none}}
/* Liens des tableaux : cible de 24 px de haut au moins (WCAG 2.2, taille de cible) */
main table a{display:inline-block;padding-block:3px}

/* composants/aide.css */
/* Accueil du centre d'aide (outils/composer/p_aide.py), refonte du 2026-10-17 : hero centré avec recherche, rubriques
   en cartes compactes sur deux colonnes, liste « Pour bien démarrer » */
.hc-h{padding:64px 0 56px;text-align:center;background:radial-gradient(60% 120% at 15% 0%,rgba(49,123,255,.10),transparent 60%),radial-gradient(50% 110% at 90% 10%,rgba(130,110,255,.08),transparent 60%)}
.hc-h .h1{display:block}
.hc-lead{max-width:640px;margin:16px auto 0;font:400 17px/27px var(--sans);color:var(--text)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}  /* lu par les lecteurs d'écran, invisible */
.hc-f{position:relative;max-width:680px;margin:32px auto 0;text-align:left}
.hc-f > svg{position:absolute;left:18px;top:18px;width:20px;height:20px;color:var(--muted);pointer-events:none}
.hc-f input{width:100%;height:56px;padding:0 20px 0 50px;border:1px solid var(--line);border-radius:10px;background:var(--page);box-shadow:0 1px 2px rgba(0,27,76,.05),0 10px 30px -18px rgba(0,27,76,.35);font:400 16px/24px var(--sans);color:var(--ink)}
.hc-f input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.hc-res{position:absolute;z-index:5;left:0;right:0;top:62px;max-height:420px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--page);box-shadow:0 18px 40px -20px rgba(0,27,76,.45)}
.hc-res a{display:grid;gap:2px;padding:10px 12px;border-radius:7px;color:inherit}
.hc-res a:hover,.hc-res a:focus-visible{outline:none;background:var(--tile)}
.hc-res b{font:500 15px/22px var(--sans);color:var(--ink)}
.hc-res span{font:400 13px/18px var(--sans);color:var(--muted)}
.hc-vide{padding:12px;font:400 14px/21px var(--sans);color:var(--text)}

.hc-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hc-c{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--page);color:inherit;transition:border-color .2s,box-shadow .2s}
.hc-c:hover{border-color:var(--mid);box-shadow:0 8px 24px -18px rgba(0,27,76,.45)}
.hc-c:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Icônes des rubriques : tuile en dégradé de marque, pictogramme blanc (style A retenu par Fabien le 2026-10-18) */
.hc-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;color:#fff;background:linear-gradient(140deg,#4f8dff 0%,#2c4fd8 55%,#1b2f8f 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 14px -6px rgba(44,79,216,.55)}
.hc-ic svg{width:22px;height:22px;stroke-width:2}
.hc-c b{display:block;font:600 16px/24px var(--sans);color:var(--ink)}
.hc-c em{font:400 14px/20px var(--sans);font-style:normal;color:var(--muted)}

.hc-top{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.hc-top a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line);font:500 16px/24px var(--sans);color:var(--ink)}
.hc-top a:hover span{text-decoration:underline;text-underline-offset:3px}
.hc-top svg{flex:0 0 auto;width:18px;height:18px;color:var(--muted)}
details[id]{scroll-margin-top:96px}  /* question ouverte depuis la recherche : sous l'en-tête fixe */

@media (max-width:767px){.hc-g2{grid-template-columns:minmax(0,1fr)}.hc-h{padding:40px 0 40px}}

/* composants/blog.css */
/* Liste du blog en deux sections, Guides puis Actualités, et hub des guides (lot E) */
.bl-guides,.bl-a{padding-bottom:0}
.bl-guides .intro,.bl-a .intro{margin:-16px 0 0}
.bl-f h3{font:600 32px/36.8px var(--sans);color:var(--ink)}
.bl-guides .bl-f{padding-top:32px}
.bl-guides .bl-plus{margin-bottom:0}
.bl-a .bl-g{padding-top:32px}
/* Hub des guides : deux cartes reliées */
.cd-guides{grid-template-columns:repeat(2,minmax(0,1fr))}
.cd-guides b{font-weight:600}
.cd-guides .lien{margin-top:auto;padding-top:12px}
@media (max-width:1023px){
  .bl-f h3{font-size:26px;line-height:30px}
  .cd-guides{grid-template-columns:minmax(0,1fr)}
}

/* composants/comparatif.css */
/* Pages comparatives (outils/composer/p_comparatif.py), modèle validé par Fabien le 2026-10-18 */

/* En bref : la réponse à gauche, trois différences en tuiles à droite */
.cp-eb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:56px;align-items:start}
.cp-q{font:400 26px/34px var(--serif);color:var(--ink);text-wrap:balance}
.cp-s{margin-top:16px;font:400 16px/24px var(--sans);color:var(--muted)}
.cp-eb ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.cp-eb li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:18px;border-radius:10px;background:var(--tile)}
.cp-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#fff;background:linear-gradient(140deg,#4f8dff 0%,#2c4fd8 55%,#1b2f8f 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.cp-ic svg{width:20px;height:20px}
.cp-eb b{display:block;font:600 15px/22px var(--sans);color:var(--ink)}
.cp-eb li p{margin-top:4px;font:400 16px/24px var(--sans);color:var(--muted)}
.cp-eb li a{color:var(--accent-d);text-decoration:underline;text-underline-offset:3px}

/* Ce que l'autre solution fait bien : liste cochée sur deux colonnes */
.cp-fb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;margin:0;padding:0;list-style:none}
.cp-fb li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px}
.cp-ok{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(16,140,90,.14);color:#0b6e47}
.cp-ok svg{width:13px;height:13px}
.cp-fb b{display:block;font:600 16px/24px var(--sans);color:var(--ink)}
.cp-fb p{margin-top:4px;font:400 16px/24px var(--sans);color:var(--muted)}

/* Tableau des critères, regroupé par thème */
.cp-tw{overflow-x:auto}
.cp-t{width:100%;min-width:640px;border-collapse:collapse;font:400 14px/21px var(--sans);color:var(--text)}
.cp-t thead th{padding:14px 16px;text-align:left;border-bottom:2px solid var(--ink);font:600 14px/20px var(--sans);color:var(--ink)}
.cp-t thead th small{display:block;font:400 12px/16px var(--sans);color:var(--muted)}
.cp-t .cp-g th{padding:24px 16px 8px;text-align:left;font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cp-t tbody th[scope="row"]{width:28%;padding:12px 16px;text-align:left;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line)}
.cp-t td{padding:12px 16px;vertical-align:top;border-bottom:1px solid var(--line)}
.cp-t .cp-c{background:rgba(49,123,255,.05)}
.cp-st{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:8px;border-radius:50%;font:700 11px/1 var(--sans);vertical-align:-3px}
.cp-st svg{width:11px;height:11px}
.cp-st.y{background:rgba(16,140,90,.14);color:#0b6e47}
.cp-st.p{background:#fff1d9;color:#9a5b00}
.cp-st.n{background:#eceff5;color:#717892}
.cp-leg{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;font:400 13px/18px var(--sans);color:var(--muted)}
:root[data-theme="sombre"] .cp-st.y{background:rgba(110,231,168,.16);color:#8ee6b4}
:root[data-theme="sombre"] .cp-st.p{background:rgba(255,196,94,.16);color:#ffd08a}
:root[data-theme="sombre"] .cp-st.n{background:rgba(150,188,255,.12);color:#96bcff}
@media (prefers-color-scheme:dark){
  :root[data-theme="systeme"] .cp-st.y{background:rgba(110,231,168,.16);color:#8ee6b4}
  :root[data-theme="systeme"] .cp-st.p{background:rgba(255,196,94,.16);color:#ffd08a}
  :root[data-theme="systeme"] .cp-st.n{background:rgba(150,188,255,.12);color:#96bcff}
}

/* Exemple : terme du moteur généraliste surligné en ambre (écart, pas une erreur), terme officiel en vert */
.cr.cr-cg-ecart mark.gen.vu{background:#fdecc8;color:#7a4a00}
.lm-tb + .lm-cc{margin-top:24px}

/* Gouvernance : texte à gauche, démo de l'avis à droite, puis trois garde-fous */
.cp-gv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:56px;align-items:center;margin-bottom:32px}
.cp-gv p{font:400 16px/26px var(--sans);color:var(--text)}
.cp-gv .cp-gv-l{margin-top:16px}

/* Page générale : critère non comparé, liens vers les tableaux complets */
.cp-st.na{display:none}
.cp-t td:has(.cp-st.na){color:var(--muted);font-style:italic}
.cp-tl{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:20px}

/* Page générale : la méthode, promesse et liens à gauche, six engagements à droite */
.cp-mt{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:64px;align-items:start}
.cp-mt-g{position:sticky;top:96px}
.cp-mt-g p{font:400 16px/26px var(--sans);color:var(--text)}
.cp-mt-l{display:grid;gap:10px;margin-top:20px}
.cp-mt-d{display:grid;gap:22px;margin:0;padding:0;list-style:none}
.cp-mt-d li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px}
.cp-mt-d b{display:block;font:600 16px/24px var(--sans);color:var(--ink)}
.cp-mt-d p{margin-top:4px;font:400 16px/24px var(--sans);color:var(--muted)}
.cp-mt-d small{display:block;margin-top:6px;font:500 13px/18px var(--sans);color:var(--muted)}

/* Réponse seule (page agence) : la phrase en grand, la suite à côté */
.cp-eb.cp-eb1{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;padding:32px;border-radius:10px;background:var(--tile)}
.cp-eb1 .cp-s{margin-top:0}
.cp-eb1 > div{display:contents}

/* Trois modèles (page agence) : force, puis revers ou pari */
.cp-mg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cp-md{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:10px;background:var(--tile)}
.cp-md h3{margin-top:6px;font:600 18px/26px var(--sans);color:var(--ink)}
.cp-md-s{font:400 16px/24px var(--serif);color:var(--ink)}
.cp-md p{font:400 16px/24px var(--sans);color:var(--muted)}
.cp-md p a{color:var(--accent-d);text-decoration:underline;text-underline-offset:3px}
.cp-md .cp-md-t{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font:500 13px/20px var(--sans);color:var(--muted)}

/* Tableau à trois solutions (page agence) */
.cp-t3 tbody th[scope="row"]{width:22%}

/* Exemple statique (page IA génératives) : la source, puis les deux sorties côte à côte */
.cp-xs{margin-bottom:12px;padding:18px 20px;border-radius:10px;background:var(--tile)}
.cp-xe{margin-bottom:6px;font:500 12px/16px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.cp-xs p:not(.cp-xe),.cp-xc p:not(.cp-xe){font:400 16px/24px var(--sans);color:var(--ink)}
.cp-xg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cp-xc{padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--page)}
.cp-xg mark{border-radius:3px;padding:0 2px;color:inherit}
.cp-xg mark.cp-faux{background:#fbdcdc;color:#9b1c1c}
.cp-xg mark.cp-juste{background:#d3f2e0;color:#08583a}
.cp-xg + .lm-cc{margin-top:24px}
.cp-pv{margin:40px 0 16px;font:600 17px/24px var(--sans);color:var(--ink)}  /* « La preuve, dans CHnell » */
.cp-pv + .ech + .lm-cc{margin-top:24px}

/* Niveaux de relecture externe (page agence) */
.cp-lvg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cp-lv{padding:24px;border-radius:10px;background:var(--tile)}
.cp-lv-n{display:grid;place-items:center;width:32px;height:32px;margin-bottom:14px;border-radius:50%;background:var(--ink);color:var(--page);font:600 14px/1 var(--sans)}
.cp-lv h3{font:600 17px/24px var(--sans);color:var(--ink)}
.cp-lv-s{margin-top:2px;font:500 13px/18px var(--sans);color:var(--muted)}
.cp-lv p:last-child{margin-top:10px;font:400 16px/24px var(--sans);color:var(--muted)}

@media (max-width:1023px){.cp-mt{grid-template-columns:minmax(0,1fr);gap:32px}.cp-mt-g{position:static}.cp-eb,.cp-gv,.cp-eb.cp-eb1{grid-template-columns:minmax(0,1fr);gap:24px}.cp-mg,.cp-lvg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.cp-xg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .cp-fb{grid-template-columns:minmax(0,1fr)}.cp-q{font-size:22px;line-height:30px}
  /* tableau empilé : le critère, puis chaque réponse sous le nom de sa solution */
  .cp-t{min-width:0}.cp-t thead{display:none}
  .cp-t tr{display:grid;grid-template-columns:minmax(0,1fr)}
  .cp-t tbody th[scope="row"]{width:auto;padding:16px 0 6px;border:0}
  .cp-t td{padding:6px 12px 6px 0;border:0}
  .cp-t td:last-child{margin:2px 0 14px;padding:8px 10px;border-radius:6px}
  .cp-t tr:not(.cp-g){border-bottom:1px solid var(--line)}
  .cp-t td::before{content:attr(data-m);display:block;margin-bottom:2px;font:500 12px/16px var(--sans);color:var(--muted)}
  .cp-t .cp-g th{padding:24px 0 4px}
}

/* composants/consentement.css */
/* Mesure d'audience (lot C) : bandeau de consentement fixé en bas d'écran, deux choix de même poids. */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:16px 0;border-top:1px solid var(--line);background:var(--page);box-shadow:0 -8px 24px rgba(6,18,46,.08)}
.cc-in{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cc p{max-width:760px;font:400 14px/20px var(--sans);color:var(--text)}
.cc p a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.cc-b{display:flex;flex:0 0 auto;gap:8px}
.cc-b .btn{min-width:112px}
@media (max-width:640px){
  .cc-in{flex-direction:column;align-items:stretch;gap:12px}
  .cc-b .btn{flex:1 1 0;min-width:0}
}
/* Pied de page : « Préférences cookies », après les liens légaux de la barre basse */
.fp-ck{min-height:24px;padding:0;border:0;background:none;font:inherit;color:var(--muted);text-decoration:underline;text-underline-offset:2px;white-space:nowrap;cursor:pointer}
.fp-ck:hover{color:var(--ink)}
@media (max-width:640px){
  /* Mentions sur toute la largeur, puis le bouton à gauche et le choix du thème à droite */
  .fp-b:has(.fp-ck:not([hidden])){flex-wrap:wrap;row-gap:16px}
  .fp-b:has(.fp-ck:not([hidden])) > span{flex:1 0 100%}
  .fp-ck{margin-left:0;margin-right:auto}
}

/* composants/domaine.css */
/* Pages de domaine du droit (outils/composer/domaine_modele.py), modèle choisi par Fabien le 2026-10-19 (1-B, 2-B) */

/* Équivalences sans langue mise en avant */
.pa-t td.pa-n{color:var(--text)}

/* Textes de référence : registre */
.dm-reg{border-top:1px solid var(--line)}
.dm-reg > div{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.6fr);gap:32px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.dm-ab{font:400 34px/40px var(--serif);color:var(--accent-d)}
.dm-reg h3{font:600 15px/22px var(--sans);color:var(--ink)}
.dm-reg > div > p:last-child{font:400 16px/24px var(--sans);color:var(--muted)}
.dm-tr::after{content:"."}  /* fin « ; OR en allemand… » sortie en étiquettes */
.dm-lgs{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.dm-lg{display:inline-flex;align-items:center;gap:6px;font:500 13px/18px var(--sans);color:var(--text)}
.dm-lg i{padding:0 5px;border:1px solid var(--line);border-radius:4px;font:600 10px/16px var(--sans);font-style:normal;letter-spacing:.06em;color:var(--muted)}

/* Concrètement : les actes à gauche, les apports de Corrext en encart à droite */
.dm-2c{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:start}
.dm-2c .pa-st{margin-top:0}
.dm-num{margin:0;padding:0;list-style:none;counter-reset:acte}
.dm-num li{display:grid;grid-template-columns:40px minmax(0,1fr);padding:18px 0;border-top:1px solid var(--line);counter-increment:acte}
.dm-num li::before{content:counter(acte,decimal-leading-zero);grid-row:span 2;font:400 22px/22px var(--serif);color:var(--accent-d)}
.dm-num h3,.dm-ck h3{font:600 15px/22px var(--sans);color:var(--ink)}
.dm-num p,.dm-ck p{margin-top:6px;font:400 16px/24px var(--sans);color:var(--muted)}
.dm-in{padding:28px 32px 8px;border-radius:12px;background:var(--tile)}
.dm-ck > div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}
.dm-ck > div:first-child{padding-top:4px}
.dm-ck > div:last-child{border-bottom:0}

@media (max-width:1023px){.dm-2c{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.dm-reg > div{grid-template-columns:minmax(0,1fr);gap:8px}.dm-ab{font-size:28px;line-height:34px}.dm-in{padding:22px 20px 4px}}

/* composants/fonctionnalites.css */
/* Cartes de fonctionnalités (outils/post/fonctionnalites.py) : grand visuel, mini-interface Corrext animée, titre,
   texte, lien. Chaque élément est stylé dans son ÉTAT FINAL ; les animations (cycle de 8 s) rejouent le parcours qui y
   mène. Sans animation (mouvement réduit), la mini-interface reste donc lisible et juste. */
.fx-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:40px}
.fx{display:flex;flex-direction:column;padding:16px;border-radius:8px;background:var(--tile);color:inherit;text-decoration:none}
.fx-v{position:relative;height:300px;margin-bottom:16px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background-color:#e6edf8;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='1.1' fill='%23001b4c' fill-opacity='.12'/%3E%3C/svg%3E"),linear-gradient(155deg,rgba(49,123,255,.16),rgba(49,123,255,0) 50%)}
.fx-w{--u-ink:#1e1f3b;--u-text:#3a3c56;--u-mut:#6c7089;--u-line:#e3e5f0;--u-ind:#3b34c9;--u-soft:#efeefc;--u-off:#cfd2e3;
  width:82%;max-width:320px;padding:14px;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,27,76,.06),0 12px 28px -14px rgba(0,27,76,.28);
  font:400 12px/18px var(--ui);color:var(--u-text);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.fx:hover .fx-w{transform:translateY(-4px)}
.fx-t{padding:0 8px;font:500 16px/24px var(--sans);color:var(--ink)}
.fx-p{margin-top:6px;padding:0 8px;font:400 15px/24px var(--sans);color:var(--muted)}
.fx-l{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:12px 8px 8px;font:500 16px/24px var(--sans);color:var(--accent-d)}
.fx-l svg{width:16px;height:16px;transition:transform .2s}
.fx:hover .fx-l svg{transform:translateX(3px)}
.fx:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:899px){.fx-g{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.fx-v{height:260px}}

/* Éléments communs de la peau Corrext */
.fx-w svg{display:block}
.u-lbl{margin-bottom:8px;font-size:11px;color:var(--u-mut)}
.u-sep{margin-top:12px}
.u-fort{font-weight:500;color:var(--u-ink)}
.u-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.u-list{margin-top:12px;padding:4px;border:1px solid var(--u-line);border-radius:8px}
.u-it{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:6px;color:var(--u-ink)}
.u-it small{font-size:11px;color:var(--u-mut)}
.u-ck{width:14px;height:14px;color:var(--u-ind)}
.u-chip{padding:2px 8px;border-radius:999px;background:var(--u-soft);color:var(--u-ind);font-size:11px}
.u-sw{position:relative;flex:0 0 auto;width:28px;height:16px;border-radius:999px;background:var(--u-ind)}
.u-sw::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transform:translateX(12px)}
.u-q{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--u-line);border-radius:8px;color:var(--u-ink)}
.u-q svg{width:14px;height:14px;color:var(--u-mut)}
.u-q span{margin-left:auto;font-size:11px;color:var(--u-mut)}

/* Interrupteur : éteint, puis allumé */
.u-sw{animation:u-sw 8s infinite}
.u-sw::after{animation:u-swk 8s infinite}
@keyframes u-sw{0%,30%{background:var(--u-off)}36%,100%{background:var(--u-ind)}}
@keyframes u-swk{0%,30%{transform:none}36%,100%{transform:translateX(12px)}}

/* LexMachina : DeepL Pro sélectionné, puis grisé ; la sélection passe sur LexMachina */
.u-lm{background:var(--u-soft)}
.u-dp,.u-az{opacity:.38}
.u-dp .u-ck{opacity:0}
.u-lm{animation:u-lm 8s infinite}.u-lm .u-ck{animation:u-on 8s infinite}
.u-dp{animation:u-dp 8s infinite}.u-dp .u-ck{animation:u-off 8s infinite}
.u-az{animation:u-gris 8s infinite}
@keyframes u-lm{0%,38%{background:transparent}44%,100%{background:var(--u-soft)}}
@keyframes u-dp{0%,30%{background:var(--u-soft);opacity:1}36%,100%{background:transparent;opacity:.38}}
@keyframes u-gris{0%,30%{opacity:1}36%,100%{opacity:.38}}
@keyframes u-on{0%,38%{opacity:0}44%,100%{opacity:1}}
@keyframes u-off{0%,30%{opacity:1}34%,100%{opacity:0}}

/* Traduction : la sortie s'écrit */
.u-lg{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:500;color:var(--u-ink)}
.u-2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--u-line);border-radius:8px;overflow:hidden}
.u-2 > div{min-height:96px;padding:10px}
.u-2 > div + div{border-left:1px solid var(--u-line);background:#fafbfe}
.u-out{display:block;color:var(--u-ink);-webkit-mask-image:linear-gradient(90deg,#000 50%,transparent 50%);mask-image:linear-gradient(90deg,#000 50%,transparent 50%);
  -webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-mask-position:0 0;mask-position:0 0;animation:u-tape 8s infinite}
@keyframes u-tape{0%,8%{-webkit-mask-position:100% 0;mask-position:100% 0}60%,100%{-webkit-mask-position:0 0;mask-position:0 0}}

/* Gestion de projet : étapes cochées, puis choix de la relecture */
.u-st{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--u-mut)}
.u-st i{flex:1;height:1px;background:var(--u-line)}
.u-et{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.u-et b{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--u-ind);background:var(--u-ind);font:600 9px/1 var(--ui);color:#fff}
.u-et b .u-ck{width:10px;height:10px;color:#fff}
.u-cur{font-weight:500;color:var(--u-ink)}
.u-cur b{background:#fff;color:var(--u-ind)}
.u-et1 b{animation:u-et1 8s infinite}.u-et1 b .u-ck{animation:u-etc1 8s infinite}
.u-et2 b{animation:u-et2 8s infinite}.u-et2 b .u-ck{animation:u-etc2 8s infinite}
@keyframes u-et1{0%,10%{background:transparent;border-color:var(--u-off)}16%,100%{background:var(--u-ind);border-color:var(--u-ind)}}
@keyframes u-etc1{0%,10%{opacity:0}16%,100%{opacity:1}}
@keyframes u-et2{0%,24%{background:transparent;border-color:var(--u-off)}30%,100%{background:var(--u-ind);border-color:var(--u-ind)}}
@keyframes u-etc2{0%,24%{opacity:0}30%,100%{opacity:1}}
.u-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.u-op{padding:10px;border:1px solid var(--u-line);border-radius:8px}
.u-op b{display:block;font-weight:600;color:var(--u-ink)}
.u-op span{font-size:11px;color:var(--u-mut)}
.u-op1{border-color:var(--u-ind);box-shadow:0 0 0 3px var(--u-soft)}
.u-op1{animation:u-op1 8s infinite}.u-op2{animation:u-op2 8s infinite}
@keyframes u-op1{0%,40%{border-color:var(--u-line);box-shadow:none}46%,62%{border-color:var(--u-ind);box-shadow:0 0 0 3px var(--u-soft)}68%,84%{border-color:var(--u-line);box-shadow:none}90%,100%{border-color:var(--u-ind);box-shadow:0 0 0 3px var(--u-soft)}}
@keyframes u-op2{0%,62%{border-color:var(--u-line);box-shadow:none}68%,84%{border-color:var(--u-ind);box-shadow:0 0 0 3px var(--u-soft)}90%,100%{border-color:var(--u-line);box-shadow:none}}

/* CHnell : les occurrences se surlignent, la source apparaît */
.u-res{display:grid;gap:6px;margin-top:10px}
.u-res > div{padding:7px 10px;border:1px solid var(--u-line);border-radius:8px;color:var(--u-ink)}
.u-res mark{border-radius:2px;color:inherit;background:#d6e4ff;animation:u-mark 8s infinite}
.u-res > div + div mark{animation-name:u-mark2}
@keyframes u-mark{0%,18%{background:transparent}26%,100%{background:#d6e4ff}}
@keyframes u-mark2{0%,34%{background:transparent}42%,100%{background:#d6e4ff}}
.u-src{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;color:var(--u-mut);animation:u-vu 8s infinite}
.u-src svg{width:12px;height:12px}
@keyframes u-vu{0%,50%{opacity:0;transform:translateY(4px)}58%,100%{opacity:1;transform:none}}

/* Extraits et niveaux de qualité : la sélection descend jusqu'au dernier niveau */
.u-niv i{display:grid;place-items:center;flex:0 0 auto;width:14px;height:14px;margin-right:8px;border:1.5px solid var(--u-off);border-radius:50%;font:600 9px/1 var(--ui);font-style:normal;color:var(--u-mut)}
.u-niv .u-it{justify-content:flex-start}
.u-niv .u-n3:last-child,.u-q4 .u-n4{background:var(--u-soft)}
.u-niv .u-n3:last-child i,.u-q4 .u-n4 i{border-color:var(--u-ind);background:var(--u-ind);color:#fff}
.u-niv .u-n1{animation:u-sel1 8s infinite}.u-niv .u-n2{animation:u-sel2 8s infinite}.u-niv .u-n3{animation:u-sel3 8s infinite}
.u-q4 .u-n3{animation-name:u-sel3b}.u-q4 .u-n4{animation:u-sel4 8s infinite}
@keyframes u-sel1{0%,8%,30%,100%{background:transparent}12%,26%{background:var(--u-soft)}}
@keyframes u-sel2{0%,30%,52%,100%{background:transparent}34%,48%{background:var(--u-soft)}}
@keyframes u-sel3{0%,52%{background:transparent}56%,100%{background:var(--u-soft)}}
@keyframes u-sel3b{0%,52%,74%,100%{background:transparent}56%,70%{background:var(--u-soft)}}
@keyframes u-sel4{0%,74%{background:transparent}78%,100%{background:var(--u-soft)}}

/* Éditeur de relecture : segments confirmés un à un, la progression suit */
.u-pg{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;color:var(--u-mut)}
.u-bar{flex:0 0 72px;height:6px;border-radius:999px;background:var(--u-line);overflow:hidden}
.u-bar i{display:block;width:100%;height:100%;background:var(--u-ind);transform-origin:0 50%;animation:u-bar 8s infinite}
@keyframes u-bar{0%,20%{transform:scaleX(0)}26%,50%{transform:scaleX(.5)}56%,100%{transform:scaleX(1)}}
.u-sg{display:grid;grid-template-columns:1fr 1fr auto 14px;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;border:1px solid var(--u-line);border-radius:8px;color:var(--u-ink)}
.u-sg span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.u-sg b{padding:1px 5px;border-radius:4px;background:var(--u-soft);font:600 9px/14px var(--ui);color:var(--u-ind)}
.u-sg1 .u-ck{animation:u-ok1 8s infinite}.u-sg2 .u-ck{animation:u-ok2 8s infinite}
@keyframes u-ok1{0%,20%{opacity:0;transform:scale(.6)}26%,100%{opacity:1;transform:none}}
@keyframes u-ok2{0%,50%{opacity:0;transform:scale(.6)}56%,100%{opacity:1;transform:none}}

/* Sécurité : avec l'interrupteur, le traitement passe « Exclusivement en Suisse » */
.u-kv{display:grid;gap:2px;padding:7px 9px}
.u-kv small{font-size:11px;color:var(--u-mut)}
.u-kv span{font-weight:500;color:var(--u-ink)}
.u-tr{position:relative}
.u-tr .u-a{position:absolute;left:9px;bottom:7px;color:var(--u-mut);opacity:0;animation:u-a 8s infinite}
.u-tr .u-b{animation:u-b 8s infinite}
@keyframes u-a{0%,30%{opacity:1}36%,100%{opacity:0}}
@keyframes u-b{0%,30%{opacity:0}36%,100%{opacity:1}}

/* Langues et formats : les quatre langues s'allument tour à tour */
.u-chips{display:flex;flex-wrap:wrap;gap:6px}
.u-chips span{padding:4px 10px;border:1px solid var(--u-line);border-radius:999px;color:var(--u-ink)}
.u-chips:not(.u-fmt) span{border-color:var(--u-ind);background:var(--u-soft);color:var(--u-ind)}
.u-c1{animation:u-c1 8s infinite}.u-c2{animation:u-c2 8s infinite}.u-c3{animation:u-c3 8s infinite}.u-c4{animation:u-c4 8s infinite}
@keyframes u-c1{0%,6%{border-color:var(--u-line);background:transparent;color:var(--u-ink)}12%,100%{border-color:var(--u-ind);background:var(--u-soft);color:var(--u-ind)}}
@keyframes u-c2{0%,18%{border-color:var(--u-line);background:transparent;color:var(--u-ink)}24%,100%{border-color:var(--u-ind);background:var(--u-soft);color:var(--u-ind)}}
@keyframes u-c3{0%,30%{border-color:var(--u-line);background:transparent;color:var(--u-ink)}36%,100%{border-color:var(--u-ind);background:var(--u-soft);color:var(--u-ind)}}
@keyframes u-c4{0%,42%{border-color:var(--u-line);background:transparent;color:var(--u-ink)}48%,100%{border-color:var(--u-ind);background:var(--u-soft);color:var(--u-ind)}}
.u-fmt span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}

/* API : la requête s'affiche ligne à ligne */
.u-code{margin:0;padding:10px 12px;border-radius:8px;background:#0f1530;font:400 11px/17px ui-monospace,SFMono-Regular,Menlo,monospace;color:#d5dcf2;white-space:pre}
.u-code b{color:#7fb0ff;font-weight:600}
.u-code em{font-style:normal;color:#b8c5f4}
.u-code span{animation:u-ligne 8s infinite}
.u-code .l2{animation-delay:.25s}.u-code .l3{animation-delay:.5s}.u-code .l4{animation-delay:.75s}
.u-code .l5{animation-delay:1s}.u-code .l6{animation-delay:1.25s}.u-code .l7{animation-delay:1.5s}
@keyframes u-ligne{0%,6%{opacity:0}12%,100%{opacity:1}}
.u-note{margin-top:8px;font-size:10.5px;color:var(--u-mut)}

/* Carte mise en avant du méga-menu (menu.py, _visuels_mega) : même peau, réduite dans la vignette */
.mg-mini{display:grid;place-items:center}
.mg-w{width:250px;padding:12px;transform:scale(.86);box-shadow:0 1px 2px rgba(0,27,76,.06),0 10px 24px -14px rgba(0,27,76,.3)}
.mg-card:hover .mg-w{transform:scale(.86) translateY(-3px)}
.mg-w .u-2 > div{min-height:72px}
.u-dl .u-it{display:grid;gap:0;justify-content:stretch;padding:5px 9px;animation:u-dl 8s infinite}
@keyframes u-dl{0%,4%{opacity:0;transform:translateY(4px)}12%,100%{opacity:1;transform:none}}
.u-dl .u-it span{font-weight:500}
.u-dl .u-it:nth-child(2){animation-delay:.3s}.u-dl .u-it:nth-child(3){animation-delay:.6s}

/* Deux cartes (hub des guides, 2026-10-16) : deux grandes colonnes, visuel et titre plus grands */
.fx-g.fx-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fx-g2 .fx-v{height:340px}
.fx-g2 .fx-w{max-width:380px}
.fx-g2 .fx-t{font-size:19px;line-height:27px;font-weight:600}
@media (max-width:899px){.fx-g.fx-g2{grid-template-columns:minmax(0,1fr)}}

/* Ressources et guides : titres d'articles, règles et jalons cochés un à un, six indicateurs */
.u-art .u-it,.u-chk .u-it{justify-content:flex-start}
.u-art .u-it{display:grid;gap:4px;justify-items:start;padding:8px 9px}  /* catégorie au-dessus du titre de l'article */
.u-art .u-it > span:not(.u-chip){width:100%}
.u-it > span:not(.u-chip){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.u-art .u-chip{flex:0 0 auto}
.u-chk .u-it{justify-content:space-between}
.u-tit{margin-top:2px;font-size:13px;line-height:19px}
.u-lng{margin-top:4px}
.u-six{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.u-six i{height:22px;border-radius:5px;background:var(--u-soft);box-shadow:inset 0 0 0 1px var(--u-line)}
.u-six i{animation:u-six 8s infinite}
.u-six i:nth-child(2){animation-delay:.25s}.u-six i:nth-child(3){animation-delay:.5s}.u-six i:nth-child(4){animation-delay:.75s}
.u-six i:nth-child(5){animation-delay:1s}.u-six i:nth-child(6){animation-delay:1.25s}
@keyframes u-six{0%,50%{background:#fff}58%,100%{background:var(--u-soft)}}
/* apparition des articles */
.u-a1{animation:u-ap1 8s infinite}.u-a2{animation:u-ap2 8s infinite}.u-a3{animation:u-ap3 8s infinite}
@keyframes u-ap1{0%,8%{opacity:0;transform:translateY(6px)}16%,100%{opacity:1;transform:none}}
@keyframes u-ap2{0%,20%{opacity:0;transform:translateY(6px)}28%,100%{opacity:1;transform:none}}
@keyframes u-ap3{0%,32%{opacity:0;transform:translateY(6px)}40%,100%{opacity:1;transform:none}}
/* coches successives (règles, rôles, jalons) */
.u-chk .u-it{background:var(--u-soft)}
.u-chk .u-ck{flex:0 0 auto}
.u-c1{animation:u-k1 8s infinite}.u-c1 .u-ck{animation:u-v1 8s infinite}
.u-c2{animation:u-k2 8s infinite}.u-c2 .u-ck{animation:u-v2 8s infinite}
.u-c3{animation:u-k3 8s infinite}.u-c3 .u-ck{animation:u-v3 8s infinite}
.u-c4{animation:u-k4 8s infinite}.u-c4 .u-ck{animation:u-v4 8s infinite}
@keyframes u-k1{0%,8%{background:transparent}14%,100%{background:var(--u-soft)}}
@keyframes u-k2{0%,20%{background:transparent}26%,100%{background:var(--u-soft)}}
@keyframes u-k3{0%,32%{background:transparent}38%,100%{background:var(--u-soft)}}
@keyframes u-k4{0%,44%{background:transparent}50%,100%{background:var(--u-soft)}}
@keyframes u-v1{0%,8%{opacity:0}14%,100%{opacity:1}}
@keyframes u-v2{0%,20%{opacity:0}26%,100%{opacity:1}}
@keyframes u-v3{0%,32%{opacity:0}38%,100%{opacity:1}}
@keyframes u-v4{0%,44%{opacity:0}50%,100%{opacity:1}}

/* Une seule carte (publication des études, 2026-10-16) : visuel à gauche, texte à droite ; méta au-dessus du titre */
.fx-m{padding:0 8px 4px;font:500 13px/20px var(--sans);color:var(--muted)}
.fx-g.fx-g1{grid-template-columns:minmax(0,1fr)}
.fx-g1 .fx{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr auto auto auto auto 1fr;column-gap:40px}
.fx-g1 .fx-v{grid-column:1;grid-row:1/-1;height:360px;margin:0}
.fx-g1 .fx-w{max-width:400px}
.fx-g1 .fx > :not(.fx-v){grid-column:2;padding-right:24px}
.fx-g1 .fx-m{grid-row:2}.fx-g1 .fx-t{grid-row:3;font-size:22px;line-height:30px;font-weight:600}.fx-g1 .fx-p{grid-row:4}.fx-g1 .fx-l{grid-row:5;margin-top:8px}
@media (max-width:899px){
  .fx-g1 .fx{display:flex;flex-direction:column}
  .fx-g1 .fx-v{height:340px;margin-bottom:16px}
  .fx-g1 .fx > :not(.fx-v){padding-right:0}
}
/* six critères, quatre langues */
.u-c5{animation:u-k5 8s infinite}.u-c5 .u-ck{animation:u-v5 8s infinite}
.u-c6{animation:u-k6 8s infinite}.u-c6 .u-ck{animation:u-v6 8s infinite}
@keyframes u-k5{0%,56%{background:transparent}62%,100%{background:var(--u-soft)}}
@keyframes u-k6{0%,68%{background:transparent}74%,100%{background:var(--u-soft)}}
@keyframes u-v5{0%,56%{opacity:0}62%,100%{opacity:1}}
@keyframes u-v6{0%,68%{opacity:0}74%,100%{opacity:1}}
.u-a4{animation:u-ap4 8s infinite}
@keyframes u-ap4{0%,44%{opacity:0;transform:translateY(6px)}52%,100%{opacity:1;transform:none}}
.u-lbl em{font-style:normal}  /* balisage repris de la page source, sans italique */
.u-lg4 .u-it{justify-content:flex-start;gap:12px}
.u-lg4 .u-it small{flex:0 0 62px}

/* Cartes des paires de langues : le terme, puis son équivalent mis en avant */
.u-it.u-eq{background:var(--u-soft)}
.u-art .u-it small{font-size:11px;color:var(--u-mut)}

/* composants/formulaires.css */
/* Formulaires vers envoi.php (lot C) : champ piège hors de l'écran, marge latérale de la page contact, page de
   remerciement. */
.piege{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
/* .ct remplaçait le padding de .wrap : le formulaire touchait les bords sur mobile et sortait de l'alignement */
.wrap.ct{padding-left:var(--gut);padding-right:var(--gut)}
.mc .hero-d p a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.mc-et{padding-top:0}
.mc-et .tl{grid-template-columns:minmax(0,1fr);max-width:760px}
/* Erreurs des formulaires (assets/global/formulaires.js, audit du 2026-10-23) : résumé en tête du formulaire, message
   sous chaque champ fautif. Rouge à 4,5:1 au moins sur la tuile et la page, dans les deux thèmes. */
form{--erreur:#B42318}
:root[data-theme="sombre"] form{--erreur:#FFB4AB}
@media (prefers-color-scheme:dark){:root[data-theme="systeme"] form{--erreur:#FFB4AB}}
/* Région vide : hors du flux mais rendue (display:none la retirerait de l'arbre d'accessibilité) */
.f-err:empty{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.f-err{grid-column:1/-1;padding:12px 16px;border:1px solid var(--erreur);border-left-width:4px;border-radius:8px;background:var(--page);font:400 14px/20px var(--sans);color:var(--ink)}
.f-err p{font-weight:600}
.f-err ul{margin:6px 0 0;padding-left:18px}
.f-err a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.f-msg{grid-column:1/-1;margin:6px 0 0;font:500 13px/18px var(--sans);color:var(--erreur)}
form [aria-invalid="true"]{border-color:var(--erreur)}

/* composants/garanties.css */
/* Page sécurité : mosaïque « Ce que Neur.on garantit, précisément ». Tons clairs ; le thème sombre suit par les variables. */
.gr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px;list-style:none}
.gr-c{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--page)}
.gr-c.gr-l{grid-column:span 2;padding:32px;background:var(--tile)}
.gr-i{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--tile);color:var(--accent-d)}
.gr-l .gr-i{background:var(--page)}
.gr-i svg{width:20px;height:20px}
.gr-c h3{margin:16px 0 8px;font:600 16px/24px var(--sans);color:var(--ink)}
.gr-l h3{font-size:22px;line-height:30px}
.gr-c p{font:400 14px/22px var(--sans);color:var(--muted)}
.gr-l p{font-size:15px;line-height:24px}
@media (max-width:1023px){.gr{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.gr{grid-template-columns:minmax(0,1fr)}.gr-c.gr-l{grid-column:auto;padding:24px}.gr-l h3{font-size:18px;line-height:26px}}

/* composants/langues.css */
/* Page Langues et formats (outils/composer/p_langues.py), refonte validée par Fabien le 2026-10-20 */

/* Les langues : quatre natives en évidence, les autres en liste compacte */
.lf-ns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:28px}
.lf-n{padding:22px 20px;border-radius:10px;background:var(--tile);border-top:3px solid var(--accent-d)}
.lf-nb b{display:block;font:400 24px/30px var(--serif);color:var(--ink)}
.lf-nb span{display:block;margin-top:2px;font:600 12px/16px var(--sans);letter-spacing:.04em;color:var(--accent-d)}
.lf-n > p:last-child{margin-top:12px;font:400 16px/24px var(--sans);color:var(--muted)}
.lf-i{max-width:720px;font:400 16px/24px var(--sans);color:var(--muted)}
.lf-l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:20px 0 0;padding:0;list-style:none}
.lf-l li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font:500 14px/20px var(--sans);color:var(--ink)}
.lf-l li span{font-weight:400;color:var(--muted);text-align:right}

/* Les conventions suisses : trois règles en rangées, puis le tableau des sigles */
.lf-r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:32px}
.lf-r > div{padding-top:18px;border-top:2px solid var(--accent-d)}
.lf-r h3{font:400 22px/28px var(--serif);color:var(--ink)}
.lf-r p{margin-top:10px;font:400 16px/24px var(--sans);color:var(--muted)}
.lf-s{margin-top:96px}  /* espace avant les sigles (Fabien, 2026-10-20) */
.lf-sh{font:400 24px/32px var(--serif);color:var(--ink)}
.lf-s .lf-i{margin-top:8px}
.lf-s .pa-tw{margin-top:20px}
.lf-lien{margin-top:24px}

/* Les formats : chiffres en tuiles, l'écran du dépôt et la mise en page conservée, les faits restants */
.lf-m{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:40px}
.lf-m h3{font:400 26px/34px var(--serif);color:var(--ink)}
.lf-m h3 + p{margin-top:12px;font:400 16px/24px var(--sans);color:var(--muted)}
.lf-ck{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}
.lf-ck li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;font:400 16px/24px var(--sans);color:var(--ink)}
.lf-m .lien{margin-top:18px}
.lf-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:40px}
.lf-f > div{padding:22px 20px;border-radius:10px;background:var(--tile)}
.lf-f h3{font:600 15px/22px var(--sans);color:var(--ink)}
.lf-f p{margin-top:8px;font:400 16px/24px var(--sans);color:var(--muted)}

@media (max-width:1023px){.lf-ns{grid-template-columns:repeat(2,minmax(0,1fr))}.lf-l{grid-template-columns:repeat(2,minmax(0,1fr))}.lf-m{grid-template-columns:minmax(0,1fr);gap:28px}.lf-f{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.lf-ns,.lf-r{grid-template-columns:minmax(0,1fr)}.lf-r{gap:24px}.lf-l{grid-template-columns:minmax(0,1fr)}}

/* Sélecteur de langue de l'en-tête et du menu mobile (menu.py, tâche 1.4 de la traduction). Émis seulement quand plusieurs
   langues sont construites. Couleurs par les jetons du thème : en clair, --muted vaut #5b6880 et --ink #06122e. */
.hd-lang{display:flex;align-items:center;gap:2px}
.hd-lang a{padding:8px 6px;font:500 12px/16px var(--sans);color:var(--muted);text-decoration:none}
.hd-lang a:hover{color:var(--ink)}
.hd-lang a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:3px}  /* langue de la page : aussi soulignée, jamais la couleur seule */
.hd-in > .hd-lang{margin-left:auto}  /* gabarit minimal (contact) : à droite, sans .hd-cta */
.mm .hd-lang{margin-top:24px;gap:8px}
.mm .hd-lang a{padding:14px 16px}  /* cibles tactiles de 44 px */
@media (max-width:1023px){.hd-cta .hd-lang{display:none}}  /* sous 1024 px le menu mobile porte le sélecteur */

/* Bandeau des pages de l'aperçu qui contiennent une traduction non relue (outils/i18n/traduire.py, décision V4), jamais en
   production. --ink sur --tile : #06122e sur #F5F8FF en clair, #ffffff sur #06246b en sombre (contraste AA largement). */
.bandeau-travail{padding:10px 16px;background:var(--tile);border-bottom:2px solid var(--accent-d);font:600 14px/20px var(--sans);color:var(--ink);text-align:center}

/* Débordements des langues autres que le français (outils/debordements.mjs, tâche 6.3) : chaque règle est limitée à la langue
   concernée, jamais au français. Les titres de tuiles forcés sur une ligne (outils.css) passent à la ligne, équilibrés, quand
   un mot composé ou une formule plus longue ne tient plus ; la césure automatique coupe les mots composés allemands, jamais
   un mot de moins de 12 lettres : les noms de marque (LexMachina, Corrext, CHnell) restent entiers (contrôle « marques »
   de outils/debordements.mjs). */
html:not([lang="fr"]) .tf-3 .tf-t h3{white-space:normal;text-wrap:balance}
html[lang="de"] main{hyphens:auto;hyphenate-limit-chars:12 5 5}
/* Paires de termes des cartes de domaine (.cd .kv) : quand un terme allemand ou italien ne tient pas à côté de l'autre,
   les deux passent l'un sous l'autre au lieu de sortir de la carte. */
html:not([lang="fr"]) .cd .kv{display:flex;flex-wrap:wrap}
html:not([lang="fr"]) .cd .kv > span{flex:1 1 0;min-width:max-content}
/* Chiffres des tuiles à quatre colonnes : l'unité traduite (« 30 Languages ») est plus longue qu'en français. */
html:not([lang="fr"]) .tl.t4 .n .u{font-size:clamp(26px,2.3vw,34px)}
/* Chiffres de la page LexMachina : « 15 Mio.+ » demande une colonne plus large que « 15 M+ ». */
html[lang="de"] .lm-ch li{grid-template-columns:136px minmax(0,1fr)}
@media (max-width:640px){html[lang="de"] .lm-ch li{grid-template-columns:112px minmax(0,1fr)}}

/* composants/legal.css */
/* Pages légales : sommaire collant à gauche, texte courant en 16 px, espace sous l'en-tête.
   Mesures relevées sur une page légale de référence (sommaire 256 px, colonne de 768 px, 64 px d'écart), couleurs Neur.on. */
.lg-s{padding:64px 0 96px}
.lg-g{display:grid;grid-template-columns:256px minmax(0,768px);column-gap:64px;align-items:start}
.lg-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
.lg-toc-t{margin:0 0 12px;padding:0 12px;font:500 12px/16px var(--sans);letter-spacing:.3px;text-transform:uppercase;color:var(--muted)}
.lg-toc ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.lg-toc a{display:block;padding:6px 12px;border-radius:6px;font:400 14px/20px var(--sans);color:var(--muted);text-decoration:none;transition:background-color .2s ease,color .2s ease}
.lg-toc a:hover{color:var(--ink);background:var(--tile)}
.lg-toc a[aria-current="true"]{font-weight:500;color:var(--ink);background:var(--tile)}
.lg-toc a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lg-c h1{margin:0 0 8px;font:300 40px/48px var(--serif);color:var(--ink)}
.lg-c .legal-ver{margin:0 0 32px;font:400 14px/20px var(--sans);color:var(--muted)}
.lg-c h2{margin:64px 0 16px;font:600 24px/32px var(--sans);color:var(--ink)}
.lg-c h3{margin:32px 0 12px;font:600 18px/26px var(--sans);color:var(--ink)}
.lg-c [id]{scroll-margin-top:96px}
.lg-c p,.lg-c li{font:400 16px/26px var(--sans);color:var(--text)}
.lg-c p{margin:0 0 16px}
.lg-c ul,.lg-c ol{margin:0 0 16px;padding-left:24px}
.lg-c ul{list-style:disc}
.lg-c ol{list-style:decimal}
.lg-c li{margin-bottom:6px}
.lg-c a{color:var(--accent-d);text-underline-offset:3px;overflow-wrap:anywhere}  /* une URL longue se coupe sur mobile (audit design du 2026-10-23) */
.lg-c .legal-card{display:block;margin:0 0 32px;padding:20px 24px;border-radius:8px;background:var(--tile);font:400 15px/24px var(--sans);font-style:normal;color:var(--text)}
.lg-c .legal-card b{color:var(--ink)}
@media (max-width:1023px){
  .lg-g{display:block}
  .lg-toc{position:static;max-height:none;margin-bottom:40px;padding:16px 8px;border:1px solid var(--line);border-radius:8px}
}
@media (max-width:767px){
  .lg-s{padding:40px 0 64px}
  .lg-c h1{font-size:30px;line-height:36px}
  .lg-c h2{margin-top:48px}
}
@media (prefers-reduced-motion:reduce){.lg-toc a{transition:none}}

/* composants/lexmachina.css */
/* Page LexMachina (outils/composer/p_lexmachina.py), retours de Fabien du 2026-10-16 */

/* Scène « le texte qui se corrige » (sim « corrige ») : termes de l'IA généraliste surlignés en rouge, termes officiels
   de LexMachina en vert, puis leurs sources (retour de Fabien du 2026-10-16) ; scène plus haute, moins compacte */
.cr-cg .cr-pane{height:236px}
.cr-cg .cr-out .w{display:inline}  /* pas de coupure entre l'élision et le terme marqué */
.cr-cg mark{border-radius:3px;padding:0 2px;background:transparent;color:inherit;transition:background-color .5s ease,color .5s ease}
.cr-cg mark.vu{background:#d3f2e0;color:#08583a}
.cr-cg mark.gen.vu{background:#fbdcdc;color:#9b1c1c}
.cg-src{display:flex;gap:8px;justify-content:flex-end;padding:14px 16px 4px;opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .45s ease}
.cr.sources .cg-src{opacity:1;transform:none}
.cg-src span{padding:4px 10px;border-radius:999px;background:#e3f6ec;font:500 11px/16px "Inter",var(--ui);color:#08583a}

/* Tableau de lecture sous la comparaison (proposition 1-B) */
.lm-tb{width:100%;margin-top:32px;border-collapse:collapse;font:400 15px/22px var(--sans);color:var(--text)}
.lm-tb thead th{padding:12px 16px;text-align:left;font:500 13px/18px var(--sans);color:var(--muted);border-bottom:1px solid var(--line)}
.lm-tb tbody th,.lm-tb td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.lm-tb tbody th{width:22%;font:500 15px/22px var(--sans);color:var(--ink)}
.lm-tb td b{font-weight:600;color:var(--ink)}
.lm-tb small{display:block;margin-top:2px;font:400 13px/20px var(--sans);color:var(--muted)}
.lm-ok{--ok:#0b6e47;--ok-bg:rgba(16,140,90,.12);display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--ok-bg);font:600 12px/18px var(--sans);color:var(--ok);vertical-align:1px}
:root[data-theme="sombre"] .lm-ok{--ok:#8ee6b4;--ok-bg:rgba(110,231,168,.14)}  /* pastille lisible en mode sombre */
@media (prefers-color-scheme:dark){:root[data-theme="systeme"] .lm-ok{--ok:#8ee6b4;--ok-bg:rgba(110,231,168,.14)}}
.lm-conc{font:400 26px/34px var(--serif);color:var(--ink);text-wrap:balance}
/* Conclusion et note de méthode : une carte en deux colonnes sous le tableau */
.lm-cc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;margin-top:32px;padding:36px;border-radius:8px;background:var(--tile)}
.lm-cc-g{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:16px}  /* conclusion posée juste au-dessus du lien (Fabien, 2026-10-16) */
.lm-cc-d{padding-left:40px;border-left:1px solid var(--line)}
.lm-cc-t{margin-bottom:14px;font:600 13px/18px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lm-cc ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.lm-cc li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;font:400 16px/24px var(--sans);color:var(--muted)}
.lm-cc li svg{width:16px;height:16px;margin-top:3px;color:var(--accent-d)}

/* Ce qu'est LexMachina : chiffres à gauche, environnement à droite (proposition 2-B) */
.lm-id{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:32px}
.lm-id ul{display:grid;gap:20px;align-content:start;margin:0;padding:0;list-style:none}
.lm-id .lm-ch{align-content:space-between;padding:20px 0}  /* chiffres répartis sur toute la hauteur des trois cartes de droite (Fabien, 2026-10-16) */
.lm-ch li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center}  /* chiffre centré sur son texte (Fabien, 2026-10-16) */
.lm-ch .n{font:500 32px/36px var(--num);color:var(--ink);white-space:nowrap}
.lm-id li b{display:block;font:600 15px/22px var(--sans);color:var(--ink)}
.lm-ch li p{font:400 16px/24px var(--sans);color:var(--muted)}
.lm-gr li{padding:20px;border-radius:8px;background:var(--tile)}
.lm-gr .puces{margin-top:10px}

@media (max-width:1023px){
  .lm-id .lm-ch{padding:0}
  .lm-id,.lm-cc{grid-template-columns:minmax(0,1fr);gap:32px}
  .lm-cc-d{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:640px){
  .lm-tb thead{display:none}
  .lm-tb tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
  .lm-tb tbody th{grid-column:1/-1;width:auto;padding:16px 0 4px;border:0}
  .lm-tb td{padding:4px 12px 16px 0;border:0}
  .lm-tb td::before{content:attr(data-m);display:block;font:500 12px/18px var(--sans);color:var(--muted)}
  .lm-ch li{grid-template-columns:88px minmax(0,1fr)}
  .lm-ch .n{font-size:26px}
  .lm-conc{font-size:21px;line-height:29px}
  .lm-cc{padding:24px}
}

/* composants/metier.css */
/* Pages métier (outils/composer/metier_modele.py), modèle choisi par Fabien le 2026-10-19 (A1, B1, C1, D2) */
.mt-demo{margin-left:20px;font-size:15px}
.mt-l{font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* Gains chiffrés : tuiles chiffrées du site (.tl .n), la note des maxima dessous */
.mt-note{margin-top:16px;font:400 13px/20px var(--sans);color:var(--muted)}

/* Avis client : citation centrée */
.mt-av{max-width:880px;margin:0 auto;text-align:center}
.mt-fict{display:inline-block;padding:2px 10px;border-radius:999px;background:#fff4d6;color:#7a5200;font:600 12px/18px var(--sans)}
.mt-av blockquote::before{content:"« "}
.mt-av blockquote::after{content:" »"}
.mt-av blockquote{margin-top:20px;font:400 34px/46px var(--serif);color:var(--ink)}
.mt-av figcaption{display:inline-flex;align-items:center;gap:14px;margin-top:28px;text-align:left;font:400 14px/20px var(--sans);color:var(--muted)}
.mt-av b{display:block;font:600 15px/22px var(--sans);color:var(--ink)}
.mt-ph{flex:none;width:48px;height:48px;border-radius:50%;background:var(--tile);border:1px solid var(--line)}

/* Sans Corrext, avec Corrext : tableau face à face */
.mt-sa{margin-top:32px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mt-sa > div{display:grid;grid-template-columns:1fr 1fr}
.mt-sa > div + div{border-top:1px solid var(--line)}
.mt-sah span{padding:14px 24px;font:600 13px/18px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mt-sah span + span{color:#0b6e47;background:rgba(16,140,90,.06)}
.mt-sa p{display:flex;gap:12px;padding:18px 24px;font:400 16px/24px var(--sans)}
.mt-sans{color:var(--muted)}
.mt-avec{background:rgba(16,140,90,.06);color:var(--ink);font-weight:500 !important}
.mt-sa i{display:grid;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%}
.mt-sa i svg{width:12px;height:12px}
.mt-sans i{background:rgba(155,28,28,.1);color:#9b1c1c}
.mt-avec i{background:rgba(16,140,90,.14);color:#0b6e47}

/* Les outils : onglets à gauche, grand écran animé à droite */
.mt-ou{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center;margin-top:40px}
.mt-o{border-left:3px solid var(--line)}
.mt-o.on{border-left-color:var(--accent-d);background:var(--tile)}
.mt-o button{display:block;width:100%;padding:20px 24px 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.mt-o:not(.on) button{padding-bottom:20px}
.mt-ot{display:block;margin-top:8px;font:400 22px/30px var(--serif);color:var(--muted)}
.mt-o.on .mt-ot{font-size:28px;line-height:36px;color:var(--ink)}
.mt-od p{margin-top:12px;font:400 16px/26px var(--sans);color:var(--text)}
.mt-od .lien{margin-top:14px}
.mt-o button:focus-visible{outline:2px solid var(--accent-d);outline-offset:-2px}
/* Changement d'onglet (Fabien, 2026-10-22) : la description se déploie en hauteur pendant que l'autre se replie,
   le libellé grandit sans saut, l'écran passe en fondu enchaîné (l'ancien s'efface par-dessus le nouveau, metier.js) */
.mt-o{transition:border-color .32s ease,background-color .32s ease}
.mt-o button{transition:padding .32s cubic-bezier(.2,.7,.2,1)}
.mt-ot{transition:font-size .32s cubic-bezier(.2,.7,.2,1),line-height .32s cubic-bezier(.2,.7,.2,1),color .32s ease}
.mt-od{display:grid;grid-template-rows:0fr;padding:0;transition:grid-template-rows .36s cubic-bezier(.2,.7,.2,1)}
.mt-o.on .mt-od{grid-template-rows:1fr}
.mt-od>div{min-height:0;overflow:hidden;padding:0 24px;opacity:0;visibility:hidden;transition:opacity .2s ease,padding .36s cubic-bezier(.2,.7,.2,1),visibility 0s linear .36s}
.mt-o.on .mt-od>div{padding-bottom:22px;opacity:1;visibility:visible;transition:opacity .3s ease .08s,padding .36s cubic-bezier(.2,.7,.2,1),visibility 0s}
.mt-ps{position:relative}
.mt-p:not([hidden]){animation:mt-ap .36s ease both}
.mt-p.mt-sort{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;animation:mt-dp .36s ease both}
@keyframes mt-ap{from{opacity:0}to{opacity:1}}
@keyframes mt-dp{from{opacity:1}to{opacity:0}}
@media (prefers-reduced-motion:reduce){
.mt-o,.mt-o button,.mt-ot,.mt-od,.mt-od>div{transition:none}
.mt-p:not([hidden]),.mt-p.mt-sort{animation:none}
}

:root[data-theme="sombre"] .mt-fict{background:rgba(255,214,120,.16);color:#ffd88a}
@media (prefers-color-scheme:dark){:root[data-theme="systeme"] .mt-fict{background:rgba(255,214,120,.16);color:#ffd88a}}
@media (max-width:1023px){.mt-ou{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:767px){
  .mt-av blockquote{font-size:24px;line-height:34px}
  .mt-sa > div{grid-template-columns:minmax(0,1fr)}
  .mt-sah{display:none !important}
  .mt-sa p{padding:14px 18px}
  .mt-demo{display:inline-flex;margin:16px 0 0}
}

/* Écran « intégration par API » (page Éditeurs) : document Word, appel d'API, traduction insérée, alternative en
   commentaire. États pilotés par assets/sim.js (SCENES.api) : sel, envoye, recu, insere, com. */
.ap{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;background:#f3f2f1;font:400 12.5px/18px var(--sans);color:#201f1e}
.ap-rib{display:flex;gap:18px;padding:8px 16px;background:#fff;border-bottom:1px solid #e1dfdd;font-size:12px;color:#605e5c}
.ap-c{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.ap-doc{position:relative;min-height:0;padding:12px 22px 0;overflow:hidden}
.ap-page{position:relative;height:100%;padding:18px 222px 18px 30px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ap-src{padding:2px 3px;border-radius:2px;transition:background .3s}
.ap.sel .ap-src{background:rgba(49,123,255,.14)}
.ap-out{margin-top:10px;padding:0 3px;transition:opacity .4s}
.ap mark{padding:0 2px;border-radius:2px;background:rgba(49,123,255,.16);color:inherit;transition:background .4s}
.ap-com{position:absolute;top:18px;right:14px;width:192px;padding:10px 12px;border-left:3px solid var(--accent-d);border-radius:4px;background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.14);font-size:12px;line-height:18px;transition:opacity .4s,transform .4s}
.ap-ch{display:flex;justify-content:space-between;gap:6px;margin-bottom:6px;font-weight:600;color:#201f1e}
.ap-ch span{font-weight:500;color:#605e5c}
.ap-api{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"h st" "req st" "req note";gap:2px 32px;padding:9px 22px 10px;
  background:#0b1e46;color:#d9e2f5;font:400 11.5px/16px ui-monospace,SFMono-Regular,Menlo,monospace}
.ap-h{grid-area:h}
.ap-h b{margin-right:6px;padding:1px 6px;border-radius:3px;background:rgba(110,231,168,.18);color:#8ee6b4;font-weight:600}
.ap-req{grid-area:req;display:flex;flex-direction:column;white-space:pre}
.ap-l{padding-left:12px;transition:opacity .3s,transform .3s;transition-delay:calc(var(--i) * 160ms)}
.ap-l i{font-style:normal;color:#9db7ff}
.ap-l b{font-weight:400;color:#ffd88a}
.ap-st{grid-area:st;display:flex;align-items:center;gap:8px;align-self:center;transition:opacity .3s}
.ap-st i{width:8px;height:8px;border-radius:50%;background:#8ee6b4}
.ap-note{grid-area:note;align-self:end;justify-self:end;font:400 11px/16px var(--sans);color:#8fa0c4}
/* états de l'animation */
.ap:not(.envoye) .ap-l{opacity:0;transform:translateY(4px)}
.ap:not(.recu) .ap-st{opacity:0}
.ap:not(.insere) .ap-out{opacity:0}
.ap:not(.com) .ap-com{opacity:0;transform:translateX(10px)}
.ap:not(.com) mark{background:transparent}
.mt-od p.mt-ls{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:14px}  /* deux liens côte à côte (Fiduciaires : « Commander un extrait ») */
.mt-ls .lien{margin-top:0}

/* composants/newsletter.css */
/* Encart d'inscription à la lettre d'information (lot E) : une carte « tuile » avant le pied de page */
.nl-s{padding:48px 0}
.nl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:32px 64px;padding:40px 48px;border-radius:8px;background:var(--tile)}
.nl-h{font:300 30px/36px var(--serif);color:var(--ink)}
.nl-x{margin-top:12px;color:var(--text)}
/* Ordre du formulaire : e-mail sur toute la largeur, puis consentement et bouton sur une ligne (ordre du DOM) */
.nl-f{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 24px}
.nl-l{grid-column:1/-1}
.nl-l label{display:block;margin-bottom:8px;font:500 14px/20px var(--sans);color:var(--ink)}
.nl-l input{width:100%;height:48px;padding:0 16px;border:1px solid var(--mid);border-radius:8px;background:var(--page);font:400 16px/24px var(--sans);color:var(--ink)}
.nl-f .btn{height:48px}
.nl-c{display:flex;gap:12px;font:400 12px/19.5px var(--sans);color:var(--muted)}
.nl-c input{width:16px;height:16px;flex:0 0 16px;margin-top:2px}
.nl-c a{color:var(--ink);text-decoration:underline}
.nl-c .req,.nl-l .req{margin-left:2px}
.nl-f .avis{grid-column:1/-1;margin:0;font:400 14px/20px var(--sans);color:var(--muted)}
/* Région annoncée vide : hors du flux mais rendue (display:none la retirerait de l'arbre d'accessibilité) */
.nl-f .avis:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Champ piège : hors de l'écran, jamais display:none (certains robots ignorent les champs masqués ainsi) */
.nl-piege{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.nl-l input:focus-visible,.nl-c input:focus-visible,.nl-f .btn:focus-visible,.nl-c a:focus-visible{outline:2px solid var(--accent-d);outline-offset:2px}
@media (max-width:1023px){
  .nl{grid-template-columns:minmax(0,1fr);padding:32px 24px}
  .nl-h{font-size:24px;line-height:28.8px}
}
@media (max-width:640px){
  .nl-f{grid-template-columns:minmax(0,1fr)}
  .nl-f .btn{width:100%}
}

/* composants/niveaux.css */
/* Page Niveaux de qualité (outils/composer/p_niveaux.py), refonte validée par Fabien le 2026-10-20 */

/* Les quatre niveaux en escalier : la barre monte d'un niveau à l'autre (intervention humaine, délai, coût) */
.nq-prog{display:flex;align-items:center;gap:12px;margin-top:28px;font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nq-prog::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,rgba(49,123,255,.15),var(--accent-d))}
.nq-esc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end;margin-top:16px}
.nq-esc > div{border-radius:10px;overflow:hidden;background:var(--tile)}
.nq-bar{display:block;height:calc(var(--n) * 18px + 6px);background:linear-gradient(180deg,var(--accent-d),rgba(49,123,255,.35));opacity:calc(.35 + var(--n) * .16)}
.nq-b{padding:18px 20px 20px}
.nq-n{font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-d)}
.nq-b h3{margin-top:6px;font:400 22px/28px var(--serif);color:var(--ink)}
.nq-u{margin-top:8px;font:400 16px/24px var(--sans);color:var(--muted)}
.nq-b dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font:400 13.5px/20px var(--sans)}
.nq-b dt{font:600 11px/20px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nq-b dd{margin:0;color:var(--ink)}
.nq-l{font:600 12px/16px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
/* Devis et délai, confidentialité : promesse en titre au-dessus du texte de la V1 (proposition C) */
.nq-pr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;margin-top:48px}
.nq-pr > div{padding-top:20px;border-top:2px solid var(--accent-d)}
.nq-pk{font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-d)}
.nq-pr h3{margin-top:10px;font:400 28px/36px var(--serif);color:var(--ink)}
.nq-pr p:last-child{margin-top:12px;font:400 16px/24px var(--sans);color:var(--muted)}

/* Dans l'application : écran de devis, et les trois libellés exacts de l'étape Quotes */
.nq-app{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start;margin-top:32px}
.nq-sc{position:sticky;top:96px}
.nq-d + .nq-d{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.nq-dl{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--tile);border:1px solid var(--line);font:600 13px/20px var(--sans);color:var(--ink)}
.nq-d blockquote{margin-top:10px;padding-left:12px;border-left:2px solid var(--line);font:400 12.5px/19px var(--sans);font-style:italic;color:var(--muted)}
.nq-d p:last-child{margin-top:10px;font:400 16px/24px var(--sans);color:var(--muted)}

/* Quel niveau pour quel document : pastille du niveau, mention principale puis précision */
.nq-pill{display:inline-grid;place-items:center;min-width:26px;height:22px;margin-right:8px;padding:0 7px;border-radius:999px;background:var(--navy);
  color:#fff;font:600 11.5px/1 var(--num);white-space:nowrap;vertical-align:1px}
.nq-x b{display:block;font-weight:600;color:var(--ink)}
.nq-x span{display:block;margin-top:2px;color:var(--muted)}

@media (max-width:1023px){
  .nq-esc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nq-app{grid-template-columns:minmax(0,1fr);gap:28px}
  .nq-sc{position:static}
}
@media (max-width:767px){
  .nq-esc{grid-template-columns:minmax(0,1fr)}
  .nq-pr{grid-template-columns:minmax(0,1fr);gap:32px}
  .nq-pr h3{font-size:24px;line-height:32px}
}

/* composants/outils.css */
/* Pages outils (outils/composer/outil_modele.py) : onglets compacts groupés, à peu près à la hauteur de l'écran */
.ot-cp{align-items:start}
.ot-gh{margin:0 0 6px;padding-top:4px;font:600 11.5px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ot-gh ~ .ot-gh{margin-top:18px}
.ot-cp .mt-o button{padding:9px 20px}
.ot-cp .mt-o.on button{padding:16px 20px 0}
.ot-cp .mt-ot{margin-top:0;font-size:18px;line-height:26px}
.ot-cp .mt-o.on .mt-ot{font-size:22px;line-height:30px}
.ot-cp .mt-od>div{padding-left:20px;padding-right:20px}
.ot-cp .mt-od p{margin-top:8px;font-size:14.5px;line-height:23px}
.ot-cp .mt-od .lien{margin-top:10px}
.ot-ch{margin-top:48px}

/* Écran de l'étape Set-up (vues.vue_setup) : nom du projet, confidentialité, langues cibles */
.vw-nom{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin-bottom:16px}
.vw-def{font:500 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.vw-in{grid-column:1/-1;padding:8px 11px;border:1px solid var(--c-line);border-radius:8px;background:#fff;font:400 12px/18px "Inter",var(--ui);color:var(--c-ink)}
.vw-setup .vw-opts{margin-bottom:14px}
.vw-lg{display:inline-block}

/* Parcours en frise compacte (outil_modele.frise) */
.fr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;margin:32px 0 0;padding:0;list-style:none}
.fr li{padding-top:16px;border-top:2px solid var(--line)}
.fr li.fr-p{border-top-color:var(--accent-d)}
.fr-n{font:600 13px/16px var(--num);color:var(--accent-d)}
.fr-ph{margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--tile);font:600 12px/16px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fr h3{margin-top:8px;font:600 17px/24px var(--sans);color:var(--ink)}
.fr p{margin-top:4px;font:400 16px/24px var(--sans);color:var(--muted)}

/* Travailler dans Word : texte et lien vers la page Plugin Word, écran Word à côté */
.ow{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:center;margin-top:56px;padding:28px;border-radius:12px;background:var(--tile)}
.ow h3{font:400 26px/34px var(--serif);color:var(--ink)}
.ow p{margin-top:10px;font:400 14.5px/23px var(--sans);color:var(--text)}
.ow .lien{margin-top:14px}
@media (max-width:1023px){.fr{grid-template-columns:repeat(2,minmax(0,1fr))}.ow{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:640px){.fr{grid-template-columns:minmax(0,1fr)}}

/* Garanties en rangées (outil_modele.rangees) */
.rg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;margin-top:32px}
.rg > div{padding-top:18px;border-top:2px solid var(--accent-d)}
.rg h3{font:400 21px/28px var(--serif);color:var(--ink)}
.rg p{margin-top:8px;font:400 16px/24px var(--sans);color:var(--muted)}
.rg-lien{margin-top:24px}

/* Faits en deux colonnes titrées et liste en pastilles (CHnell) */
.dc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:28px}
.dc .pa-st{margin-top:0}
.dc-i{padding:14px 0;border-top:1px solid var(--line)}
.dc-i h3{font:600 15px/22px var(--sans);color:var(--ink)}
.dc-i p{margin-top:4px;font:400 14px/22px var(--sans);color:var(--text)}
.pst{margin-top:36px;padding:24px 26px;border-radius:12px;background:var(--tile)}
.pst-t{font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pst-l{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pst-l span{padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white,#fff);font:500 13px/18px var(--sans);color:var(--ink)}
:root[data-theme="sombre"] .pst-l span{background:transparent}
@media (prefers-color-scheme:dark){:root[data-theme="systeme"] .pst-l span{background:transparent}}
@media (max-width:767px){.dc{grid-template-columns:minmax(0,1fr);gap:24px}}

/* Niveaux de certification en colonnes (Extraits du registre) */
.nv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.nv-c{padding:24px;border:1px solid var(--line);border-radius:12px}
.nv-n,.nv-l{font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nv-c h3{margin-top:6px;font:600 17px/24px var(--sans);color:var(--ink)}
.nv-c p:not(.nv-n){font:400 14px/22px var(--sans);color:var(--text)}
.nv-c .nv-l{margin-top:16px}
.cta .cta-2{margin-left:24px}
@media (max-width:767px){.nv{grid-template-columns:minmax(0,1fr)}.cta .cta-2{display:flex;width:max-content;margin:20px auto 0}}

/* API et on-premises : appel d'API (texte + écran), tableau des capacités, documentation sur demande, questions */
.ai{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.ai-l{list-style:none;margin:20px 0 0;padding:0}
.ai-l li{display:flex;gap:10px;padding:6px 0;font:400 15px/24px var(--sans);color:var(--text)}
.ai-l i{flex:none;width:18px;height:18px;margin-top:3px;color:var(--accent-d)}
.ai-n{margin-top:12px;font:400 13px/20px var(--sans);color:var(--muted)}
.ad-p{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--tile);color:var(--accent-d);font:600 12px/16px var(--sans)}
.ad-f{display:block;margin-top:6px;font:400 13px/20px var(--sans);color:var(--muted)}
.ad-souv{margin-top:32px;padding:18px 22px;border-left:3px solid var(--accent-d);border-radius:0 10px 10px 0;background:var(--tile)}
.ad-souv b{font:600 15px/22px var(--sans);color:var(--ink)}
.ad-souv p{margin-top:4px;font:400 14px/22px var(--sans);color:var(--text)}
.ad-doc{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:36px 40px;border-radius:16px;background:var(--tile)}
.ad-doc h2{font:400 30px/38px var(--serif);color:var(--ink)}
.ad-doc p{margin-top:8px;max-width:640px;font:400 16px/26px var(--sans);color:var(--text)}
.ad-doc .btn{flex:none}
.qa{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px}
.qa-l{list-style:none;margin:0;padding:0}
.qa-l li{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.qa-l li:last-child{border-bottom:1px solid var(--line)}
.qa-n{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--tile);color:var(--accent-d);font:600 14px/1 var(--sans)}
.qa-l h3{font:600 16px/24px var(--sans);color:var(--ink)}
.qa-l p{margin-top:4px;font:400 14px/22px var(--sans);color:var(--text)}
@media (max-width:1023px){.ai,.qa{grid-template-columns:minmax(0,1fr);gap:32px}}
@media (max-width:767px){.ad-doc{flex-direction:column;align-items:flex-start;padding:28px 24px}.ad-doc h2{font-size:26px;line-height:32px}}
.ad-f a{color:var(--accent-d);text-decoration:underline;text-underline-offset:2px}
@media (max-width:767px){.pa-t.ad-t tr{grid-template-columns:minmax(0,1fr)}.pa-t.ad-t tbody th,.pa-t.ad-t td{padding:4px 0}.pa-t.ad-t tbody th{padding-top:16px}.pa-t.ad-t td:last-child{padding-bottom:16px}.pa-t.ad-t tbody th + td{padding-top:4px}}

/* Situations en rangées éditoriales : métier et icône, titre, texte (Traduction texte et document) */
.sr{margin-top:32px;border-top:1px solid var(--line)}
.sr-r{display:grid;grid-template-columns:240px minmax(0,1fr) minmax(0,1.4fr);gap:40px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line)}
.sr-p{display:flex;align-items:center;gap:10px;font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sr-ic{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--tile);color:var(--accent-d)}
.sr-ic svg{width:18px;height:18px}
.sr-r h3{font:400 26px/34px var(--serif);color:var(--ink)}
.sr-t{font:400 16px/24px var(--sans);color:var(--muted)}
@media (max-width:1023px){.sr-r{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px 32px}.sr-p{grid-column:1/-1}}
@media (max-width:767px){.sr-r{grid-template-columns:minmax(0,1fr);gap:10px;padding:22px 0}.sr-r h3{font-size:22px;line-height:30px}}


/* Gestion de projet : une étape par bloc, l'un sous l'autre (faits et écran, côtés alternés), puis l'encart centré */
.ee{display:grid;margin-top:20px}
.ee-b{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center;padding:40px 0}
.ee-b + .ee-b{border-top:1px solid var(--line)}  /* sans fond (Fabien, 2026-10-22) : un filet sépare les étapes */
.ee-inv{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.ee-inv .ee-t{order:2}
.ee-n{display:flex;align-items:center;gap:12px;font:300 30px/36px var(--serif);color:var(--ink)}  /* polices des blocs .ft de l'accueil (Fabien, 2026-10-22) */
.ee-n i{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font:600 15px/1 var(--num);font-style:normal}
.ee-f{margin-top:20px}
.ee-f > div + div{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.ee-f h4{margin:0;font:600 16px/24px var(--sans);color:var(--ink)}
.ee-f p{margin:4px 0 0;font:400 16px/24px var(--sans);color:var(--muted)}
.enc{max-width:880px;margin:0 auto;padding:48px 56px;border-radius:16px;background:var(--tile);text-align:center}
.enc h2{font:400 32px/40px var(--serif);color:var(--ink)}
.enc p{max-width:680px;margin:14px auto 0;font:400 17px/28px var(--sans);color:var(--text)}
@media (max-width:1023px){.ee-b,.ee-inv{grid-template-columns:minmax(0,1fr);gap:28px;padding:32px 0}.ee-inv .ee-t{order:0}}
@media (max-width:767px){.ee-n{font-size:24px;line-height:28.8px}.ee-b{padding:28px 0}.enc{padding:32px 24px}.enc h2{font-size:26px;line-height:34px}}

/* Fonctions en tuiles (Éditeur de relecture, version B revue validée par Fabien le 2026-10-23) : icône à gauche de la
   catégorie et du titre, à la hauteur de ces deux lignes ; les fonctions phares sur deux colonnes de la grille */
.tf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}
.tf-t{padding:24px;border-radius:14px;background:var(--tile)}
.tf-g{grid-column:span 2}
.tf-h{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:stretch}
.tf-ic{display:grid;place-items:center;height:100%;aspect-ratio:1;border-radius:12px;background:var(--page);color:var(--accent-d);box-shadow:0 1px 2px rgba(6,18,46,.08)}
.tf-ic svg{width:46%;height:46%}
.tf-h > div{display:flex;flex-direction:column;justify-content:center}
.tf-c{font:600 11.5px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tf-t h3{margin:2px 0 0;font:400 22px/30px var(--serif);color:var(--ink)}
.tf-g h3{font-size:26px;line-height:34px}
.tf-x{margin-top:14px;font:400 16px/24px var(--sans);color:var(--muted)}
@media (max-width:1023px){.tf{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-g{grid-column:auto}}
@media (max-width:767px){.tf{grid-template-columns:minmax(0,1fr)}.tf-t h3,.tf-g h3{font-size:21px;line-height:27px}}

/* Variante trois par ligne (Plugin Word) : titres sur une ligne, textes alignés d'une tuile à l'autre (sous-grille) */
.tf-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto auto;row-gap:16px}
.tf-3 .tf-t{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
.tf-3 .tf-t h3{white-space:nowrap;font-size:20px;line-height:28px}
@media (max-width:1199px){.tf-3{grid-template-columns:repeat(2,minmax(0,1fr))}}  /* sous 1200 px, un titre ne tient plus sur une ligne à trois par ligne */
@media (max-width:899px){.tf-3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.tf-3 .tf-t h3{white-space:normal}}

/* CHnell ouvert par le Fast Lookup dans un écran de fonction (page CHnell, étape 3) : la fenêtre tient dans l'écran */
.cr-fl .cr-ch{width:calc(100% - 40px)}

/* Extraits du registre (audit design du 2026-10-23) : frise à la taille de texte standard, niveaux en 16 px */
.nv-c p:not(.nv-n):not(.nv-l){font-size:16px;line-height:24px}
/* « Qui traduit, et où » : deux cartes teintées, icône à gauche du texte (proposition B, 2026-10-23) */
.gq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.gq-c{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;padding:28px;border-radius:16px;background:var(--tile)}
.gq-i{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff}
.gq-i svg{width:24px;height:24px}
.gq-c h3{margin-top:2px;font:600 17px/24px var(--sans);color:var(--ink)}
.gq-c p{margin-top:6px;font:400 16px/24px var(--sans);color:var(--muted)}
@media (max-width:767px){.gq{grid-template-columns:minmax(0,1fr)}.gq-c{padding:22px;gap:16px}}

/* Grande tuile du bento avec un écran en bas (page Corrext) : l'écran occupe le bas de la tuile, toute sa largeur */
.bt-v{align-self:stretch;margin-top:auto;padding-top:8px}

/* Bandeau des garanties de la page Corrext (option C) : un seul fond teinté, icône bleu marine, filets entre les trois */
.gb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:32px 8px;border-radius:16px;background:var(--tile)}
.gb > div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:0 28px}
.gb > div + div{border-left:1px solid var(--line)}
.gb-i{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff}
.gb-i svg{width:24px;height:24px}
.gb h3{margin-top:2px;font:600 17px/24px var(--sans);color:var(--ink)}
.gb p{margin-top:6px;font:400 16px/24px var(--sans);color:var(--muted)}
@media (max-width:1023px){.gb{grid-template-columns:minmax(0,1fr);padding:8px 24px}.gb > div{padding:22px 0}.gb > div + div{border-left:0;border-top:1px solid var(--line)}}

/* Page Presse (audit du 2026-10-23) : fiche signalétique, distinctions chronologiques, noms et orthographe */
.fs{margin:32px 0 0;border-top:1px solid var(--line)}
.fs > div{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;padding:16px 0;border-bottom:1px solid var(--line)}
.fs dt{font:600 16px/24px var(--sans);color:var(--ink)}
.fs dd{margin:0;font:400 16px/24px var(--sans);color:var(--text)}
.fs dd small{display:block;margin-top:4px;font-size:14px;color:var(--muted)}
.fs-l{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:24px}
/* Glossaire : le terme dans les quatre langues (langue, terme), audit design du 2026-10-23 */
.k-lab + .fs{margin-top:0}
.fs-lang > div{grid-template-columns:200px minmax(0,1fr)}
.ch{margin-top:32px;border-top:1px solid var(--line)}
.ch-a{display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px;padding:24px 0;border-bottom:1px solid var(--line)}
.ch-y{font:300 40px/1 var(--serif);color:var(--accent-d)}
.ch ul{list-style:none;margin:0;padding:0}
.ch li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 24px;padding:4px 0 14px}
.ch li + li{padding-top:14px;border-top:1px solid var(--line)}
.ch li b{font:600 17px/24px var(--sans);color:var(--ink)}
.ch li span{grid-column:1;font:400 16px/24px var(--sans);color:var(--muted)}
.ch li em{grid-column:2;grid-row:1;font:600 12px/24px var(--sans);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nm{margin-top:32px;border-top:1px solid var(--line)}
.nm-r{display:grid;grid-template-columns:220px minmax(0,1.2fr) minmax(0,1fr);gap:40px;padding:24px 0;border-bottom:1px solid var(--line)}
.nm-n{font:300 30px/36px var(--serif);color:var(--ink)}
.nm-r p:not(.nm-n){margin-top:4px;font:400 16px/24px var(--sans);color:var(--text)}
.pr-m{margin-top:14px}
@media (max-width:1023px){.nm-r{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nm-n{grid-column:1/-1}}
@media (max-width:767px){.fs > div,.ch-a,.nm-r{grid-template-columns:minmax(0,1fr);gap:8px}.ch-y{font-size:32px}.ch li{grid-template-columns:minmax(0,1fr)}.ch li em{grid-column:1;grid-row:auto}}
.intro:has(+ .intro-n){margin-bottom:0}
.intro.intro-n{margin-top:12px;font-size:15px;color:var(--muted)}

/* Page À propos (audit du 2026-10-23) : équipe et catégories en rangées */
.eq{margin-top:32px;border-top:1px solid var(--line)}
.eq-r{display:grid;grid-template-columns:320px minmax(0,1fr);gap:40px;padding:24px 0;border-bottom:1px solid var(--line)}
.eq-n{font:300 26px/32px var(--serif);color:var(--ink)}
.eq-o{margin-top:4px;font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.eq-r > p{font:400 16px/26px var(--sans);color:var(--text)}
.cg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;border-top:0}
.cg-r{padding:20px 0;border-top:1px solid var(--line)}
.cg-r p:not(.eq-n){margin-top:6px;font:400 16px/24px var(--sans);color:var(--muted)}
.cg-note{max-width:760px;margin-top:28px;font:400 15px/24px var(--sans);color:var(--muted)}
@media (max-width:767px){.eq-r{grid-template-columns:minmax(0,1fr);gap:10px}.cg{grid-template-columns:minmax(0,1fr)}}

/* Glossaire sur mobile : la langue et le terme restent sur une ligne (après la règle mobile de .fs) */
@media (max-width:767px){.fs-lang > div{grid-template-columns:110px minmax(0,1fr);gap:16px}}

/* composants/paire.css */
/* Pages de paires de langues (outils/composer/paire_modele.py), modèle validé par Fabien le 2026-10-19 */

/* Équivalences : la paire de la page en avant, les autres langues en retrait */
.pa-tw{overflow-x:auto}
.pa-t{width:100%;border-collapse:collapse;font:400 14px/21px var(--sans)}
.pa-t thead th{padding:12px 16px;text-align:left;border-bottom:2px solid var(--ink);font:600 13px/18px var(--sans);color:var(--ink)}
.pa-t thead th.pa-m{font-weight:500;color:var(--muted)}
.pa-t tbody th,.pa-t td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.pa-t .pa-s{font:600 15px/22px var(--sans);color:var(--ink)}
.pa-t .pa-c{background:rgba(49,123,255,.06);font:600 15px/22px var(--sans);color:var(--ink)}
.pa-t td.pa-m{color:var(--muted)}
.pa-ref{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--tile);font:500 12px/18px var(--sans);color:var(--ink);white-space:nowrap}

/* En pratique : le principe en encart */
.pa-pr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:center;padding:28px 32px;border-radius:10px;background:var(--tile)}
.pa-pq{font:400 26px/34px var(--serif);color:var(--ink)}
.pa-pr p:not(.pa-pq){font:400 16px/24px var(--sans);color:var(--muted)}
.pa-st{margin:40px 0 14px;font:600 12px/16px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* Ce qui se convertit : l'exemple en grand en tête de carte */
.pa-cv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pa-cv > div{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;padding:22px 20px;border-radius:10px;background:var(--tile)}  /* titres alignés d'une carte à l'autre */
.pa-ex{display:flex;align-items:center;gap:10px;align-self:end;margin-bottom:18px;font:600 26px/32px var(--num);letter-spacing:-.01em;color:var(--muted)}
.pa-ex i{display:inline-grid;color:var(--muted)}
.pa-ex i svg{width:18px;height:18px}
.pa-ex span{color:#0b6e47}
.pa-ex s{color:#9b1c1c;text-decoration-thickness:2px}  /* piège : la forme à ne pas employer */
.pa-ex{flex-wrap:wrap}
.pa-ex.pa-ex-l{font-size:19px;line-height:26px}  /* exemple long (company limited by shares) */
.pa-cv.pa-cv3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pa-cv h3,.pa-gr h3{font:600 15px/22px var(--sans);color:var(--ink)}
.pa-cv p:not(.pa-ex),.pa-gr p{margin-top:6px;font:400 16px/24px var(--sans);color:var(--muted)}

/* Ce que Corrext garantit : bandeau de réassurance (une rangée, séparateurs, coche), distinct des cartes de situations */
.pa-gr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pa-gr > div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:22px 28px 22px 0}
.pa-gr > div + div{padding-left:28px;border-left:1px solid var(--line)}
.pa-ck{display:grid;place-items:center;width:24px;height:24px;margin-top:1px;border-radius:50%;background:rgba(16,140,90,.14);color:#0b6e47}
.pa-ck svg{width:13px;height:13px}
:root[data-theme="sombre"] .pa-ck{background:rgba(110,231,168,.16);color:#8ee6b4}
@media (prefers-color-scheme:dark){:root[data-theme="systeme"] .pa-ck{background:rgba(110,231,168,.16);color:#8ee6b4}}
.pa-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#fff;background:linear-gradient(140deg,#4f8dff 0%,#2c4fd8 55%,#1b2f8f 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.pa-ic svg{width:20px;height:20px}


:root[data-theme="sombre"] .pa-ex span{color:#8ee6b4}
:root[data-theme="sombre"] .pa-ex s{color:#f3a5a5}
@media (prefers-color-scheme:dark){:root[data-theme="systeme"] .pa-ex span{color:#8ee6b4}}

@media (max-width:1023px){.pa-cv{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-gr{grid-template-columns:minmax(0,1fr)}.pa-gr > div,.pa-gr > div + div{padding:16px 0;border-left:0}.pa-gr > div + div{border-top:1px solid var(--line)}.pa-pr{grid-template-columns:minmax(0,1fr);gap:16px}}
@media (max-width:640px){
  .pa-cv{grid-template-columns:minmax(0,1fr)}
  .pa-t thead{display:none}
  .pa-t tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
  .pa-t tbody th,.pa-t td{padding:6px 12px 6px 0;border:0}
  .pa-t tbody th,.pa-t tbody th + td{padding-top:14px}  /* première ligne de la carte alignée */
  .pa-t .pa-c{padding-left:8px;border-radius:6px}
  .pa-t tbody th::before,.pa-t td::before{content:attr(data-m);display:block;font:500 11px/16px var(--sans);color:var(--muted)}
  .pa-t td.pa-r{grid-column:1/-1;padding-bottom:14px}
}

/* composants/plugin-word.css */
/* Plugin Word (lot A) : mentions reliées à la page du plugin, puis scène « word » (fenêtre Word, document bilingue,
   panneau Corrext). La scène reste au niveau des écrans Corrext (.cr) : palette et police de l'application,
   mouvements en transform et opacity avec la courbe commune, état final sans animation en mouvement réduit. */

/* Mention existante devenue lien (outils/post/lien_plugin_word.py) */
.pw-lien{color:var(--accent-d);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.pw-lien:hover{text-decoration-thickness:2px}
.pw-suite{margin-top:24px}
/* Garanties : sur mobile, les petites tuiles du bento gardent une largeur de texte lisible */
@media (max-width:640px){.pw-garanties .bt-p{padding:24px 16px}}

/* ---------- Scène « word » ---------- */
.wd{--wd-mut:#5d6180;--wd-grille:#d9dce6;display:grid;grid-template-rows:auto minmax(0,1fr)}

/* Ruban : onglets, puis le bouton Corrext qui affiche le panneau */
.wd-rib{position:relative;z-index:2;background:#fff;border-bottom:1px solid var(--c-line)}
.wd-tabs{display:flex;gap:2px;padding:4px 12px 0;border-bottom:1px solid var(--c-line)}
.wd-tabs span{position:relative;padding:5px 10px 6px;font:500 12px/16px "Inter",var(--ui);color:var(--wd-mut)}
.wd-tabs span.on{color:var(--c-ind)}
.wd-tabs span.on::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--c-ind)}
.wd-bar{display:flex;align-items:center;height:42px;padding:0 12px;background:var(--c-bg)}
.wd-btn{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:3px 9px;border-radius:7px;font:500 11px/14px "Inter",var(--ui);color:var(--c-ink);transition:background-color .25s ease,transform .16s ease}
.wd-btn svg{width:16px;height:16px;color:var(--c-ind)}
.wd.ouvert .wd-btn{background:var(--c-ind-soft)}
.wd-btn.press{transform:scale(.94);background:var(--c-ind-soft)}

/* Zone de travail : document à gauche, panneau Corrext à droite */
.wd-c{display:grid;grid-template-columns:minmax(0,1fr) 356px;min-height:0;background:#eceef4}

/* Document bilingue exporté du projet : une ligne par segment */
.wd-doc{display:flex;justify-content:center;min-height:0;overflow:hidden;padding-top:14px;background:#eceef4}
.wd-page{position:relative;z-index:0;align-self:flex-start;width:500px;min-height:calc(100% + 24px);padding:20px 22px 24px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.10),0 8px 22px rgba(30,31,59,.06)}
.wd-l{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;border:1px solid var(--wd-grille);border-top:0}
.wd-l.wd-th{border-top:1px solid var(--wd-grille);background:var(--c-bg)}
.wd-l > p{position:relative;margin:0;padding:6px 8px;font:400 11.5px/16px Georgia,"Times New Roman",serif;color:var(--c-ink)}
.wd-l > p + p{border-left:1px solid var(--wd-grille)}
.wd-th > p{font:600 11px/16px "Inter",var(--ui);color:var(--wd-mut)}
/* Segment choisi : bande indigo à gauche, fond lavande, curseur de saisie dans la traduction */
.wd-l::before{content:"";position:absolute;z-index:-1;top:-1px;bottom:-1px;left:-1px;right:-1px;border-left:3px solid var(--c-ind);background:rgba(59,52,201,.07);opacity:0;transition:opacity .35s ease}
.wd-l.sel::before{opacity:1}
.wd-l.sel .wd-t::after{content:"";display:inline-block;width:1.5px;height:13px;margin-left:2px;vertical-align:-2px;background:var(--c-ink);animation:caret 1s steps(1) infinite}
/* Origine de la traduction : MT avec sa jauge de qualité, TM avec sa correspondance */
.wd-o{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-left:1px solid var(--wd-grille)}
.wd-o b{font:700 11px/1 "Inter",var(--ui);color:var(--c-ink)}
.wd-g{display:flex;gap:2px}
.wd-g i{width:6px;height:4px;border-radius:2px;background:#d5d7e4}
.wd-g i.on{background:var(--c-ind)}
.wd-sim{font:600 11px/1 "Inter",var(--ui);color:var(--c-ind)}
/* Traduction remplacée par la mémoire : bref surlignage */
.wd-t.maj::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--c-hl);opacity:0;animation:wd-maj 1.6s ease}
@keyframes wd-maj{18%{opacity:.75}100%{opacity:0}}
/* Termes surlignés (le surlignage se déroule de gauche à droite) */
.wd mark.wd-k{color:inherit;border-radius:2px;background:linear-gradient(var(--c-hl),var(--c-hl)) no-repeat 0 0/0% 100%;transition:background-size .7s var(--ease)}
.wd mark.wd-k.on,.wd.harmonise mark.wd-kfr{background-size:100% 100%}
.wd.harmonise mark.wd-kfr{transition-delay:.25s}

/* Panneau Corrext editor */
.wd-pan{display:flex;flex-direction:column;min-height:0;padding:0 14px 14px;border-left:1px solid var(--c-line);background:#fff;opacity:0;transform:translateX(18px);transition:opacity .45s ease,transform .6s var(--ease)}
.wd.ouvert .wd-pan{opacity:1;transform:none}
.wd-ph{display:flex;align-items:center;justify-content:space-between;flex:0 0 38px;font:600 13px/18px "Inter",var(--ui);color:var(--c-ink)}
.wd-ph b{font-weight:600}
.wd-x svg{width:14px;height:14px;color:var(--wd-mut)}
.wd-pan .cr-tl{display:flex;margin-bottom:10px}
.wd-pan .cr-tl span{flex:1 1 auto;padding:5px 8px;text-align:center;color:var(--wd-mut)}
.wd-pan .cr-tl span.on{color:var(--c-ind)}
.wd-vues{position:relative;flex:1;min-height:0}
.wd-vues > .cr-vue{overflow:hidden}

/* AI Assistant : alternatives par moteur, carte de l'assistant, terminologie */
.wd-sub{display:flex;gap:16px;margin-bottom:8px;border-bottom:1px solid var(--c-line)}
.wd-sub span{padding:0 0 7px;font:500 12px/16px "Inter",var(--ui);color:var(--wd-mut)}
.wd-sub span.on{color:var(--c-ind);box-shadow:inset 0 -2px 0 var(--c-ind)}
.wd-sub .wd-gen{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font:500 11.5px/16px "Inter",var(--ui);color:var(--c-ind)}
.wd-gen svg{width:13px;height:13px}
.wd-alts{display:grid;gap:7px}
.wd-alt{padding:8px 11px 9px;border:1px solid var(--c-line);border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.04)}
.wd-alt p{margin:0;font:400 12px/17px "Inter",var(--ui);color:var(--c-ink)}
.wd-e{display:inline-block;margin-top:5px;padding:1px 8px;border-radius:999px;background:var(--c-bg);font:500 11px/16px "Inter",var(--ui);color:var(--wd-mut)}
.wd-ia{position:absolute;left:0;right:0;bottom:60px;padding:10px 12px 11px;border-radius:10px;background:var(--c-ink);box-shadow:0 14px 32px rgba(30,31,59,.24),0 2px 6px rgba(30,31,59,.10);opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .6s var(--ease)}
.wd-ia.vu{opacity:1;transform:none}
.wd-ia.vu.fait{opacity:0;transform:translateY(-8px);transition-delay:.35s}
.wd-ia-h{display:flex;align-items:center;gap:6px;margin:0 0 5px;font:600 12px/16px "Inter",var(--ui);color:#fff}
.wd-ia-h svg{width:14px;height:14px;color:#c4c0ff}
.wd-ia-t{margin:0;font:400 12px/17px "Inter",var(--ui);color:#e8e9f3}
.wd-ia-t b{font-weight:600;color:#d2cfff}
.wd-ia-a{display:flex;gap:8px;margin-top:10px}
.wd-oui,.wd-non{padding:5px 12px;border-radius:7px;font:600 11.5px/16px "Inter",var(--ui);color:#fff;transition:transform .16s ease,background-color .2s ease}
.wd-oui{background:var(--c-ind)}
.wd-non{background:rgba(255,255,255,.13)}
.wd-oui.press,.wd-non.press{transform:scale(.94)}
.wd-oui.press{background:#2f29a8}
.wd-tm{position:absolute;left:0;right:0;bottom:0}
.wd-lab{margin:0 0 4px;font:500 11px/16px "Inter",var(--ui);color:var(--wd-mut)}
.wd-terme{padding:7px 11px;border:1px solid var(--c-line);border-radius:8px;background:var(--c-bg);font:500 12px/16px "Inter",var(--ui);color:var(--c-ink)}

/* Fast Lookup : recherche en direct, côté cible, résultats des mémoires et de CHnell */
.wd-qr{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.wd-live{display:inline-flex;align-items:center;gap:7px;font:500 11.5px/16px "Inter",var(--ui);color:var(--c-ink)}
.wd-live i{position:relative;width:26px;height:15px;border-radius:999px;background:var(--c-ind)}
.wd-live i::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;transform:translateX(11px)}
.wd-qr .cr-box{flex:1;min-width:0;padding:6px 10px}
.wd .wd-q{min-height:18px;font:600 12px/18px "Inter",var(--ui);color:var(--c-ink)}
.wd-qr .cr-box.tape .wd-q::after{content:"";display:inline-block;width:1.5px;height:13px;margin-left:1px;vertical-align:-2px;background:var(--c-ink);animation:caret 1s steps(1) infinite}
.wd-go{padding:6px 12px}
.wd-seg{display:inline-flex;gap:2px;margin-bottom:6px;padding:2px;border:1px solid var(--c-line);border-radius:8px;background:var(--c-bg)}
.wd-seg span{padding:2px 12px;border-radius:6px;font:500 11.5px/16px "Inter",var(--ui);color:var(--wd-mut)}
.wd-seg span.on{background:#fff;color:var(--c-ind);box-shadow:0 1px 2px rgba(30,31,59,.08),0 0 0 1px rgba(30,31,59,.04)}
.wd-rh{margin:6px 0 2px;font:600 11.5px/16px "Inter",var(--ui);color:var(--c-ink);opacity:0;transition:opacity .3s ease}
.wd-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10px;padding:6px 0 7px;border-top:1px solid var(--c-line);opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .55s var(--ease);transition-delay:calc(var(--i) * 130ms + 150ms)}
.wd-res.vu .wd-rh,.wd-res.vu .wd-r{opacity:1;transform:none}
.wd-r p{display:-webkit-box;margin:0;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;font:400 11px/15px "Inter",var(--ui);color:var(--c-ink)}
.wd-r p + p{color:var(--c-text)}
.wd-r small{grid-column:1/-1;margin-top:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:400 11px/15px "Inter",var(--ui);color:var(--wd-mut)}
.wd-r mark.wd-k{background-size:100% 100%}

/* Matches : correspondance de la mémoire, reprise par Apply */
.wd-sk{position:absolute;top:2px;left:0;right:0}
.wd-mem{position:relative;padding:12px 13px;border:1px solid var(--c-line);border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(30,31,59,.04),0 8px 24px rgba(30,31,59,.05);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .6s var(--ease)}
.wd-mem.vu{opacity:1;transform:none}
.wd-ml{margin:0 0 6px;font:600 11.5px/16px "Inter",var(--ui);color:var(--c-ink)}
.wd-ms{margin:0;padding-bottom:8px;border-bottom:1px dashed rgba(30,31,59,.16);font:400 12px/17px "Inter",var(--ui);color:var(--c-text)}
.wd-mt{margin:8px 0 0;font:400 12px/17px "Inter",var(--ui);color:var(--c-ink)}
.wd-ma{display:flex;justify-content:flex-end;margin-top:10px}

/* composants/polices.css */
/* Polices hébergées sur le site : aucun appel à Google Fonts, aucune adresse IP de visiteur transmise à un tiers.
   Fichiers woff2 sous assets/fonts/ (licences OFL : OFL-Inter.txt, OFL-SourceSerif4.txt), sous-ensembles latin
   et latin-ext seulement. Les URL sont relatives à assets/site.css, dans lequel ce fichier est concaténé au build.
   Les plages unicode-range sont celles de la CSS de Google Fonts.
   Remplacer une police impose de changer son nom de fichier : les woff2 sont servis avec un cache d'un an,
   immutable (voir le .htaccess généré par le build), et leur URL ne porte pas de ?v=. */

/* Inter, police variable : un fichier par sous-ensemble couvre les graisses 400, 500 et 600 */
/* latin-ext */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source Serif 4, romain, graisse 300 (police variable, axe optique opsz) */
/* latin-ext */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/source-serif-4-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/source-serif-4-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source Serif 4, italique, graisse 300 (police variable, axe optique opsz) */
/* latin-ext */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/source-serif-4-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/source-serif-4-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* composants/schema-produits.css */
/* Schéma « qui fait quoi » (lot B) : LexMachina, Corrext, CHnell en trois cartes au format des cartes de
   fonctionnalités (proposition A retenue par Fabien le 2026-10-15) ; un flux en trois étapes les relie.
   Le <dl> se lit sans cette feuille ; les illustrations (dd.sp-ui, attribut hidden) ne s'affichent qu'avec elle.
   Mouvement en transform et opacity ; l'état de départ n'existe que sous .sp-pret, posée par schema-produits.js. */
.sp-sc{--c-ink:#1e1f3b;--c-text:#3a3c56;--c-mut:#5d6180;--c-dim:#a6aac0;--c-line:rgba(30,31,59,.09);--c-bg:#f7f8fc;--c-ind:#3b34c9;--c-ind-soft:#efeefc;--c-hl:#d6e4ff;
  --ease:cubic-bezier(.22,.8,.24,1);--sp-ui:300px;--sp-gap:8px;--sp-pad:16px;position:relative;margin-top:40px}

/* Définitions : une carte par produit, visuel en tête */
.sp-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--sp-gap);margin:0}
.sp-n{position:relative;display:flex;flex-direction:column;padding:var(--sp-pad) var(--sp-pad) 24px;border-radius:8px;background:var(--tile)}
.sp-n dt{margin:16px 8px 0;font:500 16px/24px var(--sans);color:var(--ink)}
.sp-n dd{margin:0 8px}
.sp-n .sp-ui{position:relative;display:grid;place-items:center;order:-1;height:var(--sp-ui);margin:0;overflow:hidden;border-radius:8px;background-color:#e6edf8;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='1.1' fill='%23001b4c' fill-opacity='.12'/%3E%3C/svg%3E"),linear-gradient(155deg,rgba(49,123,255,.16),rgba(49,123,255,0) 50%)}
/* Carte active pendant le flux : anneau d'accent sur le visuel (opacité seule) */
.sp-pret .sp-n .sp-ui::after{content:"";position:absolute;inset:0;border-radius:8px;box-shadow:inset 0 0 0 2px rgba(59,52,201,.55);opacity:0;transition:opacity .4s ease}
.sp-n .sp-d{margin-top:6px;font:400 15px/24px var(--sans);color:var(--muted)}
.sp-n .sp-x{margin-top:8px;font:400 14px/22px var(--sans);color:var(--muted)}
.sp-n .sp-a{margin-top:auto;padding-top:12px}
.sp-a .lien{font-size:16px;line-height:24px}
.sp-a .lien[aria-current]{color:var(--muted)}
.sp-a .lien[aria-current]::after{content:none}

/* Étapes du flux, sous les cartes ; l'étape en cours s'allume */
.sp-et{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-gap);margin:16px 0 0;padding:0;list-style:none;counter-reset:sp}
.sp-et li{position:relative;display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:8px;font:400 14px/20px var(--sans);color:var(--muted);counter-increment:sp}
.sp-et li::before{content:counter(sp);flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--tile);font:600 11px/1 var(--sans);color:var(--accent-d)}
.sp-pret .sp-et li::after{content:"";position:absolute;inset:0;border-radius:8px;background:var(--tile);opacity:0;z-index:-1;transition:opacity .4s ease}
.sp-pret .sp-et li{isolation:isolate}

/* Liaisons : pointillés entre les visuels, à mi-hauteur */
.sp-cx::before,.sp-cx::after{content:"";position:absolute;z-index:2;top:calc(var(--sp-pad) + var(--sp-ui) / 2 - 3px);width:calc(var(--sp-gap) + 2 * var(--sp-pad));height:6px;pointer-events:none;
  background:radial-gradient(circle,var(--c-ind) 0 2.5px,transparent 3px) 0 50%/6px 6px no-repeat,
    radial-gradient(circle,var(--c-ind) 0 2.5px,transparent 3px) 100% 50%/6px 6px no-repeat,
    repeating-linear-gradient(90deg,rgba(59,52,201,.55) 0 4px,transparent 4px 8px) 0 50%/100% 2px no-repeat;
  transition:transform .7s var(--ease)}
.sp-cx::before{right:calc(100% - var(--sp-pad));transform-origin:100% 50%}
.sp-cx::after{left:calc(100% - var(--sp-pad));transform-origin:0 50%}
/* Paquets : créés par le script pendant le flux (segment vers le moteur, terme vers CHnell) */
.sp-pk{position:absolute;left:0;top:0;z-index:3;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--c-ind);box-shadow:0 0 0 4px rgba(59,52,201,.16);pointer-events:none}
.sp-pk-l{background:var(--accent);box-shadow:0 0 0 4px rgba(49,123,255,.18)}

/* Illustrations : écrans Corrext réduits (palette, police et libellés de l'application) */
.sp-app{position:relative;display:flex;flex-direction:column;width:86%;height:240px;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,27,76,.06),0 12px 28px -14px rgba(0,27,76,.28);font:400 12px/18px "Inter",var(--ui);color:var(--c-text)}
.sp-app svg{display:block;flex:0 0 auto;width:12px;height:12px}
.sp-app mark{border-radius:2px;background:var(--c-hl);color:inherit}
.sp-top{display:flex;align-items:center;gap:10px;flex:0 0 34px;padding:0 12px;border-bottom:1px solid var(--c-line);background:#fff}
.sp-top img{width:auto;height:17px}
.sp-app-ch .sp-top img{height:20px}
.sp-tab{padding:1px 8px;border-radius:6px;background:var(--c-ind-soft);font:500 11px/17px "Inter",var(--ui);color:var(--c-ind)}
.sp-pw{font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}
/* LexMachina : choix du moteur */
.sp-app-lm{height:auto;padding:16px}
.sp-lbl{font:500 11px/16px "Inter",var(--ui);color:var(--c-mut)}
.sp-sel{display:flex;align-items:center;justify-content:space-between;height:34px;margin-top:6px;padding:0 12px;border:1px solid var(--c-line);border-radius:8px;background:#fff;font:500 12px/18px "Inter",var(--ui);color:var(--c-ink)}
.sp-sel svg{color:var(--c-dim)}
.sp-menu{display:block;margin-top:6px;padding:4px;border:1px solid var(--c-line);border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(30,31,59,.10),0 2px 6px rgba(30,31,59,.05)}
.sp-menu > span{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:7px;font:400 12px/18px "Inter",var(--ui);color:var(--c-text)}
.sp-menu > .on{background:var(--c-ind-soft);font-weight:500;color:var(--c-ink)}
.sp-menu small{padding:0 6px;border-radius:999px;background:#e9f6ef;font:600 11px/16px "Inter",var(--ui);color:#1d6b43}
/* Corrext : Text translation */
.sp-app-cx,.sp-app-ch{width:94%}
.sp-app-cx{background:#fff}
.sp-bar{display:flex;align-items:center;gap:6px;flex:0 0 32px;min-width:0;padding:0 12px;border-bottom:1px solid var(--c-line);white-space:nowrap;font:500 11px/16px "Inter",var(--ui);color:var(--c-ink)}
.sp-bar svg{color:var(--c-mut)}
.sp-eng{margin-left:auto;padding:0 8px;border-radius:999px;background:var(--c-ind-soft);color:var(--c-ind)}
.sp-panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);flex:1;min-height:0}
.sp-pane{position:relative;display:block;min-width:0;padding:10px 12px 36px;overflow:hidden}
.sp-tgt{padding-bottom:10px;border-left:1px solid var(--c-line);background:#fcfcfe}
.sp-txt,.sp-out{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5;font:400 11.5px/17px "Inter",var(--ui);color:var(--c-ink)}
.sp-out{-webkit-line-clamp:7;color:var(--c-text);transition:opacity .45s ease,transform .6s var(--ease)}
.sp-lkb{position:absolute;right:10px;bottom:9px;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--c-ink);color:#fff;font:500 11px/16px "Inter",var(--ui);
  box-shadow:0 6px 16px rgba(30,31,59,.22);transition:opacity .3s ease,transform .45s var(--ease)}
.sp-lkb svg{width:11px;height:11px}
.sp-sk{display:none}
/* CHnell : recherche (terme, langues, compteur) et ligne alignée */
.sp-app-ch{background:#fff}
.sp-q{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;padding:8px 12px 0}
.sp-box{display:inline-flex;flex:1;align-items:center;gap:6px;min-width:0;padding:4px 8px;border:1px solid var(--c-line);border-radius:7px;background:var(--c-bg)}
.sp-box svg{color:var(--c-mut)}
.sp-box b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 11.5px/17px "Inter",var(--ui);color:var(--c-ink)}
.sp-lg{padding:3px 6px;border:1px solid var(--c-line);border-radius:6px;font:500 11px/16px "Inter",var(--ui);color:var(--c-ink)}
.sp-q > svg{color:var(--c-mut)}
.sp-cnt{display:block;flex-basis:100%;font:500 11px/16px "Inter",var(--ui);color:var(--c-mut);transition:opacity .4s ease,transform .6s var(--ease)}
.sp-res{display:block;margin:5px 12px 0;padding-top:5px;border-top:1px solid var(--c-line);transition:opacity .45s ease,transform .6s var(--ease)}
.sp-dom{display:block;font:600 11px/16px "Inter",var(--ui);letter-spacing:.02em;color:var(--c-mut)}
.sp-seg{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-top:2px;font:400 11px/16px "Inter",var(--ui);color:var(--c-ink)}
.sp-seg + .sp-seg{color:var(--c-text)}
.sp-src{display:block;overflow:hidden;margin-top:3px;white-space:nowrap;text-overflow:ellipsis;font:400 11px/16px "Inter",var(--ui);color:var(--c-mut)}

/* Animation : état de départ (.sp-pret), puis étapes .sp-e0 à .sp-e4 posées par le script */
.sp-n .sp-ui{transition:opacity .5s ease,transform .7s var(--ease)}
.sp-lm .sp-ui{transition-delay:.12s}
.sp-ch .sp-ui{transition-delay:.24s}
.sp-pret .sp-n .sp-ui{opacity:0;transform:translateY(12px)}
.sp-pret .sp-cx::before,.sp-pret .sp-cx::after{transform:scaleX(0)}
.sp-pret .sp-sk{position:absolute;left:12px;display:block;height:8px;border-radius:5px;background:#eef0f7;transition:opacity .3s ease}
.sp-pret .sp-sk:nth-child(1){top:14px;width:84%}
.sp-pret .sp-sk:nth-child(2){top:30px;width:76%}
.sp-pret .sp-sk:nth-child(3){top:46px;width:52%}
.sp-pret .sp-out,.sp-pret .sp-cnt{opacity:0;transform:translateY(5px)}
.sp-pret .sp-res{opacity:0;transform:translateY(10px)}
.sp-pret .sp-lkb{opacity:0;transform:translateY(6px) scale(.94)}
.sp-pret .sp-menu > .on::after{content:"";position:absolute;inset:0;border-radius:7px;box-shadow:0 0 0 2px rgba(59,52,201,.4);opacity:0}
.sp-pret.sp-e0 .sp-n .sp-ui{opacity:1;transform:none}
.sp-pret.sp-e0 .sp-cx::before,.sp-pret.sp-e0 .sp-cx::after{transform:none;transition-delay:.35s}
.sp-pret.sp-e1 .sp-menu > .on::after{animation:sp-pouls 1s var(--ease)}
.sp-pret.sp-a1 .sp-lm .sp-ui::after,.sp-pret.sp-a2 .sp-cx .sp-ui::after,.sp-pret.sp-a3 .sp-ch .sp-ui::after{opacity:1}
.sp-pret.sp-a1 .sp-et li:nth-child(1)::after,.sp-pret.sp-a2 .sp-et li:nth-child(2)::after,.sp-pret.sp-a3 .sp-et li:nth-child(3)::after{opacity:1}
/* Étape inactive : couleur atténuée --muted (au moins 4,5:1 sur le fond), sans opacité qui la ferait passer sous ce seuil
   (2,28:1 relevé par l'audit du 2026-10-23) ; l'étape en cours passe à l'encre, sur sa tuile qui apparaît en fondu
   (::after). La couleur change sans transition : le schéma n'anime que transform et opacity. */
.sp-pret .sp-et li{color:var(--muted)}
.sp-pret.sp-a1 .sp-et li:nth-child(1),.sp-pret.sp-a2 .sp-et li:nth-child(2),.sp-pret.sp-a3 .sp-et li:nth-child(3){color:var(--ink)}
.sp-pret.sp-e2 .sp-sk{opacity:0}
.sp-pret.sp-e2 .sp-out{opacity:1;transform:none}
.sp-pret.sp-e3 .sp-lkb{opacity:1;transform:none}
.sp-pret.sp-e4 .sp-lkb{animation:sp-appui .35s ease}
.sp-pret.sp-e4 .sp-cnt,.sp-pret.sp-e4 .sp-res{opacity:1;transform:none}
.sp-pret.sp-e4 .sp-res{transition-delay:.12s}
@keyframes sp-pouls{0%{opacity:0;transform:scale(.97)}35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}
@keyframes sp-appui{50%{transform:scale(.92)}100%{transform:none}}

/* Écrans intermédiaires : sortie sous le texte source */
@media (max-width:1215px){
  .sp-panes{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
  .sp-pane{padding:8px 12px}
  .sp-txt,.sp-out{-webkit-line-clamp:3}
  .sp-tgt{border-left:0;border-top:1px solid var(--c-line)}
  .sp-pane:first-child{overflow:visible}
  .sp-lkb{z-index:2;bottom:-11px}
  .sp-box{flex-basis:100%}
  .sp-cnt{flex-basis:auto;margin-left:auto}
}
/* Tablettes et mobiles : cartes empilées, liaisons verticales, étapes en liste */
@media (max-width:1023px){
  .sp-sc{--sp-gap:40px}
  .sp-dl{grid-template-columns:minmax(0,1fr);row-gap:var(--sp-gap);max-width:520px;margin:0 auto}
  .sp-et{grid-template-columns:minmax(0,1fr);gap:4px;max-width:520px;margin:16px auto 0}
    .sp-cx::before,.sp-cx::after{top:auto;right:auto;left:50%;width:6px;height:var(--sp-gap);margin:0 0 0 -3px;
    background:radial-gradient(circle,var(--c-ind) 0 2.5px,transparent 3px) 50% 0/6px 6px no-repeat,
      radial-gradient(circle,var(--c-ind) 0 2.5px,transparent 3px) 50% 100%/6px 6px no-repeat,
      repeating-linear-gradient(180deg,rgba(59,52,201,.55) 0 4px,transparent 4px 8px) 50% 0/2px 100% no-repeat}
  .sp-cx::before{bottom:100%;transform-origin:50% 100%}
  .sp-cx::after{top:100%;transform-origin:50% 0}
  .sp-pret .sp-cx::before,.sp-pret .sp-cx::after{transform:scaleY(0)}
}
@media (max-width:640px){
  .sp-sc{--sp-ui:260px}
  .sp-bar{flex:0 0 auto;flex-wrap:wrap;row-gap:4px;padding:7px 12px}
}

/* composants/securite.css */
/* Page Sécurité et souveraineté : titre du tableau des trois modes, à distance du bloc animé */
.sv-tb-t{margin:64px 0 16px;font:600 20px/28px var(--sans);color:var(--ink)}
.sv-tb-t + .tb{margin-top:0}
@media (max-width:767px){.sv-tb-t{margin-top:48px;font-size:18px;line-height:26px}}

/* composants/tarifs.css */
/* Page Tarifs (outils/composer/p_tarifs.py) et bouton secondaire du site */
.btn-2{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn-2:hover{opacity:1;box-shadow:inset 0 0 0 1px var(--mid)}
.tf-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero-d .tf-act + .note{margin-top:12px;font:400 14px/20px var(--sans);color:var(--muted)}

/* Une offre par organisation : trois cartes, bouton en pied */
.tf-pg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:40px}
.tf-p{display:flex;flex-direction:column;min-height:300px;padding:28px;border-radius:8px;background:var(--tile)}
.tf-k{font:500 14px/20px var(--sans);color:var(--muted)}
.tf-p h3{margin-top:4px;font:600 26px/32px var(--sans);letter-spacing:-.01em;color:var(--ink)}
.tf-d{margin-top:16px;font:400 15px/25px var(--sans);color:var(--muted)}
.tf-pa{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:auto;padding-top:28px}
.tf-pa .btn-2{background:var(--page)}

/* Hero de la page : titre aligné en haut sur le bloc de droite (retour de Fabien du 2026-10-16) */
.hero-g.tf-hg{align-items:start}
.tf-hg .h1{margin-top:-32px}
.hero:has(.tf-hg) + .sec{padding-top:24px}  /* moins de vide entre le hero et « Une offre pour chaque organisation » */  /* titre un peu plus haut que le bloc de droite, qui ne bouge pas */
@media (max-width:1023px){.tf-hg .h1{margin-top:0}}

/* Comment obtenir votre offre : trois étapes numérotées */
.tf-et{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:40px 0 0;padding:0;list-style:none}
.tf-et li{padding-top:20px;border-top:1px solid var(--line)}
.tf-n{display:block;font:300 28px/32px var(--serif);color:var(--accent-d)}
.tf-et h3{margin-top:16px;font:600 17px/24px var(--sans);color:var(--ink)}
.tf-et p{margin-top:8px;font:400 15px/25px var(--sans);color:var(--muted)}

@media (max-width:1023px){
  .tf-pg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tf-p{min-height:0}
  .tf-et{grid-template-columns:minmax(0,1fr);gap:28px}
}
/* Une colonne sous 640 px : APRÈS le bloc 1023 px, qui remettait sinon deux colonnes à même spécificité (audit design du
   2026-10-23 : cartes de 115 px et titres débordants à 390 px) */
@media (max-width:640px){.tf-pg{grid-template-columns:minmax(0,1fr)}}

/* composants/trame.css */
/* Trame problème, situation visée, preuve, appel à l'action (lot D, spec V2 § 7).
   Problème (.tr-pb) : trois difficultés en colonnes, chacune sous un filet, numérotées par la liste.
   Preuves (.tr-pv) : titre à gauche comme la FAQ, registre à filets à droite (nom, détail, nature en pastille).
   Jetons de site.css seulement : les deux thèmes suivent. Aucun mouvement. */

/* Problème */
.tr-pb .h2{margin-bottom:40px}
.tr-pb-l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:0;padding:0;list-style:none;counter-reset:tr-pb}
.tr-pb-l li{counter-increment:tr-pb;padding-top:20px;border-top:1px solid var(--ink)}
.tr-k{display:flex;align-items:baseline;gap:12px;font:500 12px/16px var(--sans);text-transform:uppercase;letter-spacing:.3px;color:var(--muted)}
.tr-k::before{content:counter(tr-pb,decimal-leading-zero);font:500 14px/16px var(--num);letter-spacing:0;color:var(--accent-d)}
.tr-k::before{content:counter(tr-pb,decimal-leading-zero) / ""}
.tr-t{margin:16px 0 8px;font:500 20px/28px var(--sans);letter-spacing:-.005em;color:var(--ink);text-wrap:balance}
.tr-pb-l p{color:var(--text)}

/* Preuves */
.tr-pv-g{display:grid;grid-template-columns:372px minmax(0,1fr);column-gap:40px;align-items:start}
.tr-pv-t .h2{margin-bottom:32px;text-wrap:balance}
.tr-pv-t .intro{margin-bottom:0}
.tr-pv-l{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.tr-pv-l li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.tr-pv-n b{display:block;font:500 18px/26px var(--sans);color:var(--ink)}
.tr-pv-n span{display:block;margin-top:2px;font:400 14px/20px var(--sans);color:var(--text)}
.tr-pv-ty{justify-self:end;white-space:nowrap}

@media (max-width:1023px){
  .tr-pb .h2{margin-bottom:32px}
  .tr-pb-l{grid-template-columns:minmax(0,1fr);gap:32px}
  .tr-pv-g{grid-template-columns:minmax(0,1fr);row-gap:32px}
}
@media (max-width:640px){
  .tr-pv-l li{grid-template-columns:minmax(0,1fr);row-gap:10px;padding:16px 0}
  .tr-pv-ty{order:-1;justify-self:start}
}
