/* Caviardeur.fr — charte inspirée d'OVHcloud : bleu profond, bleu action, fonds ciel très clairs, angles courts, Source Sans. */
/* Couleurs, polices et logo : assets/charte.css (chargée avant cette feuille, partagée avec l'application). */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--blanc); color:var(--texte); font:17px/1.55 var(--sans); -webkit-font-smoothing:antialiased; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
h1,h2,h3,h4 { color:var(--encre); margin:0; line-height:1.15; text-wrap:balance; font-weight:700; }
h1 { font-size:clamp(34px,4.6vw,54px); letter-spacing:-.01em; }
h1.page { font-size:clamp(30px,3.6vw,44px); }
h2 { font-size:clamp(26px,3vw,36px); }
h3 { font-size:21px; }
h4 { font-size:17px; }
p { margin:0; }
a { color:var(--action); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible { outline:3px solid #7FB3FF; outline-offset:2px; }
.skip { position:absolute; left:-999px; top:8px; background:var(--marine); color:#fff; padding:8px 12px; border-radius:var(--r); z-index:100; }
.skip:focus { left:8px; }
[hidden] { display:none !important; }
.wrap { max-width:1160px; margin:0 auto; padding-inline:20px; }
.narrow { max-width:820px; }
.center { text-align:center; }
.eyebrow { display:inline-block; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--action); margin-bottom:12px; }
.lead { font-size:20px; color:var(--texte); max-width:62ch; }
.lead.center { margin-inline:auto; }
.muted { color:var(--muted); }
.small { font-size:14px; }
.mono { font-family:var(--mono); font-size:.92em; }
.balise { font-family:var(--mono); font-size:.9em; background:var(--balise); color:var(--balise-ink); border-radius:4px; padding:0 5px; font-weight:500; white-space:nowrap; }
.todo { background:var(--balise); color:var(--balise-ink); border-radius:4px; padding:0 5px; font-weight:600; font-size:.92em; }
.section { padding-block:72px; }
.section.tint { background:var(--ciel); border-block:1px solid var(--ligne); }
.section.brume { background:var(--brume); }
.section.head { padding-block:56px; }
.section.head .lead { margin-top:16px; }
.section-head { display:flex; flex-direction:column; gap:14px; max-width:760px; margin-bottom:40px; }
.section-head.later { margin-top:64px; }
.mt-16 { margin-top:16px; } .mt-22 { margin-top:22px; } .mt-28 { margin-top:28px; } .mt-12 { margin-top:12px; } .mb-12 { margin-bottom:12px; } .mb-14 { margin-bottom:14px; }
.grid { display:grid; gap:22px; }
.g2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.g3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.g4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:980px) { .g3,.g4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .g2,.g3,.g4 { grid-template-columns:1fr; } .section { padding-block:52px; } }

/* Boutons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font:600 16px/1 var(--sans); padding:14px 22px; border-radius:var(--r); border:1px solid var(--action); background:var(--action); color:#fff; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s; }
.btn:hover { background:var(--action-h); border-color:var(--action-h); }
.btn.ghost { background:transparent; color:var(--action); }
.btn.ghost:hover { background:var(--brume); }
.btn.white { background:#fff; color:var(--marine); border-color:#fff; }
.btn.white:hover { background:var(--ciel-2); }
.btn.danger { background:transparent; color:var(--alerte); border-color:var(--alerte); }
.btn.danger:hover { background:var(--alerte-bg); }
.btn.sm { padding:10px 14px; font-size:14px; }
.btn.block { width:100%; }
.btn:disabled { opacity:.5; cursor:default; }
.btn-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

/* En-tête */
header.site { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--ligne); }
header.site .wrap { display:flex; align-items:center; gap:28px; min-height:68px; }
nav.main { display:flex; gap:22px; flex:1; }
nav.main a { color:var(--encre); text-decoration:none; font-weight:600; font-size:16px; padding:6px 0; border-bottom:2px solid transparent; white-space:nowrap; }
nav.main a.on,nav.main a:hover { border-bottom-color:var(--action); color:var(--action); }
.head-actions { display:flex; gap:10px; align-items:center; margin-left:auto; }
.burger { display:none; }
/* Cinq entrées de menu et deux boutons tiennent sur une ligne à partir d'environ 1 180 px : en dessous, le menu se replie. */
@media (max-width:1180px) {
  nav.main { display:none; position:absolute; top:68px; left:0; right:0; background:#fff; flex-direction:column; gap:0; padding:10px 20px 16px; border-bottom:1px solid var(--ligne); }
  nav.main.open { display:flex; }
  nav.main a { padding:12px 0; border-bottom:1px solid var(--ligne); }
  .burger { display:inline-flex; background:none; border:1px solid var(--ligne); border-radius:var(--r); padding:8px 10px; cursor:pointer; color:var(--encre); font:600 14px var(--sans); }
  .head-actions .btn.ghost { display:none; }
}
/* Téléphone : logo, bouton d'essai et menu doivent tenir dans 375 px sans défilement horizontal. */
@media (max-width:420px) {
  header.site .wrap { gap:12px; }
  .logo { font-size:19px; } .logo .tld { display:none; }
  .head-actions { gap:8px; }
  .head-actions .btn.sm { padding:8px 10px; font-size:13.5px; }
}

/* Héros */
.hero { background:linear-gradient(180deg,var(--ciel) 0%,#fff 100%); border-bottom:1px solid var(--ligne); padding-block:64px 72px; }
.hero .wrap { display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center; }
@media (max-width:980px) { .hero .wrap { grid-template-columns:1fr; } }
.hero-copy { display:flex; flex-direction:column; gap:22px; }
.hero-note { font-size:14px; color:var(--muted); }
.trust { display:flex; gap:18px 28px; flex-wrap:wrap; margin-top:8px; }
.trust span { display:inline-flex; align-items:center; gap:8px; font-size:15px; color:var(--encre); font-weight:600; }
.trust i { width:18px; height:18px; border-radius:50%; background:var(--ok-bg); color:var(--ok); display:inline-grid; place-items:center; font-size:12px; font-style:normal; }

/* Avant / après */
.demo { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:stretch; }
@media (max-width:640px) { .demo { grid-template-columns:1fr; } .demo .arrow { transform:rotate(90deg); justify-self:center; } }
.doc { background:#fff; border:1px solid var(--ligne-2); border-radius:var(--r-lg); box-shadow:var(--shadow); padding:18px 18px 16px; font-size:13.5px; line-height:1.6; color:var(--encre); }
.doc .label { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.doc .label .pill { text-transform:none; letter-spacing:0; }
.doc h5 { margin:0 0 8px; font-size:14px; text-align:center; letter-spacing:.04em; }
.doc p + p { margin-top:8px; }
.demo .arrow { display:grid; place-items:center; color:var(--action); font-size:28px; }
.pill { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; padding:3px 9px; border-radius:99px; background:var(--brume); color:var(--marine); }
.pill.ok { background:var(--ok-bg); color:var(--ok); }
.pill.warn { background:var(--alerte-bg); color:var(--alerte); }
.pill.dark { background:var(--encre); color:#fff; }
.report-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }

/* Cartes */
.card { background:#fff; border:1px solid var(--ligne); border-radius:var(--r-lg); padding:26px; display:flex; flex-direction:column; gap:10px; }
.card.ciel { background:var(--ciel); }
.card.encre { background:var(--encre); border-color:var(--encre); color:#C9D3FF; }
.card.encre h3,.card.encre h4 { color:#fff; } .card.encre p { color:#C9D3FF; }
.card .num { font:600 13px var(--mono); color:var(--action); letter-spacing:.06em; }
.card p { color:var(--texte); font-size:16px; }
.card.compact { padding:18px 20px; }
.icon { width:44px; height:44px; border-radius:10px; background:var(--brume); color:var(--marine); display:grid; place-items:center; font-size:20px; font-weight:700; margin-bottom:6px; }
.flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
@media (max-width:980px) { .flow { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .flow { grid-template-columns:1fr; } }
.where { font-size:13px; color:var(--muted); display:flex; align-items:center; gap:6px; margin-top:auto; padding-top:8px; border-top:1px dashed var(--ligne); }
.where b { color:var(--encre); font-weight:600; }
.plain-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:15px; }

/* Tableaux */
.tablewrap { overflow-x:auto; border:1px solid var(--ligne); border-radius:var(--r-lg); background:#fff; }
table { width:100%; border-collapse:collapse; font-size:15.5px; }
th,td { text-align:left; padding:13px 16px; border-bottom:1px solid var(--ligne); vertical-align:top; }
th { background:var(--ciel); color:var(--encre); font-weight:700; font-size:14px; letter-spacing:.02em; }
tr:last-child td { border-bottom:none; }
td.yes { color:var(--ok); font-weight:700; } td.no { color:var(--muted); }
td b { color:var(--encre); }

/* Tarifs */
.toggle { display:inline-flex; border:1px solid var(--ligne-2); border-radius:99px; padding:4px; background:#fff; gap:4px; }
.toggle button { font:600 14px var(--sans); border:none; background:transparent; color:var(--texte); padding:8px 16px; border-radius:99px; cursor:pointer; }
.toggle button.on { background:var(--marine); color:#fff; }
.toggle .save { font-size:12px; color:var(--ok); margin-left:4px; }
.toggle button.on .save { color:#9BE7B5; }
.plans { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }
@media (max-width:1060px) { .plans { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .plans { grid-template-columns:1fr; } }
.plan { position:relative; background:#fff; border:1px solid var(--ligne-2); border-radius:var(--r-lg); padding:28px 24px 24px; display:flex; flex-direction:column; gap:14px; }
.plan.featured { border:2px solid var(--action); box-shadow:var(--shadow); }
.plan .badge { position:absolute; top:-13px; left:24px; background:var(--action); color:#fff; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:99px; }
.plan.souverain { background:var(--encre); border-color:var(--encre); color:#C9D3FF; }
.plan.souverain h3,.plan.souverain .price,.plan.souverain li,.plan.souverain .quota { color:#fff; }
.plan.souverain .for { color:#AAB4E8; }
.plan.souverain li::before { color:#8FB4FF; }
.plan h3 { font-size:20px; }
.plan .for { font-size:15px; color:var(--muted); min-height:44px; }
.price { display:flex; align-items:baseline; gap:6px; color:var(--encre); font-variant-numeric:tabular-nums; }
.price b { font-size:40px; font-weight:700; letter-spacing:-.02em; }
.price span { font-size:14px; color:var(--muted); }
.quota { font-weight:700; color:var(--encre); font-size:16px; }
.plan ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:15px; color:var(--texte); }
.plan li { padding-left:22px; position:relative; }
.plan li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--ok); font-weight:700; }
.plan li.off { color:var(--muted); } .plan li.off::before { content:"–"; color:var(--ligne-2); }
.plan .btn { margin-top:auto; }
.ht-note { font-size:13.5px; color:var(--muted); margin-top:18px; }

/* FAQ */
details { border-top:1px solid var(--ligne); }
details:last-of-type { border-bottom:1px solid var(--ligne); }
summary { cursor:pointer; list-style:none; padding:18px 0; font-weight:700; color:var(--encre); font-size:18px; display:flex; justify-content:space-between; gap:16px; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; color:var(--action); font-size:22px; line-height:1; }
details[open] summary::after { content:"–"; }
details .a { padding:0 0 20px; max-width:70ch; color:var(--texte); }

/* Bandeau d'appel */
.cta-band { background:var(--marine); color:#fff; padding-block:64px; }
.cta-band h2 { color:#fff; }
.cta-band p { color:#C9D3FF; font-size:18px; max-width:60ch; }
.cta-band .wrap { display:flex; justify-content:space-between; gap:28px; align-items:center; flex-wrap:wrap; }

/* Pied de page */
footer.site { background:var(--ciel); border-top:1px solid var(--ligne); padding-block:52px 28px; font-size:15px; }
footer .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:28px; }
@media (max-width:900px) { footer .cols { grid-template-columns:repeat(2,minmax(0,1fr)); } }
footer h4 { font-size:14px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
footer ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
footer a { color:var(--encre); text-decoration:none; } footer a:hover { color:var(--action); text-decoration:underline; }
.footer-blurb { margin-top:12px; max-width:32ch; }
footer .bottom { margin-top:36px; padding-top:18px; border-top:1px solid var(--ligne); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:13.5px; }

/* Pages légales */
.legal { padding-block:56px 80px; }
.legal .wrap { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; }
@media (max-width:900px) { .legal .wrap { grid-template-columns:1fr; } .legal aside { position:static; } }
.legal aside { position:sticky; top:90px; align-self:start; }
.legal aside a { display:block; padding:8px 12px; border-left:2px solid var(--ligne); color:var(--texte); text-decoration:none; font-size:15px; }
.legal aside a.on,.legal aside a[aria-current] { border-left-color:var(--action); color:var(--action); font-weight:600; }
.legal article { max-width:72ch; display:flex; flex-direction:column; gap:14px; }
.legal article h1 { font-size:34px; }
.legal article h2 { font-size:22px; margin-top:22px; }
.legal article h3 { font-size:18px; margin-top:8px; }
.legal article ul,.legal article ol { margin:0; padding-left:22px; display:flex; flex-direction:column; gap:6px; }
.legal .meta { font-size:14px; color:var(--muted); }
.callout { border-left:4px solid var(--action); background:var(--brume); padding:14px 18px; border-radius:0 var(--r) var(--r) 0; font-size:15.5px; }
.callout.ok { border-left-color:var(--ok); background:var(--ok-bg); }
.callout.warn { border-left-color:var(--alerte); background:var(--alerte-bg); }

/* Formulaires */
.field { font:inherit; width:100%; padding:12px 14px; border:1px solid var(--ligne-2); border-radius:var(--r); background:#fff; color:var(--encre); }
textarea.field { resize:vertical; }
.lbl { font-size:14px; font-weight:600; color:var(--encre); display:block; margin-bottom:6px; }
.form-msg { font-size:14.5px; padding:10px 14px; border-radius:var(--r); }
.form-msg.ok { background:var(--ok-bg); color:var(--ok); }
.form-msg.err { background:var(--alerte-bg); color:var(--alerte); }
.check { display:inline-flex; align-items:center; gap:8px; font-size:14.5px; cursor:pointer; }
.hp { position:absolute; left:-9999px; }

/* Connexion */
.auth { padding-block:64px 90px; background:var(--brume); }
.auth-card { max-width:440px; margin:0 auto; background:#fff; border:1px solid var(--ligne); border-radius:var(--r-lg); padding:32px; display:flex; flex-direction:column; gap:16px; box-shadow:var(--shadow); }
.auth-card h2 { font-size:24px; }
.sep { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:13px; } .sep::before,.sep::after { content:""; flex:1; height:1px; background:var(--ligne); }

/* Code */
pre.code { background:var(--encre); color:#E6ECFF; font:13.5px/1.6 var(--mono); padding:18px; border-radius:var(--r-lg); overflow:auto; margin:0; }
pre.code .c { color:#8FA3D9; } pre.code .k { color:#FFD447; }

/* Espace client */
body.app-page main { background:var(--brume); }
.app { padding-block:28px 40px; }
.app-shell { display:grid; grid-template-columns:230px minmax(0,1fr); background:#fff; border:1px solid var(--ligne); border-radius:var(--r-lg); overflow:hidden; }
@media (max-width:900px) { .app-shell { grid-template-columns:1fr; } .app-side { border-right:none !important; border-bottom:1px solid var(--ligne); } }
.app-side { background:var(--ciel); border-right:1px solid var(--ligne); padding:20px 14px; display:flex; flex-direction:column; gap:6px; }
.app-side a,.app-side button.navlink { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:var(--r); color:var(--encre); text-decoration:none; font:600 15px var(--sans); background:none; border:none; text-align:left; cursor:pointer; width:100%; }
.app-side a.on,.app-side button.on { background:#fff; color:var(--action); box-shadow:0 1px 0 var(--ligne); }
.quota-box { margin-top:auto; background:#fff; border:1px solid var(--ligne); border-radius:var(--r); padding:12px; font-size:13.5px; }
.bar { height:8px; background:var(--brume); border-radius:99px; overflow:hidden; margin:8px 0 6px; }
.bar i { display:block; height:100%; background:var(--action); border-radius:99px; transition:width .3s; }
.bar i.full { background:var(--alerte); }
.app-main { padding:24px 26px 30px; display:flex; flex-direction:column; gap:22px; min-width:0; }
.app-top { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.app-top h2 { font-size:24px; }
.drop { border:2px dashed var(--ligne-2); border-radius:var(--r-lg); padding:30px; text-align:center; color:var(--muted); background:var(--ciel); cursor:pointer; }
.drop.over { border-color:var(--action); background:var(--ciel-2); }
.drop b { color:var(--encre); display:block; font-size:17px; margin-bottom:4px; }
.drop .fname { display:block; margin-top:8px; color:var(--encre); font-weight:600; min-height:1.4em; }
.opts { display:flex; gap:18px; flex-wrap:wrap; font-size:14.5px; margin-top:12px; justify-content:center; align-items:center; }
.steps { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 6px; }
.steps span { padding:4px 10px; border-radius:99px; background:var(--brume); font-size:12.5px; color:var(--muted); }
.steps span.on { background:var(--ciel-2); color:var(--action); font-weight:600; }
.steps span.done { background:var(--ok-bg); color:var(--ok); }
.log { font:12.5px/1.5 var(--mono); color:var(--muted); white-space:pre-wrap; text-align:left; margin-top:8px; }
.jobs td { font-size:14.5px; }
.jobs .link { background:none; border:none; color:var(--action); font:inherit; cursor:pointer; padding:0; text-decoration:underline; }
.tabs { display:flex; gap:4px; border-bottom:1px solid var(--ligne); overflow-x:auto; }
.tabs button { font:600 15px var(--sans); background:none; border:none; padding:12px 16px; color:var(--texte); border-bottom:2px solid transparent; margin-bottom:-1px; cursor:pointer; white-space:nowrap; }
.tabs button.on { color:var(--action); border-bottom-color:var(--action); }
.tabpane { display:none; padding-top:18px; } .tabpane.on { display:block; }
.stats { display:flex; gap:28px; flex-wrap:wrap; }
.stat b { display:block; font-size:28px; color:var(--encre); font-variant-numeric:tabular-nums; }
.stat b.ok { color:var(--ok); } .stat b.warn { color:var(--alerte); }
.stat span { font-size:13.5px; color:var(--muted); }
pre.doctext { white-space:pre-wrap; font:13.5px/1.6 var(--mono); background:var(--ciel); border:1px solid var(--ligne); border-radius:var(--r); padding:16px; margin:0; max-height:420px; overflow:auto; color:var(--encre); }
.result-head { padding:20px 22px 0; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:flex-start; }
.result-body { padding:18px 22px 22px; display:flex; flex-direction:column; gap:16px; }
.chat { display:flex; flex-direction:column; gap:12px; }
.msg { padding:14px 16px; border-radius:var(--r-lg); font-size:15px; max-width:70ch; white-space:pre-wrap; }
.msg.q { background:var(--brume); align-self:flex-end; color:var(--encre); }
.msg.r { background:#fff; border:1px solid var(--ligne); }
.msg.r.reid { border-color:var(--ok); }
.ask { display:flex; gap:8px; align-items:flex-start; }
.ask .field { flex:1; }
.orig-hidden .orig { display:none; }
.gate { max-width:560px; margin:40px auto; }
.demo-banner { background:var(--balise); color:var(--balise-ink); font-size:14px; padding:8px 20px; text-align:center; }

/* Erreur 404 */
.e404 { padding-block:90px; text-align:center; }
.e404 .big { font:700 96px/1 var(--sans); color:var(--marine); }
.e404 .big span { background:var(--caviard); color:transparent; border-radius:6px; padding:0 8px; }
.e404 .btn-row { justify-content:center; }
.app-top.mb-12 h3 { font-size:19px; }

/* Articles (guides) — cadre généré par tools/build-caviardeur.mjs, "type":"article" */
.article { padding-block:44px 80px; }
.article .wrap { display:grid; grid-template-columns:220px minmax(0,1fr); gap:56px; }
.article .sommaire { position:sticky; top:90px; align-self:start; display:flex; flex-direction:column; }
.article .sommaire .lbl { font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.article .sommaire a { padding:6px 12px; border-left:2px solid var(--ligne); color:var(--texte); text-decoration:none; font-size:14.5px; line-height:1.35; }
.article .sommaire a:hover { color:var(--action); border-left-color:var(--action); }
/* Sur écran étroit, le sommaire disparaît : la colonne unique suffit, et il repousserait le titre sous la ligne de flottaison. */
@media (max-width:900px) { .article .wrap { grid-template-columns:1fr; } .article .sommaire { display:none; } }
.article article { max-width:70ch; min-width:0; display:flex; flex-direction:column; gap:16px; }
.article .fil { display:flex; flex-wrap:wrap; gap:6px; font-size:14px; color:var(--muted); }
.article .fil a { color:var(--muted); }
.article article > .eyebrow { margin-bottom:-4px; }
.article h1 { font-size:clamp(30px,3.4vw,42px); }
.article .reponse { font-size:19px; line-height:1.5; color:var(--encre); background:var(--brume); border-left:4px solid var(--action); padding:16px 20px; border-radius:0 var(--r) var(--r) 0; }
.article .meta { font-size:14px; color:var(--muted); }
.article h2 { font-size:25px; margin-top:26px; scroll-margin-top:90px; }
.article h2.petit { font-size:20px; }
.article h3 { font-size:19px; margin-top:8px; }
.article ul,.article ol { margin:0; padding-left:22px; display:flex; flex-direction:column; gap:6px; }
.article blockquote { margin:0; padding:6px 18px; border-left:3px solid var(--ligne-2); color:var(--encre); }
.article .balise { white-space:normal; overflow-wrap:anywhere; }
.article .tablewrap table { font-size:15px; }
.article .sources { font-size:14.5px; color:var(--muted); overflow-wrap:anywhere; }
.article .auteur { margin-top:20px; padding:18px 20px; background:var(--ciel); border:1px solid var(--ligne); border-radius:var(--r-lg); font-size:15.5px; display:flex; flex-direction:column; gap:8px; }
.article .lies ul { list-style:none; padding:0; gap:0; }
.article .lies li { display:flex; flex-direction:column; gap:2px; padding:12px 0; border-top:1px solid var(--ligne); }
.article .lies li span { font-size:14.5px; color:var(--muted); }
.card.guide { text-decoration:none; color:inherit; }
.card.guide:hover { border-color:var(--action); box-shadow:var(--shadow); }
.card.guide h3 { font-size:19px; }
.rubrique + .rubrique { margin-top:56px; }
