/* ==========================================================================
   DediCrypto — pages intérieures (chargée EN PLUS de site.css, jamais seule).
   Mêmes jetons (couleurs, rayons, ombres, polices) que site.css : rien n'est
   redéfini ici, seulement des composants propres aux pages intérieures.
   [!] CSP style-src 'self' : aucun style en ligne.
   Sommaire : 1 ouverture de page · 2 fil d'Ariane · 3 cartes · 4 fiches &
   tableaux · 5 encadrés · 6 texte long · 7 documents + sommaire · 8 étapes &
   grilles · 9 configurateur de commande · 10 statut · 11 latence · 12 contact
   & clés · 13 blog & base de connaissances · 14 FAQ · 15 responsive
   ========================================================================== */

/* 1 · Ouverture de page ----------------------------------------------------- */
.intro{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--ink-200)}
/* Trame de points (écho de la carte du monde), estompée vers la gauche. */
.intro::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(16,24,40,.13) 1px,transparent 1.4px);background-size:14px 14px;
  -webkit-mask-image:linear-gradient(100deg,transparent 38%,#000 92%);mask-image:linear-gradient(100deg,transparent 38%,#000 92%)}
.intro::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:-1;background:linear-gradient(90deg,var(--em-600),var(--mint) 40%,transparent 75%);opacity:.55}
.intro .wrap{padding-top:18px;padding-bottom:40px}
.intro__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center;margin-top:22px}
.intro--split .intro__grid{grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:56px}
.intro--split .intro__copy{max-width:none}
.intro__copy{max-width:760px}
.intro h1{font-size:clamp(34px,3.6vw,48px);line-height:1.06;letter-spacing:-.035em;margin:14px 0 0}
.intro h1 em{font-style:normal;color:var(--em-700)}
.intro__lead{font-size:18px;line-height:1.6;color:var(--ink-600);margin-top:14px;max-width:680px;text-wrap:pretty}
.intro__lead strong{color:var(--ink-900);font-weight:600}
.intro__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.intro__facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(16,24,40,.08)}
.intro__facts li{display:flex;flex-direction:column;gap:2px}
.intro__facts b{font:600 20px/1.1 var(--font-display);color:var(--ink-900);letter-spacing:-.02em}
.intro__facts span{font-size:13px;color:var(--ink-500)}
.intro__aside{min-width:0}
.intro--tight .wrap{padding-bottom:30px}
.intro--tight h1{font-size:clamp(30px,3vw,42px)}

/* Carte « faits clés » posée à droite de l'ouverture. */
.icard{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh-lg),inset 0 0 0 1px rgba(16,24,40,.06);padding:20px 22px}
.icard__t{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font:600 15px/1.2 var(--font-display);color:var(--ink-900)}
.icard .kv{margin:0}
.icard .btn{margin-top:14px}

/* 2 · Fil d'Ariane ---------------------------------------------------------- */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font:500 12px/1.4 var(--font-mono);letter-spacing:.02em;color:var(--ink-500)}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";margin:0 9px;color:var(--ink-300)}
.crumbs a{color:var(--ink-600)}
.crumbs a:hover{color:var(--em-800)}
.crumbs [aria-current]{color:var(--ink-900);max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 3 · Cartes ---------------------------------------------------------------- */
/* Cartes de liens (pages connexes, catégories, usages). */
.lcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.lcard{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ico t" "ico d";column-gap:14px;row-gap:4px;align-items:start;
  padding:16px 40px 16px 16px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs);color:var(--ink-700);
  transition:box-shadow .2s,transform .2s var(--ease)}
.lcard:hover{box-shadow:inset 0 0 0 1px var(--em-300),var(--sh-md);transform:translateY(-2px);color:var(--ink-700)}
.lcard .card__ico{grid-area:ico;width:38px;height:38px}
.lcard__t{grid-area:t;font:600 16px/1.3 var(--font-display);letter-spacing:-.01em;color:var(--ink-900);align-self:center}
.lcard__d{grid-area:d;font-size:14px;line-height:1.5;color:var(--ink-600)}
.lcard__go{position:absolute;right:14px;top:18px;color:var(--em-700);transition:transform .2s var(--ease)}
.lcard__go .i{font-size:17px}
.lcard:hover .lcard__go{transform:translateX(3px)}

/* Carte serveur compacte. */
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.scard{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs);color:var(--ink-700);transition:box-shadow .2s,transform .2s var(--ease)}
.scard:hover{box-shadow:inset 0 0 0 1px var(--em-300),var(--sh-md);transform:translateY(-2px);color:var(--ink-700)}
.scard__top{display:flex;align-items:center;gap:12px}
.scard__name{display:flex;flex-direction:column;min-width:0}
.scard__name strong{font:600 15.5px/1.3 var(--font-body);color:var(--ink-900)}
.scard__name small{font-size:13px;color:var(--ink-500)}
.scard__note{font-size:13.5px;line-height:1.5;color:var(--ink-600)}
.scard__specs{display:flex;flex-wrap:wrap;gap:6px}
.scard__specs span{font:500 11.5px/1 var(--font-mono);padding:5px 8px;border-radius:6px;background:var(--ink-100);color:var(--ink-700)}
.scard__foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--ink-150)}
.scard__price{font-size:13px;color:var(--ink-500);margin-right:auto}
.scard__price b{font:600 20px/1 var(--font-display);color:var(--ink-900);letter-spacing:-.02em}
.scard__foot>.i{font-size:16px;color:var(--em-700);transition:transform .2s var(--ease)}
.scard:hover .scard__foot>.i{transform:translateX(3px)}
.srv__link{color:inherit}
.srv__link:hover{color:var(--em-800)}
.cat__count{font-size:14px;color:var(--ink-600)}
.cat__count b{color:var(--ink-900);font-weight:600}

/* Grille de points forts (pictogramme + titre + texte) sur 3 colonnes. */
.feats--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.feats--cards .feat{padding:18px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}

/* 4 · Fiches & tableaux ------------------------------------------------------ */
.kv{display:grid;margin:0;border-top:1px solid var(--ink-150)}
.kv>div{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--ink-150)}
.kv dt{font:500 11.5px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);padding-top:2px}
.kv dd{margin:0;font-size:15px;line-height:1.5;color:var(--ink-900);font-weight:500}
.kv dd small{display:block;font-size:13px;color:var(--ink-500);font-weight:400}
.kv--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}

/* Tableau de données générique ; .tscroll = défilement horizontal sur mobile. */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs);background:var(--white)}
.ctable{width:100%;font-size:14.5px;border-collapse:collapse}
.ctable th,.ctable td{padding:12px 16px;border-bottom:1px solid var(--ink-150);text-align:left;vertical-align:top}
.ctable thead th{background:var(--ink-50);font:500 11.5px/1.3 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500);white-space:nowrap}
.ctable tbody th{font-weight:600;color:var(--ink-900)}
.ctable tbody tr:last-child th,.ctable tbody tr:last-child td{border-bottom:0}
.ctable td{color:var(--ink-700)}
.ctable .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ctable .is-us{background:rgba(239,250,245,.6);color:var(--ink-900)}
.ctable thead .is-us{background:var(--em-50);color:var(--em-800)}
.ctable .yes{color:var(--em-700);font-weight:600}
.ctable .no{color:var(--ink-500)}
.ctable .i{display:inline-block;vertical-align:-3px;margin-right:6px;font-size:16px}
.ctable tfoot td{background:var(--ink-50);font-size:13px;color:var(--ink-500)}
.ctable--tight th,.ctable--tight td{padding:9px 14px}

/* 5 · Encadrés ------------------------------------------------------------- */
.note{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r);background:var(--ink-50);box-shadow:inset 0 0 0 1px var(--ink-200);font-size:14.5px;line-height:1.6;color:var(--ink-700)}
.note>.i{font-size:18px;margin-top:2px;color:var(--ink-500)}
.note strong{color:var(--ink-900)}
.note p+p{margin-top:6px}
.note--ok{background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-100)}
.note--ok>.i{color:var(--em-700)}
.note--warn{background:#FFFAEB;box-shadow:inset 0 0 0 1px #FEDF89}
.note--warn>.i{color:var(--amber-700)}

/* 6 · Texte long (pages légales, articles, documentation) -------------------- */
.prose{font-size:16.5px;line-height:1.72;color:var(--ink-700);max-width:760px}
.prose>*+*{margin-top:16px}
.prose h2{font-size:clamp(23px,2.2vw,28px);letter-spacing:-.025em;margin-top:44px;scroll-margin-top:calc(var(--hdr-h) + 20px)}
.prose h3{font-size:19px;letter-spacing:-.015em;margin-top:30px;scroll-margin-top:calc(var(--hdr-h) + 20px)}
.prose h2+*,.prose h3+*{margin-top:10px}
.prose>h2:first-child{margin-top:0}
.prose a:not(.btn){color:var(--em-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(7,122,93,.35)}
.prose a:not(.btn):hover{text-decoration-color:currentColor}
.prose strong{color:var(--ink-900);font-weight:600}
.prose ul,.prose ol{padding-left:0}
.prose ul>li{position:relative;padding-left:22px}
.prose ul>li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:2px;border-radius:2px;background:var(--em-500)}
.prose ol{counter-reset:li}
.prose ol>li{position:relative;padding-left:32px;counter-increment:li}
.prose ol>li::before{content:counter(li);position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--em-50);color:var(--em-800);font:500 12px/1 var(--font-mono);box-shadow:inset 0 0 0 1px var(--em-100)}
.prose li+li{margin-top:8px}
.prose li>ul,.prose li>ol{margin-top:8px}
.prose code{font:500 .86em/1.4 var(--font-mono);padding:2px 6px;border-radius:5px;background:var(--ink-100);color:var(--ink-900);word-break:break-word}
.prose pre,.code{position:relative;margin-top:16px;padding:16px 18px;border-radius:var(--r);background:var(--ink-900);color:#E6EBF1;font:500 13.5px/1.65 var(--font-mono);overflow-x:auto;-webkit-overflow-scrolling:touch;tab-size:2}
.prose pre code,.code code{padding:0;background:none;color:inherit;font:inherit;word-break:normal}
.prose pre .c,.code .c{color:#8E9BAA}
.prose pre .p,.code .p{color:var(--mint);user-select:none}
.prose blockquote{padding:4px 0 4px 18px;border-left:3px solid var(--em-300);color:var(--ink-600)}
.prose table{width:100%;font-size:15px;border-collapse:collapse;display:block;overflow-x:auto}
.prose th,.prose td{padding:10px 12px;border-bottom:1px solid var(--ink-150);text-align:left;vertical-align:top}
.prose thead th{font:500 11.5px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);background:var(--ink-50)}
.prose hr{border:0;border-top:1px solid var(--ink-200);margin:36px 0}
.prose .note{margin-top:18px}
.prose .lead{font-size:18.5px;line-height:1.65;color:var(--ink-600)}
.prose dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px}
.prose dt{font-weight:600;color:var(--ink-900)}
.prose dd{margin:0}
/* Bouton « copier » ajouté par pages.js sur les blocs de code et de clé. */
.copy{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:7px;background:rgba(255,255,255,.08);color:#C7D0DB;font:600 12px/1 var(--font-body);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.copy:hover{background:rgba(255,255,255,.14);color:#fff}
.copy .i{font-size:14px}
.copy.is-done{color:var(--mint)}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:13.5px;color:var(--ink-500)}
.meta span{display:inline-flex;align-items:center;gap:6px}
.meta .i{font-size:15px}

/* 7 · Documents + sommaire --------------------------------------------------- */
.doc{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;align-items:start}
.doc--rail{grid-template-columns:230px minmax(0,1fr) 260px}
.toc{position:sticky;top:calc(var(--hdr-h) + 24px);max-height:calc(100vh - var(--hdr-h) - 48px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px}
.toc__t{font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-bottom:12px}
.toc ol{display:grid;gap:2px;border-left:1px solid var(--ink-200)}
.toc a{display:block;margin-left:-1px;padding:6px 0 6px 14px;border-left:2px solid transparent;font-size:14px;line-height:1.4;color:var(--ink-600)}
.toc a:hover{color:var(--ink-900)}
.toc a.is-on{border-left-color:var(--em-600);color:var(--em-800);font-weight:600}
.doc__rail{position:sticky;top:calc(var(--hdr-h) + 24px);display:grid;gap:14px}
.updated{display:inline-flex;align-items:center;gap:8px;font:500 12px/1 var(--font-mono);color:var(--ink-500);letter-spacing:.02em}
.updated .i{font-size:14px}

/* 8 · Étapes, grilles, chiffres ------------------------------------------------ */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:st}
.steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps li{position:relative;padding:18px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);counter-increment:st}
.steps li::before{content:counter(st);display:grid;place-items:center;width:30px;height:30px;border-radius:9px;margin-bottom:12px;background:var(--white);box-shadow:inset 0 0 0 2px var(--em-600),0 0 0 4px var(--em-50);font:500 13px/1 var(--font-mono);color:var(--em-800)}
.steps h3{font-size:16.5px;line-height:1.3}
.steps p{font-size:14.5px;line-height:1.55;color:var(--ink-600);margin-top:6px}
.steps .step__time{margin-top:10px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.split--top{align-items:start}
.bignums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);overflow:hidden}
.bignums li{padding:18px 20px;border-left:1px solid var(--ink-150)}
.bignums li:first-child{border-left:0}
.bignums b{display:block;font:600 26px/1.1 var(--font-display);letter-spacing:-.025em;color:var(--ink-900)}
.bignums span{display:block;margin-top:4px;font-size:13.5px;line-height:1.4;color:var(--ink-500)}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.checks li{display:flex;gap:10px;font-size:15px;line-height:1.5;color:var(--ink-700)}
.checks .i{flex:none;font-size:17px;margin-top:2px;color:var(--em-600)}
.checks strong{color:var(--ink-900);font-weight:600}
.checks--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);font:600 13.5px/1 var(--font-body);color:var(--ink-800)}
a.pill:hover{box-shadow:inset 0 0 0 1px var(--em-300);color:var(--ink-900)}
.pill .i{font-size:15px;color:var(--ink-500)}
.pill .flag{width:18px;height:13px}
.pill.is-on{background:var(--ink-900);color:#fff;box-shadow:none}

/* 9 · Configurateur de commande ----------------------------------------------- */
.cfg{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;align-items:start}
.cfg__head{display:flex;align-items:flex-start;gap:16px}
.cfg__head .srv__chip{width:52px;height:52px;border-radius:13px;font-size:12px}
.cfg__specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cfg__specs span{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border-radius:8px;background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);font-size:13.5px;font-weight:600;color:var(--ink-800)}
.cfg__specs .i{font-size:15px;color:var(--ink-500)}
.cstep{margin-top:26px;padding-top:24px;border-top:1px solid var(--ink-200)}
.cstep:first-of-type{border-top:0;padding-top:0}
.cstep legend,.cstep__t{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:14px;padding:0;font:600 18px/1.25 var(--font-display);letter-spacing:-.015em;color:var(--ink-900)}
.cstep legend span,.cstep__t span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--ink-900);color:#fff;font:500 12px/1 var(--font-mono)}
.cstep legend small{margin-left:auto;font:500 12.5px/1 var(--font-body);color:var(--ink-500)}
fieldset.cstep{border:0;margin-inline:0;padding-inline:0;padding-bottom:0;min-width:0}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.opts--wide{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.opt__b{display:flex;align-items:center;gap:11px;height:100%;padding:12px 14px;border-radius:12px;background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);transition:box-shadow .15s,background-color .15s}
.opt:hover .opt__b{box-shadow:inset 0 0 0 1px var(--ink-400)}
.opt input:checked+.opt__b{box-shadow:inset 0 0 0 2px var(--em-600),0 0 0 4px var(--em-50);background:#FBFEFC}
.opt input:focus-visible+.opt__b{outline:2px solid var(--em-500);outline-offset:2px}
.opt input:disabled+.opt__b{opacity:.5;cursor:not-allowed}
.opt__b .flag{width:24px;height:17px}
.opt__t{display:flex;flex-direction:column;min-width:0;flex:1}
.opt__t strong{font:600 14.5px/1.3 var(--font-body);color:var(--ink-900)}
.opt__t small{font-size:12.5px;line-height:1.4;color:var(--ink-500)}
.opt__p{font:600 13px/1 var(--font-body);color:var(--em-800);white-space:nowrap}
.opt__p.is-free{color:var(--ink-500);font-weight:500}
.opt__ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink-200);flex:none;font:600 11px/1 var(--font-mono);color:var(--ink-700)}
.addon{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.addon+.addon{margin-top:10px}
.addon .opt__t{flex:1}
.stepper{display:inline-flex;align-items:center;border-radius:10px;box-shadow:inset 0 0 0 1px var(--ink-300);overflow:hidden;background:var(--white)}
.stepper button{width:36px;height:36px;display:grid;place-items:center;color:var(--ink-700)}
.stepper button:hover{background:var(--ink-100);color:var(--ink-900)}
.stepper input{width:44px;height:36px;border:0;text-align:center;font:600 15px/1 var(--font-body);color:var(--ink-900);background:transparent;-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.addon select,.field select,.field input,.field textarea{height:40px;padding:0 12px;border-radius:10px;border:0;background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-300);font:500 14.5px/1 var(--font-body);color:var(--ink-900)}
.field textarea{height:auto;min-height:120px;padding:10px 12px;line-height:1.5;resize:vertical;width:100%}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:14px;color:var(--ink-900)}
.field small{font-size:12.5px;color:var(--ink-500)}
/* Résumé collant. */
.sum{position:sticky;top:calc(var(--hdr-h) + 20px);background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh-lg),inset 0 0 0 1px rgba(16,24,40,.07);overflow:hidden}
.sum__h{padding:16px 20px;border-bottom:1px solid var(--ink-150);background:var(--paper)}
.sum__h p{font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.sum__h strong{display:block;margin-top:6px;font:600 18px/1.25 var(--font-display);color:var(--ink-900)}
.sum__b{padding:14px 20px}
.sum__row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:14px;color:var(--ink-600)}
.sum__row b{font-weight:600;color:var(--ink-900);text-align:right}
.sum__row .flag{display:inline-block;width:18px;height:13px;vertical-align:-1px;margin-right:6px}
.sum__row--disc b{color:var(--em-700)}
.sum__tot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:8px;padding-top:12px;border-top:1px dashed var(--ink-200)}
.sum__tot span{font-size:14px;color:var(--ink-600)}
.sum__tot b{font:600 30px/1 var(--font-display);letter-spacing:-.03em;color:var(--ink-900)}
.sum__tot small{font-size:13px;color:var(--ink-500);font-weight:500}
.sum__due{margin-top:6px;font-size:13px;color:var(--ink-500);text-align:right}
.sum__f{padding:0 20px 18px}
.sum__f .btn{width:100%}
.sum__f ul{display:grid;gap:7px;margin-top:14px;font-size:13px;color:var(--ink-600)}
.sum__f li{display:flex;gap:8px;align-items:center}
.sum__f li .i{font-size:15px;color:var(--em-600)}
.sum__pay{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:14px}
.sum__pay .coin{width:20px;height:20px}
/* Barre de total collante (mobile). */
.obar{display:none}

/* 10 · Statut ----------------------------------------------------------------- */
.sbanner{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:var(--r-lg);background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-200)}
.sbanner .led{width:12px;height:12px;border-radius:3px}
.sbanner strong{display:block;font:600 19px/1.2 var(--font-display);color:var(--em-950)}
.sbanner span{font-size:13.5px;color:var(--em-900)}
.comps{border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);overflow:hidden}
.comps__g{padding:10px 20px;background:var(--ink-50);border-bottom:1px solid var(--ink-150);font:500 11.5px/1.3 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500)}
.comp{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--ink-150);font-size:14.5px;color:var(--ink-800)}
.comps>.comp:last-child{border-bottom:0}
.comp .flag{width:20px;height:14px}
.comp__n{flex:1;min-width:0}
.comp__n small{display:block;font-size:12.5px;color:var(--ink-500)}
.comp__s{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--em-800)}
.comp__s .led{width:8px;height:8px}

/* 11 · Latence ------------------------------------------------------------------ */
.lat{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;align-items:start}
.lat__pick{position:sticky;top:calc(var(--hdr-h) + 20px);padding:20px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-sm)}
.lat__pick .select select{width:100%}
.lat__pick p{font-size:13.5px;line-height:1.55;color:var(--ink-500);margin-top:12px}
.lrow{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr) 64px;gap:14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--ink-150)}
.lrow:last-child{border-bottom:0}
.lrow__c{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:var(--ink-900)}
.lrow__c small{font:500 11px/1 var(--font-mono);color:var(--ink-500)}
.lbar{height:8px;border-radius:99px;background:var(--ink-100);overflow:hidden}
.lbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--em-500),var(--mint))}
/* Largeurs par paliers de 5 % (attribut data-w posé côté serveur, mis à jour par pages.js). */
.lbar[data-w="5"] i{width:5%}.lbar[data-w="10"] i{width:10%}.lbar[data-w="15"] i{width:15%}.lbar[data-w="20"] i{width:20%}.lbar[data-w="25"] i{width:25%}.lbar[data-w="30"] i{width:30%}.lbar[data-w="35"] i{width:35%}.lbar[data-w="40"] i{width:40%}.lbar[data-w="45"] i{width:45%}.lbar[data-w="50"] i{width:50%}.lbar[data-w="55"] i{width:55%}.lbar[data-w="60"] i{width:60%}.lbar[data-w="65"] i{width:65%}.lbar[data-w="70"] i{width:70%}.lbar[data-w="75"] i{width:75%}.lbar[data-w="80"] i{width:80%}.lbar[data-w="85"] i{width:85%}.lbar[data-w="90"] i{width:90%}.lbar[data-w="95"] i{width:95%}.lbar[data-w="100"] i{width:100%}
.lbar.is-mid i{background:linear-gradient(90deg,#F7B955,#FDD48A)}
.lbar.is-far i{background:linear-gradient(90deg,#D0D5DD,#E4E7EC)}
.lrow__ms{font:600 14px/1 var(--font-mono);text-align:right;color:var(--ink-900)}
.lrow.is-best{background:var(--em-50)}
.lrow.is-best .lrow__c::after{content:"Best";margin-left:6px;padding:3px 7px;border-radius:6px;background:var(--em-700);color:#fff;font:600 10.5px/1 var(--font-body);letter-spacing:.02em}
/* Matrice de latence entre sites. */
.lmx{font-size:13px}
.lmx th,.lmx td{padding:8px 9px;text-align:center;white-space:nowrap}
.lmx tbody th{text-align:left}
.lmx td.h1{background:#E7F8F0;color:var(--em-900)}
.lmx td.h2{background:#F2FBF6}
.lmx td.h3{background:#FFFAEB}
.lmx td.h4{background:#FEF3F2;color:#912018}
.lmx td.self{color:var(--ink-300)}

/* 12 · Contact & clés --------------------------------------------------------------- */
.ccards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ccard{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs)}
.ccard h3{font-size:17px}
.ccard p{font-size:14px;line-height:1.55;color:var(--ink-600)}
.ccard__mail{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--em-800);word-break:break-all}
.ccard__meta{margin-top:auto;padding-top:12px;border-top:1px solid var(--ink-150);font-size:13px;color:var(--ink-500)}
.ccard__meta b{color:var(--ink-900)}
.fpr{display:inline-flex;flex-wrap:wrap;gap:4px 10px;font:500 14px/1.5 var(--font-mono);color:var(--ink-900);letter-spacing:.02em}
.keyblock{position:relative;max-height:340px;overflow:auto;padding:16px 18px;border-radius:var(--r);background:var(--ink-900);color:#C7D0DB;font:500 12.5px/1.6 var(--font-mono);white-space:pre}
.canary{position:relative;padding:22px 24px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-sm);font:500 13.5px/1.7 var(--font-mono);color:var(--ink-800);white-space:pre-wrap;overflow-wrap:anywhere}

/* 13 · Blog & base de connaissances ------------------------------------------------ */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pcard{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs);color:var(--ink-700);transition:box-shadow .2s,transform .2s var(--ease)}
.pcard:hover{box-shadow:inset 0 0 0 1px var(--em-300),var(--sh-md);transform:translateY(-2px);color:var(--ink-700)}
.pcard__tag{align-self:flex-start}
.pcard h3{font-size:19px;line-height:1.25}
.pcard p{font-size:14.5px;line-height:1.55;color:var(--ink-600)}
.pcard .meta{margin-top:auto;padding-top:10px}
.pcard--big{grid-column:span 2;padding:26px}
.pcard--big h3{font-size:24px}
.kb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kbc{padding:20px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.kbc__h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.kbc__h h2{font-size:18px;letter-spacing:-.01em}
.kbc ul{display:grid;gap:2px}
.kbc ul a{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;margin:0 -8px;border-radius:8px;font-size:14.5px;line-height:1.45;color:var(--ink-800)}
.kbc ul a:hover{background:var(--paper);color:var(--em-800)}
.kbc ul a .i{flex:none;font-size:15px;margin-top:3px;color:var(--ink-400)}
.search{position:relative;max-width:560px}
.search input{width:100%;height:50px;padding:0 16px 0 46px;border-radius:12px;border:0;background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-300),var(--sh-sm);font:500 16px/1 var(--font-body);color:var(--ink-900)}
.search input:focus{outline:2px solid var(--em-500);outline-offset:1px}
.search>.i{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--ink-500);pointer-events:none}
.search__empty{margin-top:16px;color:var(--ink-500)}
.byline{display:flex;align-items:center;gap:12px}
.byline__av{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--ink-900);flex:none}
.byline__av svg{width:24px;height:auto;fill:#fff}
.byline strong{display:block;font-size:14.5px;color:var(--ink-900)}
.byline span{font-size:13px;color:var(--ink-500)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.pager a{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--ink-200);color:var(--ink-900);font-weight:600;line-height:1.35}
.pager a:hover{box-shadow:inset 0 0 0 1px var(--em-300)}
.pager small{font:500 11.5px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500)}
.pager a:last-child{text-align:right}

/* 14 · FAQ complète -------------------------------------------------------------------- */
.qnav{display:flex;flex-wrap:wrap;gap:8px}
.qgroup+.qgroup{margin-top:40px}
.qgroup h2{font-size:22px;letter-spacing:-.02em;margin-bottom:10px;scroll-margin-top:calc(var(--hdr-h) + 20px)}
.qgroup .faq__list{max-width:none}

/* 15 · Responsive ----------------------------------------------------------------------- */
@media (max-width:1120px){
  .intro--split .intro__grid{grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:28px}
  .doc,.doc--rail{grid-template-columns:200px minmax(0,1fr);gap:36px}
  .doc__rail{display:none}
  .cfg{grid-template-columns:minmax(0,1fr) 330px;gap:24px}
  .ccards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .posts,.kb{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feats--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bignums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bignums li:nth-child(3){border-left:0}
  .bignums li:nth-child(n+3){border-top:1px solid var(--ink-150)}
  .split{gap:36px}
  .checks--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .intro--split .intro__grid{grid-template-columns:minmax(0,1fr)}
  .intro__aside{max-width:560px}
  .doc,.doc--rail{grid-template-columns:minmax(0,1fr)}
  .doc .toc{position:static;max-height:none;padding:14px 16px;border-radius:var(--r);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
  .cfg{grid-template-columns:minmax(0,1fr)}
  .sum{position:static}
  .split{grid-template-columns:minmax(0,1fr)}
  .lat{grid-template-columns:minmax(0,1fr)}
  .lat__pick{position:static}
  .pcard--big{grid-column:auto}
}
@media (max-width:640px){
  .intro .wrap{padding-top:14px;padding-bottom:28px}
  .intro__grid{margin-top:16px;gap:24px}
  .intro h1{font-size:31px}
  .intro--tight h1{font-size:28px}
  .intro__lead{font-size:16px;margin-top:10px}
  .intro__cta{margin-top:18px}
  .intro__cta .btn{flex:1 1 100%}
  .intro__facts{gap:10px 22px;margin-top:18px;padding-top:14px}
  .intro__facts b{font-size:18px}
  .intro::before{-webkit-mask-image:linear-gradient(180deg,transparent 30%,#000 100%);mask-image:linear-gradient(180deg,transparent 30%,#000 100%);opacity:.7}
  .crumbs [aria-current]{max-width:22ch}
  .lcards,.scards{grid-template-columns:minmax(0,1fr);gap:10px}
  .kv>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .kv--2{grid-template-columns:minmax(0,1fr)}
  .ctable{font-size:13.5px}
  .ctable th,.ctable td{padding:10px 12px}
  .prose{font-size:16px}
  .prose h2{margin-top:36px}
  .prose pre,.code{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);border-radius:0;font-size:12.5px}
  .steps,.steps--3{grid-template-columns:minmax(0,1fr);gap:10px}
  .feats--3{grid-template-columns:minmax(0,1fr)}
  .checks,.checks--3{grid-template-columns:minmax(0,1fr)}
  .ccards,.posts,.kb{grid-template-columns:minmax(0,1fr)}
  .opts,.opts--wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .opt__b{padding:10px 12px;gap:9px}
  .opts--wide{grid-template-columns:minmax(0,1fr)}
  .cstep legend,.cstep__t{font-size:17px}
  .lrow{grid-template-columns:minmax(0,1fr) 56px;gap:4px 12px}
  .lrow .lbar{grid-column:1/-1;grid-row:2}
  .pager{grid-template-columns:minmax(0,1fr)}
  .pager a:last-child{text-align:left}
  .sbanner{padding:14px 16px}
  /* Barre de total collante sur la page de commande. */
  .obar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -1px 0 var(--ink-200),0 -10px 24px -14px rgba(16,24,40,.28)}
  .obar[hidden]{display:none}
  .obar p{display:flex;flex-direction:column;line-height:1.25;font-size:12.5px;color:var(--ink-500)}
  .obar b{font:600 17px/1.2 var(--font-display);color:var(--ink-900)}
  .obar .btn{height:42px}
}
@media print{
  .topbar,.hdr,.ftr,.toc,.sum__f,.obar,.cta__actions{display:none !important}
  .prose{max-width:none}
}

/* 16 · Page de commande (compléments) ----------------------------------------------------- */
.intro--order .wrap{padding-bottom:28px}
.intro--order h1{font-size:clamp(28px,3vw,40px);margin:4px 0 0}
.ohead__sku{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--ink-500)}
.ohead__sku .mono{color:var(--ink-700)}
.ohead__dim{color:var(--ink-500);font-weight:500}
.sec--order{padding-top:36px}
.cstep__hint{margin-top:12px;font-size:13.5px;color:var(--ink-500)}
.cstep__hint a{font-weight:600}
.cstep__sub{margin:18px 0 10px;font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.cstep__sub:first-of-type{margin-top:0}
.opt__rec{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:5px;background:var(--em-50);color:var(--em-800);font:600 10.5px/1.3 var(--font-body);font-style:normal;vertical-align:1px;box-shadow:inset 0 0 0 1px var(--em-100)}
.feats--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ospec__side{position:sticky;top:calc(var(--hdr-h) + 24px)}
@media (max-width:1120px){.feats--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.ospec__side{position:static}}
@media (max-width:640px){
  .feats--4{grid-template-columns:minmax(0,1fr);gap:14px}
  .cfg__head .srv__chip{width:44px;height:44px}
  .intro--order h1{font-size:26px}
  .ohead__dim{display:block;font-size:.72em}
  .cfg__specs span{height:30px;font-size:13px}
  .sec--order{padding-top:24px}
}
.ctable__sub{display:block;font-size:12.5px;font-weight:400;color:var(--ink-500);margin-top:2px}
.ctable td b{color:var(--ink-900);font-weight:600}
.sec__more{margin-top:22px}
.split--wide{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:48px}
.checks--1{grid-template-columns:minmax(0,1fr)}
.ctable .srv__link{white-space:nowrap;font-weight:600;color:var(--ink-900)}
.ctable .srv__link:hover{color:var(--em-800)}
.opts--os{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media (max-width:960px){.split--wide{grid-template-columns:minmax(0,1fr);gap:28px}}
@media (max-width:640px){.opts--os{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sec--doc{padding-top:44px}
.brief{padding:18px 20px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs)}
.brief>p:first-child{font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--em-800);margin-bottom:10px}
.prose .brief ul>li+li{margin-top:6px}
@media (max-width:640px){.sec--doc{padding-top:28px}}
.intro__meta{margin-top:14px}
/* Étapes posées dans un texte long : on neutralise la numérotation de .prose. */
.prose .steps{counter-reset:st;gap:12px}
.prose .steps>li{padding:16px;counter-increment:st}
.prose .steps>li+li{margin-top:0}
.prose .steps>li::before{position:static;content:counter(st);display:grid;place-items:center;width:30px;height:30px;border-radius:9px;margin-bottom:10px;background:var(--white);box-shadow:inset 0 0 0 2px var(--em-600),0 0 0 4px var(--em-50);font:500 13px/1 var(--font-mono);color:var(--em-800)}
.prose .steps h3{margin-top:0;font-size:16px}
.prose .steps p{font-size:14px;margin-top:6px}
/* Clé PGP & canari */
.fprbox{position:relative;padding:18px 20px;padding-right:96px;border-radius:var(--r-lg);background:var(--ink-900);box-shadow:var(--sh-md)}
.fprbox .fpr{color:#fff;font-size:17px;letter-spacing:.04em;background:none;padding:0}
.fpr__also{margin-top:14px;font-size:14px;color:var(--ink-600)}
.h-side{font-size:18px;letter-spacing:-.015em;margin-bottom:14px}
.ways{display:grid;gap:16px;counter-reset:w}
.ways>li{position:relative;padding-left:36px;font-size:15px;line-height:1.55;color:var(--ink-700);counter-increment:w}
.ways>li::before{content:counter(w);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:var(--em-50);color:var(--em-800);font:500 12px/1 var(--font-mono);box-shadow:inset 0 0 0 1px var(--em-100)}
.ways strong{color:var(--ink-900)}
.ways .code{margin-top:8px;font-size:13px;padding:12px 14px;padding-right:86px;white-space:pre-wrap;overflow-wrap:anywhere}
.lcards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lcard--static{padding-right:16px}
.lcard--static:hover{transform:none;box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs)}
.lcard code{font:500 12.5px/1.5 var(--font-mono);background:var(--ink-100);padding:2px 6px;border-radius:5px;color:var(--ink-900);word-break:break-word}
.keyblock code{font:inherit;color:inherit;background:none}
.canary .copy,.keyblock .copy{background:var(--ink-100);color:var(--ink-700);box-shadow:inset 0 0 0 1px var(--ink-200)}
.keyblock .copy{background:rgba(255,255,255,.08);color:#C7D0DB;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.fprbox .copy{top:50%;transform:translateY(-50%)}
@media (max-width:1120px){.lcards--3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.fprbox{padding:14px 16px;padding-right:16px;padding-bottom:52px}.fprbox .fpr{font-size:14.5px}.fprbox .copy{top:auto;bottom:10px;transform:none}}
.split--canary{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.canary{margin:0;font-size:12.5px;line-height:1.6;max-height:600px;overflow:auto}
.canary code{font:inherit;background:none;color:inherit}
.canary__hash{font-size:12.5px;color:var(--ink-700);margin:8px 0 6px}
.steps .code{margin-top:10px;padding:10px 12px;padding-right:76px;font-size:12px;white-space:pre-wrap;word-break:break-all}
.steps .copy{top:6px;right:6px;height:24px;padding:0 8px;font-size:11px}
.steps .link-arrow{font-size:14px}
@media (max-width:960px){.split--canary{grid-template-columns:minmax(0,1fr)}}
.asks--wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.asks--wide>div+div.yes{background:var(--white)}
@media (max-width:640px){.asks--wide{grid-template-columns:minmax(0,1fr)}}
/* Préparateur d'e-mail (contact, sur-mesure) */
.composer{display:grid;gap:14px;padding:22px;border-radius:var(--r-xl);background:var(--white);box-shadow:var(--sh-md),inset 0 0 0 1px var(--ink-200)}
.composer .field select,.composer .field input{width:100%;height:44px}
.composer__preview{margin:0;padding:12px 14px;border-radius:10px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink-150);font:500 12.5px/1.55 var(--font-mono);color:var(--ink-700);white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}
.composer__preview:empty{display:none}
.opt-l{font-weight:500;font-size:12.5px;color:var(--ink-500);margin-left:4px}
.ccard .card__ico{width:40px;height:40px}
.split--status{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:32px}
.status__side{display:grid;gap:14px;align-content:start}
.status__side .icard{padding:18px 20px}
.muted{font-size:14px;line-height:1.55;color:var(--ink-500)}
.icard .muted+.btn{margin-top:14px}
.comps{margin-top:14px}
.comp__n a{color:var(--ink-900);font-weight:600}
.comp__n a:hover{color:var(--em-800)}
@media (max-width:960px){.split--status{grid-template-columns:minmax(0,1fr)}}
/* À propos */
.prose--lead p{font-size:17.5px;line-height:1.7;color:var(--ink-700)}
.prose--lead p+p{margin-top:14px}
.lifeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.lifeline li{position:relative;padding:18px 16px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.lifeline__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink-900);color:#fff;font:500 13px/1 var(--font-mono);margin-bottom:12px}
.lifeline li:not(:last-child)::after{content:"";position:absolute;top:33px;right:-17px;width:18px;height:2px;background:var(--em-300);z-index:1}
.lifeline h3{font-size:16.5px}
.lifeline p{font-size:14px;line-height:1.55;color:var(--ink-600);margin-top:6px}
@media (max-width:1120px){.lifeline{grid-template-columns:repeat(3,minmax(0,1fr))}.lifeline li::after{display:none}}
@media (max-width:640px){.lifeline{grid-template-columns:minmax(0,1fr);gap:10px}}
.toc__n{display:inline-block;margin-left:4px;font:500 11px/1 var(--font-mono);color:var(--ink-500)}
.intro__cta .search{flex:1 1 100%;max-width:560px}
.qgroup .faq__list{margin-top:4px}
.ways{grid-template-columns:minmax(0,1fr)}
.ways>li{min-width:0}
.fprbox .fpr{display:block;white-space:normal;overflow-wrap:anywhere}
@media (max-width:640px){
  .ways .code,.steps .code{margin-left:0;margin-right:0;border-radius:var(--r)}
}
.rcard{padding:16px 18px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.rcard__t{font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-bottom:10px}
.rcard ul{display:grid;gap:2px}
.rcard li a{display:block;padding:6px 8px;margin:0 -8px;border-radius:8px;font-size:14px;color:var(--ink-700)}
.rcard li a:hover{background:var(--paper);color:var(--ink-900)}
.rcard li a[aria-current]{background:var(--em-50);color:var(--em-800);font-weight:600}
.rcard p{font-size:14px;line-height:1.55;color:var(--ink-600)}
.rcard p a{font-weight:600;word-break:break-all}
/* Usages : serveurs conseillés */
.picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.pickc{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs)}
.pickc--main{box-shadow:inset 0 0 0 2px var(--em-500),var(--sh-md)}
.pickc__tag{position:absolute;top:-12px;left:18px;height:24px;background:var(--em-700);color:#fff;box-shadow:none}
.pickc__tag .i{color:#fff}
.pickc__why{font-size:14.5px;line-height:1.55;color:var(--ink-600)}
.pickc__foot{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--ink-150)}
.pickc__foot .btn{margin-left:auto}
.icard--where{margin-top:22px}
.icard--where .icard__t{justify-content:flex-start;gap:8px}
.icard--where .icard__t .i{color:var(--em-700)}
.icard--where .link-arrow{margin-top:12px;font-size:14px}
@media (max-width:1120px){.picks{grid-template-columns:minmax(0,1fr)}}
/* Gammes : comparatif + guide de choix */
.ctable--cmp th[scope=row]{white-space:nowrap;font:500 11.5px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);vertical-align:top}
.ctable--cmp td small{display:block;font-size:12.5px;color:var(--ink-500);margin-top:2px}
.ctable--cmp thead th{text-transform:none;font:600 14px/1.3 var(--font-body);letter-spacing:0;color:var(--ink-900);white-space:normal;min-width:150px}
.guide{display:grid;gap:10px}
.guide a{display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);color:var(--ink-700);transition:box-shadow .15s}
.guide a:hover{box-shadow:inset 0 0 0 1px var(--em-300),var(--sh-sm);color:var(--ink-700)}
.guide__t strong{display:block;color:var(--ink-900);font-size:15px}
.guide__t span{display:block;font-size:14px;line-height:1.5;color:var(--ink-600);margin-top:2px}
.guide__p{font:600 19px/1 var(--font-display);color:var(--ink-900);white-space:nowrap}
.guide__p small{font:500 12px var(--font-body);color:var(--ink-500)}
.guide a>.i{color:var(--em-700);font-size:17px}
@media (max-width:640px){
  .ctable--cmp th[scope=row]{position:sticky;left:0;background:var(--white);z-index:1;box-shadow:1px 0 0 var(--ink-150)}
  .guide a{grid-template-columns:auto minmax(0,1fr);row-gap:8px}
  .guide__p{grid-column:2}
  .guide a>.i{display:none}
}
/* Localisations */
.ixl{display:grid;gap:10px}
.ixl li{padding:12px 14px;border-radius:var(--r);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.ixl strong{display:block;font-size:15px;color:var(--ink-900)}
.ixl span{display:block;font-size:14px;line-height:1.5;color:var(--ink-600);margin-top:2px}
.h-side--gap{margin-top:26px}
.mlat{display:grid;gap:8px}
.mlat__r{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--r);background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-100)}
.mlat__r span{font-size:14.5px;color:var(--ink-800);font-weight:500}
.mlat__r b{font:600 18px/1 var(--font-display);color:var(--em-900);white-space:nowrap}
.src{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--ink-500)}
.checks--law .i{color:var(--ink-500)}
.pills--fit{margin-top:4px}
.pills--fit .pill{height:auto;min-height:36px;padding:8px 14px;line-height:1.3}
.pills--fit .pill .i{color:var(--em-600)}
.lcards--1{grid-template-columns:minmax(0,1fr)}
.card__ico--flag{background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.card__ico--flag .flag{width:22px;height:16px}
.lcard__code{font-size:11.5px;color:var(--ink-500);margin-left:4px}
.icard__t .flag{width:22px;height:16px;margin-right:2px}
.icard__t--loc{justify-content:flex-start;gap:8px}
.ctable--jur thead th{white-space:normal;min-width:160px}
.ctable--jur thead small{display:block;margin-top:4px;font:500 10.5px/1.2 var(--font-mono);letter-spacing:.04em;color:var(--ink-500);text-transform:none}
.ctable--jur tbody th{white-space:nowrap;font-size:14px}
.loc-row{display:inline-flex;align-items:center;gap:8px}
.loc-row .flag{width:20px;height:14px}
.ctable span.yes,.ctable span.no{display:inline-flex;align-items:center;gap:4px}
/* Looking glass */
.lat__pick .field>span:first-child{font-weight:600;font-size:14px;color:var(--ink-900)}
.lat__pick .select select{width:100%;height:46px}
.lat__best{margin-top:14px !important;padding:10px 12px;border-radius:10px;background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-100);color:var(--em-900) !important;font-size:14px !important}
.lat__best b{font-weight:600}
.lat__pick .btn{margin-top:14px}
.lat__list{margin-top:0}
.lrow__c a{color:var(--ink-900)}
.lrow__c a:hover{color:var(--em-800)}
.lrow__c .flag{width:20px;height:14px}
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tile{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200);color:var(--ink-800);transition:box-shadow .15s}
.tile:hover{box-shadow:inset 0 0 0 1px var(--em-300),var(--sh-sm);color:var(--ink-900)}
.tile span{flex:1;min-width:0}
.tile strong{display:block;font-size:14.5px}
.tile small{display:block;font:500 11px/1.3 var(--font-mono);color:var(--ink-500);margin-top:2px}
.tile>.i{color:var(--em-700);font-size:16px}
.lg-how{margin-top:36px}
@media (max-width:1120px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{padding:10px 12px}}
/* Paiements crypto : facture d'exemple, solde, tableau des monnaies */
.inv{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh-lg),inset 0 0 0 1px rgba(16,24,40,.07);overflow:hidden}
.inv__h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--ink-150);background:var(--paper);font-size:13.5px;color:var(--ink-700)}
.inv__h .chip{height:24px;font-size:11.5px}
.inv__b{display:flex;gap:18px;padding:18px}
.inv__qr{flex:none;padding:6px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--ink-200)}
.inv__qr .qr{display:block;width:104px;height:104px}
.inv__t{min-width:0}
.inv__k{font:500 10.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-top:12px}
.inv__k:first-child{margin-top:0}
.inv__v{font:600 24px/1.2 var(--font-display);color:var(--ink-900);letter-spacing:-.02em;margin-top:4px}
.inv__v span{font:500 12px var(--font-body);color:var(--ink-500)}
.inv__coin{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:14px;color:var(--ink-900)}
.inv__coin .coin{width:20px;height:20px}
.inv__coin .mono{color:var(--ink-600);font-size:12.5px}
.inv__addr{margin-top:5px;font-size:12.5px;color:var(--ink-700)}
.inv__f{display:flex;align-items:center;gap:8px;padding:10px 18px;border-top:1px solid var(--ink-150);font-size:12.5px;color:var(--ink-500)}
.inv__f .i{font-size:14px;flex:none}
.balcard{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh-md),inset 0 0 0 1px var(--ink-200);overflow:hidden}
.balcard__k{padding:18px 20px 0;font:500 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.balcard__v{padding:6px 20px 14px;font:600 34px/1.1 var(--font-display);letter-spacing:-.03em;color:var(--ink-900)}
.balcard__rows>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;border-top:1px solid var(--ink-150);font-size:14px;color:var(--ink-600)}
.balcard__rows b{display:inline-flex;align-items:center;gap:6px;color:var(--ink-900);font-weight:600}
.balcard__rows .coin{width:18px;height:18px}
.coinc{display:inline-flex;align-items:center;gap:10px}
.coinc .coin{width:24px;height:24px;flex:none}
.coinc small{display:block;font:500 11px/1.2 var(--font-mono);color:var(--ink-500)}
.nowrap{white-space:nowrap}
.ctable--coins td,.ctable--coins th{vertical-align:middle}
.card__ico--coin{background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.card__ico--coin .coin{width:22px;height:22px}
@media (max-width:640px){.inv__b{flex-direction:column;align-items:flex-start}.inv__h{flex-wrap:wrap}}
.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:22px}
.coinc--eyebrow{gap:8px}
.coinc--eyebrow .coin{width:18px;height:18px}
.eyebrow .coinc--eyebrow{letter-spacing:.08em}
.asks--stack{grid-template-columns:minmax(0,1fr);box-shadow:var(--sh-lg),inset 0 0 0 1px var(--ink-200)}
.asks--stack>div+div{border-left:0;border-top:1px solid var(--ink-200)}
.asks--stack>div{padding:18px 20px}
.asks--big>div{padding:22px 24px}
.asks--big li{font-size:15px;align-items:flex-start}
.asks--big li .i{margin-top:3px}
.cklist{display:grid;gap:10px;counter-reset:ck}
.cklist li{display:flex;gap:14px;padding:14px 16px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.cklist__n{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--ink-900);color:#fff;font:500 12.5px/1 var(--font-mono)}
.cklist strong{display:block;font-size:15.5px;color:var(--ink-900)}
.cklist p{font-size:14px;line-height:1.55;color:var(--ink-600);margin-top:3px}
/* Étapes empilées / compactes, configurateur sur mesure */
.steps--stack{grid-template-columns:minmax(0,1fr);gap:10px}
.steps--stack li{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:14px;align-items:start}
.steps--stack li::before{margin:0;grid-row:span 2}
.steps--stack h3{align-self:center}
.steps--stack p{grid-column:2;margin-top:4px}
.steps--mini li{padding:14px 16px}
.steps--mini h3{font-size:15.5px}
.steps--mini p{font-size:14px}
.split--builder{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:48px}
.builder fieldset{border:0;margin:0;padding:0;min-width:0}
.builder legend{font-weight:600;font-size:14px;color:var(--ink-900);margin-bottom:8px;padding:0}
.builder__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.builder .field select,.builder .field input{width:100%;height:44px}
.opts--tight{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.opts--tight .opt__b{padding:10px 12px}
@media (max-width:960px){.split--builder{grid-template-columns:minmax(0,1fr);gap:28px}}
@media (max-width:640px){.builder__row{grid-template-columns:minmax(0,1fr)}.composer{padding:16px}}
/* Dédié vs VPS */
.verdict,.costcmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.verdict__c,.costcmp__c{padding:22px 24px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200)}
.verdict__c--us,.costcmp__c--us{box-shadow:inset 0 0 0 2px var(--em-500),var(--sh-md);background:#FBFEFC}
.verdict__k{font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-bottom:14px}
.verdict__c--us .verdict__k,.costcmp__c--us .verdict__k{color:var(--em-800)}
.costcmp__spec{font-size:14.5px;color:var(--ink-700);font-weight:500}
.costcmp__v{margin-top:10px;font:600 38px/1.05 var(--font-display);letter-spacing:-.03em;color:var(--ink-900)}
.costcmp__v span{font:500 15px var(--font-body);color:var(--ink-500);margin-left:2px}
.costcmp__note{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--ink-500)}
.costcmp__plus{margin-top:12px;padding-top:12px;border-top:1px solid var(--ink-150);font-weight:600;font-size:14px;color:var(--red-600)}
.costcmp__plus--us{color:var(--em-700)}
.costcmp__c .btn{margin-top:16px}
.ctable .is-win{background:#FFFAEB;color:var(--ink-900)}
@media (max-width:640px){.verdict,.costcmp{grid-template-columns:minmax(0,1fr)}.costcmp__v{font-size:32px}}
.lat__pick .select select,.field .select select{padding:0 38px}
/* Base de connaissances */
.kbc__h{align-items:flex-start}
.kbc__h .muted{font-size:13.5px;margin-top:2px}
.kbc--help{display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.kbc--help .kbc__h{margin-bottom:4px}
.doc__more{margin-top:36px}
.intro--doc h1{font-size:clamp(28px,2.8vw,38px);max-width:22ch}
.prose kbd{font:500 .85em var(--font-mono);padding:1px 6px;border-radius:5px;background:var(--white);box-shadow:inset 0 -1px 0 var(--ink-300),inset 0 0 0 1px var(--ink-200)}
.prose .note{margin:18px 0}
/* Blog */
.pcard__top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-500)}
.pcard__top .chip{height:24px;font-size:12px}
.pcard h3{transition:color .2s}
.pcard:hover h3{color:var(--em-800)}
.pcard__go{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--em-700)}
.pcard__go .i{transition:transform .2s var(--ease)}
.pcard:hover .pcard__go .i{transform:translateX(3px)}
.posts--hub .pcard--big{grid-row:span 2;gap:14px;background:linear-gradient(180deg,var(--em-50),var(--white) 55%)}
.posts--hub .pcard--big h3{font-size:clamp(24px,2.3vw,30px);letter-spacing:-.02em;max-width:24ch}
.posts--hub .pcard--big>p{font-size:16px;max-width:60ch}
.pcard__tl{margin-top:4px;padding-top:16px;border-top:1px solid var(--ink-150);font:500 11.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.pcard__toc{display:grid;gap:8px;counter-reset:t;list-style:none}
.pcard__toc li{display:flex;gap:10px;font-size:14.5px;color:var(--ink-700);counter-increment:t}
.pcard__toc li::before{content:counter(t,decimal-leading-zero);font:500 12px/1.9 var(--font-mono);color:var(--em-700)}
.prose .sources{padding-left:20px;font-size:14px;line-height:1.55;color:var(--ink-600)}
.prose .sources a{overflow-wrap:anywhere}
.rcard--cta{background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-100)}
.rcard--cta p{margin-bottom:12px}
@media (max-width:1120px){
  .posts--hub .pcard--big{grid-column:auto;grid-row:auto;background:var(--white)}
  .posts--hub .pcard--big h3{font-size:19px}
  .posts--hub .pcard--big>p{font-size:14.5px}
  .pcard__toc,.pcard__tl{display:none}
  .posts--hub .pcard--big{padding:20px}
  .posts--3>:nth-child(3){display:none}
}
@media (max-width:640px){.posts--3>:nth-child(3){display:flex}}
/* Passe finale (25/09/2026) */
.meta a{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.crumbs [aria-current]{display:block}
.lcards--rel,.lcards--six{grid-template-columns:repeat(3,minmax(0,1fr))}
.rcard__h{font:600 16px/1.3 var(--font-display);letter-spacing:-.01em;color:var(--ink-900);margin-bottom:6px}
.codebox{position:relative;margin-top:16px;padding-top:38px;border-radius:var(--r);background:var(--ink-900)}
.codebox::before{content:attr(data-label);position:absolute;inset:0 0 auto;height:38px;padding:0 100px 0 18px;border-bottom:1px solid rgba(255,255,255,.08);font:500 11.5px/38px var(--font-mono);letter-spacing:.04em;color:#8E9BAA;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prose .codebox pre{margin:0;border-radius:0 0 var(--r) var(--r);background:none}
.codebox .copy{top:5px;right:6px}
@media (max-width:1120px){.lcards--six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.lcards--rel{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .lcards--six{grid-template-columns:minmax(0,1fr)}
  .prose .codebox{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);border-radius:0}
  .prose .codebox pre{margin:0;border-radius:0}
  .codebox::before{padding-left:var(--gutter)}
}
/* Tableaux empilés sur mobile : --rows (nom + valeur, détail dessous), --cells (nom, puis valeurs étiquetées) */
@media (max-width:640px){
  .ctable--rows,.ctable--rows tbody,.ctable--cells,.ctable--cells tbody{display:block}
  .ctable--rows thead,.ctable--cells thead{display:none}
  .ctable--rows tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;padding:12px 14px;border-bottom:1px solid var(--ink-150)}
  .ctable--rows tbody th,.ctable--rows td{padding:0;border:0}
  .ctable--rows td.num{grid-column:2;grid-row:1}
  .ctable--rows td:not(.num){grid-column:1/-1;font-size:13.5px;line-height:1.5;color:var(--ink-600)}
  .ctable--cells tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;padding:12px 14px;border-bottom:1px solid var(--ink-150)}
  .ctable--cells tbody th{grid-column:1/-1;padding:0;border:0}
  .ctable--cells td{padding:0;border:0;text-align:left;white-space:normal}
  .ctable--cells td::before{content:attr(data-label);display:block;margin-bottom:3px;font:500 10.5px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}
  .ctable--rows tbody tr:last-child,.ctable--cells tbody tr:last-child{border-bottom:0}
}
@media (max-width:640px){
  .ctable--c2 tr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .builder__row--keep{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ctable--vs td{padding:8px 10px;border-radius:8px;background:var(--ink-50)}
  .ctable--vs td.is-us{background:var(--em-50)}
  .ctable--vs td.is-win{background:#FFFAEB}
}
/* Matrice des latences : drapeau en ligne, première colonne figée quand elle défile */
.lmx tbody th .flag{display:inline-block;vertical-align:-2px;margin-right:7px}
.lmx thead th:first-child,.lmx tbody th{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--ink-150)}
.lmx thead th:first-child{background:var(--ink-50)}
.lmx tbody th{background:var(--white)}
@media (max-width:640px){
  .ctable--cells td.num{text-align:left;white-space:normal}
  .ctable--cells tbody th{font-size:15px}
  .ctable--coins tbody th .coinc{gap:8px}
  .prose table{font-size:14px}
  .prose th,.prose td{padding:9px 8px}
  .lmx tbody th{font-size:12.5px}
}
.ctable__sub{white-space:normal}
/* Pages intérieures : les descriptions des atouts restent visibles sur mobile
   (l'accueil, qui ne charge pas pages.css, garde sa version compacte). */
@media (max-width:640px){
  .feats,.feats--4{grid-template-columns:minmax(0,1fr);gap:10px}
  .feat{align-items:flex-start}
  .feat p span{display:block;font-size:14px}
}
.lmx td.is-real{font-weight:700;color:var(--ink-900)}
/* Réseau : ce qu'un port plein transfère en 30 jours */
.bwcalc{padding:22px 24px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-sm)}
.bwcalc__t{font:500 11.5px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-bottom:6px}
.bwbar{display:grid;grid-template-columns:64px minmax(0,1fr) 70px;align-items:center;gap:14px;margin-top:14px}
.bwbar__l{font-weight:600;font-size:14px;color:var(--ink-900);white-space:nowrap}
.bwbar__v{height:12px;border-radius:99px;background:var(--ink-100);overflow:hidden}
.bwbar__v i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--em-500),var(--mint))}
.bwbar__v[data-w="10"] i{width:10%}
.bwbar__v[data-w="100"] i{width:100%}
.bwbar b{font:600 18px/1 var(--font-display);letter-spacing:-.01em;color:var(--ink-900);text-align:right;white-space:nowrap}
.bwcalc .muted{margin-top:18px;padding-top:14px;border-top:1px solid var(--ink-150);font-size:13.5px}
/* Légende de la carte : un badge « 10G » est plus large qu'un compteur */
@media (min-width:1200px){.locmap .loclist{width:404px}}
.lrow__ms{display:flex;flex-direction:column;align-items:flex-end}
.lrow__real{margin-top:3px;font:500 9.5px/1 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--em-700)}
.lrow__real[hidden]{display:none}
.lcards--five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1120px){.lcards--five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.lcards--five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lcards--five{grid-template-columns:minmax(0,1fr)}}
.scards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1120px){.scards--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.scards--3{grid-template-columns:minmax(0,1fr)}}
.split .lcards--1{margin-top:22px;max-width:520px}
/* Comparatif des gammes : colonnes égales (une colonne par serveur), largeur
   minimale selon le nombre de serveurs pour défiler proprement sur mobile. */
.ctable--cmp{table-layout:fixed;width:100%}
.ctable--cmp thead th:first-child{width:150px}
.ctable--n2{min-width:460px}.ctable--n3{min-width:610px}.ctable--n4{min-width:760px}.ctable--n5{min-width:910px}.ctable--n6{min-width:1060px}
@media (min-width:641px){.opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .ctable--cmp thead th{min-width:0}
  .ctable--cmp thead th:first-child{width:104px}
  .ctable--cmp th[scope=row]{white-space:normal;font-size:10.5px}
  .ctable--n2{min-width:0}.ctable--n3{min-width:500px}.ctable--n4{min-width:630px}.ctable--n5{min-width:760px}.ctable--n6{min-width:890px}
}
/* Liens dans le texte courant : soulignés (ne pas reposer sur la seule couleur, WCAG 1.4.1). */
main p a:not([class]),main li>span a:not([class]),main td a:not([class]),main .lcard__d a:not([class]){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(7,122,93,.4)}
main p a:not([class]):hover,main li>span a:not([class]):hover,main td a:not([class]):hover,main .lcard__d a:not([class]):hover{text-decoration-color:currentColor}
/* ===== Largeur utile (passe « pleine largeur », 25/09/2026) ===== */
/* Liste de liens des cartes latérales */
.alist{display:grid;margin:0 -8px}
.alist li+li{border-top:1px solid var(--ink-150)}
.alist a{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:10px;color:var(--ink-700);transition:background-color .15s}
.alist a:hover{background:var(--paper);color:var(--ink-700)}
.alist__ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--em-50);color:var(--em-700);box-shadow:inset 0 0 0 1px var(--em-100)}
.alist__ico .i{font-size:17px}
.alist__ico .flag{width:20px;height:14px}
.alist__t{flex:1;min-width:0}
.alist__t strong{display:block;font-weight:600;font-size:14.5px;line-height:1.3;color:var(--ink-900)}
.alist__t small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--ink-500)}
.alist__v{flex:none;font:600 15.5px/1 var(--font-display);letter-spacing:-.01em;color:var(--ink-900);white-space:nowrap}
.alist__v small{font:500 12px var(--font-body);letter-spacing:0;color:var(--ink-500)}
.alist__go{flex:none;font-size:16px;color:var(--ink-400);transition:transform .2s var(--ease),color .15s}
.alist a:hover .alist__go{color:var(--em-700);transform:translateX(2px)}
.icard__note{display:flex;align-items:flex-start;gap:7px;margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--ink-500)}
.icard__note .i{flex:none;font-size:14px;margin-top:2px}
.icard__t .chip{flex:none}
.icard>.alist{margin-top:-4px}
@media (max-width:640px){.icard--desk{display:none}}
/* Comparatif compact (intro dédié vs VPS) */
.vsmini{display:grid;gap:10px}
.vsmini>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 14px;padding:14px 16px;border-radius:12px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink-150)}
.vsmini p{font:500 11.5px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}
.vsmini b{grid-row:span 2;align-self:center;font:600 26px/1 var(--font-display);letter-spacing:-.02em;color:var(--ink-900);white-space:nowrap}
.vsmini b small{font:500 13px var(--font-body);color:var(--ink-500);letter-spacing:0}
.vsmini span{font-size:13px;line-height:1.45;color:var(--ink-600)}
.vsmini .is-us{background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-200)}
.vsmini .is-us p{color:var(--em-800)}
.vsmini .is-us b{color:var(--em-800)}
.icard__more{margin-top:14px;font-size:14px}
/* Étapes compactes numérotées (cartes latérales) */
.msteps{display:grid;gap:12px;counter-reset:ms;list-style:none}
.msteps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 12px;counter-increment:ms}
.msteps li::before{content:counter(ms);grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-200);font:600 13px/1 var(--font-mono);color:var(--em-800)}
.msteps b{font-weight:600;font-size:14.5px;color:var(--ink-900);line-height:1.3;padding-top:4px}
.msteps span{font-size:13.5px;line-height:1.5;color:var(--ink-600)}
.alist__ico:has(.srv__chip){background:none;box-shadow:none;width:auto;height:auto}
.alist .srv__chip{width:34px;height:34px;border-radius:9px;font-size:9px}
.alist--tall a{align-items:flex-start}
.alist--tall .alist__v{padding-top:3px}
.alist--tall .alist__go{margin-top:3px}
.lcards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1120px){.lcards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lcards--4{grid-template-columns:minmax(0,1fr)}}
/* Liste descriptive des cartes (sans lien) */
.ilist{display:grid;gap:14px}
.ilist li{display:flex;align-items:flex-start;gap:12px}
.ilist__t{min-width:0}
.ilist__t strong{display:block;font-weight:600;font-size:14.5px;line-height:1.3;color:var(--ink-900)}
.ilist__t small{display:block;margin-top:3px;font-size:13.5px;line-height:1.5;color:var(--ink-600)}
/* Looking glass : le planificateur dans l'intro */
.intro--lg .intro__grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:40px}
.intro--lg .intro__cta{margin-top:20px}
.intro--lg .lat__pick{position:static;flex:1 1 100%;max-width:560px;box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-md)}
.intro--lg .lat__list{box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-lg)}
@media (max-width:1120px){.intro--lg .intro__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:960px){.intro--lg .intro__grid{grid-template-columns:minmax(0,1fr)}.intro--lg .intro__aside{max-width:none}}
.kv-no{display:inline-flex;align-items:center;gap:6px;color:var(--em-800)}
.kv-no .i{font-size:15px}
.icard__note a{font-weight:600}
.sbanner--card{margin-bottom:12px}
.sbanner.is-warn{background:#FFFAEB;box-shadow:inset 0 0 0 1px #FEDF89}
.sbanner.is-warn .led{background:#F79009;box-shadow:0 0 0 3px rgba(247,144,9,.2)}
.checks--sm{gap:9px}
.checks--sm li{font-size:14px;line-height:1.5}
.checks--sm .i{font-size:16px}
.intro__cta .intro__tips{flex:1 1 100%;max-width:640px;margin-top:4px}
.composer--intro{box-shadow:var(--sh-lg),inset 0 0 0 1px var(--ink-200)}
.composer--intro textarea{min-height:120px}
.alist--q a{padding:9px 8px}
.alist--q .alist__t strong{font-weight:500;font-size:14.5px;color:var(--ink-800)}
.qa{scroll-margin-top:calc(var(--hdr-h) + 20px)}
.doc__rail .rcard .btn{margin-top:12px}
.ohead__trust{display:grid;gap:10px;align-self:center;justify-self:end;padding:14px 18px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-sm)}
.ohead__trust li{display:flex;align-items:flex-start;gap:10px}
.ohead__trust .i{flex:none;font-size:18px;margin-top:1px;color:var(--em-700)}
.ohead__trust span{font-size:13px;line-height:1.35;color:var(--ink-500)}
.ohead__trust strong{display:block;font-size:14px;font-weight:600;color:var(--ink-900)}
.intro--order.intro--split .intro__grid{grid-template-columns:minmax(0,1fr) auto;gap:32px}
@media (max-width:960px){.ohead__trust{display:none}}
@media (max-width:640px){
  .ctable--up td.num:last-child{grid-column:1/-1;grid-row:auto;text-align:left}
  .ctable--up td:nth-child(4){display:none}
}
.ptable{margin:18px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--ink-200)}
.prose .ptable table{display:table;width:100%;margin:0}
.prose .ptable tr:last-child td{border-bottom:0}
/* Devis sur mesure : la colonne d'explication accompagne le formulaire au défilement */
@media (min-width:961px){.split--builder>div:first-child{position:sticky;top:calc(var(--hdr-h) + 24px)}}
.fit__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.fit__note{margin-top:12px;max-width:560px}
/* Juridictions en cartes */
.jcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.jcard{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:var(--r-lg);background:var(--white);box-shadow:inset 0 0 0 1px var(--ink-200),var(--sh-xs)}
.jcard__t{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 16px/1.2 var(--font-display);color:var(--ink-900)}
.jcard__t .mono{font-size:11.5px;letter-spacing:.06em;color:var(--ink-500)}
.jcard__c{display:flex;flex-wrap:wrap;gap:6px}
.jcard__c a{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink-150);font-size:13px;font-weight:600;color:var(--ink-800)}
.jcard__c a:hover{background:var(--em-50);color:var(--em-800)}
.jcard__c .flag{width:16px;height:12px}
.jcard__f{display:grid;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--ink-150)}
.jcard__f li{display:flex;gap:8px;font-size:13.5px;line-height:1.5;color:var(--ink-600)}
.jcard__f .i{flex:none;font-size:14px;margin-top:3px;color:var(--em-700)}
@media (max-width:1120px){.jcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.jcards{grid-template-columns:minmax(0,1fr)}}
.hist__next{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--em-50);box-shadow:inset 0 0 0 1px var(--em-100);font-size:14px;color:var(--em-900);white-space:nowrap}
.hist__next .i{font-size:16px;color:var(--em-700)}
/* État : les sites sur deux colonnes (la liste suit la hauteur de la colonne latérale) */
.comps--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.comps--grid .comps__g{grid-column:1/-1}
.comps--grid .comp:nth-child(2n+3){box-shadow:inset 1px 0 0 var(--ink-150)}
.comps--grid .comp:nth-last-child(-n+2){border-bottom:0}
@media (max-width:640px){
  .comps--grid{grid-template-columns:minmax(0,1fr)}
  .comps--grid .comp:nth-child(2n+3){box-shadow:none}
  .comps--grid .comp:nth-last-child(2){border-bottom:1px solid var(--ink-150)}
}
/* Très grands écrans : colonnes latérales des documents un peu plus larges (le texte garde ~80 caractères par ligne) */
@media (min-width:1720px){
  .doc{grid-template-columns:260px minmax(0,1fr)}
  .doc--rail{grid-template-columns:260px minmax(0,1fr) 300px}
  .doc .prose{max-width:820px}
}
@media (min-width:641px){.meta--mob,.intro__meta:has(>.meta--mob){display:none}}
/* Rapport de transparence sur mobile : libellé, puis « reçus / suivis » étiquetés */
.ctable--tr tbody th{font-weight:500;color:var(--ink-800)}
@media (max-width:640px){
  .ctable--tr tr{grid-template-columns:minmax(0,1fr) auto auto;gap:4px 14px}
  .ctable--tr td.num{grid-row:auto;grid-column:auto;text-align:right}
  .ctable--tr td.num::before{content:attr(data-label);display:block;font:500 10px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}
}
