/* design-system.css handles reset, body, a, ::selection */

/* SEO Phase 3 — Core Web Vitals optimizations
   content-visibility:auto tells the browser to skip rendering + layout for
   off-screen sections until they're close to the viewport. Dramatically
   improves LCP on long pages (our homepage is ~360 KB of HTML).
   contain-intrinsic-size reserves vertical space so the scrollbar doesn't
   jump when sections are lazy-rendered. Tuned to average section height. */
.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 800px}
.cv-auto-short{content-visibility:auto;contain-intrinsic-size:auto 400px}
.cv-auto-tall{content-visibility:auto;contain-intrinsic-size:auto 1200px}

/* ─── SONAR DEMO v2 (Q.2 upgrade : score géant + décision visible) ─── */
.cat-matrix{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* L5.1 — en desktop le terminal analyste joue déjà la démo : la carte
   exemple ferait doublon et déséquilibre le hero — masquée ≥980px,
   conservée dans le formulaire en mobile (pas de terminal là-bas). */
@media (min-width:980px){.sonar-demo{display:none}}
.sonar-demo{position:relative;margin-top:14px;padding:20px 20px 18px;background:linear-gradient(140deg,rgba(36, 59, 209,.06) 0%,rgba(124,58,237,.04) 100%);border:1px solid rgba(36, 59, 209,.18);border-radius:8px;overflow:hidden}
.sonar-demo::before{content:'EXEMPLE';position:absolute;top:12px;right:16px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.15em;color:#243BD1;padding:3px 10px;background:rgba(14, 15, 16,.15);border-radius:999px}
.sonar-rings{position:absolute;top:28px;left:20px;width:38px;height:38px;pointer-events:none}
.sonar-rings span{position:absolute;top:50%;left:50%;width:0;height:0;border:1.5px solid #243BD1;border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:sonarPulse 2.6s linear infinite}
.sonar-rings span:nth-child(1){animation-delay:0s}
.sonar-rings span:nth-child(2){animation-delay:.87s}
.sonar-rings span:nth-child(3){animation-delay:1.73s}
.sonar-rings::after{content:'';position:absolute;top:50%;left:50%;width:9px;height:9px;background:#0E0F10;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(36, 59, 209,.28)}
@keyframes sonarPulse{0%{width:0;height:0;opacity:.9}100%{width:38px;height:38px;opacity:0}}

.sonar-card{margin-left:52px;animation:scFade .4s ease}
.sc-top{margin-bottom:12px}
.sc-label{font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#243BD1;margin-bottom:4px}
.sc-name{font-family:'Public Sans',sans-serif;font-size:15px;font-weight:700;color:#F6F6F3;letter-spacing:-.01em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Score block : score géant + risk label coloré */
.sc-score-block{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.sc-score-n{font-family:'Public Sans',sans-serif;font-size:46px;font-weight:800;color:#F6F6F3;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.sc-score-n.red{color:#DC2626}
.sc-score-n.green{color:#6EE7B7}
.sc-score-n.amber{color:#FCD34D}
.sc-score-s{font-size:16px;color:#6D7176;font-weight:600;letter-spacing:0;margin-left:2px}
.sc-risk-label{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:700}
.sc-risk-label.red{background:rgba(220,38,38,.10);color:#B91C1C}
.sc-risk-label.green{background:rgba(5,150,105,.16);color:#6EE7B7}
.sc-risk-label.amber{background:rgba(217,119,6,.16);color:#FCD34D}
.sc-risk-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 2px rgba(255,255,255,.08)}

.sc-chips{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px}
.sc-chips li{font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;line-height:1.2}
.sc-chips li.bad{background:rgba(220,38,38,.08);color:#B91C1C;border:1px solid rgba(220,38,38,.25)}
.sc-chips li.ok{background:rgba(5,150,105,.08);color:#065F46;border:1px solid rgba(5,150,105,.25)}
.sc-chips li.meh{background:rgba(217,119,6,.08);color:#92400E;border:1px solid rgba(217,119,6,.25)}

/* Decision block : bandeau OK/REVIEW/STOP en bas */
.sc-decision{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);gap:12px}
.sc-dec-lbl{font-size:10.5px;font-weight:600;color:#6D7176;letter-spacing:.04em;text-transform:uppercase}
.sc-dec-val{font-family:'Public Sans',sans-serif;font-size:15px;font-weight:800;letter-spacing:.04em;color:#fff;flex-shrink:0}
.sc-decision.red{background:rgba(220,38,38,.1);border-color:rgba(220,38,38,.3)}
.sc-decision.red .sc-dec-val{color:#DC2626}
.sc-decision.green{background:rgba(5,150,105,.1);border-color:rgba(5,150,105,.3)}
.sc-decision.green .sc-dec-val{color:#6EE7B7}
.sc-decision.amber{background:rgba(217,119,6,.1);border-color:rgba(217,119,6,.3)}
.sc-decision.amber .sc-dec-val{color:#FCD34D}

@keyframes scFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.sonar-rings span{animation:none;display:none}.sonar-card{animation:none}}

/* ─── V2.E MOBILE STICKY CTA ─── */
.mob-cta{position:fixed;bottom:0;left:0;right:0;z-index:99;background:#fff;border-top:1px solid #EBEBE7;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -8px 24px -8px rgba(0,0,0,.12)}
.mob-cta-msg{flex:1;min-width:0}
.mob-cta-t{font-family:'Public Sans',sans-serif;font-size:13.5px;font-weight:800;color:#0E0F10;line-height:1.2;letter-spacing:-.01em}
.mob-cta-s{font-size:11.5px;color:#6D7176;margin-top:1px;line-height:1.25}
.mob-cta-b{background:#0E0F10;color:#fff;border:none;border-radius:999px;padding:11px 18px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0}
@media(min-width:820px){.mob-cta{display:none !important}}

/* ─── V2.E EXIT INTENT MODAL ─── */
.exit-modal{position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;padding:20px}
.exit-modal.on{display:flex !important}
.exit-modal-bg{position:absolute;inset:0;background:rgba(10,10,10,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:exitFadeBg .2s ease}
.exit-modal-box{position:relative;background:#fff;border-radius:8px;padding:42px 40px 32px;max-width:480px;width:100%;box-shadow:0 24px 64px -16px rgba(16,24,40,.35),0 8px 16px -8px rgba(16,24,40,.14);animation:exitSlide .35s cubic-bezier(.2,.8,.2,1)}
.exit-x{position:absolute;top:14px;right:14px;background:#F4F5F7;border:none;border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer;color:#6D7176;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:all .15s}
.exit-x:hover{background:#EBEBE7;color:#0E0F10}
.exit-kicker{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;color:#243BD1;letter-spacing:.15em;text-transform:uppercase;padding:5px 11px;background:#EEF0FD;border-radius:999px;margin-bottom:14px}
.exit-h{font-family:'Public Sans',sans-serif;font-size:26px;font-weight:800;color:#0E0F10;line-height:1.2;letter-spacing:-.02em;margin-bottom:12px}
.exit-h em{font-style:normal;background:linear-gradient(135deg,#0E0F10,#1B2DA6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.exit-p{font-size:14px;color:#6D7176;line-height:1.55;margin-bottom:22px}
.exit-form{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.exit-input{flex:1;min-width:180px;background:var(--rs-bg-alt);border:1.5px solid #EBEBE7;border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;color:#0E0F10;outline:none;transition:border-color .15s}
.exit-input:focus{border-color:#243BD1;background:#fff}
.exit-btn{background:#0E0F10;color:#fff;border:none;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s}
.exit-btn:hover{background:#1B1D1F}
.exit-micro{font-size:12px;color:#6D7176;line-height:1.55}
@keyframes exitFadeBg{from{opacity:0}to{opacity:1}}
@keyframes exitSlide{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){.exit-modal-box{padding:32px 24px 24px}.exit-h{font-size:22px}}

/* ─── S.1 COUNTRY TOGGLE (nav) ─── */
/* Virage France-first (16/07) : le selecteur FR|MA disparait de la nav. La
   sequence decidee est France -> BE/CH/LU -> Europe -> Maroc EN DERNIER ; offrir
   le Maroc en 2e choix a chaque visiteur francais contredisait ce cap.
   Il RESTE affiche sur la facade /ma (html[data-facade="ma"]) : sans lui, un
   visiteur marocain — que la racine bascule automatiquement en version MA sur
   detection de fuseau/langue (l.5245) — serait ENFERME sans aucune sortie.
   Les pages /ma restent vivantes et indexees : aimant SEO a cout nul. */
.country-toggle{display:none;align-items:center;gap:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px;margin:0 4px}
/* Gate sur le pays ACTIF (pose par applyCountry, l.5167), pas sur la facade :
   la racine peut basculer en MA par cookie rs_country OU par detection de
   fuseau/langue (l.5245). Un gate sur data-facade aurait laisse ces visiteurs
   ENFERMES en version MA, sans aucune sortie vers le francais. */
html[data-country="ma"] .country-toggle{display:inline-flex}
.country-toggle-m{display:none}
html[data-country="ma"] .country-toggle-m{display:flex}
/* Lien EN : discret et secondaire — le site est francais, l'anglais est une
   sortie pour un visiteur non francophone, pas une langue a egalite. */
.nav-en{display:inline-flex;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.5);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--transition);margin:0 2px}
.nav-en:hover{color:rgba(255,255,255,.85)}
.country-toggle-btn{background:transparent;color:rgba(255,255,255,.55);border:none;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;border-radius:999px;transition:all .15s}
.country-toggle-btn:hover{color:rgba(255,255,255,.85)}
.country-toggle-btn.on{background:#0E0F10;color:#fff;box-shadow:0 1px 4px rgba(36, 59, 209,.4)}
@media(max-width:820px){.country-toggle{display:none}}

/* ─── ANNOUNCEMENT BAR (V2.A) ─── */
.ann-bar{background:linear-gradient(90deg,#0E0F10 0%,#1B2DA6 100%);color:#fff;position:relative;z-index:101;font-size:13px;line-height:1.3}
.ann-wrap{max-width:1200px;margin:0 auto;padding:9px 40px 9px 32px;display:flex;align-items:center;gap:10px;justify-content:center}
.ann-dot{width:7px;height:7px;border-radius:50%;background:#34D399;box-shadow:0 0 0 3px rgba(52,211,153,.25);animation:annPulse 2s infinite;flex-shrink:0}
.ann-txt{font-weight:500;letter-spacing:.01em}
.ann-txt strong{font-weight:700}
.ann-link{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);font-weight:600;transition:border-color .15s,opacity .15s}
.ann-link:hover{border-bottom-color:#fff}
.ann-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:rgba(255,255,255,.6);font-size:20px;cursor:pointer;padding:2px 8px;line-height:1;transition:color .15s;font-family:inherit}
.ann-x:hover{color:#fff}
@keyframes annPulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(max-width:640px){.ann-wrap{padding:8px 36px 8px 14px;font-size:12px}.ann-txt{text-align:left}}

/* ─── NAV (dark glass) ─── */
.nav{position:sticky;top:0;z-index:100;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(14, 15, 16,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
/* L.0 — Logo SVG sonar (navbar + footer) */
.nav-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.3px;color:#FBFBFA;text-decoration:none;cursor:pointer}
.nav-logo .logo-mark{flex-shrink:0;display:block;width:22px;height:22px}
.nav-logo .logo-accent{color:#243BD1}
.nav-logo em{color:#243BD1;font-style:normal}
.nav-r{display:flex;gap:4px;align-items:center}
.nav-a{padding:9px 14px;font-size:14px;color:rgba(255,255,255,.6);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-weight:500}
/* L.4 — Dashboard l\u00e9g\u00e8rement mis en valeur dans la nav */
.nav-a[href*="dashboard"]{background:rgba(14, 15, 16,.1);border:1px solid rgba(36, 59, 209,.22);color:#9FB0FF;padding:7px 12px}
.nav-a[href*="dashboard"]:hover{background:rgba(14, 15, 16,.2);border-color:rgba(36, 59, 209,.4);color:#CDD1DF}
.nav-a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-dd{position:relative;display:inline-block}
.nav-dd>.nav-a{cursor:pointer;user-select:none}
.nav-dd-menu{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);min-width:300px;background:#0B1222;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px;box-shadow:0 16px 40px -8px rgba(2,6,23,.5);z-index:90}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:block}
.nav-dd-menu::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.nav-dd-item{display:flex;gap:11px;align-items:flex-start;padding:10px 12px;border-radius:8px;text-decoration:none}
.nav-dd-item:hover{background:rgba(14, 15, 16,.12)}
.nav-dd-item .di{font-size:16px;line-height:1.4;flex-shrink:0}
.nav-dd-item b{display:block;font-size:13px;color:#FBFBFA;font-weight:700}
.nav-dd-item span{font-size:11.5px;color:#6D7176;line-height:1.45}
.nav-dd-item em{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#9FB0FF;border:1px solid rgba(129,140,248,.35);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:1px}
/* UV.F1 — Se connecter : outline minimal */
.nav-signin{display:inline-block;padding:9px 18px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.75);background:transparent;border:1.5px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);min-height:40px;font-family:inherit;text-decoration:none;line-height:1.3}
/* Porte d'entree : l'inscription passe en PRIMAIRE (accent charte), la connexion
   reste en secondaire. Avant, seul « Se connecter » existait — un sign-in par mot
   de passe propose a des visiteurs sans compte. */
.nav-signup{display:inline-block;padding:9px 18px;font-size:13.5px;font-weight:700;color:#fff;background:var(--accent,#243BD1);border:1.5px solid var(--accent,#243BD1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);min-height:40px;font-family:inherit;text-decoration:none;line-height:1.3}
.nav-signup:hover{background:#2A2D30;border-color:#1B2DA6}
.nav-signin:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.36);color:#fff}
/* UV.F1 — CTA primaire filled indigo */
.nav-cta{display:inline-block;padding:9px 18px;font-size:13.5px;font-weight:600;color:#fff;background:#0E0F10;border:1.5px solid #243BD1;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);min-height:40px;font-family:inherit;text-decoration:none;line-height:1.3;white-space:nowrap}
.nav-cta:hover{background:#2A2D30;border-color:#1B2DA6;box-shadow:0 4px 12px -2px rgba(27, 45, 166,.45);transform:translateY(-1px)}
.nav-cta:active{transform:translateY(0)}
.nav-burger{display:none;background:none;border:none;width:44px;height:44px;padding:0;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--radius-sm);margin-right:-8px}
.nav-burger:hover{background:rgba(255,255,255,.08)}
.nav-burger svg{width:22px;height:22px;stroke:#fff}
.nav-mobile{display:none;position:fixed;top:64px;left:0;right:0;background:var(--color-primary);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 32px rgba(0,0,0,.3);padding:var(--space-md);z-index:99}
.nav-mobile.on{display:block;animation:navIn .2s ease}
@keyframes navIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.nav-mobile a{display:block;padding:14px 16px;font-size:var(--text-base);font-weight:500;color:rgba(255,255,255,.7);border-radius:var(--radius-sm);margin-bottom:4px}
.nav-mobile a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-mobile button{width:100%;margin-top:8px;padding:14px;font-size:14px;font-weight:600;color:#fff;background:var(--color-accent);border-radius:var(--radius-md);border:none;cursor:pointer;font-family:inherit}

/* ─── HERO (dark bg, 2-col on desktop) ─── */
.hero{background:linear-gradient(135deg,#0E0F10 0%,#1B1D1F 50%,#0E0F10 100%);padding:0;text-align:left;max-width:none;margin:0;position:relative}
/* hero-ping retiré (relique périwinkle #8B92C9 calibrée pour l'ancien hero sombre,
   off-brand sur le hero clair actuel) — les glows accent .hero::before subsistent. */
.hero-inner{display:grid;grid-template-columns:55fr 45fr;gap:56px;align-items:start;max-width:1200px;margin:0 auto;padding:44px 32px 48px}
/* UV.F2 — Colonne droite : formulaire int\u00e9gr\u00e9 (remplace la hero-card-wrap) */
.hero-form-col{background:rgba(255,255,255,.98);border-radius:8px;padding:24px;box-shadow:0 2px 4px rgba(14, 15, 16,.18),0 40px 80px -28px rgba(14, 15, 16,.6),inset 0 1px 0 rgba(255,255,255,.7);max-width:460px;width:100%;justify-self:center}
.hero-form-col .tabs{margin-bottom:16px}
.hero-form-col .form-card{padding:0;background:transparent;box-shadow:none;border:none;border-radius:0;margin:0}
.hero-form-col .f-hints,.hero-form-col .user-counter{margin-top:12px}

.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:var(--radius-full);border:1px solid rgba(36, 59, 209,.3);background:rgba(14, 15, 16,.12);font-size:var(--text-xs);color:#9FB0FF;margin-bottom:24px;font-weight:500}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

.hero h1{font-family:var(--font-display);font-size:clamp(34px,5vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1.1;margin-bottom:20px;color:#fff}
.hero h1 span{color:var(--color-accent)}
.hero-p{font-size:var(--text-lg);color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:10px;font-weight:400;max-width:480px}
.hero-sub{font-size:var(--text-sm);color:rgba(255,255,255,.35);margin-bottom:36px}
.hero-ctas{display:flex;gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}
.hero-cta-primary{display:inline-block;background:var(--color-accent);color:#fff;padding:14px 28px;border-radius:var(--radius-md);font-weight:600;font-size:16px;text-decoration:none;box-shadow:0 8px 28px -6px rgba(36, 59, 209,.45);transition:all var(--transition)}
.hero-cta-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(36, 59, 209,.45)}
.hero-cta-secondary{color:rgba(255,255,255,.5);text-decoration:underline;font-size:14px;padding:14px 0}
.hero-social{display:flex;align-items:center;flex-wrap:wrap;gap:8px;row-gap:6px;font-size:13px;color:rgba(255,255,255,.35)}
/* UV.8.2 — .hero-social-stars supprimée (étoiles sans source retirées) */

/* Hero report card (visual, right column) */
.hero-card-wrap{display:flex;justify-content:center;align-items:center}
.hero-report-card{background:#fff;border-radius:8px;padding:28px;width:320px;box-shadow:0 24px 48px -12px rgba(16,24,40,.24),0 8px 16px -8px rgba(16,24,40,.12);transform:rotate(-3deg);animation:float 4s ease-in-out infinite}
@keyframes float{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-10px)}}
.hrc-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.hrc-name{font-family:var(--font-display);font-weight:700;font-size:16px;color:#0E0F10}
.hrc-sub{font-size:11px;color:#6D7176;margin-top:2px}
.hrc-rating{background:#0E0F10;color:#fff;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;font-family:var(--font-display)}
.hrc-score-wrap{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.hrc-score{font-family:var(--font-mono);font-size:48px;font-weight:700;color:#10B981;line-height:1}
.hrc-score-label{font-size:13px;color:#10B981;font-weight:600}
.hrc-decision{background:#F0FDF4;border:1px solid #BBF7D0;border-radius:8px;padding:10px 14px;color:#16A34A;font-weight:600;font-size:14px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.hrc-signals{display:flex;flex-direction:column;gap:5px}
.hrc-signal{font-size:12px;padding:6px 10px;border-radius:6px}
.hrc-signal--ok{background:#F0FDF4;color:#15803D}
.hrc-signal--warn{background:#FFFBEB;color:#92400E}
.hrc-footer{margin-top:14px;font-size:10px;color:#6D7176;text-align:right}

/* ─── KPI BAR (inside hero, glass strip) ─── */
.kpi-bar{display:flex;justify-content:center;gap:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:0;margin:0 auto 32px;max-width:700px;overflow:hidden}
.kpi{flex:1;text-align:center;padding:18px 16px;border-right:1px solid rgba(255,255,255,.06)}
.kpi:last-child{border-right:none}
.kpi-n{font-family:var(--font-mono);font-size:26px;font-weight:500;letter-spacing:-.5px;color:var(--color-accent)}
.kpi-n em{font-style:normal}
.kpi-l{font-size:10px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:3px}

/* ─── TABS ─── */
.tabs{display:flex;gap:0;margin-bottom:16px;background:#F6F6F3;border-radius:8px;padding:4px}
.tab{flex:1;padding:13px 10px;text-align:center;font-size:13.5px;font-weight:500;color:#6D7176;border-radius:9px;cursor:pointer;transition:all .15s;min-height:44px;display:flex;align-items:center;justify-content:center}
/* reset <button>.tab (a11y) — font-family SEUL, pas le shorthand font (il écraserait size/weight) */
button.tab{background:transparent;border:0;font-family:inherit}
.tab.on{background:#0E0F10;color:#fff;box-shadow:0 4px 12px rgba(36, 59, 209,.3);font-weight:600}

/* ─── FORM ─── */
.form-card{background:#fff;border:1px solid #EBEBE7;border-radius:8px;padding:24px;box-shadow:var(--shadow-card)}
.f-input{width:100%;background:#FBFBFA;border:1.5px solid #EBEBE7;border-radius:10px;padding:11px 14px;color:#0E0F10;font-size:15px;font-family:inherit;outline:none;transition:all .15s;margin-bottom:10px;min-height:44px}
.f-input:focus{border-color:#243BD1;box-shadow:0 0 0 4px rgba(36, 59, 209,.1);background:#fff}
.f-input::placeholder{color:#6D7176}
.f-row{display:flex;gap:10px;margin-bottom:12px}
.f-field{flex:1}
.f-field label{display:block;font-size:10.5px;font-weight:600;color:#6D7176;text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px}
.f-field input,.f-field select{width:100%;background:#FBFBFA;border:1.5px solid #EBEBE7;border-radius:9px;padding:11px 12px;color:#0E0F10;font-size:14px;font-family:inherit;outline:none;transition:all .15s;min-height:44px}
.f-field input:focus,.f-field select:focus{border-color:#243BD1;background:#fff}
/* iOS ne dézoome pas après avoir zoomé sur un champ <16px : forcer 16px sur mobile pour tous les champs du funnel */
@media(max-width:820px){.f-input,.f-field input,.f-field select,.exit-input,.ai-qa-input-row input{font-size:16px}}
.f-field select{-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.f-btn{width:100%;padding:13px 16px;background:linear-gradient(135deg,#0E0F10,#1B2DA6);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;letter-spacing:-.2px;min-height:48px;box-shadow:0 2px 8px rgba(36, 59, 209,.2);margin-top:4px}
.demo-chip{background:#FBFBFA;border:1px solid #EBEBE7;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;color:#3A3D40;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.demo-chip:hover{border-color:#243BD1;color:#243BD1;background:#EEF0FD}
.demo-chip-risk{border-color:#FECACA;color:#B91C1C;background:#FEF2F2}
.demo-chip-risk:hover{border-color:#DC2626;background:#FEE2E2;color:#B91C1C}
@media(max-width:480px){.demo-chips{flex-direction:column}.demo-chip{width:100%;text-align:center}}
.f-btn:hover{box-shadow:0 6px 20px rgba(36, 59, 209,.4);transform:translateY(-1px)}
.f-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(36, 59, 209,.3)}
.f-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}
.f-hints{display:flex;justify-content:center;gap:20px;margin-top:14px;flex-wrap:wrap}
.f-hints span{font-size:11.5px;color:#6D7176;display:flex;align-items:center;gap:5px;font-weight:500}
.f-hints span::before{content:'\2713';color:#10B981;font-weight:700}

.doc-form{display:none}.doc-form.on{display:block}
.tab-c{display:none}.tab-c.on{display:block}

/* ─── DOC ANALYZER v2 UI ─── */
.doc-result{display:flex;flex-direction:column;gap:14px;padding:4px 0}
.doc-score-header{display:flex;align-items:center;gap:20px;background:#FBFBFA;border-radius:8px;padding:20px 24px;border-left:4px solid #9A9EA3}
.doc-score-number{font-family:'IBM Plex Mono','Fira Code',monospace;font-size:44px;font-weight:700;line-height:1}
.doc-score-number span{font-size:16px;opacity:.45;font-weight:600}
.doc-score-info{flex:1;min-width:0}
.doc-verdict{font-family:'Public Sans',sans-serif;font-size:17px;font-weight:700;margin-bottom:3px;letter-spacing:-.01em}
.doc-type{font-size:12.5px;color:#6D7176;font-weight:500}
.doc-section{background:#fff;border:1.5px solid #EBEBE7;border-radius:8px;padding:14px 18px}
.doc-section--ok{border-color:#BBF7D0;background:#F0FDF4}
.doc-section--warning{border-color:#FECACA;background:#FEF2F2}
.doc-section h4{font-family:'Public Sans',sans-serif;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6D7176;margin-bottom:10px}
.doc-clean{color:#16A34A;font-weight:600;font-size:13px}
.fraud-signal{display:flex;gap:10px;padding:8px 12px;border-radius:8px;background:#fff;margin-bottom:6px;border-left:3px solid #9A9EA3}
.fraud-signal strong{font-size:12.5px;color:#0E0F10;display:block;margin-bottom:2px;font-family:'Public Sans',sans-serif}
.fraud-signal p{font-size:12.5px;color:#54585C;margin:0;line-height:1.5}
.fraud-icon{font-size:14px;flex:0 0 auto;line-height:1.3}
.doc-ids{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.doc-id-item{display:flex;flex-direction:column;gap:2px;padding:4px 0}
.doc-id-label{font-size:10px;color:#6D7176;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.doc-id-value{font-family:'IBM Plex Mono','Fira Code',monospace;font-size:13px;color:#0E0F10;font-weight:600;word-break:break-all}
.doc-actions{list-style:none;padding:0;margin:0}
.doc-actions li{font-size:13px;color:#3A3D40;padding:7px 0;border-bottom:1px solid #F6F6F3;line-height:1.5}
.doc-actions li:last-child{border-bottom:none}
.doc-actions li::before{content:'→';color:#243BD1;font-weight:700;margin-right:8px}
.doc-recommendation{background:#EEF0FD;border:1px solid #CDD1DF;border-radius:8px;padding:14px 18px}
.doc-recommendation h4{font-family:'Public Sans',sans-serif;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#1B2DA6;margin-bottom:6px}
.doc-recommendation p{font-size:14px;color:#3730A3;line-height:1.6;margin:0}
.doc-missing{list-style:none;padding:0;margin:0;font-size:12.5px;color:#6D7176}
.doc-missing li{padding:4px 0}
.doc-missing li::before{content:'○';margin-right:8px;color:#6D7176}
@media(max-width:640px){.doc-ids{grid-template-columns:1fr}.doc-score-header{flex-direction:column;align-items:flex-start;gap:8px}.doc-score-number{font-size:36px}}
@media(max-width:1020px){ .persona-grid{grid-template-columns:repeat(2,1fr) !important} }
@media(max-width:640px){
  .persona-grid{grid-template-columns:1fr !important;gap:14px !important}
  #testimonial blockquote{font-size:20px !important}
}

/* ─── PROBLEM / SOLUTION ─── */
.vs-section{background:#FBFBFA;padding:72px 20px;border-top:1px solid #EBEBE7;border-bottom:1px solid #EBEBE7}
.vs-wrap{max-width:1100px;margin:0 auto}
.vs-head{text-align:center;margin-bottom:44px}
.vs-kicker{display:inline-block;font-family:'IBM Plex Mono','Fira Code',monospace;font-size:11px;font-weight:700;color:#243BD1;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;background:#EEF0FD;border-radius:999px;margin-bottom:14px}
.vs-title{font-family:'Public Sans',sans-serif;font-size:32px;font-weight:800;color:#0E0F10;letter-spacing:-.03em;line-height:1.15;margin-bottom:10px}
.vs-title em{font-style:normal;background:linear-gradient(135deg,#0E0F10,#1B2DA6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.vs-sub{color:#6D7176;font-size:16px;max-width:640px;margin:0 auto;line-height:1.6}
/* UV.F3 — Sans/Avec : 2 cards color\u00e9es contrast\u00e9es, gap suffisant pour badge VS centr\u00e9 */
.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:960px;margin:0 auto;position:relative}
.vs-card{padding:32px 28px;position:relative;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 4px 20px rgba(14, 15, 16,.08)}
.vs-card.neg{background:#FFF5F5;border:2px solid #FEE2E2}
.vs-card.pos{background:#F0FDF4;border:2px solid #BBF7D0}
.vs-card h3{font-family:'Public Sans',sans-serif;font-size:16px;font-weight:800;margin-bottom:6px;letter-spacing:.3px;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.vs-card.neg h3{color:#DC2626}
.vs-card.pos h3{color:#059669}
.vs-card .vs-subtitle{font-size:13px;margin-bottom:22px;line-height:1.5}
.vs-card.neg .vs-subtitle{color:#991B1B}
.vs-card.pos .vs-subtitle{color:#166534}
.vs-card ul{list-style:none;padding:0;margin:0;flex:1;display:flex;flex-direction:column;gap:12px}
.vs-card li{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}
.vs-card.neg li{color:#7F1D1D}
.vs-card.pos li{color:#14532D}
.vs-card li .ic{flex:0 0 20px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-top:1px}
.vs-card.neg li .ic{background:#FEE2E2;color:#991B1B}
.vs-card.pos li .ic{background:#D1FAE5;color:#065F46}
.vs-card .vs-foot{margin-top:22px;padding-top:16px;font-family:'IBM Plex Mono','Fira Code',monospace;font-size:12px;letter-spacing:.08em;font-weight:700}
.vs-card.neg .vs-foot{color:#DC2626;border-top:1px solid #FECACA}
.vs-card.pos .vs-foot{color:#059669;border-top:1px solid #86EFAC}
/* L.1 — Badge VS flottant au centre entre les 2 cards (desktop) */
.vs-divider{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;pointer-events:none}
.vs-badge{width:52px;height:52px;border-radius:50%;background:#0E0F10;color:#FBFBFA;font-family:'Public Sans',sans-serif;font-size:13px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(14, 15, 16,.35);border:4px solid #FBFBFA}
.vs-divider{display:flex;align-items:center;justify-content:center;position:relative}
.vs-divider::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(180deg,transparent,#DEDED9 20%,#DEDED9 80%,transparent);transform:translateX(-50%)}
/* Horizontal conserv\u00e9 jusqu'\u00e0 640px (tr\u00e8s petit mobile) pour respecter le besoin desktop/tablet */
@media(max-width:640px){
  .vs-grid{grid-template-columns:1fr;gap:14px;position:relative}
  /* L.1 — En mobile, badge VS plac\u00e9 entre les cards empil\u00e9es (static au milieu de la pile) */
  .vs-divider{position:static;transform:none;left:auto;top:auto;display:flex;justify-content:center}
  .vs-section{padding:52px 16px}
  .vs-title{font-size:26px}
  .vs-card{padding:26px 22px}
}

/* P.4 — Refonte VS : format tableau comparatif (Crit\u00e8re / Sans / Avec) */
.vs-compare{max-width:1080px;margin:0 auto;background:#FFFFFF;border:1px solid #EBEBE7;border-radius:8px;overflow:hidden;box-shadow:0 10px 40px -12px rgba(14, 15, 16,.10)}
.vs-compare-head{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;background:var(--rs-bg-alt);border-bottom:1px solid #EBEBE7}
.vs-compare-head>div{padding:18px 22px;font-family:'Public Sans',sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.vs-compare-head .ch-crit{color:#6D7176}
.vs-compare-head .ch-neg{color:#DC2626;border-left:1px solid #EBEBE7}
.vs-compare-head .ch-pos{color:#059669;border-left:1px solid #EBEBE7;background:#F0FDF4;position:relative}
.vs-compare-head .ch-pos::before{content:'RECOMMANDÉ';position:absolute;top:6px;right:10px;background:#059669;color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:999px;line-height:1.2;white-space:nowrap;box-shadow:0 2px 6px -1px rgba(5,150,105,.35);z-index:2}
.ch-dot{width:8px;height:8px;border-radius:50%}
.ch-neg .ch-dot{background:#DC2626}
.ch-pos .ch-dot{background:#059669}
.vs-compare-row{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;border-top:1px solid #F1F3F5;transition:background .2s}
.vs-compare-row:first-child{border-top:none}
.vs-compare-row:hover{background:#FAFBFC}
.vs-compare-row>div{padding:22px 22px;font-size:14px;line-height:1.5;display:flex;align-items:center;gap:10px}
.vs-cell-crit{color:#0E0F10;font-weight:600}
.vs-cell-crit .crit-ic{flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:#EEF0FD;color:#243BD1;display:flex;align-items:center;justify-content:center}
.vs-cell-crit .crit-ic svg{width:15px;height:15px}
.vs-cell-neg{color:#6D7176;border-left:1px solid #F1F3F5}
.vs-cell-neg .n-ic{flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#FEE2E2;color:#991B1B;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.vs-cell-pos{color:#0E0F10;font-weight:500;border-left:1px solid #F1F3F5;background:#FAFDFB}
.vs-cell-pos .p-ic{flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#D1FAE5;color:#065F46;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.vs-cell-pos strong{color:#059669;font-weight:700}
/* Footer delta : chiffres avant/après */
.vs-deltas{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:0;border-top:1px solid #EBEBE7;background:linear-gradient(135deg,#FBFBFA 0%,#F1F3FA 100%)}
.vs-delta{padding:24px 22px;display:flex;flex-direction:column;gap:6px;border-right:1px solid #EBEBE7}
.vs-delta:last-child{border-right:none}
.vs-delta-lbl{font-family:'IBM Plex Mono','Fira Code',monospace;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#6D7176}
.vs-delta-val{font-family:'Public Sans',sans-serif;font-size:22px;font-weight:800;color:#0E0F10;letter-spacing:-.02em;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.vs-delta-val .before{color:#6D7176;text-decoration:line-through;font-weight:600;font-size:18px}
.vs-delta-val .arrow{color:#243BD1;font-weight:800}
.vs-delta-val .after{background:linear-gradient(135deg,#059669,#047857);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.vs-delta-sub{font-size:12px;color:#6D7176;line-height:1.4}
@media(max-width:820px){
  .vs-deltas{grid-template-columns:1fr;gap:1px}
  .vs-delta{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .vs-delta-val{font-size:18px}
}
/* <=640px : tableau comparatif -> CARTES EMPILEES par critere (ergonomie tel).
   Avant : 2 colonnes SANS la colonne Critere (on ne savait plus de quel critere
   il s'agissait). Maintenant : critere en tete de carte + Sans/Avec etiquetes et
   pleine largeur. CSS pur, aucun markup/JS touche. */
@media(max-width:640px){
  .vs-compare{border-radius:8px}
  .vs-compare-head{display:none}
  .vs-compare-row{grid-template-columns:1fr;border-top:9px solid #EEF1F5}
  .vs-compare-row:first-child{border-top:none}
  .vs-compare-row>div{padding:13px 18px;border-left:none}
  .vs-cell-crit{display:flex !important;background:#F6F8FB;font-size:14.5px;font-weight:700;border-bottom:1px solid #E9EDF2}
  .vs-cell-neg,.vs-cell-pos{flex-wrap:wrap;align-items:center}
  .vs-cell-neg::before,.vs-cell-pos::before{flex-basis:100%;font-family:'Public Sans',sans-serif;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
  .vs-cell-neg::before{content:'Sans RiskSonnar';color:#DC2626}
  .vs-cell-pos::before{content:'Avec RiskSonnar';color:#059669}
}

/* ─── SOURCES TICKER ─── */
.sources{padding:26px 0;border-top:1px solid #EBEBE7;border-bottom:1px solid #EBEBE7;background:linear-gradient(180deg,#FBFBFA 0%,#F1F3FA 100%);overflow:hidden;position:relative}
.sources::before,.sources::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.sources::before{left:0;background:linear-gradient(90deg,#0E0F10 0%,transparent 100%)}
.sources::after{right:0;background:linear-gradient(-90deg,#0E0F10 0%,transparent 100%)}
.src-label{font-size:10px;color:#6D7176;text-align:center;margin-bottom:16px;text-transform:uppercase;letter-spacing:2px;font-weight:600;font-family:'IBM Plex Mono','Fira Code',monospace}
.src-label em{color:#243BD1;font-style:normal;font-weight:700}
.ticker-wrap{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
.ticker-track{display:flex;gap:56px;width:max-content;animation:tickerScroll 35s linear infinite;will-change:transform}
.ticker-wrap:hover .ticker-track{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono','Fira Code',monospace;font-size:12px;font-weight:600;color:#6D7176;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:color .2s}
.ticker-item:hover{color:#0E0F10}
.ticker-item .dot{width:6px;height:6px;border-radius:50%;background:#0E0F10;box-shadow:0 0 0 3px rgba(36, 59, 209,.14);flex:0 0 auto}
.ticker-source-item{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ticker-source-logo{width:20px;height:20px;object-fit:contain;border-radius:4px;opacity:.7;filter:grayscale(1)}
.ticker-source-item:hover .ticker-source-logo{opacity:1;filter:grayscale(0)}
.ticker-source-fallback{width:20px;height:20px;background:#EEF0FD;border-radius:4px;font-size:9px;font-weight:700;color:#243BD1;display:none;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace}
.ticker-source-label{font-size:12.5px;color:#3A3D40;font-weight:500;font-weight:600;letter-spacing:.05em;white-space:nowrap;font-family:'IBM Plex Mono',monospace}
.ticker-source-item:hover .ticker-source-label{color:#0E0F10}

/* ─── SOURCES GRID v2 — refonte dense premium ─── */
.sources-grid-wrap{max-width:1200px;margin:40px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sources-category-card{background:#fff;border:1px solid #EBEBE7;border-radius:8px;padding:22px 22px 20px;transition:border-color .2s,transform .15s,box-shadow .2s;display:flex;flex-direction:column;gap:14px}
.sources-category-card:hover{border-color:#C7CAD1;transform:translateY(-2px);box-shadow:0 10px 30px -12px rgba(14, 15, 16,.12)}
.sources-cat-head{display:flex;align-items:center;gap:10px}
.sources-cat-ic{width:34px;height:34px;border-radius:9px;background:#EEF0FD;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.sources-cat-ic svg{width:16px;height:16px;stroke:#243BD1;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sources-cat-title{flex:1;min-width:0}
.sources-cat-title h4{font-family:'Public Sans',sans-serif;font-size:14px;font-weight:800;color:#0E0F10;letter-spacing:-.01em;line-height:1.25;margin:0 0 2px}
.sources-cat-title .sub{font-size:11.5px;color:#6D7176;font-weight:500;line-height:1.35}
.sources-cat-count{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;color:#243BD1;background:#EEF0FD;padding:3px 8px;border-radius:999px;letter-spacing:.02em;white-space:nowrap}
.sources-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:-2px}
.src-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px 6px 9px;background:var(--rs-bg-alt);border:1px solid #EBEBE7;border-radius:999px;font-size:11.5px;font-weight:600;color:#3A3D40;text-decoration:none;transition:all .15s;line-height:1.2;white-space:nowrap;font-family:inherit}
.src-chip:hover{background:#EEF0FD;border-color:#CDD1DF;color:#1B2DA6}
.src-chip .dot{width:6px;height:6px;border-radius:50%;background:#10B981;flex-shrink:0;box-shadow:0 0 0 2px rgba(16,185,129,.18)}
.src-chip .arr{font-size:10px;color:#6D7176;margin-left:-2px;transition:transform .15s,color .15s}
.src-chip:hover .arr{color:#243BD1;transform:translate(1px,-1px)}
.sources-cat-foot{margin-top:auto;padding-top:12px;border-top:1px solid #F1F3F5;font-size:11px;color:#6D7176;display:flex;align-items:center;gap:6px;line-height:1.3}
.sources-cat-foot .live-dot{width:6px;height:6px;border-radius:50%;background:#10B981;animation:srcPulse 2s infinite}
@keyframes srcPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{opacity:.65;box-shadow:0 0 0 5px rgba(16,185,129,0)}}
@media(max-width:980px){.sources-grid-wrap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sources-grid-wrap{grid-template-columns:1fr;padding:0 16px;gap:12px}.sources-category-card{padding:18px}}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (max-width:768px){.sources{padding:20px 0}.ticker-track{gap:32px;animation-duration:26s}.ticker-item{font-size:11px;gap:8px}.sources .src-label{font-size:9px;letter-spacing:1.5px;padding:0 16px}}
@media (max-width:480px){.ticker-wrap{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}.ticker-track{gap:24px;animation-duration:22s}.ticker-item{font-size:10.5px}.ticker-item .dot{width:5px;height:5px}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* ─── USER COUNTER ─── */
.user-counter{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;margin-bottom:4px;flex-wrap:wrap}
.user-avatars{display:flex}
.user-avatars span{width:28px;height:28px;border-radius:50%;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;margin-left:-8px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.user-avatars span:first-child{margin-left:0}
.user-counter-text{font-size:12.5px;color:#6D7176;font-weight:500}
.user-counter-text strong{color:#0E0F10;font-weight:700}

/* ─── TESTIMONIALS ─── */
.testimonials{max-width:820px;margin:0 auto;padding:56px 24px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial{background:#fff;border:1px solid #EBEBE7;border-radius:8px;padding:22px;transition:all .2s}
.testimonial:hover{border-color:#243BD1;box-shadow:0 4px 20px rgba(36, 59, 209,.08);transform:translateY(-2px)}
.testimonial-stars{color:#F59E0B;font-size:14px;margin-bottom:10px;letter-spacing:1px}
.testimonial-text{font-size:13.5px;color:#54585C;line-height:1.6;margin-bottom:14px;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:10px}
.testimonial-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}
.testimonial-name{font-size:12.5px;font-weight:700;color:#0E0F10}
.testimonial-role{font-size:10.5px;color:#6D7176;margin-top:1px}

/* ─── LOADER (radar high-tech) ─── */
.loader{display:none;text-align:center;padding:64px 20px 96px;background:linear-gradient(180deg,#0E0F10 0%,#1B1D1F 100%);min-height:60vh;color:#fff}
.loader.on{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:28px}
.radar-container{position:relative;width:220px;height:220px;margin-top:8px}
.radar-svg{width:220px;height:220px;filter:drop-shadow(0 0 24px rgba(36, 59, 209,.25))}
/* Rotation 100% pilotée par JS (requestAnimationFrame + attribut SVG rotate).
   Pas de CSS transform-origin ici — il entrait en conflit avec l'attribut. */
.radar-dot{opacity:0;transform-origin:center}
.radar-dot.seen{animation:radarDotPulse .7s ease-out forwards}
@keyframes radarDotPulse{
  0%{opacity:0;r:0}
  45%{opacity:1;r:5}
  100%{opacity:.7;r:3}
}
.radar-pulse{animation:radarPulse 2.2s ease-out infinite}
@keyframes radarPulse{
  0%{r:8;opacity:.4}
  100%{r:28;opacity:0}
}
.radar-status{text-align:center;max-width:320px}
.radar-status-text,.l-msg{font-family:'Public Sans',sans-serif;font-size:15.5px;font-weight:700;color:#CDD1DF;margin-bottom:6px;letter-spacing:-.01em}
/* L4.14 — indicateur live : le scan est un moment d'attention, il doit
   respirer (point vert qui pulse, sobre) */
.l-msg::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#10B981;margin-right:9px;vertical-align:1px;animation:rsPulse 1.2s ease-in-out infinite}
@keyframes rsPulse{0%,100%{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: reduce){.l-msg::before{animation:none;opacity:1}}
.radar-sources-found,.l-sub{font-family:'IBM Plex Mono','Fira Code',monospace;font-size:12px;color:rgba(255,255,255,.55)}
.radar-sources-found strong{color:#10B981;font-weight:700}
.radar-progress-bar,.l-bar{width:320px;max-width:90vw;height:4px;background:rgba(14, 15, 16,.18);border-radius:2px;overflow:hidden;margin-bottom:0;position:relative;box-shadow:0 0 14px rgba(36, 59, 209,.25)}
.radar-progress-fill,.l-fill{height:100%;background:linear-gradient(90deg,#0E0F10,#1B2DA6);border-radius:2px;width:0;transition:width .5s ease;position:relative}
.radar-progress-fill::after{content:'';position:absolute;right:0;top:0;height:100%;width:24px;background:linear-gradient(90deg,transparent,#fff);opacity:.35;animation:progressGlow 1.3s ease-in-out infinite}
@keyframes progressGlow{0%,100%{opacity:.2}50%{opacity:.55}}
.radar-sources-ticker{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:420px;padding:0 16px}
.radar-source-pill{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.32);color:#6EE7B7;font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:4px 10px;border-radius:999px;animation:pillAppear .3s ease-out forwards;opacity:0}
@keyframes pillAppear{from{opacity:0;transform:translateY(4px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:480px){.radar-container,.radar-svg{width:180px;height:180px}}
/* Grille de sources croisees en parallele + signature sonar (idee portee de la promo) */
.radar-svg{position:relative;z-index:1}
.radar-sonar{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:0}
.radar-sonar span{position:absolute;left:0;top:0;border:2px solid rgba(36, 59, 209,.45);border-radius:50%;transform:translate(-50%,-50%);animation:rsSonar 2.6s ease-out infinite}
.radar-sonar span:nth-child(2){animation-delay:.86s}
.radar-sonar span:nth-child(3){animation-delay:1.72s}
@keyframes rsSonar{0%{width:44px;height:44px;opacity:.5}100%{width:340px;height:340px;opacity:0}}
.radar-source-grid{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;max-width:480px;padding:0 16px;margin-top:2px}
.rs-src-chip{display:inline-flex;align-items:center;gap:7px;font-family:'IBM Plex Mono','Fira Code',monospace;font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:5px 11px;border-radius:999px;background:rgba(14, 15, 16,.06);border:1px solid rgba(36, 59, 209,.18);color:rgba(199,210,254,.5);transition:background .4s,border-color .4s,color .4s}
.rs-src-chip .rs-src-dot{width:6px;height:6px;border-radius:50%;background:rgba(165,180,252,.4);flex-shrink:0;transition:background .4s,box-shadow .4s}
.rs-src-chip.on{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.34);color:#6EE7B7}
.rs-src-chip.on .rs-src-dot{background:#10B981;box-shadow:0 0 7px #10B981}
.rs-src-chip.down{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.34);color:#FCD34D}
.rs-src-chip.down .rs-src-dot{background:#F59E0B;box-shadow:0 0 7px #F59E0B}
@media(max-width:480px){.radar-source-grid{gap:6px;max-width:340px}.rs-src-chip{font-size:9.5px;padding:4px 9px}}
@media(prefers-reduced-motion:reduce){.radar-sonar{display:none}.rs-src-chip,.rs-src-chip .rs-src-dot{transition:none}}

/* ─── RESULT ─── */
.result{display:none;max-width:660px;margin:0 auto;padding:24px 20px 56px}
.result.on{display:block;animation:up .35s ease}
/* L4.1 — hiérarchie du rapport en 3 niveaux, par flex order (zéro
   chirurgie DOM sur 8 600 lignes) :
   1-7   verdict héros : décision + jauge + explicabilité
   50    explication : delta, insights, pistes, panels (ordre source)
   60-62 outillage : décision humaine, faux positifs, dossier de tiers
   70-72 conversion : CTA, exports, feedback */
#ddRes.on{display:flex;flex-direction:column}
#ddRes>*{order:50;min-width:0}
/* Insertions JS : sans règle, elles héritent de order:50 et atterrissent au milieu.
   Le pont post-démo doit rester AU SOMMET (cf. insertion afterbegin dans goDD) et
   le statut de quota collé au bloc conversion (intention du appendChild). */
#ddRes>#rsDemoBridge{order:0}
#ddRes>[id^="rsQuota_"]{order:73}
#ddRes>#teaserBanner{order:1}
#ddRes>#anomalyPanel{order:2}
#ddRes>#divDecision{order:3}
#ddRes>#decisionPanel{order:4}
#ddRes>#scoreHeader{order:5}
#ddRes>#explainPanel{order:6}
#ddRes>#confBreakdown{order:7}
#ddRes>#humanDecisionBlock{order:60}
#ddRes>#fpBlock{order:61}
#ddRes>#notesBlock{order:62}
#ddRes>#primaryCtaWrap{order:70}
#ddRes>#allActions{order:71}
#ddRes>#fbPanel{order:72}
/* L4.19 — mobile <430px : waterfall lisible, menu Actions atteignable */
@media (max-width:430px){
  #wfBody>div>span:first-child{width:90px!important;font-size:11px!important}
  #wfBody>div>span:last-child{width:64px!important;font-size:10.5px!important}
  #reportActions>.menu{left:0;right:auto}
  .dl-row .dl-btn{flex:1 1 44%;justify-content:center}
}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

.r-head{display:flex;align-items:center;gap:20px;padding:22px 26px;background:#fff;border:1px solid #EBEBE7;border-radius:8px;margin-bottom:12px;box-shadow:var(--shadow-sm)}
.r-gauge{position:relative;width:80px;height:80px;flex-shrink:0}
.r-gauge svg{transform:rotate(-90deg)}
.r-gauge-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;letter-spacing:-1px}
.r-info{flex:1}
.r-tag{display:inline-block;padding:3px 10px;border-radius:5px;font-size:10.5px;font-weight:600;letter-spacing:.4px;margin-bottom:4px}
.r-reco{font-size:12px;color:#54585C;line-height:1.5}
.r-meta{font-size:10px;color:#6D7176;margin-top:4px}

.id-card{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;background:#fff;border:1px solid #EBEBE7;border-radius:8px;overflow:hidden;margin-bottom:12px}
.id-item{padding:10px 14px;border-right:1px solid #F6F6F3;border-bottom:1px solid #F6F6F3}
.id-item:nth-child(3n){border-right:none}
.id-item:nth-last-child(-n+3){border-bottom:none}
.id-label{font-size:9px;color:#6D7176;text-transform:uppercase;letter-spacing:.5px;font-weight:500}
.id-val{font-size:11px;font-weight:600;color:#0E0F10;margin-top:1px}
.id-badge{font-size:7px;font-weight:700;padding:1px 4px;border-radius:2px;margin-left:3px}
.ib-g{background:#DCFCE7;color:#166534}.ib-b{background:#E4E6EF;color:#1B2DA6}

.panel{background:#fff;border:1px solid #EBEBE7;border-radius:8px;padding:22px 24px;margin-bottom:14px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 10px 26px -14px rgba(16,24,40,.12)}
.panel-h{font-size:10.5px;font-weight:700;color:#243BD1;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid #EEF2F7;display:flex;align-items:center;gap:7px}

/* FIX V22 clarté : visible section dividers to break the long analysis page
   into clear chapters (Décision / Identification / Analyse approfondie /
   Actions à faire / Transparence). */
.section-divider{margin:24px 0 12px;padding:8px 0 6px;border-bottom:1px solid #EBEBE7;display:flex;align-items:center;gap:10px}
.section-divider .sec-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#0E0F10;color:#fff;font-size:11px;font-weight:800;font-family:'IBM Plex Mono',monospace;flex-shrink:0}
.section-divider .sec-title{font-size:12px;font-weight:800;color:#0E0F10;letter-spacing:.5px;text-transform:uppercase}
.section-divider .sec-hint{font-size:11px;color:#6D7176;font-weight:500;margin-left:auto;letter-spacing:0;text-transform:none}
@media(max-width:560px){
  .section-divider .sec-hint{display:none}
}
.panel-h .hint{font-size:10px;font-weight:500;color:#6D7176;text-transform:none;letter-spacing:0;margin-left:auto}

/* ─── ANOMALY PANEL (changes vs last scan) ─── */
.anomaly-panel{margin-bottom:10px;padding:14px 18px;border-radius:8px;background:linear-gradient(135deg,#FEF3C7,#FFEDD5);border:1.5px solid #F59E0B;box-shadow:0 4px 16px rgba(245,158,11,.15)}
.anomaly-panel.severity-3{background:linear-gradient(135deg,#FEE2E2,#FECACA);border-color:#DC2626;box-shadow:0 4px 16px rgba(220,38,38,.18)}
.anomaly-panel.severity-1{background:linear-gradient(135deg,#DCFCE7,#D1FAE5);border-color:#16A34A;box-shadow:0 4px 16px rgba(22,163,74,.12)}
.anomaly-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.anomaly-icon{font-size:22px;line-height:1;display:inline-flex;align-items:center}
.anomaly-icon svg{width:20px;height:20px}
.anomaly-title{font-size:13.5px;font-weight:800;color:#0E0F10;letter-spacing:-.01em}
.anomaly-since{font-size:11px;color:#6D7176;font-weight:600;margin-left:auto}
.anomaly-body{display:flex;flex-direction:column;gap:8px}
.anomaly-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:rgba(255,255,255,.7);border-radius:8px;border:1px solid rgba(15,17,23,.06)}
.anomaly-item-icon{font-size:18px;line-height:1.2;flex-shrink:0}
.anomaly-item-body{flex:1;min-width:0}
.anomaly-item-title{font-size:13px;font-weight:700;color:#0E0F10;line-height:1.4}
.anomaly-item-desc{font-size:11.5px;color:#54585C;line-height:1.5;margin-top:3px}
.anomaly-item-sev{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:4px;flex-shrink:0;align-self:center}
.anomaly-item-sev.s3{background:#FEE2E2;color:#B91C1C}
.anomaly-item-sev.s2{background:#FEF3C7;color:#92400E}
.anomaly-item-sev.s1{background:#D1FAE5;color:#065F46}
@media(max-width:560px){
  .anomaly-panel{padding:12px 14px}
  .anomaly-since{margin-left:0;width:100%;order:99}
  .anomaly-item{padding:9px 10px;gap:8px}
}

/* ─── DECISION PANEL (top priority) ─── */
.decision-panel{display:flex;align-items:center;gap:20px;padding:26px 28px;border-radius:8px;margin-bottom:14px;border:1.5px solid;box-shadow:var(--shadow-card)}
.quick-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.qi-card{padding:14px 16px;background:#fff;border:1px solid #EBEBE7;border-radius:10px;box-shadow:0 1px 3px rgba(15,17,23,.04);position:relative;overflow:hidden}
.qi-card.qi-strength{border-left:3px solid #10B981}
.qi-card.qi-risk{border-left:3px solid #DC2626}
.qi-card.qi-info{border-left:3px solid #243BD1}
.qi-card.qi-bench{border-left:3px solid #1B2DA6}
.qi-card .qi-label{font-size:10px;color:#6D7176;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:flex;align-items:center;gap:5px}
.qi-card .qi-text{font-size:13px;color:#0E0F10;font-weight:600;line-height:1.45}
.qi-card .qi-detail{font-size:11px;color:#6D7176;margin-top:4px;line-height:1.4}
.ai-qa-panel{background:linear-gradient(135deg,#F5F3FF,#EEF0FD);border:1px solid #CDD1DF;border-radius:8px;padding:16px 18px;margin-bottom:14px}
.ai-qa-head{margin-bottom:10px}
.ai-qa-title{font-size:13.5px;font-weight:800;color:#312E81;display:flex;align-items:center;gap:8px}
.ai-qa-icon{font-size:16px}
.ai-qa-hint{font-size:11px;color:#243BD1;margin-top:2px}
.ai-qa-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ai-qa-suggest{padding:6px 11px;background:#fff;border:1px solid #CDD1DF;border-radius:999px;color:#1B2DA6;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s}
.ai-qa-suggest:hover{background:#EEF0FD;border-color:#243BD1}
.ai-qa-input-row{display:flex;gap:8px;margin-bottom:10px}
.ai-qa-input-row input{flex:1;padding:10px 12px;border:1px solid #CDD1DF;border-radius:8px;font-size:13px;background:#fff;font-family:inherit}
.ai-qa-input-row input:focus{outline:none;border-color:#243BD1;box-shadow:0 0 0 3px rgba(36, 59, 209,.15)}
.ai-qa-input-row button{padding:10px 16px;background:#0E0F10;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:12.5px;cursor:pointer;transition:all .15s;font-family:inherit}
.ai-qa-input-row button:hover:not(:disabled){background:#2A2D30}
.ai-qa-input-row button:disabled{opacity:.5;cursor:wait}
.ai-qa-conv{display:flex;flex-direction:column;gap:8px}
.ai-qa-msg{padding:10px 12px;border-radius:8px;font-size:12.5px;line-height:1.55}
.ai-qa-msg.user{background:#fff;border:1px solid #CDD1DF;color:#312E81;align-self:flex-end;max-width:85%}
.ai-qa-msg.user::before{content:"Vous : ";font-weight:700;font-size:10.5px;color:#243BD1;display:block;margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}
.ai-qa-msg.bot{background:#fff;border:1px solid #DDD6FE;color:#0E0F10;max-width:95%}
.ai-qa-msg.bot::before{content:"Analyste IA";font-weight:700;font-size:10.5px;color:#1B2DA6;display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.ai-qa-msg.bot.loading{color:#243BD1;font-style:italic}
.ai-qa-msg.bot.error{background:#FEF2F2;border-color:#FCA5A5;color:#991B1B}
/* ─── Graph CTA panel ─── */
.network-cta-panel{background:#fff;color:#293326;border-color:#dce1d8}
.network-cta-panel .panel-h{color:#293326;border-bottom-color:#e4e8df}
.network-cta-panel .panel-h .hint{color:#64705f}
.graph-cta-body{padding:14px 18px}
.graph-cta-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:14px}
.graph-cta-stat{padding:12px;background:#f7f8f4;border:1px solid #e2e7dc;border-radius:4px}
.graph-cta-stat .gcs-num{font-size:22px;font-weight:500;color:#293326;font-variant-numeric:tabular-nums;line-height:1}
.graph-cta-stat .gcs-label{font-size:10px;color:#64705f;font-weight:500;letter-spacing:.1px;margin-top:7px}
.graph-cta-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.graph-cta-btn.primary{padding:11px 18px;background:#293326;color:#fff;border:none;border-radius:4px;font-weight:500;font-size:12px;cursor:pointer;font-family:inherit}
.graph-cta-btn.primary:hover{background:#405037}
.graph-cta-btn.primary:disabled{opacity:.5;cursor:not-allowed}
.graph-cta-hint{font-size:11.5px;color:#6D7176}
/* ─── Risk timeline ─── */
.timeline-body{padding:6px 4px 12px}
.timeline-event{position:relative;padding:10px 0 10px 32px;border-left:2px solid #EBEBE7;margin-left:14px}
.timeline-event:last-child{border-left:2px solid transparent}
.timeline-event::before{content:"";position:absolute;left:-7px;top:14px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #9A9EA3}
.timeline-event.te-create::before{border-color:#10B981;background:#10B981}
.timeline-event.te-bodacc::before{border-color:#243BD1;background:#fff}
.timeline-event.te-tribunal::before{border-color:#F59E0B;background:#F59E0B}
.timeline-event.te-sanction::before{border-color:#DC2626;background:#DC2626}
.timeline-event.te-press::before{border-color:#A855F7;background:#fff}
.timeline-event.te-scan::before{border-color:#0E0F10;background:#0E0F10}
.te-date{font-size:11px;color:#6D7176;font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-variant-numeric:tabular-nums}
.te-label{font-size:13px;color:#0E0F10;font-weight:600;margin-top:2px;line-height:1.4}
.te-detail{font-size:11.5px;color:#6D7176;margin-top:2px;line-height:1.4}
/* ─── Contextual intelligence ─── */
.ctx-intel-body{padding:6px 4px;display:grid;grid-template-columns:1fr;gap:8px}
.ctx-intel-item{padding:11px 14px;background:#FBFBFA;border-left:3px solid #243BD1;border-radius:8px;display:flex;align-items:flex-start;gap:10px}
.ctx-intel-item.ci-pos{border-left-color:#10B981;background:#F0FDF4}
.ctx-intel-item.ci-warn{border-left-color:#F59E0B;background:#FFFBEB}
.ctx-intel-item.ci-bad{border-left-color:#DC2626;background:#FEF2F2}
.ci-icon{font-size:16px;line-height:1.2;flex-shrink:0}
.ci-text{font-size:13px;color:#0E0F10;line-height:1.5;font-weight:500}
.ci-text strong{color:#0E0F10}
.ci-text em{color:#6D7176;font-style:normal;font-size:11.5px;display:block;margin-top:3px}
/* ─── Hero exec briefing ─── */
.hero-briefing{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#0E0F10;color:#F6F6F3;border-radius:8px;margin-bottom:10px;box-shadow:0 4px 16px rgba(14, 15, 16,.12)}
.hb-icon{font-size:24px;flex-shrink:0;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(14, 15, 16,.15);color:#9FB0FF}
.hb-main{flex:1;min-width:0}
.hb-headline{font-size:14.5px;font-weight:700;color:#F6F6F3;line-height:1.45}
.hb-meta{font-size:11px;color:#6D7176;margin-top:3px;letter-spacing:.3px}
.hb-actions{flex-shrink:0}
.hb-action-btn{padding:8px 10px;background:rgba(255,255,255,.08);color:#F6F6F3;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;font-size:14px;line-height:1;transition:all .15s}
.hb-action-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25)}
/* ─── Audit trail ─── */
.audit-trail-body{padding:6px 0}
.audit-row{display:grid;grid-template-columns:120px 1fr 80px;gap:10px;padding:9px 4px;border-bottom:1px solid #F6F6F3;font-size:12px;align-items:center}
.audit-row:last-child{border-bottom:none}
.audit-collector{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#54585C;font-weight:600}
.audit-status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.audit-status.ok{background:#D1FAE5;color:#065F46}
.audit-status.timeout{background:#FEF3C7;color:#92400E}
.audit-status.partial{background:#FFEDD5;color:#9A3412}
.audit-status.na{background:#EBEBE7;color:#6D7176}
.audit-detail{font-size:11.5px;color:#6D7176;line-height:1.4}
/* ─── Explicabilité panel ─── */
.explain-panel{background:linear-gradient(135deg,#FBFBFA 0%,#F6F6F3 100%);border:1px solid #DEDED9;border-radius:8px;padding:16px 18px;margin-bottom:10px}
.explain-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px dashed #DEDED9}
.explain-title{font-size:13.5px;font-weight:800;color:#0E0F10;display:flex;align-items:center;gap:8px}
.explain-icon{font-size:16px}
.explain-confidence{padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.explain-confidence.conf-high{background:#D1FAE5;color:#065F46}
.explain-confidence.conf-medium{background:#FEF3C7;color:#92400E}
.explain-confidence.conf-low{background:#FEE2E2;color:#991B1B}
.explain-body{display:flex;flex-direction:column;gap:12px}
.explain-methodology{display:grid;grid-template-columns:1fr;gap:6px}
.explain-method-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #EBEBE7;border-radius:8px;font-size:12.5px}
.explain-method-row .em-name{font-weight:700;color:#0E0F10;flex:1;min-width:0}
.explain-method-row .em-status{font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:5px}
.explain-method-row.em-ok .em-status{color:#059669}
.explain-method-row.em-warn .em-status{color:#D97706}
.explain-method-row.em-skip .em-status{color:#6D7176}
.explain-method-row.em-info .em-status{color:#4A5290}
.explain-method-row .em-detail{font-size:11px;color:#6D7176;font-weight:500;margin-left:6px}
/* #1 — sceau de concordance double moteur (affiché UNIQUEMENT si status==concordant) */
.em-concordance-seal{display:flex;align-items:center;gap:14px;padding:12px 14px;background:linear-gradient(135deg,#ECFDF5 0%,#F0FDF4 100%);border:1px solid #A7F3D0;border-radius:10px;margin-bottom:6px}
.ecs-ring{--pct:0;flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#059669 calc(var(--pct)*1%),#D1FAE5 0);position:relative}
.ecs-ring::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}
.ecs-pct{position:relative;z-index:1;font-weight:800;font-size:14px;color:#047857;line-height:1;font-variant-numeric:tabular-nums}
.ecs-pct small{font-size:9px;font-weight:700;vertical-align:top}
.ecs-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ecs-txt strong{font-size:12.5px;color:#065F46;font-weight:800}
.ecs-txt span{font-size:11.5px;color:#3F6212;line-height:1.5}
/* #19 — gel de la scène quand la connexion est perdue pendant un scan */
.rs-frozen #loader *,.rs-frozen .radar-scene *{animation-play-state:paused!important}
.explain-reasoning{padding:10px 12px;background:#fff;border:1px solid #EBEBE7;border-radius:8px}
.explain-reasoning-title{font-size:11px;color:#6D7176;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.explain-reasoning ul{margin:0;padding-left:18px;list-style:none}
.explain-reasoning li{font-size:12.5px;color:#0E0F10;line-height:1.55;padding:3px 0;position:relative;padding-left:14px}
.explain-reasoning li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:#0E0F10}
.explain-reasoning li.er-pos::before{background:#10B981}
.explain-reasoning li.er-neg::before{background:#DC2626}
.explain-tech-detail{font-size:12px;color:#6D7176}
.explain-tech-detail summary{cursor:pointer;font-weight:600;color:#54585C;padding:6px 0;font-size:11.5px;letter-spacing:.2px}
.explain-tech-detail summary:hover{color:#0E0F10}
.explain-tech-detail[open] summary{margin-bottom:8px}
.explain-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:6px}
.etg-tile{padding:9px 11px;background:#fff;border:1px solid #EBEBE7;border-radius:6px}
.etg-tile .etg-label{font-size:9.5px;color:#6D7176;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.etg-tile .etg-num{font-size:18px;font-weight:800;color:#0E0F10;font-variant-numeric:tabular-nums;line-height:1.2;margin-top:2px}
.etg-tile .etg-sub{font-size:10.5px;color:#6D7176;margin-top:1px}
.explain-tech-rationale{margin-top:10px;padding:8px 11px;background:#FBFBFA;border-left:3px solid #9A9EA3;border-radius:4px;font-size:11.5px;color:#54585C;line-height:1.5;font-family:'IBM Plex Mono','Courier New',monospace}
.decision-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;flex-shrink:0}
.decision-main{flex:1;min-width:0}
.decision-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:3px;opacity:.7}
.decision-action{font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.15;margin-bottom:4px}
.decision-rationale{font-size:13.5px;color:#54585C;line-height:1.6}

/* ─── SCORE HEADER with confidence + rating ─── */
.score-header{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 24px;background:#fff;border:1px solid #EBEBE7;border-radius:8px;margin-bottom:10px;box-shadow:var(--shadow-sm)}
.score-header--evidence{grid-template-columns:auto minmax(0,1fr)}
.sh-gauge{position:relative;width:104px;height:104px;flex-shrink:0}
.sh-gauge svg{transform:rotate(-90deg);width:104px;height:104px}
.sh-gauge-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:800;letter-spacing:-1.8px;font-family:'Public Sans',sans-serif}

/* ─── V3 SECOND OPINION BLOCK ─── */
.v3-second-opinion{
  background:linear-gradient(135deg,#FAFBFF 0%,#F0F4FF 100%);
  border:1px solid #E4E6EF;
  border-radius:8px;
  padding:18px 22px;
  margin-bottom:10px;
  box-shadow:0 1px 3px rgba(36, 59, 209,.04);
}
.v3-so-header{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px dashed #CDD1DF;
}
.v3-so-badge{
  display:inline-block;
  padding:3px 9px;
  background:linear-gradient(135deg,#0E0F10,#1B2DA6);
  color:#fff;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.08em;
  border-radius:999px;
  text-transform:uppercase;
}
.v3-so-title{
  font-size:13px;
  font-weight:700;
  color:#0E0F10;
  letter-spacing:-.2px;
  flex:1;
}
.v3-so-hint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;height:18px;
  border-radius:50%;
  background:#E4E6EF;
  color:#243BD1;
  font-size:11px;
  font-weight:800;
  cursor:help;
}
.v3-so-body{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:20px;
  align-items:center;
}
.v3-so-score{
  display:flex;
  align-items:center;
  gap:12px;
}
.v3-so-num{
  font-size:36px;
  font-weight:800;
  letter-spacing:-1.5px;
  color:#243BD1;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.v3-so-num.green{color:#059669}
.v3-so-num.amber{color:#D97706}
.v3-so-num.red{color:#DC2626}
.v3-so-decision{
  font-size:12px;
  font-weight:800;
  letter-spacing:.3px;
  text-transform:uppercase;
  color:#54585C;
}
.v3-so-decision.green{color:#059669}
.v3-so-decision.amber{color:#D97706}
.v3-so-decision.red{color:#DC2626}
.v3-so-delta{
  font-size:11px;
  color:#6D7176;
  margin-top:2px;
  font-variant-numeric:tabular-nums;
}
.v3-so-subscores{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.v3-so-sub-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 8px;
  background:#fff;
  border:1px solid #EBEBE7;
  border-radius:6px;
  font-size:10.5px;
  font-weight:600;
  color:#54585C;
}
.v3-so-sub-chip strong{
  color:#0E0F10;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.v3-so-sub-chip.green{border-color:#86EFAC;background:#F0FDF4}
.v3-so-sub-chip.amber{border-color:#FCD34D;background:#FFFBEB}
.v3-so-sub-chip.red{border-color:#FCA5A5;background:#FEF2F2}
.v3-so-caps{
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed #CDD1DF;
  font-size:11px;
  color:#243BD1;
  font-weight:600;
}
@media(max-width:640px){
  .v3-so-body{grid-template-columns:1fr;gap:12px}
  .v3-so-num{font-size:30px}
}

/* ─── FEEDBACK PANEL ─── */
.fb-panel{
  background:#FBFBFA;
  border:1px dashed #DEDED9;
  border-radius:8px;
  padding:14px 18px;
  margin-top:14px;
  text-align:center;
}
.fb-header{margin-bottom:10px}
.fb-title{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#0E0F10;
  margin-bottom:2px;
}
.fb-hint{
  font-size:11px;
  color:#6D7176;
  display:block;
}
.fb-buttons{
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
}
.fb-btn{
  padding:8px 14px;
  border:1px solid transparent;
  border-radius:8px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  transition:all .1s;
  font-family:inherit;
}
.fb-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.08)}
.fb-ok{background:#D1FAE5;color:#065F46;border-color:#A7F3D0}
.fb-ok:hover{background:#A7F3D0}
.fb-fp{background:#FEF3C7;color:#78350F;border-color:#FCD34D}
.fb-fp:hover{background:#FDE68A}
.fb-fn{background:#FEE2E2;color:#7F1D1D;border-color:#FCA5A5}
.fb-fn:hover{background:#FECACA}
.fb-btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.fb-thanks{
  margin-top:10px;
  font-size:12px;
  font-weight:600;
  color:#059669;
}
.sh-mid{min-width:0}
.sh-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;color:#6D7176;margin-bottom:7px}
.sh-level{display:inline-block;padding:3px 10px;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.4px;margin-bottom:6px}
#rT{margin-bottom:6px}   /* L4.8 — la chip de niveau garde l'espacement du sh-level qu'elle remplace */
.sh-company{font-size:17px;font-weight:800;color:#0E0F10;margin-bottom:3px;letter-spacing:-.3px}
.sh-meta{font-size:11.5px;color:#6D7176}
.sh-confidence{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:3px 9px;background:#F6F6F3;border:1px solid #EBEBE7;border-radius:999px;font-size:10.5px;color:#54585C;font-weight:600;cursor:help;font-family:'IBM Plex Mono',monospace;letter-spacing:.2px}
.sh-confidence:hover{background:#E4E6EF;border-color:#CDD1DF;color:#1B2DA6}
.sh-confidence::before{content:"";width:11px;height:11px;flex-shrink:0;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23243BD1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='20' x2='4' y2='12'/%3E%3Cline x1='10' y1='20' x2='10' y2='6'/%3E%3Cline x1='16' y1='20' x2='16' y2='10'/%3E%3C/svg%3E")}
.sh-rating{width:80px;height:90px;background:linear-gradient(135deg,#FBFBFA,#fff);border-left:1px solid #F6F6F3;padding-left:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.sh-rating-g{font-size:34px;font-weight:800;letter-spacing:-2px;line-height:1;font-family:var(--font-display)}
.sh-rating-l{font-size:9px;color:#6D7176;text-transform:uppercase;letter-spacing:.8px;font-weight:600}
.sh-rating[hidden],.sh-conf-bar[hidden]{display:none!important}
.sh-scale-note{margin-top:7px;font-size:10.5px;line-height:1.5;color:#6D7176;font-variant-numeric:tabular-nums}
.sh-conf-bar{margin-top:10px;padding-top:12px;border-top:1px solid #F6F6F3;grid-column:1/-1;display:flex;align-items:center;gap:10px}
.sh-conf-label{font-size:10.5px;color:#6D7176;font-weight:500;white-space:nowrap}
.sh-conf-label strong{color:#0E0F10;font-weight:700}
.sh-conf-track{flex:1;height:6px;background:#F6F6F3;border-radius:3px;overflow:hidden}
.sh-conf-fill{height:6px;border-radius:3px;transition:width 1s cubic-bezier(.4,0,.2,1)}
.sh-conf-pct{font-size:11px;font-weight:700;color:#0E0F10;font-variant-numeric:tabular-nums}

/* ─── CONFIDENCE BREAKDOWN ─── */
.conf-breakdown{background:#fff;border:1px solid #EBEBE7;border-radius:8px;padding:16px 20px;margin-bottom:10px}
.conf-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.conf-row-label{width:110px;font-size:11.5px;color:#54585C;font-weight:600}
.conf-row-track{flex:1;height:6px;background:#F6F6F3;border-radius:3px;overflow:hidden}
.conf-row-fill{height:6px;border-radius:3px;transition:width 1s cubic-bezier(.4,0,.2,1)}
.conf-row-pct{width:44px;text-align:right;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.conf-row-note{width:170px;font-size:10px;color:#6D7176;text-align:left}

/* ─── ENTITY CONFIDENCE ─── */
.entity-card{background:#fff;border:1px solid #EBEBE7;border-radius:8px;padding:18px 20px;margin-bottom:10px}
.entity-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.entity-item label{font-size:9.5px;color:#6D7176;text-transform:uppercase;letter-spacing:.6px;font-weight:600;display:block;margin-bottom:3px}
.entity-item .val{font-size:13px;font-weight:600;color:#0E0F10;word-break:break-word}
.entity-match{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #F6F6F3}
.entity-match-track{flex:1;height:5px;background:#F6F6F3;border-radius:3px;overflow:hidden}
.entity-match-fill{height:5px;border-radius:3px;transition:width .9s ease}
.entity-match-pct{font-size:12px;font-weight:700;min-width:56px;text-align:right}
.entity-warn{margin-top:10px;padding:10px 12px;background:#FEF3C7;border-left:3px solid #D97706;border-radius:6px;font-size:11.5px;color:#92400E;line-height:1.5}

/* ─── RISK TYPES ─── */
.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.risk-item{padding:16px;background:#FBFBFA;border-radius:10px;border:1px solid #F6F6F3;text-align:center}
.risk-label{font-size:9.5px;font-weight:700;color:#6D7176;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.risk-val{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:3px}
.risk-level{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.risk-desc{font-size:10px;color:#6D7176;line-height:1.3}

/* ─── SCORE REASONING ─── */
.reason-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #FBFBFA}
.reason-row:last-child{border-bottom:none}
.reason-delta{width:46px;text-align:center;font-size:12px;font-weight:800;padding:4px 6px;border-radius:6px;flex-shrink:0}
.reason-delta.pos{background:#D1FAE5;color:#065F46}
.reason-delta.neg{background:#FEE2E2;color:#991B1B}
.reason-delta.neu{background:#F6F6F3;color:#6D7176}
.reason-body{flex:1;min-width:0}
.reason-label{font-size:12.5px;font-weight:600;color:#0E0F10}
.reason-text{font-size:11px;color:#6D7176;margin-top:1px}

/* ─── CRITICAL RISKS ─── */
.critical-panel{background:#FEF2F2;border:1.5px solid #FECACA;border-radius:8px;padding:18px 20px;margin-bottom:10px}
.critical-panel .panel-h{color:#B91C1C}
.critical-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed #FECACA}
.critical-item:last-child{border-bottom:none}
.critical-icon{color:#DC2626;font-size:14px;flex-shrink:0;margin-top:1px}
.critical-text{font-size:12.5px;color:#7F1D1D;line-height:1.45;font-weight:500}
/* #6 — provenance d'un risque critique (affichée seulement si le payload la fournit) */
.crit-src-wrap{margin-top:4px}
.crit-src{display:inline-block;font-size:10px;font-weight:700;color:#9A3412;background:#FEF3C7;border:1px solid #FDE68A;border-radius:4px;padding:1px 7px;letter-spacing:.2px;text-decoration:none}
a.crit-src:hover{background:#FDE68A}
/* #11 — chip temps de lecture en tête de rapport */
.rs-read-chip{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:4px 11px;font-size:11px;font-weight:600;color:#54585C;background:#F6F6F3;border:1px solid #EBEBE7;border-radius:999px;letter-spacing:.2px}
/* #8 — sommaire sticky + scrollspy du rapport */
.rs-toc{position:sticky;top:58px;z-index:40;display:flex;gap:6px;overflow-x:auto;padding:8px 2px;margin:0 0 12px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid #EBEBE7;scrollbar-width:none}
.rs-toc::-webkit-scrollbar{display:none}
.rs-toc-i{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:600;color:#6D7176;background:#F6F6F3;border:1px solid #EBEBE7;text-decoration:none;transition:all .12s;white-space:nowrap}
.rs-toc-i:hover{border-color:#243BD1;color:#0E0F10}
.rs-toc-i.on{background:#0E0F10;color:#fff;border-color:#0E0F10}
.rs-toc-n{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:800;opacity:.7}
.rs-toc-i.on .rs-toc-n{opacity:.9}
@media(prefers-reduced-motion:reduce){.rs-toc-i{transition:none}}
/* #9 — radar hexagonal des 6 dimensions (couverture complète uniquement) */
.ss-radar{display:block;width:100%;max-width:270px;margin:0 auto 12px;overflow:visible}
/* #31 — aperçu de l'e-mail d'alerte avant activation de la surveillance */
.rswm{position:fixed;inset:0;z-index:400;background:rgba(14, 15, 16,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.rswm-box{background:#fff;border-radius:8px;max-width:440px;width:100%;padding:22px 24px;box-shadow:0 24px 70px rgba(2,6,23,.4)}
.rswm-h{font-family:'Public Sans',sans-serif;font-size:17px;font-weight:800;color:#0E0F10;margin-bottom:4px}
.rswm-sub{font-size:12.5px;color:#6D7176;margin-bottom:14px;line-height:1.5}
.rswm-mail{position:relative;border:1px solid #EBEBE7;border-radius:10px;background:#FBFBFA;padding:14px 14px 12px;margin-bottom:16px}
.rswm-tag{position:absolute;top:-9px;left:12px;background:#0E0F10;color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:4px}
.rswm-row{display:flex;gap:8px;font-size:11.5px;color:#54585C;padding:2px 0;border-bottom:1px solid #EEF1F6}
.rswm-row span{color:#6D7176;font-weight:700;min-width:42px}
.rswm-mbody{font-size:12.5px;color:#3A3D40;line-height:1.55;margin-top:9px}
.rswm-mbody b{color:#0E0F10}
.rswm-thr{display:flex;align-items:center;gap:9px;font-size:12.5px;color:#54585C;font-weight:600;margin-bottom:16px}
.rswm-thr input[type=range]{flex:1;accent-color:#243BD1;cursor:pointer}
.rswm-thr b{color:#243BD1;font-variant-numeric:tabular-nums}
.rswm-act{display:flex;gap:10px;justify-content:flex-end}
.rswm-cancel{padding:10px 16px;background:#F6F6F3;color:#54585C;border:none;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.rswm-go{padding:10px 18px;background:#0E0F10;color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.rswm-go:hover{background:#4B5187}
/* #35 — récap checkout */
.rsco-list{margin:0 0 14px;padding:0;list-style:none}
.rsco-list li{position:relative;padding:5px 0 5px 24px;font-size:13px;color:#3A3D40;line-height:1.5}
.rsco-list li::before{content:"—";position:absolute;left:2px;top:4px;color:#868B8E;font-weight:600}
.rsco-reassure{font-size:11.5px;color:#6D7176;background:#FBFBFA;border:1px solid #EBEBE7;border-radius:8px;padding:9px 12px;margin-bottom:16px;line-height:1.5}

/* ─── SOURCES DETAIL ─── */
.source-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-bottom:1px solid #FBFBFA;align-items:start}
.source-row:last-child{border-bottom:none}
.source-main{min-width:0}
.source-name{font-size:12.5px;font-weight:700;color:#0E0F10;margin-bottom:1px}
.source-type{font-size:10px;color:#243BD1;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.source-info{font-size:11.5px;color:#54585C;line-height:1.4}
.source-date{font-size:10px;color:#6D7176;margin-top:3px}
.source-badge{font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:4px;background:#DCFCE7;color:#166534;align-self:flex-start;white-space:nowrap}
.source-badge.ok{background:#DCFCE7;color:#166534}
.source-badge.neutral{background:#F6F6F3;color:#54585C}
.source-badge.warn{background:#FEF3C7;color:#92400E}
.source-badge.na{background:#FBFBFA;color:#6D7176;font-style:italic}
.source-badge.err{background:#FEE2E2;color:#991B1B}
.source-badge.partial{background:#FEF3C7;color:#92400E}
.source-link{display:inline-block;font-size:10px;color:#243BD1;text-decoration:underline;margin-top:2px}

/* ─── MISSING DATA ─── */
.missing-item{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid #FBFBFA;align-items:center}
.missing-item:last-child{border-bottom:none}
.missing-icon{color:#D97706;font-size:13px;flex-shrink:0}
.missing-text{flex:1;font-size:11.5px;color:#54585C}
.missing-text strong{color:#0E0F10;font-weight:600}
.missing-status{font-size:9px;font-weight:700;padding:2px 7px;border-radius:4px;background:#FEF3C7;color:#92400E;text-transform:uppercase;letter-spacing:.4px}

/* ─── WHAT-IF SIMULATION ─── */
.whatif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.whatif-item{padding:16px 14px;background:linear-gradient(135deg,#FBFBFA,#EEF0FD);border:1px solid #EBEBE7;border-radius:10px;text-align:center;transition:all .2s;cursor:default}
.whatif-item:hover{border-color:#243BD1;box-shadow:0 4px 16px rgba(36, 59, 209,.08);transform:translateY(-2px)}
.whatif-cond{font-size:10px;font-weight:700;color:#243BD1;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.whatif-score{font-size:22px;font-weight:800;color:#0E0F10;letter-spacing:-.5px}
.whatif-impact{font-size:10px;color:#6D7176;font-weight:700;margin-top:1px}
.whatif-desc{font-size:10px;color:#6D7176;margin-top:6px;line-height:1.3}

/* ─── MOBILE FIXES for new analysis panels (added Phase 9 audit) ─── */
@media(max-width:560px){
  /* Audit trail row : stack collector / detail / status vertically — no more 120/1fr/80 crush */
  .audit-row{grid-template-columns:1fr auto;gap:6px 10px;padding:11px 4px}
  .audit-collector{grid-column:1/-1;font-size:10.5px}
  .audit-detail{grid-column:1;min-width:0;word-break:break-word}
  .audit-row .audit-status{grid-column:2;justify-self:end}
  /* AI Q&A input : input full width on first row, button full width below */
  .ai-qa-input-row{flex-direction:column;gap:8px}
  .ai-qa-input-row input{width:100%;font-size:14px;min-height:44px}
  .ai-qa-input-row button{width:100%;min-height:44px;font-size:13.5px}
  /* Hero briefing : icon + headline first, actions wrap to second line */
  .hero-briefing{flex-wrap:wrap;padding:14px}
  .hb-main{flex:1 1 calc(100% - 56px)}
  .hb-actions{flex:0 0 auto;margin-left:auto}
  /* Quick insights : tighter min-card so 2 cards fit on 375px */
  .quick-insights{grid-template-columns:1fr;gap:8px}
  .qi-card{padding:12px 14px}
  .qi-card .qi-text{font-size:12.5px}
  /* Graph CTA actions : button + hint stack on narrow */
  .graph-cta-actions{flex-direction:column;align-items:stretch;gap:10px}
  .graph-cta-btn.primary{width:100%;text-align:center}
  .graph-cta-hint{text-align:center}
  /* Timeline : tighter left rail to free up text width */
  .timeline-event{padding-left:24px;margin-left:8px}
  .timeline-event::before{left:-7px}
  .te-label{font-size:12.5px}
  .te-detail{font-size:11px}
}

@media(max-width:768px){
  .decision-panel{flex-direction:row;padding:18px;gap:14px}
  .decision-icon{width:48px;height:48px;font-size:22px}
  .decision-action{font-size:18px}
  .decision-rationale{font-size:12px}
  .score-header{grid-template-columns:auto 1fr auto;gap:14px;padding:18px}
  .score-header--evidence{grid-template-columns:auto minmax(0,1fr)}
  .sh-gauge{width:78px;height:78px}
  .sh-gauge svg{width:78px;height:78px}
  .sh-gauge-num{font-size:22px}
  .sh-rating{grid-row:1;grid-column:3;width:60px;padding-left:0;border-left:none;height:78px}
  .sh-rating-g{font-size:32px}
  .sh-company{font-size:14.5px}
  .sh-conf-bar{grid-column:1/-1}
  .entity-row{grid-template-columns:1fr;gap:10px}
  .risk-grid{grid-template-columns:1fr;gap:8px}
  .risk-item{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px}
  .risk-label{margin-bottom:0;flex:1}
  .risk-val{font-size:20px;margin:0}
  .risk-desc{display:none}
  .whatif-grid{grid-template-columns:1fr;gap:8px}
  .whatif-item{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:14px 16px}
  .whatif-cond{margin-bottom:0}
  .whatif-desc{display:none}
  .source-row{grid-template-columns:1fr}
}

.ss-row{display:flex;align-items:center;gap:6px;margin:5px 0}
.ss-label{width:90px;font-size:11px;color:#6D7176}
.ss-track{flex:1;height:4px;background:#F6F6F3;border-radius:2px;overflow:hidden}
.ss-fill{height:4px;border-radius:2px;transition:width 1s cubic-bezier(.4,0,.2,1)}
.ss-num{width:28px;text-align:right;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}

.sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sig-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px;padding-bottom:4px;border-bottom:1px solid #F6F6F3}
.sig-title.pos{color:#059669}.sig-title.neg{color:#D97706}
.sig-i{font-size:11px;color:#54585C;padding:2px 0;line-height:1.4}
.sig-src-badge{display:inline-block;margin-left:6px;padding:1px 7px;font-size:9.5px;font-weight:700;color:#54585C;background:#F6F6F3;border:1px solid #EBEBE7;border-radius:4px;text-decoration:none;letter-spacing:.3px;vertical-align:middle;transition:all .12s}
.sig-src-badge:hover{background:#0E0F10;color:#fff;border-color:#243BD1}
/* Compliance : score de confiance du match sanctions/PEP (au lieu d'un binaire) */
.sig-conf-badge{display:inline-block;margin-left:6px;padding:1px 7px;font-size:9.5px;font-weight:800;border-radius:4px;letter-spacing:.3px;vertical-align:middle;cursor:help}
.sig-conf-high{color:#991B1B;background:#FEE2E2;border:1px solid #FCA5A5}
.sig-conf-mid{color:#92400E;background:#FEF3C7;border:1px solid #FCD34D}
.sig-conf-low{color:#54585C;background:#F6F6F3;border:1px solid #EBEBE7}
/* #5 — signaux dépliables : niveau de preuve / raisonnement / extrait à la demande */
.sig-x{padding:2px 0}
.sig-x-sum{list-style:none;cursor:pointer;line-height:1.4;display:block}
.sig-x-sum::-webkit-details-marker{display:none}
.sig-x-caret{display:inline-block;margin-left:6px;font-size:9px;color:#6D7176;transition:transform .15s;vertical-align:middle}
.sig-x[open] .sig-x-caret{transform:rotate(90deg)}
.sig-x-body{margin:6px 0 4px 10px;padding:8px 10px;background:#FBFBFA;border-left:2px solid #DEDED9;border-radius:0 6px 6px 0;font-size:11px;line-height:1.5;color:#54585C;display:flex;flex-direction:column;gap:5px}
.sig-proof{align-self:flex-start;font-size:9.5px;font-weight:800;letter-spacing:.3px;padding:1px 8px;border-radius:999px}
.sig-proof-hi{color:#065F46;background:#D1FAE5;border:1px solid #6EE7B7}
.sig-proof-lo{color:#92400E;background:#FEF3C7;border:1px solid #FCD34D}
.sig-x-reason{color:#3A3D40}
.sig-x-excerpt{color:#54585C;font-style:italic}
@media(prefers-reduced-motion:reduce){.sig-x-caret{transition:none}}

/* ─── Anonymous teaser : lock premium panels behind signup ─── */
.locked-teaser{position:relative;overflow:hidden;border:1.5px dashed #CDD1DF;background:linear-gradient(135deg,#FAFBFF,#F5F3FF) !important}
.locked-teaser > *:not(.lock-overlay){filter:blur(4px);opacity:.45;user-select:none;pointer-events:none}
.lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.85) 100%);z-index:10;text-align:center;padding:18px;backdrop-filter:blur(2px)}
.lock-icon{font-size:28px;margin-bottom:2px}
.lock-icon svg{width:30px;height:30px}
.lock-title{font-size:14px;font-weight:800;color:#0E0F10;letter-spacing:-.01em}
.lock-sub{font-size:12px;color:#54585C;line-height:1.45;max-width:420px}
.lock-cta{margin-top:10px;display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,#0E0F10,#243BD1);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;font-family:inherit;box-shadow:0 4px 14px rgba(36, 59, 209,.28);transition:all .15s}
.lock-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(36, 59, 209,.4)}
.teaser-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:14px;background:linear-gradient(135deg,#FEF3C7,#FDE68A);border:1.5px solid #F59E0B;border-radius:8px;box-shadow:0 4px 16px rgba(245,158,11,.18)}
.teaser-banner-icon{font-size:24px;flex-shrink:0}
.teaser-banner-body{flex:1;min-width:0}
.teaser-banner-title{font-size:13.5px;font-weight:800;color:#78350F;line-height:1.4}
.teaser-banner-sub{font-size:11.5px;color:#92400E;margin-top:3px;line-height:1.5}
.teaser-banner-cta{flex-shrink:0;padding:9px 16px;background:#0E0F10;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:12.5px;cursor:pointer;text-decoration:none;font-family:inherit;transition:all .15s}
.teaser-banner-cta:hover{background:#0E0F10;transform:translateY(-1px)}
@media(max-width:560px){
  .teaser-banner{flex-direction:column;align-items:flex-start;padding:12px 14px}
  .teaser-banner-cta{width:100%;text-align:center}
}

.reco-box{padding:12px 14px;border-radius:8px;background:#EEF0FD;border:1px solid #BFDBFE;font-size:12px;color:#1B2DA6;line-height:1.6;font-weight:450}

.action{display:flex;gap:6px;padding:5px 0;border-bottom:1px solid #FBFBFA}
.action:last-child{border:none}
.a-tag{font-size:7px;font-weight:700;padding:2px 5px;border-radius:3px;white-space:nowrap;align-self:flex-start;margin-top:2px}
.a-ob{background:#FEE2E2;color:#DC2626}.a-re{background:#FEF3C7;color:#D97706}.a-op{background:#D1FAE5;color:#059669}
.a-text{flex:1;font-size:11px;color:#54585C;line-height:1.4}
.a-text strong{color:#0E0F10;display:block;font-weight:600}

.v-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.v-item label{font-size:8px;color:#6D7176;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:1px}
.v-item span{font-size:12px;font-weight:600;color:#0E0F10}
.ctx-box{font-size:10px;color:#54585C;padding:8px 10px;border-radius:5px;margin-top:6px;line-height:1.5;border-left:2px solid}

.doc-upload-inline{margin-top:12px;padding:14px;background:#FBFBFA;border:1px dashed #DEDED9;border-radius:10px;text-align:center}
.doc-upload-inline p{font-size:11px;color:#6D7176;margin-bottom:8px}
.doc-upload-inline input{margin-bottom:8px}
.doc-upload-inline button{padding:7px 16px;background:#0E0F10;color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}

.dl-row{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.dl-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:#0E0F10;color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
/* L4.7 — variante secondaire : un seul accent (indigo) par rangée,
   le reste en neutre. Fini l'arc-en-ciel d'exports. */
.dl-btn.sec{background:#fff;color:#3A3D40;border:1px solid #EBEBE7}
.dl-btn.sec:hover{border-color:#243BD1;color:#243BD1}
.dl-btn:hover{background:#2A2D30;box-shadow:0 2px 12px rgba(36, 59, 209,.25)}
.dl-btn-ghost{padding:9px 18px;background:#F6F6F3;color:#54585C;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .12s}
.dl-btn-ghost:hover{background:#EBEBE7;color:#0E0F10}

/* ─── SECTIONS ─── */
/* UV.F5 — Largeur uniforme 1100px sur desktop pour coh\u00e9rence */
.section{max-width:1100px;margin:0 auto;padding:56px 32px}
.container{max-width:1100px;margin:0 auto;padding:0 32px}
.section-h{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;text-align:center;letter-spacing:-.03em;margin-bottom:8px;color:var(--color-primary)}
.section-h em{color:var(--color-accent);background:linear-gradient(135deg,var(--color-accent),#243BD1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal}
.section-p{text-align:center;color:#6D7176;margin-bottom:36px;font-size:14px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.6}

/* ─── HOW IT WORKS ─── */
/* UV.3 + L.2 — Section #how en dark navy premium, cards a\u00e9r\u00e9es */
section#how{background:#0E0F10;padding:80px 0}
section#how .section-h{color:#FBFBFA;margin-bottom:10px}
section#how .section-h em{color:#243BD1}
section#how .section-p{color:#6D7176;max-width:560px;margin:0 auto 48px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;max-width:1100px;margin:0 auto}
.step{background:#1B1D1F;border:1px solid #3A3D40;border-radius:8px;padding:32px 22px 24px;text-align:center;position:relative;transition:all .2s}
.step:hover{border-color:#243BD1;transform:translateY(-3px);box-shadow:0 12px 32px rgba(36, 59, 209,.18)}
.step-num{position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:36px;height:36px;background:#0E0F10;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;box-shadow:0 4px 12px rgba(36, 59, 209,.4);border:3px solid #0E0F10}
.step-i{font-size:28px;margin:12px auto 16px;color:#243BD1;display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:#243BD128;border-radius:8px}
.step h4{font-size:15px;font-weight:700;color:#FBFBFA;margin-bottom:8px;letter-spacing:-.2px}
.step p{font-size:12.5px;color:#6D7176;line-height:1.6;min-height:62px}
/* L.2 — R\u00e9sultat concret sous chaque step */
.step-result{margin-top:14px;padding-top:12px;border-top:1px solid #3A3D40;font-size:11.5px;font-weight:600;color:#9FB0FF;letter-spacing:.2px}
/* Connecteur pointill\u00e9 entre steps (layout 4 cols uniquement) */
.step:not(:last-child)::after{content:'';position:absolute;right:-12px;top:50%;width:16px;height:2px;background:repeating-linear-gradient(90deg,#0E0F10 0,#243BD1 4px,transparent 4px,transparent 8px);transform:translateY(-50%);z-index:1}

/* ─── FEATURES ─── */
/* UV.7 — Section #features : 6 cards 3\u00d72 avec bordure gauche color\u00e9e par cat\u00e9gorie */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat{padding:22px 20px;background:#fff;border:1px solid #EBEBE7;border-left:3px solid var(--feat-color,#243BD1);border-radius:0 8px 8px 0;transition:all .2s;box-shadow:0 1px 4px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:6px}
.feat:hover{box-shadow:0 6px 24px rgba(36, 59, 209,.1);transform:translateY(-2px)}
.feat-i{width:36px;height:36px;background:var(--feat-bg,#EEF0FD);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--feat-color,#243BD1);margin-bottom:8px}
.feat h4{font-size:14px;font-weight:700;color:#0E0F10;margin:0;letter-spacing:-.2px}
.feat p{font-size:12px;color:#6D7176;line-height:1.55;margin:0}
.feat-result{font-size:11px;color:var(--feat-color,#243BD1);font-weight:600;margin-top:4px}

/* ─── PRICING ─── */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pr{padding:22px 18px;background:#fff;border:1.5px solid #EBEBE7;border-radius:8px;text-align:center;position:relative;transition:all .2s}
.pr:hover{border-color:#243BD1;transform:translateY(-2px);box-shadow:0 4px 20px rgba(36, 59, 209,.1)}
.pr.pop{border-color:#243BD1;box-shadow:0 0 0 1px #243BD1,0 4px 20px rgba(36, 59, 209,.12)}
.pr.pop::before{content:'\2605 Choix des \00e9quipes conformit\00e9';position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:700;background:linear-gradient(135deg,#059669,#0D9488);color:#fff;padding:4px 12px;border-radius:10px;white-space:nowrap}
.pr-n{font-size:13px;font-weight:700;color:#0E0F10}
.pr-a{font-size:26px;font-weight:800;color:#243BD1;margin:8px 0;letter-spacing:-.5px}
.pr-a small{font-size:10px;font-weight:400;color:#6D7176}
.pr-f{list-style:none;margin:10px 0;font-size:10.5px;color:#6D7176;text-align:left}
.pr-f li{padding:4px 0;border-bottom:1px solid #FBFBFA;display:flex;align-items:center;gap:6px}
.pr-f li::before{content:'';width:4px;height:4px;border-radius:50%;background:#0E0F10;flex-shrink:0}
.pr-b{display:block;padding:9px;font-size:11px;font-weight:600;color:#243BD1;background:#EEF0FD;border:1px solid #BFDBFE;border-radius:8px;cursor:pointer;transition:all .15s}
.pr-b:hover,.pr.pop .pr-b{background:#0E0F10;color:#fff;border-color:#243BD1}

/* ─── CTA BANNER ─── */
.cta-banner{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);padding:var(--space-2xl) var(--space-lg);text-align:center}
.cta-banner h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:#fff;letter-spacing:-.03em;margin-bottom:8px}
/* Squad front QW5 : le marqueur « + » des FAQ tourne en « × » quand l'item est ouvert. */
.faq-plus{transition:transform .2s ease;display:inline-block}
.faq-i[open] .faq-plus{transform:rotate(45deg)}
.cta-banner p{font-size:var(--text-base);color:var(--color-primary-400);margin-bottom:var(--space-lg)}
.cta-btn{display:inline-block;padding:14px 36px;background:var(--color-accent);color:#fff;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition);border:none;font-family:inherit;box-shadow:var(--shadow-accent)}
.cta-btn:hover{background:var(--color-accent-hover);box-shadow:0 12px 40px rgba(36, 59, 209,.4);transform:translateY(-2px)}
.btn-cta-final{display:inline-block;background:#0E0F10;color:#fff !important;padding:16px 32px;border-radius:8px;font-family:'Public Sans',sans-serif;font-weight:700;font-size:18px;text-decoration:none;box-shadow:0 8px 32px rgba(36, 59, 209,.35);transition:transform .2s,box-shadow .2s;border:none;cursor:pointer}
.btn-cta-final:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(36, 59, 209,.45);background:#0E0F10}
.cta-micro{margin-top:12px;font-size:13px;color:rgba(255,255,255,.6);font-weight:500}

/* ─── BLOG ─── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.blog-card{background:#fff;border:1px solid #EBEBE7;border-radius:8px;overflow:hidden;transition:all .2s}
.blog-card:hover{border-color:#243BD1;box-shadow:0 4px 20px rgba(36, 59, 209,.08);transform:translateY(-2px)}
.blog-img{height:140px;background:linear-gradient(135deg,#EEF0FD,#FBFBFA);display:flex;align-items:center;justify-content:center;font-size:40px}
.blog-body{padding:18px}
.blog-tag{font-size:9px;font-weight:700;color:#243BD1;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.blog-title{font-size:14px;font-weight:700;color:#0E0F10;line-height:1.35;margin-bottom:6px}
.blog-desc{font-size:11.5px;color:#6D7176;line-height:1.55}
.blog-meta{font-size:10px;color:#6D7176;margin-top:10px}

/* ─── FOOTER ─── */
/* ─── FOOTER ─── */
footer{background:#060B18;color:#6D7176;padding:72px 20px 32px;border-top:1px solid rgba(255,255,255,.06)}
.ft-wrap{max-width:1200px;margin:0 auto}
.ft-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:56px;margin-bottom:48px}
.ft-col h4{font-family:'IBM Plex Mono','Fira Code',monospace;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.18em;margin-bottom:18px}
.ft-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ft-col a{color:#6D7176;font-size:13.5px;text-decoration:none;transition:color .15s}
.ft-col a:hover{color:#9FB0FF}
.ft-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ft-logo{font-family:'Public Sans',sans-serif;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em;display:flex;align-items:center;gap:2px}
.ft-logo em{color:#243BD1;font-style:normal}
.ft-logo-dot{width:8px;height:8px;border-radius:50%;background:#0E0F10;box-shadow:0 0 16px rgba(36, 59, 209,.7);margin:0 4px 4px}
.ft-tagline{font-size:13.5px;color:#6D7176;line-height:1.6;margin-bottom:20px;max-width:320px}
.ft-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.ft-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:rgba(14, 15, 16,.1);border:1px solid rgba(36, 59, 209,.25);border-radius:999px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:#9FB0FF;font-weight:600;letter-spacing:.05em}
.ft-bottom{padding-top:28px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ft-copyright{font-size:12px;color:#6D7176}
.ft-disclaimer{font-size:11px;color:#54585C;max-width:640px;line-height:1.6;margin-top:18px}
@media(max-width:900px){
  .ft-grid{grid-template-columns:1fr 1fr;gap:36px}
  .ft-col:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  .ft-grid{grid-template-columns:1fr;gap:28px}
  footer{padding:52px 18px 24px}
  .ft-bottom{flex-direction:column;align-items:flex-start}
}

.toast{position:fixed;top:14px;left:14px;right:14px;max-width:400px;margin:0 auto;background:#EF4444;color:white;padding:14px 18px;border-radius:10px;font-size:13px;font-weight:500;z-index:999;display:none;box-shadow:0 8px 24px rgba(239,68,68,.3);text-align:center}
.toast.on{display:block;animation:si .2s}
@keyframes si{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

/* ─── SCROLL TO TOP ─── */
.scroll-top{position:fixed;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:#fff;border:1.5px solid #EBEBE7;box-shadow:0 4px 16px rgba(0,0,0,.08);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:90;transition:all .2s;color:#243BD1}
.scroll-top.on{display:flex;animation:stIn .3s ease}
.scroll-top:hover{background:#0E0F10;color:#fff;border-color:#243BD1;transform:translateY(-2px);box-shadow:0 6px 20px rgba(36, 59, 209,.3)}
@keyframes stIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* MOBILE STICKY CTA : voir #mobCta (.mob-cta) — legacy .m-sticky supprimé */

/* ─── TABLET (< 1024px) ─── */
@media(max-width:1024px){
  .sources-inner{grid-template-columns:repeat(5,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid{grid-template-columns:repeat(2,1fr)}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:repeat(2,1fr)}
  /* UV.3 — masquer le connecteur pointill\u00e9 hors layout 4 colonnes */
  .step:not(:last-child)::after{display:none}
  /* UV.4 — s\u00e9curit\u00e9 grid empil\u00e9e */
  .sec-grid{grid-template-columns:1fr !important}
  /* UV.6 — t\u00e9moignages empil\u00e9s, masquer le s\u00e9parateur vertical */
  .tmoins-sep{display:none}
  .tmoins-row{gap:24px !important}
  /* UV.9.2 — chiffres cl\u00e9s : espaces r\u00e9duits et s\u00e9parateurs masqu\u00e9s */
  .kpi-strip{gap:28px !important}
  .kpi-sep{display:none}
  /* UV.F4 — sticky bar d\u00e9sactiv\u00e9e sur mobile */
  #stickyBar{display:none !important}
  .sticky-hint{display:none}
}

/* ─── MOBILE (< 768px) ─── */
@media(max-width:768px){
  .nav{padding:0 18px;height:60px}
  .nav-logo{font-size:16px}
  .nav-r{display:none}
  .nav-burger{display:flex}
  body.nav-open{overflow:hidden}

  .hero-inner{grid-template-columns:1fr;padding:56px 20px 40px;text-align:center;gap:32px}
  .hero-card-wrap{display:none}
  /* UV.F2 — mobile : form en pleine largeur, pas de shadow \u00e9norme */
  .hero-form-col{max-width:100%;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.12);text-align:left}
  .hero-ctas{justify-content:center}
  .hero-social{justify-content:center}
  .hero-p{margin-left:auto;margin-right:auto}
  .kpi-bar{margin:0 16px 24px;flex-wrap:wrap}
  .kpi{min-width:0;padding:14px 10px}
  .badge{font-size:11px;padding:5px 12px}
  .hero h1{font-size:clamp(28px,8vw,36px);letter-spacing:-.03em;line-height:1.12;margin-bottom:14px;text-align:center}
  .hero-p{font-size:14.5px;line-height:1.6;margin-bottom:10px}
  .hero-sub{font-size:12px;margin-bottom:24px}

  .kpi-bar{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 20px;padding:0 8px;margin-bottom:24px}
  .kpi-n{font-size:22px}
  .kpi-l{font-size:10px}

  .tabs{padding:4px}
  .tab{font-size:13px;padding:12px 8px}

  .form-card{padding:18px;border-radius:8px}
  .f-input{font-size:16px;padding:14px 14px;min-height:52px}
  .f-row{flex-direction:column;gap:10px}
  /* #21 — cibles tactiles >=48px sur mobile (a11y / WCAG 2.5.5) */
  /* font-size 16px : sous 16px, iOS Safari zoome automatiquement au focus et
     recadre le formulaire à chaque champ tapé (abandon en plein tunnel de scan).
     Aligné sur .f-input (l.1471) qui le fait déjà pour le champ principal. */
  .f-field input,.f-field select{font-size:16px;padding:13px 12px;min-height:48px}
  .f-field label{font-size:11px;margin-bottom:5px}
  .f-btn{font-size:15px;padding:16px;min-height:54px}
  .tab{min-height:48px}
  .demo-chip{min-height:48px;padding-top:12px;padding-bottom:12px}
  .f-hints{gap:14px;margin-top:16px}
  .f-hints span{font-size:11.5px}

  .sources{padding:28px 16px}
  .sources-inner{grid-template-columns:repeat(3,1fr);gap:8px}
  .src-item{padding:12px 6px}
  .src-icon{font-size:20px}
  .src-name{font-size:9.5px}
  .src-type{font-size:8.5px}

  .user-counter{flex-direction:column;gap:8px}
  .user-counter-text{font-size:12px;text-align:center}

  .section{padding:48px 20px}
  .container{padding:0 20px}
  .section-h{font-size:24px;letter-spacing:-.4px}
  .section-p{font-size:13.5px;margin-bottom:28px}

  .steps,.feat-grid,.price-grid,.blog-grid,.testimonial-grid{grid-template-columns:1fr}
  .step{padding:20px 18px}
  .step h4{font-size:15px}
  .step p{font-size:12.5px}
  .feat{padding:22px 20px}
  .feat h4{font-size:14.5px}
  .feat p{font-size:12.5px}

  .pr{padding:22px 20px}
  .pr-n{font-size:14px}
  .pr-a{font-size:28px}
  .pr-f{font-size:12px}
  .pr-f li{padding:6px 0}
  .pr-b{padding:13px;font-size:13px;min-height:44px}

  .cta-banner{padding:48px 20px}
  .cta-banner h2{font-size:24px}
  .cta-banner p{font-size:14px;margin-bottom:20px}
  .cta-btn{padding:15px 36px;font-size:15px;min-height:50px}

  .testimonials{padding:40px 20px}
  .testimonial{padding:20px}
  .testimonial-text{font-size:13.5px}
  .testimonial-name{font-size:13px}
  .testimonial-role{font-size:11px}

  .blog-body{padding:18px}
  .blog-title{font-size:15px;line-height:1.35}
  .blog-desc{font-size:12.5px}
  .blog-img{height:120px;font-size:36px}

  /* RESULT on mobile */
  .result{padding:16px 16px 100px}
  .r-head{flex-direction:row;gap:16px;padding:18px;align-items:center}
  .r-gauge{width:70px;height:70px}
  .r-gauge svg{width:70px;height:70px}
  .r-gauge-num{font-size:22px}
  .r-info{min-width:0}
  .r-tag{font-size:10px;padding:3px 9px}
  .r-reco{font-size:12.5px;line-height:1.5}
  .r-meta{font-size:10.5px}

  .id-card{grid-template-columns:1fr 1fr}
  .id-item:nth-child(3n){border-right:1px solid #F6F6F3}
  .id-item:nth-child(2n){border-right:none}
  .id-item:nth-last-child(-n+2){border-bottom:none}

  .panel{padding:16px 18px}
  .panel-h{font-size:10.5px}
  .sig-grid{grid-template-columns:1fr;gap:16px}
  .v-grid{grid-template-columns:1fr}
  .v-item{padding:6px 0;border-bottom:1px solid #F6F6F3}
  .v-item:last-child{border-bottom:none}
  .v-item label{font-size:10px;margin-bottom:3px}
  .v-item span{font-size:14px}

  .ss-label{width:80px;font-size:12px}
  .ss-num{font-size:12px}

  .sig-i{font-size:12.5px;padding:3px 0}
  .a-tag{font-size:8.5px;padding:3px 7px}
  .a-text{font-size:12.5px}

  #decisionGrid{grid-template-columns:1fr !important;gap:8px}

  .dl-row{flex-direction:column;gap:10px}
  .dl-btn,.dl-btn-ghost{width:100%;padding:14px 18px;font-size:14px;min-height:50px;justify-content:center}

  .doc-upload-inline{padding:18px}
  .doc-upload-inline p{font-size:12.5px}
  .doc-upload-inline button{padding:13px 24px;font-size:13px;min-height:46px}

  .nav-logo svg{width:20px;height:20px}

  footer{padding:28px 20px;font-size:11px}

}

/* ─── SMALL MOBILE (< 480px) ─── */
@media(max-width:480px){
  .hero{padding:28px 16px 18px}
  .hero h1{font-size:clamp(26px,9vw,32px)}
  .section{padding:40px 16px}
  .section-h{font-size:22px}
  .kpi-bar{gap:12px 14px}
  .kpi-n{font-size:20px}
  .sources-inner{grid-template-columns:repeat(2,1fr)}
  .form-card{padding:16px}
  .cta-banner{padding:40px 16px}
  .cta-banner h2{font-size:21px}
  .testimonials{padding:32px 16px}
}

/* ═══════════════════════════════════════════════════════════════
   REFONTE LIGHT MINIMALISTE — inspiration intelliacore.com
   Palette : blanc / gris clair / noir / indigo accent
   Style : aéré, italique pour les accents, sections 01-02-03
   ═══════════════════════════════════════════════════════════════ */
:root {
  --rs-bg: #FFFFFF;
  --rs-bg-alt: #F6F6F3;
  --rs-bg-soft: #F4F5F7;
  --rs-border: #EBEBE7;
  --rs-border-soft: #F6F6F3;
  --rs-ink: #0E0F10;
  --rs-ink-soft: #1B1D1F;
  --rs-muted: #6D7176;
  --rs-subtle: #9A9EA3;
  --rs-accent: #243BD1;       /* periwinkle assombri — AA 5.75:1 sur blanc (texte/liens/kickers/em) */
  --rs-accent-hover: #1B2DA6;  /* indigo-ardoise — aplats CTA & hover, AA fort */
  --rs-green: #059669;
  --rs-red: #DC2626;
  --rs-code-bg: #0B1020;
  --rs-code-text: #EBEBE7;
}

/* ─── R.0 Global light minimaliste ─── */
html, body {
  background: var(--rs-bg) !important;
  color: var(--rs-ink);
  font-family: var(--font-body);
}
body a { color: inherit; }

.section {
  max-width: 1120px;
  padding: 96px 32px;
  color: var(--rs-ink);
}

/* Alternance subtile entre sections */
section#how,
section#pricing,
section#blog { background: var(--rs-bg) !important; }
section#features,
section#vs, .vs-section { background: var(--rs-bg-alt) !important; }

/* ─── Typographie light ─── */
h1, h2, h3, h4 { color: var(--rs-ink) !important; letter-spacing: -0.025em; }
.section-h, .hero h1 { color: var(--rs-ink) !important; }
.section-h em, .hero h1 em, .hero h1 span, h2 em {
  color: var(--rs-accent) !important;
  -webkit-text-fill-color: var(--rs-accent) !important;
  background: none !important;
  font-style: italic;
  font-weight: inherit;
}
.section-p { color: var(--rs-muted) !important; font-size: 16px; font-weight: 400; max-width: 620px; margin-left: auto; margin-right: auto; }

/* ─── Inputs minimalistes light ─── */
.f-input, .f-field input, .f-field select,
input[type="text"], input[type="email"] {
  background: var(--rs-bg) !important;
  border: 1.5px solid var(--rs-border) !important;
  color: var(--rs-ink) !important;
}
.f-input:focus, .f-field input:focus, .f-field select:focus {
  border-color: var(--rs-accent) !important;
  box-shadow: 0 0 0 3px rgba(36, 59, 209,.16) !important;
  background: var(--rs-bg) !important;
}
.f-input::placeholder, .f-field input::placeholder { color: #6D7176 !important; }
.f-field label { color: var(--rs-muted) !important; font-weight: 600; }

/* ─── Hero light minimaliste (pas de grille ni gradient agressif) ─── */
.hero {
  background: var(--rs-bg) !important;
  background-image: none !important;
  padding: 48px 0 64px !important;
  border-bottom: 1px solid var(--rs-border-soft);
}
.hero h1 {
  color: var(--rs-ink) !important;
  font-size: clamp(34px, 5vw, 48px) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
}
.hero-p { color: var(--rs-muted) !important; font-size: 18px; line-height: 1.6; }
.hero-p b { color: var(--rs-ink) !important; font-weight: 600; }
.badge {
  background: #EEF0FD !important;
  border: 1px solid #E4E6EF !important;
  color: var(--rs-accent) !important;
  font-weight: 600;
}
.hero-cta-primary {
  background: var(--rs-ink) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px -4px rgba(10,10,10,.45) !important;
  border-radius: 999px !important;
  padding: 16px 30px !important;
  font-size: 14.5px !important;
  letter-spacing: -0.005em;
}
.hero-cta-primary:hover { background: #1B1D1F !important; box-shadow: 0 10px 28px -6px rgba(36, 59, 209,.55) !important; transform: translateY(-2px) !important; }
.hero-cta-secondary {
  background: transparent !important;
  border: 1.5px solid var(--rs-border) !important;
  color: var(--rs-ink) !important;
  border-radius: 999px !important;
  padding: 14px 26px !important;
}
.hero-cta-secondary:hover { background: var(--rs-bg-alt) !important; }

/* Hero form-col : card blanche */
.hero-form-col {
  background: var(--rs-bg) !important;
  border: 1px solid var(--rs-border) !important;
  box-shadow: 0 1px 2px rgba(14, 15, 16,0.10), 0 24px 56px -20px rgba(14, 15, 16,0.26), inset 0 1px 0 rgba(255,255,255,0.7) !important;
  border-radius: 8px !important;
}
.hero-form-col .form-card { background: transparent !important; box-shadow: none !important; border: none !important; }
.tabs { background: var(--rs-bg-soft) !important; border: none !important; border-radius: 10px; padding: 4px; }
.tab { color: var(--rs-muted) !important; }
.tab.on { background: var(--rs-bg) !important; color: var(--rs-ink) !important; box-shadow: 0 1px 4px rgba(0,0,0,.08) !important; }

.hero-form-col label, .hero-form-col .f-field label { color: var(--rs-muted) !important; }

/* KPI bar & counters dans hero */
.kpi-bar, .kpi { background: transparent !important; border: none !important; }
.kpi-n { color: var(--rs-ink) !important; font-weight: 800; }
.kpi-l { color: var(--rs-muted) !important; }
.user-counter { background: transparent !important; border: none !important; padding: 6px 0 !important; }
.user-counter-text { color: var(--rs-muted) !important; font-size: 12px; }
.f-hints span { color: var(--rs-muted) !important; }

/* ─── Sans/Avec cards light ─── */
.vs-card {
  background: var(--rs-bg) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 6px 20px rgba(0,0,0,.06) !important;
  border-radius: 8px !important;
}
.vs-card.neg { border: 1px solid var(--rs-border) !important; border-top: 3px solid var(--rs-red) !important; }
.vs-card.pos { border: 1px solid var(--rs-border) !important; border-top: 3px solid var(--rs-green) !important; }
.vs-card h3 { color: var(--rs-ink) !important; }
.vs-card.neg h3 { color: var(--rs-red) !important; }
.vs-card.pos h3 { color: var(--rs-green) !important; }
.vs-card.neg h3 .vs-h-icon { background: #FEE2E2 !important; }
.vs-card.pos h3 .vs-h-icon { background: #D1FAE5 !important; }
.vs-card .vs-subtitle { color: var(--rs-muted) !important; }
.vs-card li { color: var(--rs-ink-soft) !important; }
.vs-card.neg li .ic { background: #FEE2E2 !important; color: var(--rs-red) !important; }
.vs-card.pos li .ic { background: #D1FAE5 !important; color: var(--rs-green) !important; }
.vs-card.neg .vs-foot { color: var(--rs-red) !important; border-top: 1px solid #FECACA !important; }
.vs-card.pos .vs-foot { color: var(--rs-green) !important; border-top: 1px solid #86EFAC !important; }
.vs-kicker { color: var(--rs-accent) !important; font-weight: 700; }
.vs-title { color: var(--rs-ink) !important; }
.vs-title em { color: var(--rs-accent) !important; }
.vs-sub { color: var(--rs-muted) !important; }
.vs-badge {
  background: var(--rs-ink) !important;
  color: #fff !important;
  border: 4px solid var(--rs-bg-alt) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.15) !important;
}

/* ─── Steps 01-02-03-04 style IntelliaCore ─── */
section#how { background: var(--rs-bg) !important; }
section#how .section-p { color: var(--rs-muted) !important; }
.steps { grid-template-columns: repeat(4, 1fr) !important; gap: 32px !important; }
.step {
  background: var(--rs-bg) !important;
  border: none !important;
  border-top: 2px solid var(--rs-border) !important;
  border-radius: 0 !important;
  padding: 32px 0 0 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.step:hover {
  border-top-color: var(--rs-accent) !important;
  transform: none !important;
  box-shadow: none !important;
}
.step-num {
  position: static !important;
  transform: none !important;
  background: transparent !important;
  border: none !important;
  color: var(--rs-accent) !important;
  box-shadow: none !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 16px !important;
  letter-spacing: .15em;
  text-align: left !important;
  justify-content: flex-start !important;
}
.step-i {
  background: transparent !important;
  color: var(--rs-accent) !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 16px !important;
  justify-content: flex-start !important;
}
.step-i svg { width: 22px !important; height: 22px !important; }
.step h4 { color: var(--rs-ink) !important; font-size: 17px !important; font-weight: 700; margin-bottom: 8px; }
.step p { color: var(--rs-muted) !important; font-size: 14px; line-height: 1.6; min-height: 0 !important; }
.step-result { color: var(--rs-accent) !important; border-top: none !important; padding-top: 12px !important; font-weight: 600; font-size: 12px; letter-spacing: .01em; }
.step:not(:last-child)::after { display: none !important; }

/* ─── Features cards light ─── */
section#features { background: #fff !important; } /* alternance : example-report=alt, features=blanc, personas=alt */
.feat {
  background: var(--rs-bg) !important;
  border: 1px solid var(--rs-border) !important;
  border-left: 3px solid var(--feat-color,#243BD1) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.03) !important;
}
.feat:hover { box-shadow: 0 4px 16px rgba(0,0,0,.06) !important; }
.feat h4 { color: var(--rs-ink) !important; }
.feat p { color: var(--rs-muted) !important; }
.feat-i { background: var(--feat-bg, #EEF0FD) !important; }
.feat-result { color: var(--feat-color, var(--rs-accent)) !important; font-weight: 600; }

/* Sources grid (logos) light */
.sources-category-card, .sources-grid-wrap .sources-category-card {
  background: var(--rs-bg) !important;
  border: 1px solid var(--rs-border) !important;
}
.sources-cat-header h4 { color: var(--rs-ink) !important; }
.sources-cat-desc { color: var(--rs-muted) !important; }
.source-logo-item { background: var(--rs-bg) !important; border-color: var(--rs-border-soft) !important; }
.source-logo-item:hover { border-color: var(--rs-accent) !important; }
.source-logo-name { color: var(--rs-ink-soft) !important; }
.source-logo-fb { background: #EEF0FD !important; color: var(--rs-accent) !important; }

/* ─── Pricing light ─── */
.pr { background: var(--rs-bg) !important; border: 1px solid var(--rs-border) !important; box-shadow: 0 1px 2px rgba(0,0,0,.04) !important; }
.pr.pop { border: 1.5px solid var(--rs-ink) !important; background: var(--rs-bg) !important; box-shadow: 0 8px 32px rgba(0,0,0,.08) !important; }
.pr-n { color: var(--rs-ink) !important; }
.pr-a { color: var(--rs-ink) !important; }
.pr-a small { color: var(--rs-muted) !important; }
.pr-f li { color: var(--rs-ink-soft) !important; }
.pr-f li::before { color: var(--rs-accent) !important; }
.pr-b {
  background: transparent !important;
  color: var(--rs-ink) !important;
  border: 1.5px solid var(--rs-border) !important;
  border-radius: 999px !important;
}
.pr-b:hover { background: var(--rs-bg-alt) !important; border-color: var(--rs-ink) !important; }
.pr-b.popbtn { background: var(--rs-ink) !important; color: #fff !important; border-color: var(--rs-ink) !important; }
.pr-b.popbtn:hover { background: #1B1D1F !important; }

/* ─── Sécurité light ─── */
section#features + section,
section[style*="background:#0D1526"],
section[style*="background:#FBFBFA"] { background: var(--rs-bg-alt) !important; }

/* ─── Blog cards light ─── */
section#blog { background: var(--rs-bg) !important; }
.blog-card { background: var(--rs-bg) !important; border: 1px solid var(--rs-border) !important; box-shadow: 0 1px 2px rgba(0,0,0,.03) !important; }
.blog-card:hover { border-color: var(--rs-accent) !important; box-shadow: 0 8px 24px rgba(0,0,0,.06) !important; }
.blog-title { color: var(--rs-ink) !important; }
.blog-desc { color: var(--rs-muted) !important; }
.blog-meta { color: var(--rs-subtle) !important; }

/* ─── Nav light minimaliste ─── */
.nav {
  background: rgba(255,255,255,.88) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid var(--rs-border-soft) !important;
}
.nav-logo { color: var(--rs-ink) !important; }
.nav-a { color: var(--rs-ink-soft) !important; font-weight: 500; }
.nav-a:hover { color: var(--rs-ink) !important; }
.nav-signin {
  color: var(--rs-ink-soft) !important;
  border: 1px solid var(--rs-border) !important;
  background: transparent !important;
}
.nav-signin:hover { background: var(--rs-bg-alt) !important; border-color: var(--rs-ink-soft) !important; color: var(--rs-ink) !important; }
.nav-cta { background: var(--rs-ink) !important; color: #fff !important; border-color: var(--rs-ink) !important; border-radius: 999px !important; }
.nav-cta:hover { background: #1B1D1F !important; border-color: #1B1D1F !important; }
.nav-a[href*="dashboard"] {
  background: transparent !important;
  border: none !important;
  color: var(--rs-ink-soft) !important;
  padding: 9px 14px !important;
}
/* P0 mobile — la couche light couvrait la nav desktop mais PAS le burger
   (stroke #fff = invisible sur nav blanche), ni le panneau mobile (navy),
   ni le dropdown Solutions (#0B1222), ni le toggle FR/MA (encre blanche). */
.nav-burger svg { stroke: var(--rs-ink) !important; }
.nav-burger:hover { background: var(--rs-bg-alt) !important; }
.nav-mobile { background: rgba(255,255,255,.97) !important; border-bottom: 1px solid var(--rs-border) !important; box-shadow: 0 8px 32px rgba(16,24,40,.12) !important; }
.nav-mobile a { color: var(--rs-ink-soft) !important; }
.nav-mobile a:hover { background: var(--rs-bg-alt) !important; color: var(--rs-ink) !important; }
.nav-dd-menu { background: #fff !important; border: 1px solid var(--rs-border) !important; box-shadow: 0 16px 40px -8px rgba(16,24,40,.18) !important; }
.nav-dd-item b { color: var(--rs-ink) !important; }
.nav-dd-item span { color: var(--rs-muted) !important; }
.nav-dd-item:hover { background: var(--rs-bg-alt) !important; }
.nav-dd-item em { color: var(--rs-accent) !important; border-color: rgba(36, 59, 209,.35) !important; }
.country-toggle-btn { color: var(--rs-muted) !important; }
.country-toggle-btn:hover { color: var(--rs-ink) !important; }
.country-toggle-btn.on { background: #0E0F10 !important; color: #fff !important; }

/* ─── CTA banner final light ─── */
.cta-banner { background: var(--rs-bg-alt) !important; border-top: 1px solid var(--rs-border) !important; border-bottom: 1px solid var(--rs-border) !important; padding: 80px 32px !important; }
.cta-banner h2 { color: var(--rs-ink) !important; font-size: clamp(28px, 4vw, 40px) !important; }
.cta-banner h2 em { color: var(--rs-accent) !important; }
.cta-banner p { color: var(--rs-muted) !important; }
.cta-banner .btn-cta-final {
  background: var(--rs-ink) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 16px 32px !important;
  box-shadow: none !important;
}
.cta-banner .btn-cta-final:hover { background: #1B1D1F !important; }
/* Secondary CTA on the LIGHT banner (--rs-bg-alt) : ghost SOMBRE accent-teinté
   (texte ink + bordure accent), distinct du CTA primaire rempli, lisible sur clair. */
.cta-banner .btn-cta-final[href^="mailto"] {
  background: transparent !important;
  color: var(--rs-ink) !important;
  border: 1.5px solid rgba(27, 45, 166,.40) !important;
  box-shadow: none !important;
}
.cta-banner .btn-cta-final[href^="mailto"]:hover {
  background: rgba(27, 45, 166,.06) !important;
  border-color: rgba(27, 45, 166,.70) !important;
}
.cta-banner > div span { color: var(--rs-muted) !important; }
.cta-micro { color: var(--rs-muted) !important; }

/* ─── Footer light ─── */
footer { background: var(--rs-bg) !important; border-top: 1px solid var(--rs-border) !important; color: var(--rs-ink) !important; }
.ft-col h4 { color: #6D7176 !important; }  /* L5.2 — était var(--rs-ink) : invisible sur le footer sombre */
.ft-col a, .ft-tagline { color: var(--rs-muted) !important; }
.ft-col a:hover { color: var(--rs-ink) !important; }
.ft-copyright, .ft-disclaimer { color: var(--rs-subtle) !important; }
.ft-logo { color: var(--rs-ink) !important; }

/* ─── Sticky bar light ─── */
#stickyBar {
  background: rgba(255,255,255,.94) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid var(--rs-border) !important;
}
#stickyBar span { color: var(--rs-ink) !important; }
#stickyBar .sticky-hint, .sticky-hint { color: var(--rs-muted) !important; }

/* ─── Témoignages / sections inter ─── */
section[style*="border-top:1px solid #F6F6F3"] {
  background: var(--rs-bg) !important;
  border-top: 1px solid var(--rs-border) !important;
}
section[style*="border-top:1px solid #F6F6F3"] p,
section[style*="border-top:1px solid #F6F6F3"] div { color: var(--rs-muted) !important; }
section[style*="border-top:1px solid #F6F6F3"] div[style*="color:#0E0F10"],
section[style*="border-top:1px solid #F6F6F3"] div[style*="color:#F6F6F3"] { color: var(--rs-ink) !important; font-style: normal; }

/* ─── KPI strip (chiffres bruts) light ─── */
.kpi-strip { color: var(--rs-ink); }
.kpi-strip div[style*="font-size:64px"] { color: var(--rs-ink) !important; }
.kpi-strip div[style*="font-size:64px"][style*="#243BD1"] { color: var(--rs-accent) !important; }
.kpi-strip span[style*="#243BD1"] { color: var(--rs-accent) !important; }

/* Section KPI : fond light blanc cassé */
section[style*="background:#060A14"] { background: var(--rs-bg-alt) !important; border-top: 1px solid var(--rs-border) !important; border-bottom: 1px solid var(--rs-border) !important; }

/* ─── Pastille "Interrogées en temps réel" light ─── */
#features > div[style*="border-radius:999px"] {
  background: #EEF0FD !important;
  border-color: #E4E6EF !important;
}
#features > div[style*="border-radius:999px"] span { color: var(--rs-accent) !important; }

/* ─── Proof bar hero : fond clair ─── */
.hero-form-col > div[style*="background:rgba(255,255,255,.03)"],
.hero-form-col div[style*="background:rgba(255,255,255,.03)"] {
  background: var(--rs-bg-alt) !important;
  border: 1px solid var(--rs-border) !important;
}
.hero-form-col div[style*="background:rgba(255,255,255,.03)"] span,
.hero-form-col div[style*="background:rgba(255,255,255,.03)"] span[style*="color:#6D7176"] {
  color: var(--rs-muted) !important;
}
.hero-form-col div[style*="background:rgba(255,255,255,.03)"] span[style*="color:#F6F6F3"] {
  color: var(--rs-ink) !important;
}

/* ─── Tags/badges style IntelliaCore (pills) ─── */
.tag-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: var(--rs-bg-alt);
  border: 1px solid var(--rs-border);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  color: var(--rs-ink-soft);
  font-family: 'IBM Plex Mono', monospace;
}

/* ─── Hero bg grid removed : laisser propre ─── */
body.hero-bg-grid .hero { background-image: none !important; }

/* ─── Anti-débord mobile ─── */
@media (max-width: 900px) {
  .section { padding: 56px 20px !important; }
  .steps { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
}
@media (max-width: 560px) {
  .steps { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════════
   P.3 — CSS print : isoler le rapport quand l'utilisateur imprime (Ctrl+P)
   Si un des panels r\u00e9sultat est affich\u00e9 \u2192 seul lui est imprim\u00e9
   ═══════════════════════════════════════════════════════════════ */

/* ─── P.5 POLISH : micro-interactions + alignment + consistency ─── */
/* Scroll margin pour les ancres (nav sticky = 64px ; ann-bar scrolle out, pas sticky) */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 84px; }
div[id="cta"] { scroll-margin-top: 84px; }

/* Unification des hovers sur les cards premium */
.persona-card { transition: transform .2s ease, border-color .2s ease, box-shadow .25s ease; }
.persona-card:hover { transform: translateY(-3px); border-color: #CDD1DF !important; box-shadow: 0 14px 32px -14px rgba(14, 15, 16,.12) !important; }
.pr-card { transition: transform .2s ease, box-shadow .25s ease; }
.pr-card:hover:not(.pr-card-pop) { transform: translateY(-3px); box-shadow: 0 14px 32px -14px rgba(14, 15, 16,.12) !important; }
.pr-card-pop { transition: transform .2s ease, box-shadow .25s ease; }
.pr-card-pop:hover { transform: translateY(-4px); box-shadow: 0 18px 48px -14px rgba(36, 59, 209,.35) !important; }

/* Buttons : premium shadow on hover + active press feedback */
.hero-cta-primary, .btn-cta-final { transition: background-color .15s ease, transform .12s ease, box-shadow .2s ease; }
.hero-cta-primary:hover, .btn-cta-final:hover { transform: translateY(-1px); box-shadow: 0 8px 24px -8px rgba(36, 59, 209,.45); }
.hero-cta-primary:active, .btn-cta-final:active { transform: translateY(0); }
.hero-cta-secondary { transition: background-color .15s ease, border-color .15s ease; }
.demo-chip { transition: background .15s ease, border-color .15s ease, transform .12s ease; }
.demo-chip:hover { background: rgba(134,143,191,.16) !important; border-color: rgba(134,143,191,.5) !important; transform: translateY(-1px); }

/* [light-pass] couche sombre « THEME_FLIP_DARK_PREMIUM » neutralisee — base light restauree par cascade */

/* Focus-visible ring cohérent (accessibilité premium) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 2px solid var(--rs-accent) !important;
  outline-offset: 2px !important;
  border-radius: 6px;
}
/* Pas de double focus sur les pills déjà rondes */
.ann-link:focus-visible, .nav-cta:focus-visible, .hero-cta-primary:focus-visible, .hero-cta-secondary:focus-visible,
.btn-cta-final:focus-visible, .mob-cta-b:focus-visible { outline-offset: 3px; border-radius: 999px; }

/* Sonar demo v2 (Q.2) : contraste light theme pour fond hero clair */
.hero-form-col .sonar-demo { background: linear-gradient(140deg, rgba(36, 59, 209,.08) 0%, rgba(124,58,237,.05) 100%) !important; border-color: rgba(36, 59, 209,.22) !important; }
.hero-form-col .sonar-demo .sc-name { color: #0E0F10 !important; }
.hero-form-col .sonar-demo .sc-label { color: #243BD1 !important; }
.hero-form-col .sonar-demo .sc-score-n { color: #0E0F10 !important; }
.hero-form-col .sonar-demo .sc-score-n.red { color: #DC2626 !important; }
.hero-form-col .sonar-demo .sc-score-n.green { color: #059669 !important; }
.hero-form-col .sonar-demo .sc-score-n.amber { color: #B45309 !important; }
.hero-form-col .sonar-demo .sc-score-s { color: #6D7176 !important; }
.hero-form-col .sonar-demo .sc-risk-label.red { background: #FEE2E2 !important; color: #991B1B !important; }
.hero-form-col .sonar-demo .sc-risk-label.green { background: #D1FAE5 !important; color: #065F46 !important; }
.hero-form-col .sonar-demo .sc-risk-label.amber { background: #FEF3C7 !important; color: #92400E !important; }
.hero-form-col .sonar-demo .sc-chips li.bad { background: #FEF2F2 !important; color: #991B1B !important; border-color: #FECACA !important; }
.hero-form-col .sonar-demo .sc-chips li.ok { background: #F0FDF4 !important; color: #065F46 !important; border-color: #BBF7D0 !important; }
.hero-form-col .sonar-demo .sc-chips li.meh { background: #FFFBEB !important; color: #92400E !important; border-color: #FDE68A !important; }
.hero-form-col .sonar-demo .sc-decision { background: rgba(14, 15, 16,.03) !important; border-color: #EBEBE7 !important; }
.hero-form-col .sonar-demo .sc-decision .sc-dec-lbl { color: #6D7176 !important; }
.hero-form-col .sonar-demo .sc-decision .sc-dec-val { color: #0E0F10 !important; }
.hero-form-col .sonar-demo .sc-decision.red { background: #FEF2F2 !important; border-color: #FECACA !important; }
.hero-form-col .sonar-demo .sc-decision.red .sc-dec-val { color: #DC2626 !important; }
.hero-form-col .sonar-demo .sc-decision.green { background: #F0FDF4 !important; border-color: #BBF7D0 !important; }
.hero-form-col .sonar-demo .sc-decision.green .sc-dec-val { color: #059669 !important; }
.hero-form-col .sonar-demo .sc-decision.amber { background: #FFFBEB !important; border-color: #FDE68A !important; }
.hero-form-col .sonar-demo .sc-decision.amber .sc-dec-val { color: #B45309 !important; }

/* Category matrix : poli alignement cellules */
.cm-row { transition: background-color .15s ease; }
.cm-row:hover { background-color: #FBFBFA; }

/* Announcement bar : micro-bounce au chargement pour capter l'attention */
@keyframes annIntro { 0%{transform:translateY(-100%)} 60%{transform:translateY(4px)} 100%{transform:translateY(0)} }
.ann-bar { animation: annIntro .6s cubic-bezier(.2,.8,.2,1); }
@media (prefers-reduced-motion: reduce) { .ann-bar { animation: none; } }

/* KPI bar hero : letter-spacing resserré sur gros chiffres */
.kpi-bar .kpi-n { letter-spacing: -0.03em; }

/* Testimonial premium : animation subtile fade-in au scroll */
#testimonial blockquote { opacity: 1; }

/* ─── Q.5 UI POLISH FINAL ─── */
/* Contraste des textes gris : #6D7176 → #4B5563 (meilleur ratio AA sur fond blanc) */
.section-p,
#personas .section-p,
#pricing .section-p,
#vs-matrix .section-p,
#faq .section-p,
#example-report .section-p { color: #4B5563 !important; }
.persona-card p { color: #4B5563 !important; }
.pr-card > div[style*="color:#6D7176"] { color: #4B5563 !important; }

/* Hero trust line : le hero est light (white bg via override), donc texte fonc\u00e9 #4B5563 AAA */
.hero-social > span { color: #4B5563 !important; font-weight: 600; font-size: 12.5px !important; }
.hero-social > span[style*="rgba(255,255,255,.2)"] { color: #6D7176 !important; } /* s\u00e9parateurs middots plus discrets */

/* Harmonisation boutons : tailles/padding/radius cohérents sur tous les CTAs primaires */
.hero-cta-primary, .btn-cta-final, .nav-cta {
  font-family: 'Public Sans', sans-serif;
  font-weight: 700;
  border-radius: 999px !important;
  letter-spacing: -0.005em;
  transition: background-color .15s ease, transform .12s ease, box-shadow .2s ease;
}
.hero-cta-primary { padding: 16px 30px !important; font-size: 15.5px !important; }
.btn-cta-final { padding: 16px 30px !important; font-size: 14.5px !important; box-shadow: 0 4px 14px -4px rgba(36, 59, 209,.55) !important; }
.btn-cta-final:hover { box-shadow: 0 10px 28px -6px rgba(36, 59, 209,.55) !important; transform: translateY(-2px) !important; }

/* Harmonisation des sections : scroll-margin + padding top/bottom uniformes 96px desktop, 64px mobile */
@media(min-width:821px){
  section[id="personas"], section[id="pricing"], section[id="vs-matrix"],
  section[id="testimonial"], section[id="faq"], section[id="example-report"],
  section[id="security"], section[id="team"] {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
}
@media(max-width:820px){
  section[id="personas"], section[id="pricing"], section[id="vs-matrix"],
  section[id="testimonial"], section[id="faq"], section[id="example-report"],
  section[id="security"], section[id="team"] {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}

@media print {
  @page { size: A4; margin: 15mm 12mm; }
  /* Masquer tout ce qui est homepage/navigation */
  nav, .nav, .nav-mobile, #mobileNav,
  #stickyBar, .cta-banner, footer,
  #heroSection, .hero, #sourcesBar, .sources,
  section#how, section#vs, section#features, section#pricing, section#blog, section#cta,
  .vs-section, .testimonials, .steps, .feat-grid,
  .sources-grid-wrap, #sourcesGrid,
  .blog-grid, .blog-card, #latestArticles,
  .sec-grid, .tmoins-row,
  section[style*="padding:72px"], section[style*="padding:64px"],
  section[style*="border-top:1px solid"] {
    display: none !important;
  }
  /* Afficher uniquement le r\u00e9sultat actif */
  #ddRes, #ppRes, #daRes { display: none !important; }
  #ddRes.on, #ppRes.on, #daRes.on {
    display: block !important;
    position: static !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
  }
  .panel, .decision-panel, .score-header,
  .r-head, .id-card, .conf-breakdown {
    break-inside: avoid;
    box-shadow: none !important;
  }
  /* Masquer boutons de t\u00e9l\u00e9chargement en mode print */
  .dl-row, .dl-btn, .dl-btn-ghost { display: none !important; }
  body { background: #fff !important; }
}

/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550
   D1 \u2014 POLISH PREMIUM (au-dessus de la refonte light)
   Un seul langage : encre noire + accent indigo. Profondeur subtile
   dans le hero, KPI structur\u00e9s, CTA unifi\u00e9s, glitches corrig\u00e9s.
   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 */

/* Rapport vivant : apparition en cascade des blocs (60ms d'écart,
   plafonnée au 10e — au-delà l'œil ne perçoit plus la vague). */
@media (prefers-reduced-motion: no-preference) {
  #ddRes.on > * { animation: rsRise .45s cubic-bezier(.2,.8,.2,1) both; }
  #ddRes.on > *:nth-child(1) { animation-delay: 0ms }
  #ddRes.on > *:nth-child(2) { animation-delay: 60ms }
  #ddRes.on > *:nth-child(3) { animation-delay: 120ms }
  #ddRes.on > *:nth-child(4) { animation-delay: 180ms }
  #ddRes.on > *:nth-child(5) { animation-delay: 240ms }
  #ddRes.on > *:nth-child(6) { animation-delay: 300ms }
  #ddRes.on > *:nth-child(7) { animation-delay: 360ms }
  #ddRes.on > *:nth-child(8) { animation-delay: 420ms }
  #ddRes.on > *:nth-child(9) { animation-delay: 480ms }
  #ddRes.on > *:nth-child(n+10) { animation-delay: 540ms }
}
@keyframes rsRise { from { opacity: 0; transform: translateY(10px) } to { opacity: 1; transform: none } }

/* Nav : liens ins\u00e9cables ("Pour qui" cassait sur 2 lignes) */
.nav-a { white-space: nowrap !important; }
/* Largeurs moyennes : la nav d\u00e9bordait (bouton Scanner coup\u00e9).
   On retire les liens secondaires avant le breakpoint mobile. */
@media (max-width: 1060px) {
  .nav-a[href="/graph"], .nav-a[href="/securite"] { display: none !important; }
  .nav-dd-menu{left:auto;right:0;transform:none;min-width:270px}
}
@media (max-width: 900px) {
  .nav-a[href="/compare"], .nav-a[href="#personas"] { display: none !important; }
}

/* Hero : profondeur subtile \u2014 halo indigo + trame de points fondue.
   Reste 100% light, z\u00e9ro gradient agressif. */
.hero { position: relative; overflow: hidden; }
.hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(900px 480px at 80% -12%, rgba(36, 59, 209,.10), transparent 62%),
    radial-gradient(700px 420px at -8% 112%, rgba(36, 59, 209,.05), transparent 55%);
}
.hero::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(14, 15, 16,.05) 1px, transparent 1px);
  background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.65), transparent 72%);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.65), transparent 72%);
}
.hero-inner, .hero .kpi-bar { position: relative; z-index: 1; }

/* CTA unifi\u00e9s : pilule encre (comme nav-cta / hero-cta-primary),
   lueur indigo au hover. Tue le d\u00e9grad\u00e9 bleu #243BD1 qui jurait
   avec l'accent indigo. */
.f-btn {
  background: var(--rs-ink) !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px -4px rgba(10,10,10,.4) !important;
  letter-spacing: -.005em !important;
}
.f-btn:hover {
  background: #1B1D1F !important;
  box-shadow: 0 10px 28px -6px rgba(36, 59, 209,.5) !important;
  transform: translateY(-1px);
}
.f-btn:disabled { opacity: .55; transform: none; }

/* Carte formulaire : liser\u00e9 accent en t\u00eate, ombre plus douce */
.hero-form-col {
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 16px 48px -12px rgba(14, 15, 16,.10) !important;
  border-top: 3px solid var(--rs-accent) !important;
}

/* Sonar demo card : le badge "EXEMPLE" chevauchait le label \u2014
   on r\u00e9serve sa place. */
.sonar-card .sc-label { padding-right: 86px; }

/* Chips d\u00e9mo : style light coh\u00e9rent (l'ancien inline dark est retir\u00e9) */
.demo-chip{background:#FBFBFA;border:1px solid #EBEBE7;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;color:#3A3D40;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}
.demo-chip:hover{border-color:var(--rs-accent);color:var(--rs-accent-hover);background:#EEF0FD;transform:translateY(-1px)}
.demo-chip-risk{border-color:#FECACA;color:#B91C1C;background:#FEF2F2}
.demo-chip-risk:hover{border-color:#DC2626;background:#FEE2E2;color:#B91C1C}

/* KPI : bande structur\u00e9e Sora au lieu de chiffres mono flottants */
.kpi-bar {
  background: transparent !important; border: none !important;
  border-top: 1px solid var(--rs-border-soft) !important;
  border-radius: 0 !important;
  max-width: 920px !important; margin: 56px auto 0 !important;
  padding: 40px 0 0 !important; overflow: visible !important;
}
.kpi { border-right: none !important; padding: 0 32px !important; }
.kpi + .kpi { border-left: 1px solid var(--rs-border-soft) !important; }
.kpi-n {
  font-family: 'Public Sans', var(--font-display), sans-serif !important;
  font-size: 38px !important; font-weight: 800 !important;
  letter-spacing: -.03em !important; color: var(--rs-ink) !important;
}
.kpi-l {
  font-size: 12.5px !important; color: var(--rs-muted) !important;
  margin-top: 6px; line-height: 1.55;
  text-transform: none !important; letter-spacing: 0 !important;
}

/* [light-pass] couche sombre « D2_IDENTITE_IA » neutralisee — base light restauree par cascade */

/* [light-pass] couche sombre « DARK_OVERRIDE+RATTRAPAGE » neutralisee — base light restauree par cascade */

/* ═══════════════════════════════════════════════════════════════
   LIGHT-PASS — CONSOLIDATION (derniere couche, claire)
   Apres neutralisation des overrides sombres, la base light regagne
   la cascade. On ne re-ajoute QUE deux choses, par CLASSE (jamais de
   selecteur fourre-tout [style*=...]) :
   1) CTA aplats indigo-ardoise #1B2DA6 + texte blanc (AA 7.99:1), tels
      que voulus (la base light les remettait en encre noire).
   2) Accent TEXTE/LIENS : les classes encore en indigo electrique
      (#243BD1 4.47:1 / #243BD1 4.6:1, AA limite) repointees vers
      l'accent maison var(--rs-accent) = #243BD1 (AA 5.75:1 sur blanc).
   Aucun HTML/JS/i18n/icone touche.
   ═══════════════════════════════════════════════════════════════ */

/* 1 — CTA aplats #1B2DA6 (texte blanc, AA fort), inchanges en clair */
.hero-cta-primary, .nav-cta, .btn-cta-final,
.cta-banner .btn-cta-final, .pr-b.popbtn, .mob-cta-b, .vs-badge {
  background: var(--rs-accent-hover) !important;  /* #1B2DA6 */
  color: #fff !important;
  border-color: var(--rs-accent-hover) !important;
}
.hero-cta-primary:hover, .nav-cta:hover, .nav-cta:focus,
.btn-cta-final:hover, .cta-banner .btn-cta-final:hover,
.pr-b.popbtn:hover, .mob-cta-b:hover {
  background: #3C4366 !important;  /* hover plus profond, AA conserve */
  border-color: #3C4366 !important;
}

/* 2 — Accent TEXTE/LIENS/kickers encore en indigo electrique -> accent maison AA.
   Scope par CLASSE uniquement (texte, jamais de fond/ombre). */
.nav-logo .logo-accent,
.panel-h, .source-type, .source-link,
.whatif-cond, .blog-tag,
.ai-qa-hint, .ai-qa-msg.user::before, .ai-qa-msg.bot.loading,
.vs-delta-val .arrow, .doc-actions li::before {
  color: var(--rs-accent) !important;
}
/* Les pastilles « critique » gardent leur rouge semantique (ne pas repeindre) */
.critical-panel .panel-h { color: #B91C1C !important; }
