/* ATLAS CONNECT · SOCLE PARTAGÉ (lot 1) — composants réutilisés par toutes les pages publiques.
   Namespace .aso-* · thème sombre via body.atlas-dark · aucune règle ne cible le markup existant. */
.aso-proofs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:18px 0 0;padding:0;list-style:none;font-family:Inter,system-ui,sans-serif}
.aso-proof{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:500;line-height:1.3;color:#3a5280;letter-spacing:-.005em}
.aso-proof svg{width:15px;height:15px;flex:none;stroke:#1e56d8;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.aso-proofs.on-dark .aso-proof{color:rgba(255,255,255,.72)}
.aso-proofs.on-dark .aso-proof svg{stroke:#60a5fa}
.aso-proofs.center{justify-content:center}
.aso-proofs.stack{flex-direction:column;align-items:flex-start;gap:10px}
body.atlas-dark .aso-proof{color:rgba(255,255,255,.7)}
body.atlas-dark .aso-proof svg{stroke:#60a5fa}
@media(max-width:520px){.aso-proofs{gap:7px 14px}.aso-proof{font-size:.78rem}}

/* Bandeau logos partenaires · source unique */
.aso-logos{--aso-fg:#0d1f5c;--aso-mut:#586f9a;--aso-card:#fff;--aso-line:rgba(30,86,216,.12)}
.aso-logos.on-dark{--aso-fg:#fff;--aso-mut:rgba(255,255,255,.6);--aso-card:rgba(255,255,255,.05);--aso-line:rgba(255,255,255,.12)}
body.atlas-dark .aso-logos{--aso-fg:#eaf0ff;--aso-mut:rgba(234,240,255,.6);--aso-card:rgba(255,255,255,.04);--aso-line:rgba(255,255,255,.1)}
.aso-logos-head{position:relative;text-align:center;margin:0 0 30px}
.aso-logos-head::before{content:'';position:absolute;left:50%;top:-26px;width:min(460px,86%);height:132px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(30,86,216,.11),transparent 70%);pointer-events:none;z-index:0}
body.atlas-dark .aso-logos-head::before,.aso-logos.on-dark .aso-logos-head::before{background:radial-gradient(ellipse at center,rgba(96,165,250,.17),transparent 70%)}
.aso-logos-head>*{position:relative;z-index:1}
.aso-logos-eyebrow{display:flex;justify-content:center;align-items:center;gap:11px;font-family:'Space Grotesk',Inter,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#1e56d8;margin:0 0 14px}
.aso-logos-eyebrow::before,.aso-logos-eyebrow::after{content:'';width:30px;height:1px;background:linear-gradient(90deg,transparent,currentColor);flex:none}
.aso-logos-eyebrow::after{background:linear-gradient(90deg,currentColor,transparent)}
body.atlas-dark .aso-logos-eyebrow,.aso-logos.on-dark .aso-logos-eyebrow{color:#60a5fa}
.aso-logos-title{position:relative;display:inline-block;font-family:'Space Grotesk',Inter,sans-serif;font-size:clamp(1.7rem,3.7vw,2.6rem);font-weight:700;line-height:1.08;letter-spacing:-.03em;color:var(--aso-fg);background:linear-gradient(180deg,#0d1f5c 24%,#2f5fbd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0;padding-bottom:4px}
.aso-logos-title::after{content:'';position:absolute;left:50%;bottom:-9px;width:54px;height:3px;transform:translateX(-50%);border-radius:3px;background:linear-gradient(90deg,#1e56d8,#60a5fa)}
body.atlas-dark .aso-logos-title,.aso-logos.on-dark .aso-logos-title{background:linear-gradient(180deg,#fff 22%,#9dc0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.atlas-dark .aso-logos-title::after,.aso-logos.on-dark .aso-logos-title::after{background:linear-gradient(90deg,#60a5fa,#bfdbfe)}
.aso-logos-sub{font-size:.96rem;line-height:1.65;color:var(--aso-mut);max-width:54ch;margin:24px auto 0;text-wrap:pretty}
.aso-logos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:12px}
.aso-logo{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--aso-card);border:1px solid var(--aso-line);border-radius:16px;text-decoration:none;box-shadow:0 1px 2px rgba(13,31,92,.05);transition:transform .35s cubic-bezier(.22,.68,0,1),box-shadow .35s ease,border-color .3s ease,background .3s ease}
.aso-logo::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(30,86,216,.08),transparent 58%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.aso-logo::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#1e56d8,#22d3ee 58%,#f97316);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,.68,0,1)}
.aso-logo:hover,.aso-logo:focus-visible{transform:translateY(-4px);border-color:rgba(30,86,216,.3);box-shadow:0 18px 34px -20px rgba(13,31,92,.38)}
.aso-logo:hover::before,.aso-logo:focus-visible::before{opacity:1}
.aso-logo:hover::after,.aso-logo:focus-visible::after{transform:scaleX(1)}
.aso-logos.on-dark .aso-logo::before,body.atlas-dark .aso-logo::before{background:linear-gradient(135deg,rgba(96,165,250,.12),transparent 58%)}
.aso-logos.on-dark .aso-logo,body.atlas-dark .aso-logo{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.aso-logos.on-dark .aso-logo:hover,body.atlas-dark .aso-logo:hover{border-color:rgba(96,165,250,.34);box-shadow:0 22px 44px -24px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08)}
.aso-logo-mark{position:relative;width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;font-family:'Space Grotesk',Inter,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:#fff;filter:saturate(.94);box-shadow:0 8px 18px -9px rgba(13,31,92,.6),inset 0 1px 0 rgba(255,255,255,.34),inset 0 0 0 1px rgba(255,255,255,.13);transition:transform .35s cubic-bezier(.22,.68,0,1.3),filter .3s ease,box-shadow .35s ease}
.aso-logo-mark::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 28% 16%,rgba(255,255,255,.42),transparent 62%);pointer-events:none}
.aso-logo:hover .aso-logo-mark{transform:scale(1.06) rotate(-3deg);filter:saturate(1.12);box-shadow:0 12px 24px -10px rgba(13,31,92,.7),inset 0 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px rgba(255,255,255,.18)}
@media(prefers-reduced-motion:reduce){.aso-logo,.aso-logo-mark,.aso-logo::after{transition:none}.aso-logo:hover{transform:none}.aso-logo:hover .aso-logo-mark{transform:none}}
.aso-logo-id{min-width:0}
.aso-logo-name{display:block;font-family:'Space Grotesk',Inter,sans-serif;font-size:.88rem;font-weight:600;color:var(--aso-fg);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aso-logo-sector{display:block;font-size:.74rem;color:var(--aso-mut);line-height:1.35;text-wrap:pretty}
.aso-logos-foot{display:flex;justify-content:center;margin:18px 0 0}
.aso-logos-foot a{font-size:.85rem;font-weight:500;color:#1e56d8;text-decoration:none;border-bottom:1px solid rgba(30,86,216,.3);padding-bottom:1px}
.aso-logos-foot a:hover{border-bottom-color:#1e56d8}
body.atlas-dark .aso-logos-foot a,.aso-logos.on-dark .aso-logos-foot a{color:#60a5fa;border-bottom-color:rgba(96,165,250,.35)}

/* FAQ de référence */
.aso-faq{--aso-fg:#0d1f5c;--aso-mut:#3a5280;--aso-card:#fff;--aso-line:rgba(30,86,216,.12);display:flex;flex-direction:column;gap:9px;max-width:820px;margin:0 auto}
body.atlas-dark .aso-faq{--aso-fg:#eaf0ff;--aso-mut:rgba(234,240,255,.72);--aso-card:rgba(255,255,255,.04);--aso-line:rgba(255,255,255,.1)}
.aso-faq-item{background:var(--aso-card);border:1px solid var(--aso-line);border-radius:12px;overflow:hidden}
.aso-faq-item[open]{border-color:rgba(30,86,216,.28)}
.aso-faq-q{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 17px;cursor:pointer;list-style:none;font-family:'Space Grotesk',Inter,sans-serif;font-size:.96rem;font-weight:600;line-height:1.4;color:var(--aso-fg)}
.aso-faq-q::-webkit-details-marker{display:none}
.aso-faq-q svg{width:17px;height:17px;flex:none;margin-top:2px;stroke:#1e56d8;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s ease}
.aso-faq-item[open] .aso-faq-q svg{transform:rotate(180deg)}
.aso-faq-a{padding:0 17px 16px;font-size:.9rem;line-height:1.65;color:var(--aso-mut);max-width:70ch}
.aso-faq-tag{display:inline-block;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:#1e56d8;background:rgba(30,86,216,.08);border-radius:4px;padding:2px 6px;margin:0 0 5px}
body.atlas-dark .aso-faq-tag{color:#93b4ff;background:rgba(96,165,250,.14)}
.aso-faq-more{display:flex;justify-content:center;margin:16px 0 0}
.aso-faq-more a{display:inline-flex;align-items:center;gap:7px;font-size:.87rem;font-weight:500;color:#1e56d8;text-decoration:none}
.aso-faq-more a svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.aso-faq-more a:hover svg{transform:translateX(3px)}
body.atlas-dark .aso-faq-more a{color:#60a5fa}

/* Boutons canoniques (à réutiliser dans les lots 2 à 5) */
.aso-btn,.aso-btn-ghost{display:inline-flex;align-items:center;gap:9px;font-family:'Space Grotesk',Inter,sans-serif;font-size:.93rem;font-weight:600;letter-spacing:-.01em;text-decoration:none;border-radius:50px;border:1px solid transparent;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}
.aso-btn{background:#f97316;color:#fff;padding:14px 28px;box-shadow:0 6px 22px rgba(249,115,22,.32)}
.aso-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(249,115,22,.42)}
.aso-btn-ghost{background:transparent;color:#0d1f5c;padding:13px 24px;border-color:rgba(30,86,216,.24)}
.aso-btn-ghost:hover{background:rgba(30,86,216,.06);border-color:rgba(30,86,216,.4)}
.aso-btn-ghost.on-dark,body.atlas-dark .aso-btn-ghost{color:#fff;border-color:rgba(255,255,255,.22)}
.aso-btn-ghost.on-dark:hover,body.atlas-dark .aso-btn-ghost:hover{background:rgba(255,255,255,.08)}
.aso-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}

/* ══ Barre de navigation · équilibrage logo / pages / actions (socle) ══
   Ordre visuel imposé : liens de page … | connexion · thème · CTA
   (l'ordre du DOM varie selon les pages et l'injection de site-nav.js) */
header.header .header-inner{gap:28px}
header.header .nav{display:flex;align-items:center;gap:4px}
/* groupe « pages » */
header.header .nav > a:not(.nav-cta),header.header .nav .nav-dd > a{display:inline-flex;align-items:center;height:40px;padding:0 14px;line-height:1;white-space:nowrap;order:1}
header.header .nav .nav-dd{order:1}
/* groupe « actions » : séparateur discret + ordre stable */
header.header .nav .nav-portal{order:2;height:40px;margin-left:14px;padding-left:16px;border-left:1px solid rgba(255,255,255,.14);display:flex;align-items:center}
header.header .nav .nav-portal .portal-btn{width:40px;height:40px;flex:none}
header.header .nav .atlas-theme-toggle{order:3;width:40px;height:40px;flex:none;margin:0 2px}
header.header .nav > a.nav-cta{order:4;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 20px;margin-left:6px;white-space:nowrap}
body:not(.atlas-dark) header.header:not(.scrolled) .nav .nav-portal{border-left-color:rgba(255,255,255,.16)}
/* compression progressive avant le passage en menu mobile */
@media(max-width:1180px){
  header.header .header-inner{gap:18px}
  header.header .nav > a:not(.nav-cta),header.header .nav .nav-dd > a{padding:0 10px;font-size:.93rem}
  header.header .nav .nav-portal{margin-left:8px;padding-left:12px}
  header.header .nav > a.nav-cta{padding:0 16px}
}
@media(max-width:1040px){
  header.header .nav > a:not(.nav-cta),header.header .nav .nav-dd > a{padding:0 8px;font-size:.9rem}
  header.header .nav > a.nav-cta{padding:0 14px;font-size:.9rem}
}

/* ══ Corrections de thème sombre (audit des 17 pages) ══
   Encres restées en valeurs « thème clair » sur des surfaces devenues sombres :
   contrastes relevés de 1,9–3,9:1 à ≥ 4,5:1 (texte) / ≥ 3:1 (grand texte). */
/* accueil · descriptions de cartes (le CSS de page les force en !important) */
body.atlas-dark .svc-desc,body.atlas-dark .who-pitch,body.atlas-dark .who-benefit-text span,body.atlas-dark .why-feat-body p,html.atlas-dark body .svc-desc,body.atlas-dark .who-pitch,body.atlas-dark .who-benefit-text span,body.atlas-dark .why-feat-body p{color:rgba(234,240,255,.74)!important}
body.atlas-dark .svc.highlight .svc-desc,html.atlas-dark body .svc.highlight .svc-desc{color:rgba(255,255,255,.66)!important}
/* a-propos · libellés de jalons + mot accentué des titres */
body.atlas-dark .sx-label,html.atlas-dark body .sx-label{color:#9dbcff}
body.atlas-dark .s-title .accent,body.atlas-dark .hero-title .accent,body.atlas-dark .about-hero-title .accent,html.atlas-dark body .s-title .accent,body.atlas-dark .hero-title .accent,body.atlas-dark .about-hero-title .accent{background-image:linear-gradient(135deg,#c7dcff,#60a5fa)}
/* services · étiquettes et liens de cartes */
body.atlas-dark .svc-tag.tag-part,body.atlas-dark .svc-card-link,html.atlas-dark body .svc-tag.tag-part,body.atlas-dark .svc-card-link{color:#9dbcff}
body.atlas-dark .svc-tag.tag-design,html.atlas-dark body .svc-tag.tag-design{color:#d9b8ff;background:rgba(168,85,247,.18)}
body.atlas-dark .svc-tag.tag-maint,html.atlas-dark body .svc-tag.tag-maint{color:#6ee7a8;background:rgba(34,197,94,.16)}
body.atlas-dark .svc-tag.tag-pro,html.atlas-dark body .svc-tag.tag-pro{color:rgba(234,240,255,.74);background:rgba(255,255,255,.09)}
/* atlas-club · pastilles de concours, de partenaires et de niveaux */
body.atlas-dark .ac-cc-tag,body.atlas-dark .ac-cc-badge,body.atlas-dark .ac-pt-status,html.atlas-dark body .ac-cc-tag,body.atlas-dark .ac-cc-badge,body.atlas-dark .ac-pt-status{color:#9dbcff}
body.atlas-dark .ac-pt-pill,html.atlas-dark body .ac-pt-pill{color:#cbb6ff}
body.atlas-dark .cfaq-cta a,body.atlas-dark .sfaq-cta a,body.atlas-dark .faq-cta a,html.atlas-dark body .cfaq-cta a,body.atlas-dark .sfaq-cta a,body.atlas-dark .faq-cta a{color:#9dbcff}
/* socle · renvoi vers la FAQ de référence */
body.atlas-dark .aso-faq-more a,html.atlas-dark body .aso-faq-more a{color:#9dbcff}
/* pages service · boutons de formule en variante claire */
body.atlas-dark .offer-cta.light,body.atlas-dark .plan-cta.light,html.atlas-dark body .offer-cta.light,body.atlas-dark .plan-cta.light{background:rgba(96,165,250,.16);color:#d5e4ff;border-color:rgba(96,165,250,.3)}
body.atlas-dark .offer-cta.light:hover,body.atlas-dark .plan-cta.light:hover,html.atlas-dark body .offer-cta.light:hover,body.atlas-dark .plan-cta.light:hover{background:rgba(96,165,250,.26)}
/* atlas-club · bandeau partenaires et badge de validation */
body.atlas-dark .ac-pt-banner-r p,html.atlas-dark body .ac-pt-banner-r p{color:rgba(234,240,255,.78)}
body.atlas-dark .ac-pt-banner-r p strong,html.atlas-dark body .ac-pt-banner-r p strong{color:#9dbcff}
body.atlas-dark .ac-pf-badge,body.atlas-dark .ac-pf-badge span,html.atlas-dark body .ac-pf-badge,body.atlas-dark .ac-pf-badge span{color:#9dbcff}
/* ia-automatisation · étiquette « Avant » du comparatif */
body.atlas-dark .before .ba-tag,body.atlas-dark .ia-ba-sec .before .ba-tag,html.atlas-dark body .before .ba-tag,body.atlas-dark .ia-ba-sec .before .ba-tag{color:#fca5a5;background:rgba(248,113,113,.16)}
body.atlas-dark .after .ba-tag,body.atlas-dark .ia-ba-sec .after .ba-tag,html.atlas-dark body .after .ba-tag,body.atlas-dark .ia-ba-sec .after .ba-tag{color:#6ee7a8;background:rgba(34,197,94,.16)}

/* ══ Filet de sécurité : classe de thème posée sur <html> seulement ══
   Le bouton pose `atlas-dark` sur <body> ; si un préchargement ou un script différé
   ne la pose que sur <html>, les règles `html.atlas-dark` éclaircissent l'encre alors que
   les surfaces (`body.atlas-dark …`) restent claires → texte clair sur fond clair.
   On rétablit ici les jetons sombres et la transparence des sections dans ce cas. */
html.atlas-dark body:not(.atlas-dark){--off:#0E1A40;--white:#08122E;--text:#e8edf5;--mid:#c5d0e0;--muted:#9aa7bd;--border:rgba(96,165,250,.14);background:#0b1220}
html.atlas-dark body:not(.atlas-dark) .section,html.atlas-dark body:not(.atlas-dark) .section.bg-off,html.atlas-dark body:not(.atlas-dark) .bg-off,html.atlas-dark body:not(.atlas-dark) .section.bg-navy{background:transparent!important}
html.atlas-dark body:not(.atlas-dark) .ac-pt-feat,html.atlas-dark body:not(.atlas-dark) .ac-pt-card,html.atlas-dark body:not(.atlas-dark) .ac-pt-banner{background:rgba(255,255,255,.05);border-color:rgba(96,165,250,.16)}
html.atlas-dark body:not(.atlas-dark) .ac-pt-banner-r{border-left-color:rgba(96,165,250,.16)}

/* ══ Club · fonds sombres (atlas-socle.css est chargé en dernier) ══
   atlas-club.css pilotait son thème par #acTheme (case disparue du markup) ; ses règles réécrites
   ne l'emportent pas sur .section.bg-off{background:var(--off)} de service-base.css.
   On force ici les jetons et les surfaces, pour la classe posée sur <body> comme sur <html>. */
body.atlas-club-page.atlas-dark,html.atlas-dark body.atlas-club-page{--white:#0b1530;--off:#0e1a3e;--text:#e8edf5;--mid:#c5d0e0;--muted:#9aa7bd;--border:rgba(96,165,250,.14)}
/* spécificité relevée : une règle !important plus spécifique peignait .section.bg-off en #f4f6ff en dur */
html body.atlas-club-page.atlas-dark section.section.bg-off,
html body.atlas-club-page.atlas-dark section.section.bg-white,
html.atlas-dark body.atlas-club-page section.section.bg-off,
html.atlas-dark body.atlas-club-page section.section.bg-white{background:#0e1a3e!important;background-image:none!important}
body.atlas-club-page.atlas-dark .ac-pt-feat,body.atlas-club-page.atlas-dark .ac-pt-card,body.atlas-club-page.atlas-dark .ac-pt-banner,body.atlas-club-page.atlas-dark .ac-offer-card,body.atlas-club-page.atlas-dark .ac-cc-card,
html.atlas-dark body.atlas-club-page .ac-pt-feat,html.atlas-dark body.atlas-club-page .ac-pt-card,html.atlas-dark body.atlas-club-page .ac-pt-banner{background:rgba(255,255,255,.05)!important;border-color:rgba(96,165,250,.16)}
body.atlas-club-page.atlas-dark .s-sub,body.atlas-club-page.atlas-dark .ac-pt-banner-r p,
html.atlas-dark body.atlas-club-page .s-sub{color:#c5d0e0!important}
body.atlas-club-page.atlas-dark .ac-pt-logo,html.atlas-dark body.atlas-club-page .ac-pt-logo{color:#eaf0ff!important}

/* ══ Surfaces de section en thème sombre (toutes les pages) ══
   Les sections .bg-off/.bg-white restaient peintes en #f5f7ff (le jeton --off ne bascule pas partout
   et plusieurs CSS de page peignent la valeur en dur) → encre claire sur fond clair.
   Écrit SANS :has() ni :is() : ce moteur ignore ces règles (cause des 3 échecs précédents).
   Deux familles : classe sur <body> (cas réel) et classe sur <html> (repli). */
body.atlas-dark section.section.bg-off,body.atlas-dark section.bg-off,body.atlas-dark div.section.bg-off,
body.atlas-dark section.section.bg-white,body.atlas-dark section.bg-white{background:#0e1a3e!important;background-image:none!important}
html.atlas-dark body section.section.bg-off,html.atlas-dark body section.bg-off,html.atlas-dark body div.section.bg-off,
html.atlas-dark body section.section.bg-white,html.atlas-dark body section.bg-white{background:#0e1a3e!important;background-image:none!important}
body.atlas-dark .section.bg-off .card,body.atlas-dark .section.bg-off .svc,body.atlas-dark .section.bg-off .l2-aud,
html.atlas-dark body .section.bg-off .card,html.atlas-dark body .section.bg-off .svc,html.atlas-dark body .section.bg-off .l2-aud{background:rgba(255,255,255,.05)!important;border-color:rgba(96,165,250,.16)!important}

/* ══ Pas de décalage à la bascule clair/sombre ══
   atlas-dark-mode.css réécrivait les paddings verticaux de plusieurs sections (process 104→130,
   atelier 110→130, contact 120→160…) : la page grandissait de 152 px et tout glissait sous
   « Comment ça marche » pendant la transition. On rend la géométrie identique dans les deux thèmes
   (les couleurs, elles, continuent de basculer). */
/* la transition ne doit porter que sur les couleurs : « transition:all » animait aussi la géométrie */
body.atlas-dark section,body.atlas-dark .section,html.atlas-dark body section{transition:background-color .3s ease,border-color .3s ease,color .3s ease!important}

/* ══ Titres en dégradé : garder le fond découpé sur le texte ══
   Ma correction de contraste posait un background-image sur .accent sans redéclarer le découpage,
   d'où des rectangles bleus derrière « livré. installé ». */
body.atlas-dark .accent,body.atlas-dark .s-title .accent,body.atlas-dark .hero-title .accent,body.atlas-dark .about-hero-title .accent,body.atlas-dark .svc-hero-title .accent,
html.atlas-dark body .accent{-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;background-color:transparent!important}

/* ══ Bandes de chiffres · disposition verticale ══
   Le retrait de `flex-direction:column` (fait pour supprimer le décalage) écrasait
   valeur et libellé sur une même ligne : le libellé se tronquait. On rétablit la colonne,
   qui est une disposition, pas un espacement — la géométrie de section reste identique. */
body.atlas-dark .who-p-stat,body.atlas-dark .compare-stat,html.atlas-dark body .who-p-stat,html.atlas-dark body .compare-stat{flex-direction:column;align-items:center;text-align:center}
body.atlas-dark .who-p-stat > div:last-child,body.atlas-dark .compare-stat > div:last-child{display:flex;flex-direction:column;align-items:center}


/* ── FAQ · recherche & filtres par thème (page de référence) ───────── */
.aso-faq-tools{max-width:820px;margin:0 auto 26px}
.aso-faq-search{position:relative;display:flex;align-items:center}
.aso-faq-search>svg{position:absolute;left:16px;width:19px;height:19px;fill:none;stroke:#7a90b8;stroke-width:2;stroke-linecap:round;pointer-events:none}
.aso-faq-input{width:100%;font:inherit;font-size:1rem;color:#0d1f5c;padding:15px 46px 15px 46px;border:1.5px solid rgba(15,23,42,.1);border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(13,31,92,.05);transition:border-color .2s ease,box-shadow .2s ease}
.aso-faq-input::placeholder{color:#8a9dbd}
.aso-faq-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.aso-faq-input::-webkit-search-cancel-button{display:none}
.aso-faq-clear[hidden]{display:none}
.aso-faq-clear{position:absolute;right:10px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:rgba(15,23,42,.06);cursor:pointer;padding:0}
.aso-faq-clear svg{width:15px;height:15px;fill:none;stroke:#48618f;stroke-width:2.2;stroke-linecap:round}
.aso-faq-clear:hover{background:rgba(37,99,235,.12)}
.aso-faq-clear:hover svg{stroke:#1e56d8}
.aso-faq-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.aso-faq-chip{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:.8rem;font-weight:600;color:#3a5280;padding:8px 13px;border:1px solid rgba(15,23,42,.1);border-radius:50px;background:#fff;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}
.aso-faq-chip span{font-size:.7rem;font-weight:700;color:#7a90b8;background:rgba(15,23,42,.05);border-radius:20px;padding:1px 7px}
.aso-faq-chip:hover{border-color:rgba(37,99,235,.34);color:#1e56d8}
.aso-faq-chip.is-on{background:#1e56d8;border-color:#1e56d8;color:#fff}
.aso-faq-chip.is-on span{background:rgba(255,255,255,.2);color:#fff}
.aso-faq-count{margin:14px 0 0;font-size:.84rem;color:#586f9a}
.aso-faq-empty{margin:22px auto 0;max-width:620px;text-align:center;font-size:.94rem;color:#586f9a;line-height:1.6}
.aso-faq-empty a{color:#1e56d8;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(30,86,216,.3)}
.aso-faq-empty a:hover{border-bottom-color:#1e56d8}
body.atlas-dark .aso-faq-input{background:rgba(96,165,250,.07);border-color:rgba(96,165,250,.22);color:#eaf0ff;box-shadow:none}
body.atlas-dark .aso-faq-input::placeholder{color:rgba(234,240,255,.45)}
body.atlas-dark .aso-faq-input:focus{border-color:#60a5fa;box-shadow:0 0 0 4px rgba(96,165,250,.16)}
body.atlas-dark .aso-faq-search>svg{stroke:rgba(234,240,255,.55)}
body.atlas-dark .aso-faq-clear{background:rgba(96,165,250,.14)}
body.atlas-dark .aso-faq-clear svg{stroke:#bcd2ff}
body.atlas-dark .aso-faq-clear:hover{background:rgba(96,165,250,.26)}
body.atlas-dark .aso-faq-chip{background:rgba(96,165,250,.06);border-color:rgba(96,165,250,.2);color:rgba(234,240,255,.8)}
body.atlas-dark .aso-faq-chip span{background:rgba(96,165,250,.16);color:rgba(234,240,255,.6)}
body.atlas-dark .aso-faq-chip:hover{border-color:rgba(147,197,253,.5);color:#dce8ff}
body.atlas-dark .aso-faq-chip.is-on{background:#2563eb;border-color:#60a5fa;color:#fff}
body.atlas-dark .aso-faq-chip.is-on span{background:rgba(255,255,255,.22);color:#fff}
body.atlas-dark .aso-faq-count{color:rgba(234,240,255,.6)}
body.atlas-dark .aso-faq-empty{color:rgba(234,240,255,.66)}
body.atlas-dark .aso-faq-empty a{color:#60a5fa;border-bottom-color:rgba(96,165,250,.35)}
@media(max-width:720px){
  .aso-faq-input{font-size:.95rem;padding:14px 44px}
  .aso-faq-chip{min-height:44px}
  .aso-faq-clear{width:34px;height:34px}
}