/* =====================================================================
   KIT RAPPORT SAPIENS : feuille de style unique
   Pour un nouveau client, ne modifier QUE le bloc "IDENTITÉ CLIENT".
   ===================================================================== */
:root{
  /* ---- IDENTITÉ CLIENT : couleurs ---- */
  --navy:#1E2B45;          /* couleur sombre principale : ouvertures, titres, séries principales */
  --navy-rgb:30,43,69;     /* même couleur en R,G,B (ombres, transparences) */
  --navy-2:#263757; --navy-3:#31456B;
  --navy-hi:#2E4570; --navy-mid:#1A2740; --navy-lo:#0F1828;  /* dégradé des pages de chapitre */
  --red:#E0650F;           /* couleur d'accent : numéros, alertes, la marque dans les graphiques */
  --red-rgb:224,101,15;
  --red-light:#FFB27A; --red-light-2:#FF9A4D;  /* accent lisible sur fond sombre */
  --good:#23845A; --good-rgb:35,132,90;        /* progression, objectif */
  --warn:#C27A06; --warn-rgb:194,122,6;        /* événement extérieur, mise en garde */
  --p1:#5E82BE; --p2:#1F4E9C; --p3:#23845A;    /* trois niveaux de plan (prudent, central, ambitieux) */

  /* ---- Neutres (rarement à changer) ---- */
  --paper:#F3F5F8; --paper-rgb:243,245,248; --card:#FFFFFF;
  --ink:#0E1A2B; --ink-rgb:14,26,43; --muted:#56647A; --muted-2:#4A576C; --faint:#8793A6;
  --red-soft:rgba(var(--red-rgb),.10); --good-soft:rgba(var(--good-rgb),.12); --warn-soft:rgba(var(--warn-rgb),.12);
  --bad:var(--red); --bad-soft:rgba(var(--red-rgb),.10);
  --line:rgba(var(--ink-rgb),.12); --line-2:rgba(var(--ink-rgb),.22);
  --on-navy:#F3F5F8; --on-navy-muted:#B5C0D3; --on-navy-line:rgba(243,245,248,.16);

  /* ---- IDENTITÉ CLIENT : typographies (Google Fonts, lien dans le <head>) ---- */
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;  /* titres */
  --ui:"Barlow","Helvetica Neue",Arial,sans-serif;               /* texte courant, tableaux */
  --body:"Source Serif 4",Georgia,"Times New Roman",serif;       /* intros, citations */
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;           /* étiquettes */

  --page:1160px; --gut:clamp(16px,5vw,60px);
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;font-weight:380;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:.95;margin:0;text-wrap:balance;letter-spacing:.005em}
p{margin:0}
.wrap{max-width:var(--page);margin:0 auto;padding-inline:var(--gut)}
.mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.lede{font-size:clamp(18px,1.8vw,21px);line-height:1.5;color:var(--muted);max-width:62ch}
.lede b,.lede strong{color:var(--ink);font-weight:600}
.sec{padding-block:clamp(48px,6vw,88px)}
.sec + .sec{border-top:1px solid var(--line)}
.h2{font-size:clamp(34px,5vw,58px);text-transform:uppercase}
.h3{font-size:clamp(24px,2.8vw,32px);text-transform:uppercase}
.stack{display:flex;flex-direction:column;gap:16px}
.pending{border:1.5px dashed var(--line-2);border-radius:10px;padding:14px 16px;color:var(--muted);font-family:var(--ui);font-size:15px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* progress + topbar */
.progress{position:fixed;top:0;left:0;height:3px;background:var(--red);width:0;z-index:60}
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(var(--navy-rgb),.94);backdrop-filter:blur(8px);color:var(--on-navy);
  padding-top:env(safe-area-inset-top,0px);transform:translateY(-110%);transition:transform .35s ease}
.topbar.on{transform:none}
.topbar .wrap{display:flex;align-items:center;gap:18px;height:54px}
.tb-brand{font-family:var(--display);font-weight:700;font-size:18px;text-transform:uppercase;white-space:nowrap}
.tb-links{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;font-family:var(--ui);font-size:14px;margin-left:auto}
.tb-links a{text-decoration:none;color:var(--on-navy-muted);white-space:nowrap;padding-block:4px;border-bottom:2px solid transparent}
.tb-links a.on{color:var(--on-navy);border-color:var(--red)}
@media (max-width:760px){.tb-brand{display:none}.tb-links{margin-left:0}}

/* chapter openers: a circle of the photo opens with the scroll */
.chap{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:var(--on-navy);
  min-height:clamp(380px,62vh,640px);display:grid;align-items:end;--cx:70%;--cy:45%;--r:120px}
.chap-art{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;opacity:.9;
  clip-path:circle(var(--r) at var(--cx) var(--cy))}
.chap-ring{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--ring,1);
  background:radial-gradient(circle at var(--cx) var(--cy),transparent calc(var(--r) - 1px),var(--red) calc(var(--r) - 1px),var(--red) calc(var(--r) + 2px),transparent calc(var(--r) + 2px))}
.chap-veil{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(var(--navy-rgb),.94) 0%,rgba(var(--navy-rgb),.7) 45%,rgba(var(--navy-rgb),.12) 100%),
  linear-gradient(180deg,rgba(var(--navy-rgb),0) 55%,rgba(var(--navy-rgb),.9) 100%)}
.chap-body{padding-block:clamp(56px,8vw,96px) clamp(36px,4vw,56px)}
.chap-body>*{max-width:660px}
.chap-num{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--red-light)}
.chap h2{font-size:clamp(46px,8vw,96px);text-transform:uppercase;margin-top:14px;line-height:.88}
.chap .lede{color:var(--on-navy-muted);margin-top:18px}
.chap .lede b{color:var(--on-navy)}
.chap-cap{position:absolute;right:var(--gut);bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-muted)}
@media (max-width:640px){.chap{--cx:50%;--cy:30%}.chap-veil{background:linear-gradient(180deg,rgba(var(--navy-rgb),.35) 0%,rgba(var(--navy-rgb),.93) 55%)}.chap-cap{display:none}}

/* hero */
.hero{min-height:min(92vh,860px);align-items:stretch;--cx:72%;--cy:50%}
.hero .chap-body{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding-top:calc(28px + env(safe-area-inset-top,0px))}
.hero-top{display:flex;align-items:center;gap:14px;max-width:none!important}
.hero-top img{width:40px;height:auto}
.hero-top .mono{color:var(--on-navy-muted)}
.draft{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--red);color:#fff;padding:6px 10px;border-radius:4px;white-space:nowrap}
.hero h1{font-size:clamp(52px,9.5vw,124px);text-transform:uppercase;line-height:.86}
.hero h1 em{font-style:normal;color:var(--red-light-2)}
.hero .claim{font-size:clamp(18px,2vw,23px);color:var(--on-navy-muted);margin-top:22px;max-width:52ch}
.hero .claim b{color:var(--on-navy);font-weight:500}
@media (max-width:560px){.draft{display:none}}

/* number strip */
.strip{background:var(--navy-2);color:var(--on-navy)}
.strip .cells{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--on-navy-line)}
.cell{padding:28px 22px 26px;border-right:1px solid var(--on-navy-line);display:flex;flex-direction:column;gap:10px}
.num{font-family:var(--display);font-weight:800;font-size:clamp(52px,6.4vw,84px);line-height:.85;font-variant-numeric:tabular-nums}
.num small{font-size:.5em;margin-left:2px}
.num.red{color:var(--red-light-2)}
.cell p{font-family:var(--ui);font-size:15px;line-height:1.4;color:var(--on-navy-muted)}
.cell p b{color:var(--on-navy);font-weight:600}
.strip-foot{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy-muted);padding:14px 0 20px;border-top:1px solid var(--on-navy-line)}
@media (max-width:860px){.strip .cells{grid-template-columns:repeat(2,1fr)}.cell{border-bottom:1px solid var(--on-navy-line)}}

/* generic blocks */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:860px){.grid2,.grid3{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}
.card h3{font-size:24px;text-transform:uppercase}
.card p{font-family:var(--ui);font-size:15.5px;line-height:1.5;color:var(--muted)}
.card p b{color:var(--ink);font-weight:600}
.src{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--faint);margin-top:10px}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(26px,3.4vw,44px)}

/* compare google vs ia */
.versus{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch}
.vs-mid{display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:28px;color:var(--faint)}
.serp,.chat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;font-family:var(--ui);font-size:14.5px}
.serp .q,.chat .q{font-family:var(--mono);font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px;display:inline-block;margin-bottom:14px}
.serp ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:#1a4fb4}
.serp li span{color:var(--muted);display:block;font-size:12.5px}
.chat .bubble{background:var(--paper);border-radius:10px;padding:14px 16px;line-height:1.55}
.chat .bubble b{color:var(--ink)}
.chat .names{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tag{font-family:var(--ui);font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.tag.miss{border-style:dashed;color:var(--red);border-color:var(--red);background:var(--red-soft)}
@media (max-width:760px){.versus{grid-template-columns:1fr}.vs-mid{padding:4px}}

/* steps diagram */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.step{padding:22px 20px;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:0}
.step .k{font-family:var(--display);font-weight:800;font-size:44px;color:var(--red);line-height:1}
.step h4{font-size:21px;text-transform:uppercase;margin-top:8px}
.step p{font-family:var(--ui);font-size:14.5px;color:var(--muted);margin-top:8px;line-height:1.45}
.step .ex{font-family:var(--mono);font-size:11.5px;color:var(--navy-3);margin-top:12px;background:var(--paper);border-radius:6px;padding:8px 10px;line-height:1.5}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}}

/* big quote */
.pull{font-family:var(--display);font-weight:700;font-size:clamp(30px,4.2vw,50px);line-height:1.02;text-transform:uppercase;max-width:22ch}
.pull em{font-style:normal;color:var(--red)}

/* usage bars (Ipsos) */
.bars{display:flex;flex-direction:column;gap:14px}
.bar{display:grid;grid-template-columns:minmax(120px,210px) 1fr 58px;gap:14px;align-items:center;font-family:var(--ui);font-size:14.5px}
.bar .t{height:14px;background:rgba(var(--ink-rgb),.07);border-radius:999px;overflow:hidden}
.bar .t i{display:block;height:100%;background:var(--navy-3);border-radius:999px}
.bar .t i.r{background:var(--red)}
.bar .v{font-family:var(--display);font-weight:700;font-size:22px;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:560px){.bar{grid-template-columns:1fr 50px}.bar .t{grid-column:1/-1;grid-row:2}}

/* circles diagram + scorecard */
.circles-wrap{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:900px){.circles-wrap{grid-template-columns:1fr}}
.circles svg{width:100%;height:auto}
.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:640px){.score-grid{grid-template-columns:1fr}}
.score{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:start}
.score .zone{grid-column:1/-1;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.score h4{font-size:22px;text-transform:uppercase}
.score .n{font-family:var(--display);font-weight:800;font-size:40px;line-height:.9;font-variant-numeric:tabular-nums;text-align:right}
.score .n small{font-size:.45em;color:var(--faint);font-weight:600}
.score .meter{grid-column:1/-1;height:6px;border-radius:999px;background:rgba(var(--ink-rgb),.07);overflow:hidden}
.score .meter i{display:block;height:100%}
.score p{grid-column:1/-1;font-family:var(--ui);font-size:14px;color:var(--muted);line-height:1.45}
.s-bad .n{color:var(--bad)} .s-bad .meter i{background:var(--bad)}
.s-mid .n{color:var(--warn)} .s-mid .meter i{background:var(--warn)}
.s-ok .n{color:var(--good)} .s-ok .meter i{background:var(--good)}
.s-na .n{color:var(--faint)} .s-na{border-style:dashed}
.global{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:var(--navy);color:var(--on-navy);border-radius:14px;padding:22px 26px;margin-top:22px}
.global .n{font-family:var(--display);font-weight:800;font-size:72px;line-height:.85;color:var(--red-light-2)}
.global .n small{font-size:.4em;color:var(--on-navy-muted)}
.global p{font-family:var(--ui);font-size:15.5px;color:var(--on-navy-muted);max-width:60ch}
.global p b{color:var(--on-navy)}
.howto{font-family:var(--ui);font-size:14px;color:var(--muted);margin-top:14px}
.howto summary{cursor:pointer;font-weight:600;color:var(--ink)}
.howto ul{margin:10px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}

/* method strip */
.method{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.method div{background:var(--card);padding:18px}
.method .num{font-size:48px;color:var(--navy)}
.method p{font-family:var(--ui);font-size:14px;color:var(--muted);margin-top:6px}
@media (max-width:760px){.method{grid-template-columns:1fr 1fr}}

/* heat grid */
.heat-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table.heat{border-collapse:collapse;width:100%;min-width:720px;font-family:var(--ui);font-size:14px}
.heat th,.heat td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:center}
.heat th{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--paper);position:sticky;top:0}
.heat td.q{text-align:left;color:var(--ink);max-width:420px}
.heat tr.theme td{background:var(--paper);font-family:var(--display);font-weight:700;font-size:17px;text-transform:uppercase;text-align:left;color:var(--navy)}
.dotc{display:inline-block;width:18px;height:18px;border-radius:50%;vertical-align:middle}
.d0{background:rgba(var(--red-rgb),.14);box-shadow:inset 0 0 0 1.5px rgba(var(--red-rgb),.45)}
.d1{background:var(--good)}
.dn{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--ui);font-size:13.5px;color:var(--muted);margin-top:12px}
.legend span{display:inline-flex;align-items:center;gap:8px}

/* share of voice */
.sov .bar{grid-template-columns:minmax(150px,230px) 1fr 50px}
.sov .bar.me .k{color:var(--red);font-weight:700}
@media (max-width:560px){.sov .bar{grid-template-columns:1fr 50px}}

/* answer card */
.answer{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.answer-h{display:flex;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);font-family:var(--ui);font-size:14px}
.answer-h .ai{font-family:var(--mono);font-size:11px;letter-spacing:.1em;background:var(--navy);color:#fff;padding:4px 8px;border-radius:4px}
.answer-q{padding:16px 18px;font-family:var(--ui);font-weight:600;background:var(--paper)}
.answer-b{padding:18px;font-family:var(--ui);font-size:15px;line-height:1.55;display:flex;flex-direction:column;gap:10px}
.answer-b mark{background:rgba(var(--good-rgb),.14);color:var(--ink);padding:0 3px;border-radius:3px}
.answer-s{padding:14px 18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.answer-s b{color:var(--ink)}
.answer-note{padding:14px 18px;background:var(--red-soft);font-family:var(--ui);font-size:14.5px;color:var(--ink)}

/* source list */
.src-list{display:flex;flex-direction:column;gap:10px}
.src-row{display:grid;grid-template-columns:minmax(150px,240px) 1fr 42px;gap:12px;align-items:center;font-family:var(--ui);font-size:14px}
.src-row .t{height:12px;border-radius:999px;background:rgba(var(--ink-rgb),.06);overflow:hidden}
.src-row .t i{display:block;height:100%;border-radius:999px}
.c-comp i{background:var(--warn)} .c-off i{background:var(--navy-3)} .c-guide i{background:#6B5BD2} .c-me i{background:var(--good)}
.src-row .v{font-family:var(--display);font-weight:700;font-size:20px;text-align:right}
.src-row .d small{display:block;color:var(--faint);font-size:12px}
@media (max-width:560px){.src-row{grid-template-columns:1fr 40px}.src-row .t{grid-column:1/-1;grid-row:2}}

/* findings */
.find{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px}
.find .top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;font-weight:500;white-space:nowrap}
.p-bad{background:var(--bad-soft);color:var(--bad)} .p-mid{background:var(--warn-soft);color:var(--warn)} .p-ok{background:var(--good-soft);color:var(--good)}
.find h4{font-size:22px;text-transform:uppercase}
.find p{font-family:var(--ui);font-size:15px;color:var(--muted);line-height:1.5}
.find p b{color:var(--ink);font-weight:600}
.find code{font-family:var(--mono);font-size:12.5px;background:var(--paper);padding:2px 6px;border-radius:4px;color:var(--ink);word-break:break-word}

/* chart */
.chart{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 18px 10px}
.chart svg{width:100%;height:auto;display:block}
.brand-vs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.brand-vs div{background:var(--card);padding:22px}
.brand-vs .num{color:var(--navy)}
.brand-vs .num.red{color:var(--red)}
.brand-vs p{font-family:var(--ui);font-size:14.5px;color:var(--muted);margin-top:8px}
@media (max-width:560px){.brand-vs{grid-template-columns:1fr}}

/* incoherence table */
.tbl-wrap{overflow-x:auto}
table.inc{width:100%;border-collapse:collapse;font-family:var(--ui);font-size:15px;min-width:480px}
.inc th,.inc td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.inc th{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.inc td b{color:var(--red)}

/* plan */
.plan{display:flex;flex-direction:column;gap:18px}
.obj{background:var(--card);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:120px 1fr;overflow:hidden}
.obj .side{background:var(--navy);color:var(--on-navy);padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.obj .side .k{font-family:var(--display);font-weight:800;font-size:54px;line-height:.9;color:var(--red-light-2)}
.obj .side .when{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy-muted)}
.obj .main{padding:22px;display:flex;flex-direction:column;gap:12px}
.obj h3{font-size:clamp(24px,2.6vw,30px);text-transform:uppercase}
.obj .why{font-family:var(--ui);font-size:15px;color:var(--muted)}
.obj .why b{color:var(--ink)}
.obj ul{margin:0;padding-left:20px;font-family:var(--ui);font-size:15px;display:flex;flex-direction:column;gap:5px}
.obj .meta{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){.obj{grid-template-columns:1fr}.obj .side{flex-direction:row;align-items:center}}

/* timeline */
.tl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.tl div{padding:16px;border-right:1px solid var(--line);font-family:var(--ui);font-size:14px}
.tl div:last-child{border-right:0}
.tl .mono{display:block;margin-bottom:8px;color:var(--navy)}
.tl .ifi{background:var(--red-soft)}
@media (max-width:760px){.tl{grid-template-columns:1fr 1fr}.tl div:nth-child(2){border-right:0}.tl div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* kpi */
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:760px){.kpis{grid-template-columns:1fr}}

/* closing */
.closing{background:var(--navy);color:var(--on-navy)}
.closing .lede{color:var(--on-navy-muted)}
.closing .card{background:var(--navy-2);border-color:var(--on-navy-line)}
.closing .card h3{color:var(--on-navy)}
.closing .card p{color:var(--on-navy-muted)}
footer{background:#071631;color:var(--on-navy-muted);font-family:var(--ui);font-size:13.5px}
footer .wrap{padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.topbar{transition:none}}/* v2 overrides */
.hero{min-height:min(78vh,720px)}
.hero h1{font-size:clamp(40px,5.6vw,72px);line-height:.92;max-width:18ch}
.hero .claim{max-width:56ch}
.chap-body{width:100%}
.cell p{font-size:14.5px}
/* clickable grid */
.qgrid{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;font-family:var(--ui)}
.qhead,.qrow>summary{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,76px) 28px;gap:8px;align-items:center;padding:12px 16px}
.qhead{background:var(--paper);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.qhead span:not(:first-child){text-align:center}
.qtheme{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding:16px 16px 10px;background:var(--paper);border-bottom:1px solid var(--line)}
.qtheme h4{font-size:20px;text-transform:uppercase;color:var(--navy)}
.qtheme span{font-size:13.5px;color:var(--muted)}
.qtheme span b{color:var(--red)}
.qtheme.brand span b{color:var(--good)}
.qrow{border-bottom:1px solid var(--line)}
.qrow>summary{list-style:none;cursor:pointer}
.qrow>summary::-webkit-details-marker{display:none}
.qrow>summary:hover{background:rgba(var(--navy-rgb),.035)}
.qrow .qt{font-size:15px;color:var(--ink);line-height:1.35}
.qrow .cellm{display:flex;flex-direction:column;align-items:center;gap:2px}
.ai-l{display:none;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.mk{width:28px;height:28px;border-radius:50%;display:grid;place-items:center}
.mk svg{width:15px;height:15px}
.mk.yes{background:var(--good);color:#fff}
.mk.no{background:var(--red-soft);color:var(--red)}
.mk.na{box-shadow:inset 0 0 0 1.5px var(--line-2);color:transparent}
.mk-inline{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;vertical-align:-5px;margin-right:2px}
.mk-inline svg{width:13px;height:13px}
.mk-inline.yes{background:var(--good);color:#fff}.mk-inline.no{background:var(--red-soft);color:var(--red)}
.chev{width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--muted);transition:transform .2s ease}
.chev svg{width:11px;height:11px}
.qrow[open] .chev{transform:rotate(180deg);background:var(--navy);color:#fff;border-color:var(--navy)}
.qrow[open]>summary{background:rgba(var(--navy-rgb),.035)}
.qd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:6px 16px 20px;background:rgba(var(--navy-rgb),.035)}
.qd>div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.qd h5{margin:0 0 8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);font-weight:500;display:flex;justify-content:space-between;gap:6px}
.qd ol{margin:0;padding-left:20px;font-size:14px;line-height:1.45;display:flex;flex-direction:column;gap:2px;color:var(--ink)}
.qd li.me{color:var(--good);font-weight:700}
.qd .none{font-size:13.5px;color:var(--muted);line-height:1.45}
.qd .more{font-size:12.5px;color:var(--faint);margin-top:6px}
@media (max-width:760px){
  .qhead{display:none}
  .qrow>summary{grid-template-columns:repeat(4,minmax(0,1fr)) 28px;row-gap:10px}
  .qrow .qt{grid-column:1/-1}
  .ai-l{display:block}
  .qd{grid-template-columns:1fr 1fr}
}
@media (max-width:460px){.qd{grid-template-columns:1fr}}
/* v3 */
.weight{background:var(--navy);color:var(--on-navy);border-radius:16px;padding:clamp(22px,3.4vw,40px);display:flex;flex-direction:column;gap:18px}
.weight .mono{color:var(--red-light)}
.weight .h2{color:var(--on-navy)}
.weight-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.weight-grid>div{background:var(--navy-2);border:1px solid var(--on-navy-line);border-radius:12px;padding:20px}
.weight-grid .wk{font-family:var(--display);font-weight:800;font-size:46px;line-height:1;color:var(--red-light-2)}
.weight-grid h3{font-size:28px;text-transform:uppercase;margin-top:6px}
.weight-grid p{font-family:var(--ui);font-size:16px;line-height:1.5;color:var(--on-navy-muted);margin-top:8px}
.weight-grid p b{color:var(--on-navy)}
.weight-foot{font-family:var(--body);font-style:italic;font-size:clamp(18px,1.9vw,22px);color:var(--on-navy)}
@media (max-width:760px){.weight-grid{grid-template-columns:1fr}}
.circles{max-width:640px;margin:0 auto;width:100%}
.circles svg{width:100%;height:auto;display:block}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.two-cols>div{border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px;font-family:var(--ui)}
.two-cols h3{font-size:clamp(28px,3vw,36px);text-transform:uppercase}
.two-cols ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:16px}
.two-cols p{font-size:15.5px;line-height:1.5}
.col-own{background:var(--navy);color:var(--on-navy)}
.col-own .mono{color:var(--on-navy-muted)}
.col-own ul li::marker{color:#fff}
.col-out{background:#E6EAF0;color:var(--ink);border:1px dashed rgba(var(--navy-rgb),.28)}
.col-out ul li::marker{color:var(--red)}
@media (max-width:760px){.two-cols{grid-template-columns:1fr}}
.answers{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media (max-width:860px){.answers{grid-template-columns:1fr}}
.answer.good{border-color:var(--good)}
.answer-b mark{background:rgba(var(--warn-rgb),.14)}
.answer-b mark.me{background:rgba(var(--good-rgb),.2)}
.answer-note.ok{background:var(--good-soft)}
.src-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:860px){.src-2{grid-template-columns:1fr}}
.src-case{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px}
.src-top{display:flex;flex-direction:column;gap:6px;font-family:var(--ui);font-size:15px;color:var(--muted)}
.src-top b{color:var(--ink)}
.src-top .num{font-size:56px}
.src-top .num small{font-size:.36em;color:var(--muted);font-weight:600}
.num.good{color:var(--good)} .src-top .num.red{color:var(--red)}
.src-case .src-row{grid-template-columns:minmax(120px,190px) 1fr 34px;font-size:13.5px}
.find.wide{grid-column:1/-1}
.out-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.out-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.out-h h3{font-size:26px;text-transform:uppercase}
.out-n{font-family:var(--display);font-weight:800;font-size:36px;line-height:1}
.out-n small{font-size:.45em;color:var(--faint)}
.out-n.bad{color:var(--bad)} .out-n.mid{color:var(--warn)} .out-n.na{color:var(--faint)}
.out-item ul{margin:0;padding-left:20px;font-family:var(--ui);font-size:15.5px;line-height:1.5;display:flex;flex-direction:column;gap:5px;color:var(--ink)}
.out-item li::marker{color:var(--red)}
.qsrc{grid-column:1/-1;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--muted);line-height:1.6}
.qsrc b{color:var(--ink)}
.qsrc .dom{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:1px 9px;margin:2px 4px 2px 0;color:var(--ink);font-size:12.5px}
.qd .quote{font-size:12.5px;color:var(--good);margin-top:8px;font-style:italic;line-height:1.4}
/* SEO page components */
.toc-sec{padding-block:clamp(36px,4vw,56px)}
.toc{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;flex-direction:column;gap:4px;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px;height:100%;font-family:var(--ui)}
.toc a:hover{border-color:var(--navy)}
.toc a::before{content:counter(t);font-family:var(--display);font-weight:800;font-size:32px;line-height:1;color:var(--red)}
.toc b{font-family:var(--display);font-size:21px;text-transform:uppercase;color:var(--navy)}
.toc span{font-size:14px;color:var(--muted)}
@media (max-width:860px){.toc{grid-template-columns:1fr 1fr}}
.ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.idea{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}
.idea .k{font-family:var(--display);font-weight:800;font-size:44px;color:var(--red);line-height:1}
.idea h3{font-size:24px;text-transform:uppercase;margin-top:8px}
.idea p{font-family:var(--ui);font-size:15.5px;line-height:1.5;color:var(--muted);margin-top:8px}
.idea p b{color:var(--ink)}
@media (max-width:860px){.ideas{grid-template-columns:1fr}}
.callout{background:var(--navy);color:var(--on-navy-muted);border-radius:12px;padding:18px 22px;font-family:var(--ui);font-size:16px;line-height:1.5}
.callout b{color:var(--on-navy)}
.figure{display:flex;flex-direction:column;gap:14px}
.fig-head{display:flex;flex-direction:column;gap:10px}
.retenir{font-family:var(--ui);font-size:16.5px;line-height:1.5;background:var(--red-soft);border-left:4px solid var(--red);padding:12px 16px;border-radius:0 8px 8px 0;max-width:80ch}
.retenir b{color:var(--ink)}
.howread{font-family:var(--ui);font-size:14px;color:var(--muted);max-width:90ch}
.howread b{color:var(--ink)}
.kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.kpi{background:var(--card);padding:22px}
.kpi .num{font-size:clamp(40px,5vw,60px);color:var(--navy)}
.kpi p{font-family:var(--ui);font-size:15px;color:var(--muted);margin-top:8px}
.kpi p b{color:var(--ink)}
@media (max-width:760px){.kpi-row{grid-template-columns:1fr}}
table.inc td.n,table.inc th.n{text-align:right;font-variant-numeric:tabular-nums}
table.bench tr.me td{background:var(--red-soft);font-weight:600}
table.obj td b{color:var(--navy)}
.serp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.serp-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;font-family:var(--ui);display:flex;flex-direction:column;gap:6px}
.serp-card .q{font-weight:600;font-size:15px;color:var(--ink)}
.serp-card .vol{font-family:var(--mono);font-size:11px;color:var(--muted)}
.serp-card ol{margin:6px 0 0;padding-left:20px;font-size:14px;color:#1a4fb4;display:flex;flex-direction:column;gap:2px}
.serp-card .miss{font-size:13px;color:var(--red);font-weight:600;margin-top:auto;padding-top:6px}
@media (max-width:1000px){.serp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.serp-grid{grid-template-columns:1fr}}
.cause{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cause-h{display:flex;gap:18px;align-items:center;padding:20px 22px;background:var(--navy);color:var(--on-navy)}
.cause-n{font-family:var(--display);font-weight:800;font-size:54px;line-height:.9;color:var(--red-light-2)}
.cause-h h3{font-size:clamp(24px,2.8vw,32px);text-transform:uppercase}
.cause-sub{font-family:var(--ui);font-size:14px;color:var(--on-navy-muted);margin-top:4px}
.cause-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;padding:22px}
@media (max-width:860px){.cause-b{grid-template-columns:1fr}}
.cause h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:10px}
.cause-what p{font-family:var(--ui);font-size:16px;line-height:1.55;color:var(--ink)}
.cause-facts{display:flex;flex-direction:column;gap:12px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.facts div{background:var(--paper);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}
.facts b{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;color:var(--red)}
.facts b small{font-size:.5em;color:var(--muted)}
.facts span{font-family:var(--ui);font-size:13.5px;line-height:1.4;color:var(--muted)}
@media (max-width:640px){.facts{grid-template-columns:1fr}}
.example{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--ui);font-size:15px;line-height:1.5}
.example .ex-label{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--navy);color:#fff;padding:3px 8px;border-radius:4px;margin-bottom:6px}
.example code{font-family:var(--mono);font-size:12.5px;background:var(--paper);padding:1px 5px;border-radius:4px;word-break:break-all}
.levers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.lever{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.lever .k{font-family:var(--display);font-weight:800;font-size:38px;color:var(--red);line-height:1}
.lever h4{font-size:21px;text-transform:uppercase;margin-top:6px}
.lever p{font-family:var(--ui);font-size:14.5px;color:var(--muted);margin-top:6px}
@media (max-width:860px){.levers{grid-template-columns:1fr 1fr}}
.phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.phase{padding:20px;border-right:1px solid var(--line)}
.phase:last-child{border-right:0}
.phase h4{font-size:26px;text-transform:uppercase;margin-top:8px}
.phase p{font-family:var(--ui);font-size:14.5px;color:var(--muted);margin-top:6px}
@media (max-width:860px){.phases{grid-template-columns:1fr}.phase{border-right:0;border-bottom:1px solid var(--line)}}
.chart svg{max-width:100%}
/* ===== Question-led components (v4 / SEO v2) ===== */
.chap h2.qh{font-size:clamp(38px,6.2vw,76px);line-height:.92;text-transform:none;letter-spacing:0}
.chap .qnum{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--red);padding:5px 10px;border-radius:4px}
.ans{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,40px);align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,34px)}
.ans .big{font-family:var(--display);font-weight:800;font-size:clamp(64px,10vw,128px);line-height:.85;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap}
.ans .big.ok{color:var(--good)} .ans .big.navy{color:var(--navy)}
.ans .big small{font-size:.42em}
.ans .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ans p{font-family:var(--ui);font-size:clamp(18px,2vw,22px);line-height:1.4;color:var(--ink);margin-top:6px}
.ans p b{color:var(--red)}
@media (max-width:640px){.ans{grid-template-columns:1fr}}
.block-t{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:12px}
.block-t::before{content:"";width:22px;height:2px;background:var(--red)}
.why,.impact{border-radius:14px;padding:22px 24px;font-family:var(--ui)}
.why{background:var(--paper);border:1px solid var(--line)}
.impact{background:var(--navy);color:var(--on-navy)}
.why p,.impact p{font-size:17px;line-height:1.55}
.why p+p,.impact p+p{margin-top:10px}
.why b{color:var(--ink)}
.impact .block-t{color:var(--red-light)}.impact .block-t::before{background:var(--red-light)}
.impact b{color:#fff}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:860px){.pair{grid-template-columns:1fr}}
.essentiel{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px}
.ess{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}
.ess:hover{border-color:var(--navy)}
.ess .eq{font-family:var(--ui);font-weight:600;font-size:15.5px;color:var(--ink);line-height:1.35}
.ess .en{font-family:var(--display);font-weight:800;font-size:46px;line-height:.9;color:var(--red)}
.ess .en.ok{color:var(--good)} .ess .en.navy{color:var(--navy)}
.ess .ea{font-family:var(--ui);font-size:14.5px;color:var(--muted);line-height:1.45}
.ess .go{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-top:auto}
.shot{border-radius:12px;overflow:hidden;border:1px solid var(--line-2);background:var(--card);box-shadow:0 10px 30px rgba(var(--navy-rgb),.10)}
.shot-bar{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#E9ECF1;border-bottom:1px solid var(--line)}
.shot-bar i{width:10px;height:10px;border-radius:50%;background:#C9CFD8;display:inline-block}
.shot-bar .url{flex:1;margin-left:8px;background:#fff;border-radius:999px;padding:4px 12px;font-family:var(--mono);font-size:11.5px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.shot img{display:block;width:100%;height:auto}
.shot-cap{font-family:var(--ui);font-size:13.5px;color:var(--muted);margin-top:8px}
.shot-cap b{color:var(--ink)}
.codebox{background:var(--ink);color:#D8E0EC;border-radius:12px;padding:16px 18px;font-family:var(--mono);font-size:13px;line-height:1.6;overflow-x:auto}
.codebox .hl{background:rgba(var(--red-rgb),.35);color:#fff;padding:0 4px;border-radius:3px}
.codebox .cm{color:var(--faint)}
.warnbox{border-radius:12px;overflow:hidden;border:1px solid var(--line-2);background:#fff;font-family:var(--ui)}
.warnbox .wb{padding:26px 28px;display:flex;gap:18px;align-items:flex-start}
.warnbox .wi{width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px;flex:none}
.warnbox h4{font-size:22px;font-family:var(--ui);font-weight:600;text-transform:none;color:var(--ink)}
.warnbox p{font-size:14.5px;color:var(--muted);margin-top:6px}
.schema svg{width:100%;height:auto;display:block}
.gloss{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.gloss div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--ui);font-size:14.5px;color:var(--muted)}
.gloss b{display:block;color:var(--ink);font-size:15.5px;margin-bottom:2px}
.fig-note{font-family:var(--ui);font-size:13.5px;color:var(--muted);margin-top:8px}
.fig-note b{color:var(--ink)}
.caveat{font-family:var(--ui);font-size:14px;color:var(--muted);border-left:3px solid var(--warn);padding:8px 12px;background:var(--warn-soft);border-radius:0 8px 8px 0}
.caveat b{color:var(--ink)}
.qsec{display:flex;flex-direction:column;gap:clamp(22px,3vw,34px)}
.cause>:not(.cause-h){margin:18px clamp(14px,2.2vw,24px) 0}
.cause>:last-child{margin-bottom:clamp(16px,2.2vw,24px)}
.pair .facts{grid-template-columns:1fr;align-content:start}
.pair .facts>div{flex-direction:row;gap:14px;align-items:center}
.pair .facts span{font-size:14.5px}
.pair .facts>div b{min-width:120px}
.chart,.schema{overflow-x:auto}
@media (max-width:640px){.chart svg,.schema svg{min-width:620px}}
.chap h2.qh .nb{white-space:nowrap}
.warnbox h4{letter-spacing:0!important;font-family:var(--ui)!important;font-size:22px!important}
.callout{background:var(--navy);color:var(--on-navy-muted);border-radius:12px;padding:18px 22px;font-family:var(--ui);font-size:16px;line-height:1.5}
.callout b{color:var(--on-navy)}
.shot.narrow{max-width:820px}
/* ===== v5 : rapport de consultant ===== */
body{background:var(--page)}
.cover{background:var(--navy);color:var(--on-navy);padding:clamp(40px,7vw,90px) 0 clamp(36px,6vw,70px)}
.cover .top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cover .top img{height:52px;width:auto;max-width:240px;background:#fff;border-radius:8px;padding:6px 10px}
.cover .top span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-muted)}
.cover h1{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(40px,6.4vw,84px);line-height:.95;margin-top:clamp(28px,5vw,56px);letter-spacing:.005em;text-wrap:balance}
.cover h1 em{font-style:normal;color:var(--red-light-2)}
.cover .sub{font-family:var(--body);font-size:clamp(18px,2vw,23px);line-height:1.45;color:var(--on-navy-muted);max-width:760px;margin-top:18px}
.cover .meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:30px;font-family:var(--ui);font-size:14px;color:var(--on-navy-muted)}
.cover .meta b{color:var(--on-navy);font-weight:600}
.toc2{counter-reset:t;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:18px}
.toc2 a{display:flex;gap:14px;align-items:baseline;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--ink);font-family:var(--ui);font-size:15.5px;line-height:1.35}
.toc2 a:hover{border-color:var(--navy)}
.toc2 a b{font-family:var(--display);font-size:26px;color:var(--red);line-height:1;min-width:26px}
.part{padding-block:clamp(48px,7vw,88px);border-top:1px solid var(--line)}
.part-h{display:flex;gap:clamp(14px,2vw,24px);align-items:flex-start;margin-bottom:clamp(20px,3vw,30px)}
.part-h .n{font-family:var(--display);font-weight:800;font-size:clamp(56px,8vw,104px);line-height:.8;color:var(--red)}
.part-h h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(34px,5vw,64px);line-height:.95;color:var(--ink);text-wrap:balance}
.part-h p{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.intro{font-family:var(--body);font-size:clamp(17.5px,1.7vw,20px);line-height:1.6;color:var(--ink);max-width:820px}
.intro+.intro{margin-top:12px}
.txt{font-family:var(--ui);font-size:16.5px;line-height:1.6;color:var(--ink);max-width:820px}
.txt+.txt{margin-top:10px}
.txt b,.intro b{font-weight:600}
.sub{margin-top:clamp(34px,4.5vw,52px)}
.sub>h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(24px,2.8vw,32px);line-height:1.05;color:var(--navy);margin-bottom:12px;text-wrap:balance}
.sub>h3 span{color:var(--red);margin-right:8px}
.stack2{display:flex;flex-direction:column;gap:18px}
.kfig{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}
.kf{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.kf .v{font-family:var(--display);font-weight:800;font-size:clamp(46px,5.6vw,68px);line-height:.9;color:var(--red);font-variant-numeric:tabular-nums}
.kf .v small{font-size:.45em;color:var(--muted);font-weight:700;margin-left:4px}
.kf .v.navy{color:var(--navy)} .kf .v.ok{color:var(--good)}
.kf .t{font-family:var(--ui);font-size:15.5px;line-height:1.45;color:var(--ink)}
.kf .s{font-family:var(--ui);font-size:12.5px;color:var(--muted);margin-top:auto}
.retenir{background:var(--navy);color:var(--on-navy);border-radius:14px;padding:22px 26px;margin-top:clamp(26px,3.4vw,36px)}
.retenir h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red-light);margin-bottom:10px}
.retenir ul{padding-left:18px;display:flex;flex-direction:column;gap:8px}
.retenir li{font-family:var(--ui);font-size:16.5px;line-height:1.5;color:var(--on-navy-muted)}
.retenir li b{color:var(--on-navy);font-weight:600}
.src2{font-family:var(--ui);font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
.src2 b{color:var(--ink);font-weight:600}
.pair2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media (max-width:860px){.pair2{grid-template-columns:1fr}}
.shot-t{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ex{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ex-q{padding:16px 20px;background:var(--paper);border-bottom:1px solid var(--line);font-family:var(--ui);font-size:16px;font-weight:600;color:var(--ink);line-height:1.4}
.ex-q small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:6px}
.ex-b{padding:16px 20px;font-family:var(--body);font-size:16px;line-height:1.6;color:var(--ink)}
.ex-b p+p{margin-top:8px}
.ex-b ul{padding-left:20px;margin-top:6px;display:flex;flex-direction:column;gap:6px}
.ex-b mark{background:rgba(var(--good-rgb),.14);color:inherit;padding:0 3px;border-radius:3px;font-weight:600}
.ex-b mark.me{background:rgba(var(--red-rgb),.16)}
.ex-t{padding:14px 20px;border-top:1px solid var(--line);font-family:var(--ui);font-size:15px;line-height:1.5;color:var(--ink);background:var(--warn-soft)}
.ex-t b{font-weight:600}
.cut{color:var(--muted);font-style:italic}
table.inc td.hi{background:var(--red-soft);font-weight:700}
table.inc th small{display:block;font-weight:400;text-transform:none;letter-spacing:0}
.qlist{columns:2 320px;column-gap:28px;font-family:var(--ui);font-size:15px;line-height:1.45;color:var(--ink)}
.qlist h5{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:14px 0 6px;break-after:avoid}
.qlist h5:first-child{margin-top:0}
.qlist li{margin:0 0 6px 18px;break-inside:avoid}
.defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px}
.defs div{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--ui);font-size:14.5px;line-height:1.45;color:var(--muted)}
.defs b{display:block;color:var(--ink);font-size:15.5px;margin-bottom:2px}
table.inc td b{color:var(--ink)}
table.inc td.n b{color:var(--red)}

.kf .v{white-space:nowrap}
@media (min-width:861px){.kfig:has(.kf:nth-child(4)) .kf .v{font-size:clamp(40px,4.4vw,56px)}}
/* ===== v6 : respiration et hiérarchie ===== */
html,body{background:#FFFFFF}
main{display:block}

/* Couverture */
.cover .meta{gap:12px 36px;margin-top:36px}

/* Sommaire */
.toc3{padding-block:clamp(64px,9vw,120px)}
.toc3 .lbl{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(30px,3.6vw,44px);line-height:1;color:var(--ink);margin-bottom:28px}
.toc3 ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(var(--rows),auto);grid-auto-flow:column;column-gap:clamp(28px,5vw,64px);border-top:2px solid var(--ink)}
.toc3 li{border-bottom:1px solid var(--line)}
.toc3 a{display:grid;grid-template-columns:clamp(44px,5vw,64px) 1fr;column-gap:16px;row-gap:6px;padding:24px 0;text-decoration:none;color:var(--ink)}
.toc3 .k{grid-row:span 2;font-family:var(--display);font-weight:800;font-size:clamp(40px,4.4vw,54px);line-height:.82;color:var(--red)}
.toc3 .t{font-family:var(--display);font-weight:700;font-size:clamp(21px,2vw,25px);line-height:1.12}
.toc3 .d{font-family:var(--ui);font-size:15px;line-height:1.45;color:var(--muted)}
.toc3 a:hover .t{color:var(--red)}
@media (max-width:760px){.toc3 ol{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}}

/* Ouverture de partie */
.part{padding:0;border-top:0}
.opener{background:var(--paper);border-top:1px solid var(--line);padding-block:clamp(64px,8vw,112px)}
.opener .part-h{margin-bottom:clamp(24px,3vw,36px)}
.opener .part-h p{font-family:var(--ui);font-size:clamp(16px,1.5vw,18px);letter-spacing:0;text-transform:none;margin-top:14px;color:var(--muted)}
.opener .intro{font-size:clamp(19px,1.9vw,22px);line-height:1.6;max-width:800px}
.opener .intro+.intro{margin-top:16px}
.pbody{padding-block:0 clamp(88px,11vw,140px)}

/* Sous-parties : numéro en étiquette, titre en casse normale */
.sub{margin-top:clamp(72px,9vw,112px)}
.sub>h3{display:flex;flex-direction:column;gap:12px;font-family:var(--display);font-weight:700;text-transform:none;letter-spacing:0;font-size:clamp(27px,2.9vw,36px);line-height:1.1;color:var(--ink);margin:0;max-width:880px}
.sub>h3 span{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.16em;color:var(--red);margin:0}
.sub>h3 span::after{content:"";width:44px;height:2px;background:var(--red)}
.sub>*+*{margin-top:30px}
.sub>h3+.txt{margin-top:18px}
.sub>.txt+.txt{margin-top:14px}
.sub>.src2{margin-top:14px}
.txt{font-size:17.5px;line-height:1.65}
.src2{font-size:13.5px;line-height:1.55}

/* Chiffres clés */
.kfig{gap:20px}
.kf{padding:28px 28px 24px;gap:12px}
.kf .t{font-size:16.5px;line-height:1.5}

/* Encadrés de synthèse */
.retenir{margin-top:clamp(80px,10vw,120px);padding:clamp(28px,3.4vw,44px) clamp(24px,3.4vw,48px);border-radius:16px}
.retenir h4{font-size:13px;margin-bottom:18px}
.retenir ul{gap:14px}
.retenir li{font-size:18px;line-height:1.55}

/* Tableaux, graphiques, cartes */
.tbl-wrap.card{padding:8px 16px!important}
table.inc{font-size:16px}
table.inc th{padding:16px 14px}
table.inc td{padding:16px 14px;line-height:1.5;vertical-align:top}
.chart{padding:28px 28px 18px;border-radius:14px}

/* Captures : hauteur limitée */
.pair2{gap:28px}
.pair2 .shot{position:relative;max-height:680px}
.pair2 .shot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(255,255,255,0),#FFFFFF)}
.shot-t{font-size:12px;margin-bottom:12px}
.pair2 .src2{margin-top:14px}
.stack2{gap:22px}

/* Question posée */
.qask{border-left:4px solid var(--red);padding:6px 0 6px 22px}
.qask small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.qask p{font-family:var(--body);font-style:italic;font-size:clamp(20px,2.1vw,25px);line-height:1.4;color:var(--ink)}

/* Les 27 questions */
.qcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
@media (max-width:860px){.qcards{grid-template-columns:1fr}}
.qc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 26px 12px}
.qc.brand{background:var(--paper)}
.qc-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.qc-h h4{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.1;color:var(--ink)}
.qc-h span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.qc ol{list-style:none;margin:0;padding:0;counter-reset:q}
.qc li{counter-increment:q;display:grid;grid-template-columns:28px 1fr;gap:8px;padding:13px 0;border-bottom:1px solid var(--line);font-family:var(--ui);font-size:16px;line-height:1.45;color:var(--ink)}
.qc li:last-child{border-bottom:0}
.qc li::before{content:counter(q);font-family:var(--display);font-weight:700;font-size:18px;color:var(--faint)}

/* Fiche méthode */
.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:860px){.tools{grid-template-columns:1fr}}
.tool{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 28px}
.tool h4{font-family:var(--display);font-weight:700;font-size:26px;color:var(--navy)}
.tool .role{font-family:var(--ui);font-size:16px;line-height:1.5;color:var(--muted);margin-top:6px}
.tool dl{display:grid;grid-template-columns:88px 1fr;gap:12px 16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--ui);font-size:16px;line-height:1.5}
.tool dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.tool dd{margin:0;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{font-family:var(--ui);font-size:16px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 16px}
.chips span.me{background:var(--red-soft);border-color:rgba(var(--red-rgb),.3);color:var(--red)}

/* Grille de résultats : textes plus lisibles */
.qsrc{font-size:15px!important;line-height:1.7!important}
.qsrc b{font-size:15.5px}

/* Exemples de réponses */
.ex2grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
@media (max-width:860px){.ex2grid{grid-template-columns:1fr}}
.ex2{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 26px 20px;display:flex;flex-direction:column;gap:16px}
.ex2-m{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ex2-m b{color:var(--navy);font-weight:500}
.ex2-q{font-family:var(--body);font-style:italic;font-size:20px;line-height:1.4;color:var(--ink)}
.ex2-l{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.ex2 .chips span{font-size:14.5px;padding:6px 12px;background:var(--good-soft);border-color:rgba(var(--good-rgb),.25)}
.ex2 .chips span.me{background:var(--red-soft);border-color:rgba(var(--red-rgb),.35);color:var(--red)}
.ex2-f{font-family:var(--ui);font-size:15.5px;font-weight:600;padding:12px 16px;border-radius:10px}
.ex2-f.absent{background:var(--red-soft);color:var(--red)}
.ex2-f.cited{background:var(--good-soft);color:var(--good)}
.ex2-a{font-family:var(--ui);font-size:16px;line-height:1.55;color:var(--ink)}
.ex2 details{border-top:1px solid var(--line);padding-top:14px}
.ex2 summary{cursor:pointer;font-family:var(--ui);font-size:15px;font-weight:600;color:var(--navy);list-style:none}
.ex2 summary::-webkit-details-marker{display:none}
.ex2 summary::before{content:"+ ";color:var(--red)}
.ex2 details[open] summary::before{content:"− "}
.ex2 details .ex-b{padding:14px 0 0;font-size:15.5px}

/* Sources (partie 5) : titres de colonnes plus grands */
.src-case{padding:28px;gap:22px}
.src-top .mono{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.2vw,26px);letter-spacing:0;text-transform:none;color:var(--ink)}
.src-top p{font-family:var(--ui);font-size:16px;color:var(--muted)}
.src-case .src-row{font-size:15px}
.legend{margin-top:18px}

/* Gaufre 89 réponses */
.waffle svg{width:100%;height:auto;display:block}

/* Plan */
.plan{gap:20px}

@media (max-width:640px){
  .sub>*+*{margin-top:24px}
  .kf{padding:22px}
  .retenir li{font-size:16.5px}
  .pair2 .shot{max-height:560px}
}
.obj .main h3{text-transform:none;font-size:clamp(24px,2.4vw,28px);line-height:1.1}
.obj .main li{font-size:16px;line-height:1.5}
.defs{gap:14px}
.defs div{font-size:15.5px;padding:18px 20px}
.defs b{font-size:17px;margin-bottom:6px}
/* ===== v7 ===== */
/* Couverture avec photo */
.cover.photo{position:relative;background-color:var(--navy);background-image:linear-gradient(90deg,rgba(var(--navy-rgb),.97) 0%,rgba(var(--navy-rgb),.90) 42%,rgba(var(--navy-rgb),.55) 72%,rgba(var(--navy-rgb),.35) 100%),var(--img);background-size:cover;background-position:center right;padding-block:clamp(56px,9vw,120px) clamp(48px,7vw,96px)}
@media (max-width:760px){.cover.photo{background-image:linear-gradient(180deg,rgba(var(--navy-rgb),.80) 0%,rgba(var(--navy-rgb),.95) 60%),var(--img)}}

/* Titres de graphiques */
.chart-t{font-family:var(--ui);font-size:15px;font-weight:600;color:var(--ink);margin:0 0 14px}

/* Deux usages */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media (max-width:860px){.duo{grid-template-columns:1fr}}
.duo-c{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:16px;padding:30px 30px 26px;display:flex;flex-direction:column;gap:16px}
.duo-c+.duo-c{border-top-color:var(--red)}
.duo-k{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.duo-c h4{font-family:var(--display);font-weight:700;font-size:clamp(26px,2.6vw,32px);line-height:1.05;color:var(--ink)}
.duo-d{font-family:var(--ui);font-size:16.5px;line-height:1.6;color:var(--ink)}
.duo-f{display:flex;align-items:center;gap:18px;background:var(--paper);border-radius:12px;padding:18px 20px}
.duo-f .v{font-family:var(--display);font-weight:800;font-size:clamp(48px,5vw,62px);line-height:.9;color:var(--navy);white-space:nowrap}
.duo-c+.duo-c .duo-f .v{color:var(--red)}
.duo-f .v small{font-size:.42em;color:var(--muted);margin-left:4px}
.duo-f .t{font-family:var(--ui);font-size:15.5px;line-height:1.5;color:var(--ink)}
.duo-i{font-family:var(--ui);font-size:15.5px;line-height:1.55;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.duo-i b{color:var(--ink)}
.note-b{background:var(--red-soft);border-left:4px solid var(--red);border-radius:0 12px 12px 0;padding:20px 24px;font-family:var(--ui);font-size:17px;line-height:1.6;color:var(--ink);max-width:900px}

/* Exemples séparés */
.exm{border-top:2px solid var(--ink);padding-top:28px;margin-top:48px;display:flex;flex-direction:column;gap:26px}
.sub>.txt+.exm{margin-top:36px}
.exm-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.exm-n{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF;background:var(--red);padding:6px 12px;border-radius:6px}
.exm-t{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(30px,3.4vw,42px);line-height:1;color:var(--ink)}
.exm .qask{margin:0}

/* Étapes de la méthode */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 28px 28px;display:flex;flex-direction:column;gap:14px}
.step-n{font-family:var(--display);font-weight:800;font-size:64px;line-height:.8;color:var(--red)}
.step h4{font-family:var(--display);font-weight:700;font-size:26px;line-height:1.1;color:var(--ink)}
.step p,.step li{font-family:var(--ui);font-size:16px;line-height:1.55;color:var(--ink)}
.step ul{padding-left:18px;display:flex;flex-direction:column;gap:6px}
@media (min-width:861px){.step+.step::before{content:"";position:absolute;left:-20px;top:58px;width:20px;height:2px;background:var(--red)}}

/* Concurrents */
.comp5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:980px){.comp5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.comp5{grid-template-columns:1fr}}
.comp5 div{background:var(--paper);border-radius:12px;padding:20px 18px;display:flex;flex-direction:column;gap:6px}
.comp5 b{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.1;color:var(--ink)}
.comp5 span{font-family:var(--ui);font-size:14.5px;line-height:1.45;color:var(--muted)}

/* Tableaux : statuts */
table.inc td.no{color:var(--red);font-weight:600}
table.inc td.ok,table.inc td.okt{color:var(--good);font-weight:600}
table.inc td.mid{color:var(--warn);font-weight:600}
table.inc td.na{color:var(--muted)}
table.inc td.not{color:var(--red);font-weight:600}
table.inc td small{display:block;color:var(--muted);font-size:14px;margin-top:4px}

/* Entité */
.ent{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch}
@media (max-width:860px){.ent{grid-template-columns:1fr}.ent-arrow{transform:rotate(90deg);justify-self:center}}
.ent-src,.ent-out{border-radius:16px;padding:26px 28px}
.ent-src{background:var(--paper)}
.ent-out{background:var(--navy);color:var(--on-navy)}
.ent-l{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.ent-out .ent-l{color:var(--red-light)}
.ent-src ul{padding-left:18px;display:flex;flex-direction:column;gap:8px;font-family:var(--ui);font-size:16px;color:var(--ink)}
.ent-out p{font-family:var(--ui);font-size:16.5px;line-height:1.6}
.ent-out b{color:#FFFFFF}
.ent-arrow{align-self:center;font-family:var(--display);font-size:44px;color:var(--red)}
.pull{margin:0;border:0;padding:clamp(28px,4vw,44px) 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);max-width:900px}
.pull p{font-family:var(--body);font-style:italic;font-size:clamp(25px,3vw,36px);line-height:1.3;color:var(--ink)}

/* Captures Google de l'identité */
.pair-id .shot-s{max-height:none;background:#202124}
.pair-id .shot-s::after{display:none}
.pair-id .shot-s img{width:100%;height:auto}

/* Trois confusions */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:860px){.trio{grid-template-columns:1fr}}
.trio div{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:22px 24px}
.trio h4{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.1;color:var(--ink);margin-bottom:10px}
.trio p{font-family:var(--ui);font-size:15.5px;line-height:1.55;color:var(--ink)}
.steps{border:0!important;background:none!important;padding:0!important;box-shadow:none!important;overflow:visible!important}
.step h4{text-transform:none!important;letter-spacing:0!important}
.pull p{text-transform:none!important;letter-spacing:0!important;font-weight:400!important;font-family:var(--body)!important}
.chart.wide{overflow-x:auto}
.chart.wide svg{min-width:640px}
/* ===== v8 ===== */
.tline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:860px){.tline{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.tline{grid-template-columns:1fr}}
.tline div{border-top:3px solid var(--navy);background:var(--card);border-radius:0 0 12px 12px;padding:16px 18px;box-shadow:0 0 0 1px var(--line) inset}
.tline div.hi{border-top-color:var(--red);background:var(--red-soft)}
.tline .d{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.tline b{display:block;font-family:var(--display);font-weight:700;font-size:20px;line-height:1.1;color:var(--ink);margin-bottom:6px}
.tline p{font-family:var(--ui);font-size:15px;line-height:1.5;color:var(--ink)}
.cause3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:860px){.cause3{grid-template-columns:1fr}}
.cause3 div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.cause3 .k{font-family:var(--display);font-weight:800;font-size:44px;line-height:.8;color:var(--red)}
.cause3 h4{font-family:var(--display);font-weight:700;font-size:22px;color:var(--ink);margin:12px 0 8px}
.cause3 p{font-family:var(--ui);font-size:15.5px;line-height:1.55;color:var(--ink)}
.flow{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}
@media (max-width:860px){.flow{grid-template-columns:1fr}.fl-arrow{transform:rotate(90deg)}}
.fl-col{display:flex;flex-direction:column;gap:10px}
.fl-t{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.fl-i{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;padding:14px 16px}
.fl-i.r{border-left-color:var(--red)}
.fl-i b{display:block;font-family:var(--ui);font-size:16px;color:var(--ink)}
.fl-i span{font-family:var(--ui);font-size:14.5px;color:var(--muted)}
.fl-i em{font-style:normal;font-weight:700;color:var(--red)}
.fl-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--red);font-family:var(--display);font-weight:700;font-size:15px;text-align:center}
.fl-arrow::before{content:"✕";font-size:34px;line-height:1}
.ws{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
@media (max-width:860px){.ws{grid-template-columns:1fr}}
.ws-c{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 28px;display:flex;flex-direction:column;gap:14px}
.ws-h{display:flex;gap:16px;align-items:center}
.ws-h .k{font-family:var(--display);font-weight:800;font-size:30px;color:#FFFFFF;background:var(--navy);width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ws-c:first-child .ws-h .k{background:var(--red)}
.ws-h h4{font-family:var(--display);font-weight:700;font-size:25px;line-height:1.05;color:var(--ink)}
.ws-h .when{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-top:4px}
.ws-c ul{padding-left:18px;display:flex;flex-direction:column;gap:8px;font-family:var(--ui);font-size:15.5px;line-height:1.5;color:var(--ink)}
.ws-r{font-family:var(--ui);font-size:15px;line-height:1.5;color:var(--ink);background:var(--paper);border-radius:10px;padding:12px 14px}
table.inc.rt td.rt0{color:#B0B8C5}
table.inc.rt td.rt1{background:rgba(var(--good-rgb),.16);font-weight:700}
table.inc.rt td.rt2{background:rgba(var(--good-rgb),.08);font-weight:600}
table.inc.rt td.rt3{background:rgba(var(--warn-rgb),.10)}
table.inc.rt th:nth-child(3),table.inc.rt td:nth-child(3){background:var(--red-soft)}
table.inc.rt td:nth-child(3).rt0{color:var(--red);font-weight:600}
.pri{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap}
.pri.p1{background:var(--red-soft);color:var(--red)}
.pri.p2{background:rgba(var(--warn-rgb),.14);color:var(--warn)}
.pri.p3{background:var(--paper);color:var(--muted)}

.cause3.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1060px){.cause3.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cause3.c4{grid-template-columns:1fr}}
.cause3.c4 h4{font-size:20px}
.cause3.c4 p{font-size:15px}
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px;align-items:stretch}
@media (max-width:860px){.offers{grid-template-columns:1fr}}
.of{position:relative;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--navy-3);border-radius:16px;padding:26px 26px 22px;display:flex;flex-direction:column;gap:12px}
.of2{border-top-color:var(--red)}
.of3{border-top-color:var(--good);box-shadow:0 10px 30px rgba(var(--ink-rgb),.08)}
.of-k{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.of h4{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;color:var(--ink);text-transform:uppercase}
.of-p{font-family:var(--ui);font-size:15.5px;line-height:1.55;color:var(--ink);flex:1}
.of-r{font-family:var(--ui);font-size:15px;line-height:1.4;color:var(--muted);background:var(--paper);border-radius:10px;padding:12px 14px}
.of-r b{display:block;font-family:var(--display);font-weight:800;font-size:40px;line-height:1;color:var(--navy-3);margin-bottom:4px}
.of2 .of-r b{color:var(--red)}
.of3 .of-r b{color:var(--good)}
@media (min-width:861px){.of+.of::before{content:"+";position:absolute;left:-17px;top:50%;transform:translateY(-50%);width:14px;text-align:center;font-family:var(--display);font-weight:800;font-size:26px;color:var(--muted)}}
table.offt th.c,table.offt td.c{text-align:center;width:118px}
table.offt th.o1{color:var(--navy-3)} table.offt th.o2{color:var(--red)} table.offt th.o3{color:var(--good)}
table.offt td.ck span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#FFFFFF;font-weight:700;font-size:14px;background:var(--navy-3)}
table.offt td.ck.o2 span{background:var(--red)}
table.offt td.ck.o3 span{background:var(--good)}
table.offt td.no{color:var(--faint);font-size:20px}
table.offt tr.g2 td:first-child{box-shadow:inset 3px 0 0 var(--red)}
table.offt tr.g1 td:first-child{box-shadow:inset 3px 0 0 var(--navy-3)}
table.offt tr.g3 td:first-child{box-shadow:inset 3px 0 0 var(--good)}
table.offt tr.res td{background:var(--paper);font-size:16px}
table.offt tr.res td.c b{font-family:var(--display);font-size:24px}
table.traj .dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px}
table.traj td:first-child,table.traj td.n{white-space:nowrap}
.pair2.cav{margin-top:24px}
@media (max-width:640px){table.inc.offt{min-width:0;font-size:14px}table.offt td:first-child{padding-left:10px}table.offt th.c,table.offt td.c{width:54px;padding-left:2px;padding-right:2px}table.offt th.c{font-size:9px;letter-spacing:.02em}table.offt td.ck span{width:22px;height:22px;font-size:12px}table.offt tr.res td.c b{font-size:19px}}
.plans-wrap{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px 20px 16px;overflow-x:auto}
table.plans{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--ui);font-size:15px;color:var(--ink)}
table.plans th,table.plans td{padding:12px 14px;vertical-align:middle;border-bottom:1px solid var(--line)}
table.plans th.pl0{text-align:left;vertical-align:bottom;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400}
table.plans th.pl{width:21%;text-align:center;vertical-align:top;padding:22px 14px 18px;border-top:5px solid var(--navy-3);background:var(--paper)}
table.plans th.pl.o2{border-top-color:var(--red)}
table.plans th.pl.o3{border-top-color:var(--good)}
table.plans th.pl+th.pl{box-shadow:inset 1px 0 0 var(--card)}
table.plans .pk{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:400}
table.plans th.pl b{display:block;font-family:var(--display);font-weight:800;font-size:32px;line-height:1.05;text-transform:uppercase;margin:4px 0 8px}
table.plans .pt{display:block;font-weight:400;font-size:14px;line-height:1.4;color:var(--muted);min-height:4.2em}
table.plans .px{display:block;font-family:var(--display);font-weight:800;font-size:44px;line-height:1;margin-top:12px;color:var(--navy-3)}
table.plans .o2 .px,table.plans .o2 b{color:var(--red)} table.plans .o3 .px,table.plans .o3 b{color:var(--good)}
table.plans th.o1 b{color:var(--navy-3)}
table.plans .pxs{display:block;font-weight:400;font-size:12.5px;color:var(--muted);margin-top:4px}
table.plans tr.grp td{background:transparent;padding-top:26px;font-family:var(--display);font-weight:700;font-size:21px;line-height:1.1;color:var(--ink);border-bottom:2px solid var(--ink)}
table.plans tr.grp td span{display:inline-block;min-width:26px;color:var(--red);font-weight:800}
table.plans td.c{text-align:center}
table.plans td.c:nth-child(2),table.plans td.c:nth-child(3),table.plans td.c:nth-child(4){background:rgba(var(--paper-rgb),.55)}
table.plans td.ck span,table.plans td.tx span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#FFFFFF;font-weight:700;font-size:14px;background:var(--navy-3)}
table.plans td.o2>span:not(.int){background:var(--red)} table.plans td.o3>span:not(.int){background:var(--good)}
table.plans td.tx em{display:block;font-style:normal;font-weight:600;font-size:14px;line-height:1.3;margin-top:6px}
table.plans td.no{color:var(--faint);font-size:22px}
table.plans tr.res td{font-size:15px}
table.plans tr.res td.c b{font-family:var(--display);font-weight:800;font-size:26px}
table.plans td.o1 b{color:var(--navy-3)} table.plans td.o2 b{color:var(--red)} table.plans td.o3 b{color:var(--good)}
table.plans .int{display:inline-flex;gap:5px}
table.plans .int i{width:16px;height:10px;border-radius:3px;background:var(--line-2)}
table.plans td.o1 .int i.on{background:var(--navy-3)} table.plans td.o2 .int i.on{background:var(--red)} table.plans td.o3 .int i.on{background:var(--good)}
@media (max-width:640px){
 .plans-wrap{padding:4px 8px 10px}
 table.plans{font-size:13.5px}
 table.plans th,table.plans td{padding:9px 5px}
 table.plans th.pl{width:22%;padding:14px 3px 12px}
 table.plans th.pl b{font-size:17px}
 table.plans .pt,table.plans .pxs{display:none}
 table.plans .px{font-size:24px;margin-top:6px}
 table.plans .pk{font-size:9px;letter-spacing:.06em}
 table.plans tr.grp td{font-size:18px;padding-top:20px}
 table.plans td.tx em{font-size:12px}
 table.plans td.ck span,table.plans td.tx span{width:22px;height:22px;font-size:12px}
 table.plans tr.res td.c b{font-size:19px}
 table.plans .int i{width:9px}
}
/* v10 : confort de lecture */
.pair2>*{min-width:0}
@media (max-width:860px){.pair2{grid-template-columns:minmax(0,1fr)}}
.shot-bar .url{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pbody{padding-block:0 clamp(64px,7vw,96px)}
.retenir{margin-top:clamp(56px,6vw,80px)}
.retenir ul{list-style:none;padding-left:0;counter-reset:rt;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px 40px}
.retenir li{counter-increment:rt;position:relative;padding-left:46px;font-size:17px}
.retenir li::before{content:counter(rt,decimal-leading-zero);position:absolute;left:0;top:-2px;font-family:var(--display);font-weight:800;font-size:28px;line-height:1;color:var(--red-light)}
.src2{font-size:14.5px;line-height:1.6;max-width:880px;color:var(--muted-2)}
table.inc th{font-size:11.5px;letter-spacing:.06em}
.chart svg text{paint-order:stroke;stroke:#FFFFFF;stroke-width:3px;stroke-linejoin:round}
.note-b.quote{background:none;border-left:4px solid var(--red);border-radius:0;padding:6px 0 6px 28px;font-family:var(--body);font-size:clamp(19px,2vw,23px);line-height:1.55;max-width:860px}
/* ouverture de partie : numéro en filigrane */
.opener{position:relative;overflow:hidden}
.opener>.wrap{position:relative;z-index:1}
.opener::after{content:attr(data-n);position:absolute;right:clamp(-20px,1vw,40px);bottom:-.22em;font-family:var(--display);font-weight:800;font-size:clamp(220px,32vw,440px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(var(--navy-rgb),.08);pointer-events:none}
/* barre de lecture */
.rbar{position:fixed;left:0;right:0;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);transform:translateY(-110%);transition:transform .25s ease}
.rbar.on{transform:none}
.rbar-in{max-width:var(--page);margin:0 auto;padding:10px var(--gut);display:flex;align-items:center;gap:14px;font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);white-space:nowrap;overflow:hidden}
.rbar-in .k{color:var(--red);font-weight:800}
.rbar-in .t{overflow:hidden;text-overflow:ellipsis}
.rbar-in .m{margin-left:auto;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rbar-p{position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:640px){.rbar-in .m{display:none}}
/* annexe sources */
.srcs{background:var(--paper);border-top:1px solid var(--line);padding-block:clamp(64px,8vw,104px)}
.srcs-k{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.srcs h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(34px,4vw,48px);line-height:1;color:var(--ink);margin-bottom:clamp(28px,3.4vw,44px)}
.srcs-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
@media (max-width:860px){.srcs-g{grid-template-columns:minmax(0,1fr)}}
.srcs h3{font-family:var(--display);font-weight:700;font-size:22px;color:var(--ink);padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:6px}
.srcs dl{display:flex;flex-direction:column}
.srcs dt{font-family:var(--ui);font-weight:600;font-size:15.5px;color:var(--ink);padding-top:14px}
.srcs dd{font-family:var(--ui);font-size:15px;line-height:1.55;color:var(--muted-2);padding-bottom:14px;border-bottom:1px solid var(--line)}
/* mobile : graphiques et tableaux */
@media (max-width:640px){
 .chart svg,.schema svg{min-width:560px}
 .chart:has(svg)::before{content:"Faire glisser pour voir tout le graphique →";display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
 .tbl-wrap table.inc td:first-child,.tbl-wrap table.inc th:first-child{position:sticky;left:0;background:var(--card);z-index:1;box-shadow:1px 0 0 var(--line)}
 .opener::after{font-size:200px;-webkit-text-stroke-width:1.5px}
 .retenir li{padding-left:40px;font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){.rbar{transition:none}}
.retenir{max-width:none}
table.traj td.n b{color:var(--ink)}
table.plans th.pl{border-top-color:var(--p1)} table.plans th.pl.o2{border-top-color:var(--p2)} table.plans th.pl.o3{border-top-color:var(--p3)}
table.plans th.o1 b,table.plans .o1 .px,table.plans td.o1 b{color:var(--p1)}
table.plans .o2 .px,table.plans th.o2 b,table.plans td.o2 b{color:var(--p2)}
table.plans .o3 .px,table.plans th.o3 b,table.plans td.o3 b{color:var(--p3)}
table.plans td.ck span,table.plans td.tx span{background:var(--p1)}
table.plans td.o2>span:not(.int){background:var(--p2)} table.plans td.o3>span:not(.int){background:var(--p3)}
table.plans td.o1 .int i.on{background:var(--p1)} table.plans td.o2 .int i.on{background:var(--p2)} table.plans td.o3 .int i.on{background:var(--p3)}
.srcs dd{margin:0}
/* ===== v11 : step-up visuel ===== */
/* Ouvertures de partie : de vraies pages de chapitre */
.opener{background:radial-gradient(120% 160% at 88% -10%,var(--navy-hi) 0%,var(--navy-mid) 38%,var(--navy) 70%,var(--navy-lo) 100%);border-top:0;padding-block:clamp(96px,12vw,168px) clamp(80px,10vw,136px);color:var(--on-navy)}
.opener::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--red-rgb),.0) 0%,rgba(var(--red-rgb),.0) 60%,rgba(var(--red-rgb),.10) 100%);pointer-events:none}
.opener::after{-webkit-text-stroke:2px rgba(255,255,255,.09);bottom:-.2em;right:clamp(-30px,0vw,30px);font-size:clamp(260px,38vw,560px)}
.opener .part-h{display:block;margin-bottom:clamp(28px,3.4vw,44px)}
.opener .part-h .n{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-weight:500;font-size:13px;line-height:1;letter-spacing:.2em;text-transform:uppercase;color:var(--red-light);margin-bottom:22px}
.opener .part-h .n::before{content:"Partie"}
.opener .part-h .n::after{content:"";display:block;width:72px;height:2px;background:var(--red);transform-origin:0 50%;transition:transform 1s cubic-bezier(.3,.7,.2,1) .2s}
.opener .part-h h2{color:#FFFFFF;font-size:clamp(46px,6.6vw,92px);line-height:.92;max-width:15ch}
.opener .part-h p{color:var(--on-navy-muted);font-size:clamp(17px,1.6vw,20px);margin-top:18px;font-family:var(--ui)}
.opener .intro{color:#D5DDEA;max-width:760px;border-left:2px solid rgba(255,255,255,.18);padding-left:clamp(18px,2vw,28px)}
.opener .intro b{color:#FFFFFF}
/* séparation forte entre la fin d'une partie et la suivante */
.part+.part,.part+.srcs{border-top:0}
/* Sous-parties : plus d'air et un vrai séparateur */
.pbody{padding-top:clamp(24px,3vw,40px)}
.pbody>.sub{margin-top:0;padding-block:clamp(56px,7vw,96px) 0}
.pbody>.sub+.sub{border-top:1px solid var(--line);margin-top:clamp(56px,7vw,96px)}
.sub>h3{margin-bottom:22px}
.sub>.txt{margin-bottom:6px}
.sub>.txt+.tbl-wrap,.sub>.txt+.chart,.sub>.txt+.kfig,.sub>.txt+.duo,.sub>.txt+.cause3,.sub>.txt+.tline,.sub>.txt+.flow,.sub>.txt+.pair2{margin-top:28px}
.sub>.src2+*:not(.src2){margin-top:clamp(48px,5vw,64px)}
.sub>.kfig+.chart{margin-top:24px}
.sub>.duo+.src2,.sub>.chart+.src2,.sub>.tbl-wrap+.src2{margin-top:16px}
/* Volume : cartes et graphiques posés sur la page */
.kf,.chart,.tbl-wrap.card,.plans-wrap,.duo-c,.cause3 div,.tline div,.serp-card,.defs>div,.fl-i,.shot{box-shadow:0 1px 2px rgba(var(--navy-rgb),.04),0 8px 24px -12px rgba(var(--navy-rgb),.14);transition:transform .35s cubic-bezier(.3,.7,.2,1),box-shadow .35s}
.kf:hover,.duo-c:hover,.cause3 div:hover,.serp-card:hover,.tline div:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(var(--navy-rgb),.05),0 18px 40px -16px rgba(var(--navy-rgb),.24)}
.kf{position:relative;overflow:hidden}
.kf::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.kf:has(.v.navy)::before{background:var(--navy)}
.kf:has(.v.ok)::before{background:var(--good)}
/* "Ce qu'il faut retenir" : fin de partie claire, distincte des ouvertures */
.retenir{background:var(--card);color:var(--ink);border:1px solid var(--line);border-top:5px solid var(--red);border-radius:16px;box-shadow:0 1px 2px rgba(var(--navy-rgb),.04),0 16px 40px -20px rgba(var(--navy-rgb),.22)}
.retenir h4{color:var(--red)}
.retenir li{color:#3C4A60}
.retenir li b{color:var(--ink)}
.retenir li::before{color:var(--red)}
/* Constat central */
.note-b.quote{position:relative;padding:28px 0 28px 36px;border-left-width:5px}
/* ===== Effets d'entrée (le document reste complet sans JavaScript et à l'impression) ===== */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.3,.7,.2,1),transform .8s cubic-bezier(.3,.7,.2,1)}
html.js .rv.in{opacity:1;transform:none}
html.js .opener:not(.in) .part-h .n::after{transform:scaleX(0)}
html.js .chart path.ln{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.3,.7,.2,1) .15s}
html.js .chart.in path.ln{stroke-dashoffset:0}
html.js .chart path.dsh,html.js .chart path.ar{opacity:0;transition:opacity .9s ease 1.1s}
html.js .chart.in path.dsh,html.js .chart.in path.ar{opacity:1}
html.js .chart rect.br{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%;transition:transform .9s cubic-bezier(.3,.7,.2,1)}
html.js .chart.in rect.br{transform:none}
html.js .chart rect.bh,html.js .schema rect.bh{transform:scaleX(0);transform-box:fill-box;transform-origin:0 50%;transition:transform 1s cubic-bezier(.3,.7,.2,1)}
html.js .chart.in rect.bh,html.js .schema.in rect.bh{transform:none}
@media print{html.js .rv,html.js .chart path,html.js .chart rect{opacity:1!important;transform:none!important;stroke-dashoffset:0!important}.rbar{display:none}}
@media (prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;transition:none}html.js .chart path.ln{stroke-dasharray:none;transition:none}html.js .chart path.dsh,html.js .chart path.ar{opacity:1;transition:none}html.js .chart rect.br,html.js .chart rect.bh,html.js .schema rect.bh{transform:none;transition:none}.kf,.duo-c,.cause3 div{transition:none}}
@media (max-width:640px){
 .opener .part-h h2{font-size:clamp(38px,11vw,52px)}
 .opener::after{font-size:240px;right:-24px}
 .pbody>.sub{padding-top:48px}
 .pbody>.sub+.sub{margin-top:48px}
}
.shot.nofade::after{display:none}
/* 123 mon école : grille à 3 IA */
.qgrid.q3 .qhead,.qgrid.q3 .qrow>summary{grid-template-columns:minmax(0,1fr) repeat(3,92px) 28px}
.qd.q3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.qd.q3{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.qgrid.q3 .qrow>summary{grid-template-columns:repeat(3,minmax(0,1fr)) 28px}.qd.q3{grid-template-columns:1fr}}
ul.txt{padding-left:22px;display:flex;flex-direction:column;gap:8px}
.mk.part{background:var(--warn-soft);color:var(--warn);font-family:var(--ui);font-weight:700;font-size:11.5px;letter-spacing:-.02em;line-height:1}
.qd small{color:var(--faint);font-size:11.5px}

/* v7 : places dans la grille des questions, étapes, tableaux de comparaison */
.qgrid.qr .qhead,.qgrid.qr .qrow>summary{grid-template-columns:minmax(0,1fr) repeat(3,124px) 28px}
.rks{display:flex;gap:3px;justify-content:center}
.rk{min-width:34px;height:26px;padding:0 4px;border-radius:6px;display:inline-grid;place-items:center;font-family:var(--ui);font-weight:700;font-size:13px;line-height:1;white-space:nowrap}
.rk sup{font-size:8.5px;margin-left:1px;vertical-align:5px}
.rk.r1{background:#1F7A4D;color:#fff}
.rk.r2{background:#CFE9D9;color:#1F5E3C}
.rk.r4{background:#FBEBC6;color:#8A5A00}
.rk.rx{background:var(--red-soft);color:var(--red);font-size:11px;font-weight:600}
.rk.rn{box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--faint)}
.rk-leg{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-family:var(--ui);font-size:13.5px;color:var(--muted);align-items:center}
.rk-leg span.i{display:inline-flex;align-items:center;gap:6px}
.qd .rkb{margin-top:12px}
.qd .rkb:first-of-type{margin-top:0}
.qd .rkd{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.06em;margin-bottom:3px;text-transform:uppercase}
.qd .rkb ol{gap:0}
.qd li.ot{color:var(--faint)}
.step.on{background:var(--red-soft)}
.step.on .tag{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.cmp td:first-child{font-weight:600;color:var(--ink)}
.sel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:860px){.sel{grid-template-columns:1fr}}
.sel article{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:12px}
.sel .sel-m{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sel .sel-q{font-family:var(--body);font-style:italic;font-size:18px;line-height:1.4;color:var(--ink)}
.sel .sel-p{font-family:var(--ui);font-size:15px;color:var(--ink)}
.sel blockquote{margin:0;padding:12px 16px;border-left:3px solid var(--navy);background:var(--paper);border-radius:0 8px 8px 0;font-family:var(--ui);font-size:15px;line-height:1.5;color:var(--ink)}
.sel .sel-v{font-family:var(--ui);font-size:15px;font-weight:600;padding:10px 14px;border-radius:10px}
.sel .sel-v.no{background:var(--red-soft);color:var(--red)}
.sel .sel-v.ok{background:var(--good-soft);color:var(--good)}
@media (max-width:760px){.rk{min-width:29px;height:24px;font-size:12px;padding:0 3px}.rk sup{font-size:7.5px}}
.steps.s4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:860px){.steps.s4{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps.s4{grid-template-columns:1fr}}
.rk{display:inline-flex;align-items:center;justify-content:center}
.rk sup{vertical-align:baseline;position:relative;top:-4px}
@media (max-width:760px){
  .qgrid.qr .qrow>summary{padding:12px 10px;gap:6px}
  .qgrid.qr .rks{gap:2px}
  .qgrid.qr .rk{min-width:0;width:27px;height:23px;font-size:11px;padding:0;border-radius:5px}
  .qgrid.qr .rk sup{font-size:7px;top:-3px}
  .qgrid.qr .rk.rx{font-size:9.5px}
  .qgrid.qr .cellm{min-width:0}
  .qgrid.qr .ai-l{font-size:9.5px;letter-spacing:.04em}
}
@media (max-width:760px){.qgrid.qr .qrow>summary{grid-template-columns:repeat(3,minmax(0,1fr)) 28px}.qgrid.qr .qhead{display:none}}
