/* Radar GEO — feuille de style du site
   Direction « carnet de relevés » : papier, encre, une seule couleur de balise.
   Archivo (titres), Source Serif 4 (texte), IBM Plex Mono (mesures), Caveat (annotations à la main).
   Pas de dégradés, pas d'ombres décoratives, presque pas de coins arrondis. */

:root{
  --paper:#FFFFFF; --card:#FFFFFF; --sunk:#F6F6F3; --ink:#1C1B18; --muted:#5C5A55; --line:#E3E1DB;
  --grid:rgba(28,27,24,.055);
  --signal:#D9480F; --signal-ink:#C2410C; --signal-dark:#9A3412; --signal-soft:#FCE3D3;
  /* --signal : orange de balise pour les aplats, traits et grands éléments.
     --signal-ink : le même orange un ton plus sombre pour le petit texte (contraste AA sur blanc). */
  --proven:#2F6B3F;
  --bar:#CAC7C0; --bar-strong:#8C8880;
  --band:#1C1B18; --band-ink:#EFEADF; --band-muted:#B7B0A0; --band-line:#3A3832; --signal-on-dark:#F2894E;
  --f-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --f-hand:"Caveat","Segoe Print","Bradley Hand",cursive;
  --wrap:1120px; --gutter:24px; --r:2px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.125rem;line-height:1.55;
  font-optical-sizing:auto}
::selection{background:var(--signal);color:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--signal-ink);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--signal-dark)}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;line-height:1.12;text-wrap:balance;letter-spacing:-.012em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
strong,b{font-weight:650}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
@media (max-width:640px){:root{--gutter:16px} body{font-size:1.0625rem}}

.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:var(--gutter)}

/* ---------- Petits éléments typographiques ---------- */
/* L'étiquette : une ligne de carnet en chasse fixe, pas un surtitre en capitales */
.eyebrow{font-family:var(--f-mono);font-size:.8rem;font-weight:500;letter-spacing:.02em;color:var(--muted);margin:0 0 1rem}
.eyebrow::before{content:"§ ";color:var(--signal)}
.lead{font-size:1.28rem;line-height:1.5;color:var(--ink);max-width:36em}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--f-mono)}
.nw{white-space:nowrap}
.tag{display:inline-block;font-family:var(--f-mono);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  color:var(--signal-ink);border:1.5px solid currentColor;padding:.15rem .5rem;transform:rotate(-2deg)}
/* L'annotation à la main, toujours dans la couleur de balise */
.hand{font-family:var(--f-hand);font-weight:600;font-size:1.35rem;line-height:1.1;color:var(--signal-ink);letter-spacing:0}
/* Le « + » qui révèle les autres IA */
.ai-more{position:relative;display:inline-grid;place-items:center;width:1.2em;height:1.2em;padding:0;margin:0 .05em;vertical-align:.1em;
  border:1.5px solid var(--signal);border-radius:50%;background:transparent;color:var(--signal-ink);cursor:help;
  font:600 .72em/1 var(--f-mono)}
.ai-more:hover,.ai-more.is-open{background:var(--signal);color:#fff}
.ai-more__tip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:5;
  width:max-content;max-width:min(15rem,80vw);padding:.5rem .7rem;background:var(--ink);color:#fff;text-align:left;white-space:normal;
  font:400 .78rem/1.45 var(--f-mono);letter-spacing:0}
.ai-more__tip::after{content:"";position:absolute;top:100%;left:50%;margin-left:calc(-5px - var(--shift,0px));border:5px solid transparent;border-top-color:var(--ink)}
.ai-more:hover .ai-more__tip,.ai-more:focus-visible .ai-more__tip,.ai-more.is-open .ai-more__tip{display:block}
.site-foot .ai-more{border-color:var(--signal-on-dark);color:var(--signal-on-dark)}
.site-foot .ai-more:hover,.site-foot .ai-more.is-open{background:var(--signal-on-dark);color:var(--ink)}
.site-foot .ai-more__tip{background:var(--paper);color:var(--ink)}
.site-foot .ai-more__tip::after{border-top-color:var(--paper)}

/* Flèches tracées à la main, dans la couleur de l'annotation */
.scribble{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;flex:none}
.scribble--up{width:.6em;height:1em;vertical-align:-.12em;margin-right:.3em}
.scribble--left{width:3.2rem;height:1.4rem;display:block;margin-bottom:.1rem}
.findings .hand--note,.hand--note{display:block;margin:.8rem 0 0;font-family:var(--f-hand);font-weight:600;color:var(--signal-ink);font-size:1.45rem;transform:rotate(-2.5deg);transform-origin:left}
@media (max-width:960px){.scribble--left{transform:rotate(80deg);transform-origin:center;margin:.2rem 0 .3rem}}
.grid-paper{background-color:var(--sunk);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:24px 24px;background-position:-1px -1px}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-display);font-weight:700;font-size:1rem;line-height:1.2;
  text-decoration:none;padding:.85rem 1.3rem;border-radius:var(--r);border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer}
.btn:hover{background:var(--signal-ink);border-color:var(--signal-ink);color:#fff}
.btn--line{background:transparent;color:var(--ink)}
.btn--line:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn--small{padding:.55rem .95rem;font-size:.92rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}

/* ---------- En-tête ---------- */
.site-head{border-bottom:1.5px solid var(--ink);background:var(--paper)}
.site-head .wrap{display:flex;align-items:center;gap:2rem;min-height:72px}
.brand{font-family:var(--f-display);font-weight:800;font-stretch:112%;letter-spacing:.06em;text-transform:uppercase;font-size:1.05rem;
  color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.55rem;white-space:nowrap}
.brand span{font-family:var(--f-mono);font-weight:600;font-stretch:normal;letter-spacing:.04em;font-size:.82em;color:var(--signal-ink);margin-left:-.15rem}
.brand svg{width:28px;height:28px;flex:none}
.brand .blip{fill:var(--signal)}
.brand .wave{stroke:var(--signal)}
.brand:hover{color:var(--ink)}
.nav{display:flex;gap:1.6rem;margin-left:auto;align-items:center}
.nav a{font-family:var(--f-display);font-weight:600;font-size:.98rem;color:var(--ink);text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{border-bottom-color:var(--ink)}
.nav a[aria-current="page"]{border-bottom-color:var(--signal-ink);color:var(--signal-ink)}
.nav .btn{color:var(--paper);border-bottom:2px solid var(--ink)}
.nav .btn:hover{border-bottom-color:var(--signal-ink);color:#fff}
@media (max-width:860px){
  .site-head .wrap{flex-wrap:wrap;gap:.2rem 1rem;padding-top:.8rem;padding-bottom:.6rem}
  .nav{width:100%;margin-left:0;gap:1.2rem;overflow-x:auto;padding-bottom:.2rem}
  .nav .btn{display:none}
  .head-cta{margin-left:auto}
}
@media (min-width:861px){.head-cta{display:none}}
@media (max-width:640px){.nav{gap:1.1rem}.nav a{font-size:.95rem}}

/* ---------- Sections ---------- */
section{padding:88px 0}
.section--sunk{background:var(--sunk)}
.section--band{background:var(--band);color:var(--band-ink)}
.section--band .eyebrow{color:var(--band-muted)}
.section--band .eyebrow::before{color:var(--signal-on-dark)}
.section--band p{color:var(--band-muted)}
.section--band h2{color:#fff}
.section-head{max-width:46rem;margin-bottom:2.8rem}
.section-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;font-stretch:106%;margin-bottom:1rem}
.section-head p{color:var(--muted);font-size:1.15rem;margin:0}
/* Titre à gauche, texte à droite, aligné sur le bas du titre */
.section-head--split{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px 64px;align-items:end}
.section-head--split h2{margin:0}
@media (max-width:860px){.section-head--split{grid-template-columns:minmax(0,1fr)}}
/* Titre seul */
.section-head--bare h2{margin:0}
/* Titre, puis le calcul et une note manuscrite */
.calc-line{font-family:var(--f-mono);font-size:.95rem;color:var(--ink);margin:0 0 .6rem}
.section-head .calc-line{color:var(--ink);font-size:.95rem}
.calc-line span{border-bottom:1px dashed var(--line)}
.calc-line b{color:var(--signal-ink);font-weight:600}
.section-head--calc .hand{font-size:1.35rem;color:var(--signal-ink);margin:0;transform:rotate(-1deg);transform-origin:left}
.section--band .section-head p{color:var(--band-muted)}
@media (max-width:640px){section{padding:60px 0}}

/* Titre de section hors .section-head */
.h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;font-stretch:106%;margin-bottom:1rem}
.intro{color:var(--muted);font-size:1.15rem}

/* ---------- Accueil : ouverture ---------- */
.hero{padding:72px 0 96px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:start}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:800;font-stretch:108%;letter-spacing:-.025em;line-height:1.02;margin-bottom:1.5rem}
.hero h1 em{font-style:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(transparent 62%,var(--signal-soft) 62%,var(--signal-soft) 92%,transparent 92%)}
.hero .lead{margin-bottom:2rem}
.hero .fine{margin-top:1.2rem;font-family:var(--f-mono);font-size:.82rem;color:var(--muted);max-width:34rem}
.byline{display:flex;align-items:center;gap:.7rem;margin:1.4rem 0 0;font-family:var(--f-display);font-size:.92rem;color:var(--muted)}
.byline a{font-weight:600}
.mini-stamp{display:grid;place-items:center;flex:none;width:2.4rem;height:2.4rem;border:1.5px solid var(--signal);border-radius:50%;
  font-family:var(--f-display);font-weight:800;font-stretch:115%;font-size:.8rem;color:var(--signal-ink);transform:rotate(-8deg)}
@media (max-width:960px){.hero .wrap{grid-template-columns:minmax(0,1fr);gap:48px}}
@media (max-width:640px){.hero{padding:44px 0 64px}}
/* Les chiffres, dans le prolongement de l'accroche : même fond, aucun trait */
.hero .wrap.hero-stats{display:block;margin-top:56px}
.stats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 48px}
.stats b{display:block;font-family:var(--f-mono);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1;letter-spacing:-.02em;margin-bottom:.5rem}
.stats span{display:block;font-size:1rem;color:var(--muted);max-width:22rem}
.hero-stats .sources{margin-top:1.4rem}
@media (max-width:760px){.stats{grid-template-columns:minmax(0,1fr)}.hero .wrap.hero-stats{margin-top:40px}}

/* La « réponse d'IA » : une fiche de relevé, pas une fausse interface de clavardage */
.answer{margin:0;border:1.5px solid var(--ink);background:var(--card);position:relative}
@media (min-width:961px){.answer{transform:rotate(.7deg);margin-top:1rem}}
.answer__meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.55rem 1.2rem;border-bottom:1.5px solid var(--ink);
  font-family:var(--f-mono);font-size:.74rem;color:var(--muted);letter-spacing:.02em}
.answer__meta b{color:var(--signal-ink);font-weight:600}
.answer__q{padding:1.1rem 1.4rem;border-bottom:1px dashed var(--line)}
.answer__label{display:block;font-family:var(--f-mono);font-size:.74rem;color:var(--muted);margin-bottom:.35rem}
.answer__q p{margin:0;font-family:var(--f-display);font-weight:700;font-size:1.2rem}
.answer__a{padding:1.2rem 1.4rem 1.4rem}
.answer__a > p{margin-bottom:.8rem}
.answer__a ol{list-style:none;padding:0;margin:0;counter-reset:r}
.answer__a li{counter-increment:r;display:grid;grid-template-columns:1.8rem 1fr;padding:.55rem 0;border-top:1px solid var(--line)}
.answer__a li::before{content:counter(r) ".";font-family:var(--f-mono);font-weight:500;color:var(--muted)}
.answer__a li b{font-family:var(--f-display)}
.answer__a li span{color:var(--muted)}
.answer__a li.you{border:1.5px dashed var(--signal);padding:.55rem .6rem;margin-top:.7rem}
.answer__a li.you::before{content:"?";color:var(--signal-ink);font-weight:600}
.answer__a li.you b{color:var(--signal-ink)}
.answer__a li.you .hand{grid-column:2;display:block;margin-top:.35rem;font-size:1.3rem}
.answer__sources{margin:1rem 0 0;font-family:var(--f-mono);font-size:.78rem;color:var(--ink)}
.answer__sources span{display:block;color:var(--muted);margin-bottom:.15rem}
.answer figcaption{padding:.8rem 1.4rem;border-top:1.5px solid var(--ink);font-family:var(--f-mono);font-size:.74rem;line-height:1.5;color:var(--muted)}

/* ---------- Le test ---------- */
.tester{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
@media (max-width:860px){.tester{grid-template-columns:minmax(0,1fr);gap:32px}}
.tester form{background:var(--card);border:1.5px solid var(--ink);padding:1.6rem}
.field{margin-bottom:1.1rem}
.field label{display:block;font-family:var(--f-display);font-weight:650;font-size:.95rem;margin-bottom:.4rem}
.field .hint{font-family:var(--f-display);font-size:.82rem;color:var(--muted);margin:.35rem 0 0}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],select,textarea{
  width:100%;font:inherit;font-family:var(--f-display);font-size:1rem;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-bottom-color:var(--ink);border-radius:var(--r);padding:.7rem .8rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-soft)}
textarea{min-height:7rem;resize:vertical}
.prompt{border-left:3px solid var(--signal);background:var(--signal-soft);padding:1rem 1.2rem;margin:1.2rem 0 1rem}
.prompt span{display:block;font-family:var(--f-mono);font-size:.74rem;color:var(--signal-dark);margin-bottom:.3rem}
.prompt q{font-family:var(--f-display);font-weight:700;font-size:1.15rem;quotes:"« " " »"}
.steps-list{counter-reset:s;list-style:none;padding:0;margin:0}
.steps-list li{counter-increment:s;position:relative;padding:0 0 1.1rem 2.6rem}
.steps-list li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:.15rem;
  font-family:var(--f-mono);font-weight:600;font-size:.85rem;color:var(--signal-ink)}

/* ---------- Comment l'IA choisit ---------- */
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:2px solid var(--ink);padding:0;margin:0}
.flow li{list-style:none;padding:1.2rem 1.2rem 0 0;position:relative}
.flow li + li{padding-left:1.2rem;border-left:1px solid var(--line)}
.flow h3{font-size:1.08rem;font-weight:750;margin-bottom:.4rem}
.flow h3 small{display:block;font-family:var(--f-mono);font-size:.78rem;font-weight:500;letter-spacing:0;color:var(--signal-ink);margin-bottom:.35rem}
.flow p{font-size:1rem;color:var(--muted);margin:0}
.flow .funnel{display:block;margin-top:.9rem;font-family:var(--f-mono);font-size:.78rem;font-weight:500;color:var(--ink)}
.flow .funnel::before{content:"→ ";color:var(--signal)}
.flow li:last-child .funnel{color:var(--signal-ink);font-weight:600}
@media (max-width:900px){
  .flow{grid-template-columns:minmax(0,1fr)}
  .flow li,.flow li + li{padding:1rem 0;border-left:0;border-bottom:1px solid var(--line)}
}
/* ---------- L'affirmation, en pleine largeur ---------- */
.statement{background:var(--band);color:var(--band-ink);padding:96px 0}
.statement__inner{padding:0 clamp(16px,5vw,72px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px 72px;align-items:end}
.statement__big{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(2rem,5.2vw,4.6rem);line-height:1.02;
  letter-spacing:-.025em;color:#fff;margin:0;text-wrap:balance}
.statement__text p{color:var(--band-muted);font-size:1.05rem;margin:0 0 .9rem;max-width:32em}
.statement__text p:last-child{margin:0}
.statement em{font-style:normal;color:var(--signal-on-dark);font-family:var(--f-mono);font-size:.95em}
@media (max-width:900px){.statement{padding:64px 0}.statement__inner{grid-template-columns:minmax(0,1fr)}}
.sources{margin-top:1.2rem;font-family:var(--f-mono);font-size:.74rem;line-height:1.6;color:var(--muted);max-width:60rem}

/* ---------- Le mot du fondateur ---------- */
.letter{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,40rem);gap:64px;align-items:start}
@media (max-width:820px){.letter{grid-template-columns:minmax(0,1fr);gap:28px}}
.portrait{margin:0}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(.15) contrast(1.02);border:1.5px solid var(--ink)}
/* Tampon en attendant la photo */
.monogram{display:grid;place-items:center;width:100%;aspect-ratio:4/5;border:1.5px solid var(--ink);background:var(--card)}
.monogram span{display:grid;place-items:center;width:62%;aspect-ratio:1;border:2px solid var(--signal);border-radius:50%;
  font-family:var(--f-display);font-weight:800;font-stretch:115%;font-size:2.6rem;color:var(--signal);transform:rotate(-8deg);
  box-shadow:inset 0 0 0 6px var(--card),inset 0 0 0 7.5px var(--signal)}
.portrait figcaption{font-family:var(--f-mono);font-size:.75rem;color:var(--muted);margin-top:.7rem;line-height:1.5}
@media (max-width:820px){.portrait{max-width:12rem}}
.letter__body{font-size:1.2rem;line-height:1.6}
.letter__body h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;font-stretch:106%;margin-bottom:1.4rem}
.letter__body p{max-width:36em}
.signature{margin-top:1.6rem}
.signature .hand{display:block;font-size:2.6rem;line-height:1;color:var(--ink);transform:rotate(-3deg);transform-origin:left;margin-bottom:.3rem}
.signature small{font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}

/* ---------- Les trois étapes : un registre, pas trois cartes ---------- */
.ledger{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.ledger > li{display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1.25fr);gap:0 2rem;padding:1.8rem 0;border-bottom:1px solid var(--line)}
.ledger__no{font-family:var(--f-mono);font-weight:500;font-size:.9rem;color:var(--signal-ink);padding-top:.3rem}
.ledger h3{font-size:1.45rem;font-weight:780;margin-bottom:.5rem}
.ledger .price{font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:2rem;line-height:1;margin-bottom:.35rem}
.ledger .price small{font-size:.95rem;font-weight:600;color:var(--muted)}
.ledger .when{font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.ledger ul{font-size:1rem;padding-left:1.1em;margin:0 0 .9rem;list-style:square}
.ledger ul li{margin-bottom:.3rem}
.ledger ul li::marker{color:var(--signal)}
.ledger .note{font-family:var(--f-display);font-weight:650;font-size:.92rem;color:var(--proven);margin:0}
@media (max-width:760px){
  .ledger > li{grid-template-columns:2.8rem minmax(0,1fr);gap:.8rem 1rem}
  .ledger > li > :last-child{grid-column:2}
}
.aside-line{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin-top:2rem}

/* ---------- Les étapes en cartes (page Tarifs) ---------- */
.path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.path article{border:1.5px solid var(--ink);padding:1.6rem;display:flex;flex-direction:column;background:var(--card)}
.path .step{font-family:var(--f-mono);font-size:.8rem;font-weight:500;color:var(--signal-ink)}
.path h2,.path h3{font-size:1.4rem;font-weight:780;margin:.4rem 0 .6rem}
.path .price{font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:1.9rem;line-height:1;margin-bottom:.3rem}
.path .price small{font-size:.95rem;font-weight:600;color:var(--muted)}
.path .when{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);margin-bottom:1rem}
.path ul{font-size:1rem;padding-left:1.1em;margin-bottom:1.2rem}
.path li{margin-bottom:.35rem}
.path li::marker{color:var(--signal)}
.path .note{margin-top:auto;font-family:var(--f-display);font-weight:650;font-size:.9rem;color:var(--proven);border-top:1px dashed var(--line);padding-top:.9rem}
@media (max-width:900px){.path{grid-template-columns:minmax(0,1fr)}}

/* ---------- Exemple de rapport ---------- */
.report{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:48px;align-items:start}
@media (max-width:960px){.report{grid-template-columns:minmax(0,1fr)}}
.sheet{background:var(--card);border:1.5px solid var(--ink);padding:1.8rem;position:relative}
.sheet__top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;flex-wrap:wrap;
  font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.sheet h3{font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:800;font-stretch:106%;margin:.2rem 0 .4rem}
.sheet .sub{font-size:.98rem;color:var(--muted);margin-bottom:1.4rem}
.bars{list-style:none;padding:0;margin:0}
.bars li{display:grid;grid-template-columns:11rem minmax(0,1fr) 3.4rem;gap:0 1rem;align-items:center;padding:.45rem 0}
.bars .name{font-family:var(--f-display);font-weight:600;font-size:.98rem}
.bars .track{height:20px;background:var(--sunk);position:relative;overflow:hidden}
.bars .fill{position:absolute;inset:0 auto 0 0;background:var(--bar)}
.bars .first{position:absolute;inset:0 auto 0 0;background:var(--bar-strong)}
.bars .val{font-family:var(--f-mono);font-weight:600;text-align:right;font-variant-numeric:tabular-nums;position:relative}
.bars li.you .name{font-weight:800}
.bars li.you .name span{font-weight:400;color:var(--muted)}
.bars li.you .fill{background:var(--signal)}
.bars li.you .val{color:var(--signal-ink)}
/* Le chiffre entouré au stylo */
.bars li.you .val::after{content:"";position:absolute;inset:-.45rem -.55rem -.45rem -.35rem;border:2px solid var(--signal);
  border-radius:52% 48% 55% 45% / 50% 58% 42% 50%;transform:rotate(-6deg)}
.bars .hand{grid-column:2 / -1;font-size:1.25rem;margin-top:.15rem}
.legend{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.2rem;font-family:var(--f-mono);font-size:.75rem;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;margin-right:.4rem;vertical-align:-1px}
.legend .l-named{background:var(--bar)}
.legend .l-first{background:var(--bar-strong)}
@media (max-width:560px){
  .sheet{padding:1.2rem}
  .bars li{grid-template-columns:minmax(0,1fr) 3rem;gap:.3rem .6rem}
  .bars .track{grid-column:1 / -1;grid-row:2}
  .bars .hand{grid-column:1 / -1;grid-row:3}
}
.findings{list-style:none;padding:0;margin:0}
.findings li{border-top:2px solid var(--ink);padding:1rem 0 1.2rem}
.findings b{display:block;font-family:var(--f-mono);font-weight:600;font-size:2rem;line-height:1;letter-spacing:-.02em}
.findings span{display:block;font-family:var(--f-mono);font-size:.8rem;color:var(--muted);margin:.45rem 0 .3rem}
.findings p{font-size:.98rem;margin:0}

/* ---------- Pour qui ---------- */
.who{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
@media (max-width:860px){.who{grid-template-columns:minmax(0,1fr);gap:24px}}
.sector-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.sector-list li{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.sector-list b{font-family:var(--f-display);font-weight:700;font-size:1.05rem}
.sector-list span{color:var(--muted);font-size:1rem;font-style:italic}
@media (max-width:600px){.sector-list li{grid-template-columns:minmax(0,1fr);gap:.2rem}}

/* ---------- Lettre d'engagement : une colonne étroite, signée ---------- */
.pledge{max-width:38rem;margin:0 auto;background:var(--card);border:1.5px solid var(--ink);padding:clamp(1.6rem,5vw,3.2rem);
  position:relative;font-size:1.12rem;line-height:1.65}
@media (min-width:861px){.pledge{transform:rotate(-.5deg)}}
.pledge__meta{font-family:var(--f-mono);font-size:.75rem;color:var(--muted);margin-bottom:1.6rem}
.pledge h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;font-stretch:106%;margin-bottom:1.4rem;padding-right:3rem}
.pledge__list{list-style:none;padding:0;margin:0 0 1.4rem;counter-reset:c}
.pledge__list li{counter-increment:c;display:grid;grid-template-columns:3.4rem minmax(0,1fr);padding:.55rem 0;border-top:1px dashed var(--line)}
.pledge__list li:last-child{border-bottom:1px dashed var(--line)}
.pledge__list li::before{content:"art. " counter(c);font-family:var(--f-mono);font-size:.78rem;color:var(--signal-ink);padding-top:.3rem}
.pledge__stamp{position:absolute;top:1.4rem;right:1.4rem;width:3.4rem;height:3.4rem;font-size:1rem}
.pledge .signature .hand{font-size:2.4rem}
.letter__contact{font-family:var(--f-mono);font-size:.9rem;margin-top:1.4rem}

/* ---------- Appel à l'action ---------- */
.cta{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:end}
.cta h2{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800;font-stretch:106%;margin-bottom:1rem}
.cta p{font-size:1.15rem;color:var(--muted);margin:0}
.cta .btn-row{justify-content:flex-end}
@media (max-width:860px){.cta{grid-template-columns:minmax(0,1fr);gap:24px}.cta .btn-row{justify-content:flex-start}}

/* ---------- Pages intérieures ---------- */
.page-head{padding:64px 0 48px;border-bottom:1.5px solid var(--ink)}
.page-head h1{font-size:clamp(2.1rem,4.6vw,3.3rem);font-weight:800;font-stretch:108%;letter-spacing:-.02em;margin-bottom:1rem;max-width:20em}
.page-head .lead{color:var(--muted)}
.page-head--bare{border-bottom:0}
.updated{font-family:var(--f-mono);font-size:.75rem;color:var(--muted);margin:1.2rem 0 0}
@media (max-width:640px){.page-head{padding:40px 0 32px}}

/* Tableau des forfaits */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}
.plans{border-collapse:separate;border-spacing:0;width:100%;min-width:640px;font-family:var(--f-display)}
.plans th,.plans td{padding:.85rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.plans thead th{vertical-align:bottom;border-bottom:2px solid var(--ink);padding-top:1.8rem}
.plans thead .plan{display:block;font-size:1.2rem;font-weight:780}
.plans thead .amt{display:block;font-size:1.8rem;font-weight:800;font-stretch:108%;margin-top:.3rem;font-variant-numeric:tabular-nums}
.plans thead .amt small{font-size:.9rem;font-weight:600;color:var(--muted)}
.plans thead .for{display:block;font-family:var(--f-body);font-weight:400;font-size:.95rem;color:var(--muted);margin-top:.3rem}
.plans tbody th{font-weight:600;color:var(--muted);font-size:.95rem;width:26%}
.plans td{font-weight:600}
.plans .reco{background:var(--card);border-left:1.5px solid var(--ink);border-right:1.5px solid var(--ink)}
.plans thead th.reco{position:relative;border-top:1.5px solid var(--ink)}
.plans tbody tr:last-child .reco{border-bottom:1.5px solid var(--ink)}
.plans .flag{position:absolute;top:.4rem;left:1rem;font-family:var(--f-hand);font-size:1.25rem;font-weight:600;color:var(--signal-ink)}

.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
@media (max-width:860px){.two{grid-template-columns:minmax(0,1fr);gap:40px}}
.terms{list-style:none;padding:0;margin:0}
.terms li{padding:.9rem 0;border-bottom:1px solid var(--line)}
.terms li:first-child{border-top:2px solid var(--ink)}
.terms b{font-family:var(--f-display);display:block;margin-bottom:.15rem}
.terms span{color:var(--muted);font-size:1rem}

.calc{border:1.5px solid var(--ink);padding:1.6rem}
.calc h2{font-size:1.4rem;margin-bottom:.5rem}
.calc > p{font-size:1rem;color:var(--muted)}
.calc .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
@media (max-width:480px){.calc .row{grid-template-columns:minmax(0,1fr)}}
.result{margin-top:.6rem;border-top:2px solid var(--ink);padding-top:1rem}
.result b{font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:2.4rem;line-height:1;display:block;margin-bottom:.4rem}
.result p{font-size:1rem;margin:0}

/* Questions */
.faq{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:64px;align-items:start}
.faq nav{position:sticky;top:24px;font-family:var(--f-display)}
.faq nav p{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);margin-bottom:.6rem}
.faq nav ul{list-style:none;padding:0;margin:0}
.faq nav a{display:block;padding:.4rem 0;color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem;border-bottom:1px solid var(--line)}
.faq nav a:hover{color:var(--signal-ink)}
@media (max-width:860px){.faq{grid-template-columns:minmax(0,1fr);gap:24px}.faq nav{position:static}}
.faq-group{margin-bottom:3rem;scroll-margin-top:24px}
.faq-group > h2{font-family:var(--f-mono);font-size:.85rem;font-weight:500;letter-spacing:0;color:var(--signal-ink);padding-bottom:.6rem;border-bottom:2px solid var(--ink)}
.faq-group > h2::before{content:"§ "}
.qa{padding:1.5rem 0;border-bottom:1px solid var(--line)}
.qa h3{font-size:1.3rem;font-weight:750;margin-bottom:.7rem}
.qa .short{font-family:var(--f-display);font-weight:650}
.qa p:last-child{margin-bottom:0}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:start}
@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr);gap:40px}}
.contact form{border:1.5px solid var(--ink);background:var(--card);padding:1.8rem}
.contact form h2{font-size:1.5rem;margin-bottom:.5rem}
.contact form > p{color:var(--muted);font-size:1rem}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1rem}
.form-note{font-family:var(--f-mono);font-size:.75rem;line-height:1.5;color:var(--muted);margin:1rem 0 0}
.form-status{font-family:var(--f-display);font-size:.95rem;margin-top:1rem}
.aside-block{padding:1.4rem 0;border-top:1px solid var(--line)}
.aside-block:first-child{border-top:2px solid var(--ink)}
.aside-block h2{font-size:1.15rem;margin-bottom:.5rem}
.aside-block p{font-size:1rem;color:var(--muted)}
.aside-block dl{margin:0;font-family:var(--f-display);font-size:1rem}
.aside-block dt{font-family:var(--f-mono);font-size:.75rem;color:var(--muted);margin-top:.8rem}
.aside-block dd{margin:.15rem 0 0;font-weight:600}
.aside-block .steps-list{margin-top:.8rem}
@media (max-width:560px){.contact form,.tester form,.calc{padding:1.2rem}}

/* Texte long (confidentialité) */
.prose{max-width:44rem}
.prose h2{font-size:1.4rem;margin:2.4rem 0 .8rem}
.prose li{margin-bottom:.4rem}

/* Page introuvable */
.lost{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,16rem);gap:48px;align-items:center}
.lost svg{width:100%;height:auto;color:var(--ink)}
.lost .blip{fill:var(--signal)}
@media (max-width:760px){.lost{grid-template-columns:minmax(0,1fr)}.lost svg{max-width:12rem}}

/* ---------- Pied de page ---------- */
.site-foot{background:var(--band);color:var(--band-muted);padding:56px 0 32px;font-family:var(--f-display);font-size:.95rem}
.site-foot .cols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:40px}
@media (max-width:760px){.site-foot .cols{grid-template-columns:minmax(0,1fr);gap:28px}}
.site-foot .brand{color:#fff;margin-bottom:.8rem}
.site-foot .brand span,.site-foot .brand .blip{color:var(--signal-on-dark);fill:var(--signal-on-dark)}
.site-foot .brand .wave{stroke:var(--signal-on-dark)}
.site-foot .brand:hover{color:#fff}
.site-foot h2{font-family:var(--f-mono);font-size:.78rem;font-weight:500;letter-spacing:0;color:#fff;margin-bottom:.8rem}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin-bottom:.45rem}
.site-foot a{color:var(--band-ink);text-decoration:none}
.site-foot a:hover{color:var(--signal-on-dark);text-decoration:underline}
.site-foot .legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--band-line);display:flex;justify-content:space-between;gap:.6rem 1.5rem;flex-wrap:wrap;
  font-family:var(--f-mono);font-size:.74rem;line-height:1.6}
.site-foot .colophon{flex-basis:100%;color:var(--band-muted);opacity:.85}
