/* =========================================================================
   Net Solutions — Charte B « Réseau »
   Fond clair, bleu réseau, CTA en pilule, accent bleu acier.
   S'applique par-dessus ns-charte.css (classe .ns-theme-b sur <body>, ajoutée par le plugin)
   ========================================================================= */
.ns-theme-b{
  --b-ink:#0B1B33; --b-ink-2:#33415C; --b-slate:#55627A; --b-blue:#1E5BD8; --b-blue-d:#1747AC; --b-sky:#E9F0FD;
  --b-coral:#4C6A92; --b-coral-d:#3B5678; /* accent « bleu acier » (ex-corail) */
  --b-steel-bg:#EDF1F7; --b-mint:#12A386; --b-mist:#F4F7FC; --b-line:#E1E7F1;
  --ns-font:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ns-font-disp:'Sora','DM Sans',system-ui,sans-serif;
  --ns-violet:#1E5BD8; --ns-violet-fonce:#1747AC; --ns-encre:#0B1B33; --ns-ardoise:#55627A; --ns-brume:#F4F7FC;
  --ns-bord:#E1E7F1; --ns-bord-2:#E1E7F1;
}

/* ---- Typo ---- */
.ns-theme-b .ns-sec{font-family:var(--ns-font) !important;color:var(--b-ink)}
.ns-theme-b .ns-sec .elementor-heading-title,.ns-theme-b .ns-sec .ns-card-t,.ns-theme-b .ns-sec .ns-stats b,.ns-theme-b .ns-sec .ns-timeline strong,
.ns-theme-b .ns-sec .ns-point strong,.ns-theme-b .ns-sec .ns-case blockquote,.ns-theme-b .ns-sec .ns-faq summary{font-family:var(--ns-font-disp) !important;letter-spacing:-.02em}
.ns-theme-b .ns-sec .ns-h1 .elementor-heading-title{color:var(--b-ink) !important;font-weight:700;font-size:58px;line-height:1.06}
.ns-theme-b .ns-sec .ns-h2 .elementor-heading-title{color:var(--b-ink) !important;font-weight:700}
.ns-theme-b .ns-sec .ns-eyebrow .elementor-heading-title,.ns-theme-b .ns-sec .ns-eyebrow-txt{font-family:var(--ns-font) !important;font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--b-coral) !important;display:inline-flex;align-items:center;gap:10px}
.ns-theme-b .ns-sec .ns-eyebrow .elementor-heading-title::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.ns-theme-b .ns-sec .ns-lead,.ns-theme-b .ns-sec .ns-lead p{color:var(--b-slate) !important}
.ns-theme-b .ns-sec .ns-lead.ns-lead-hero,.ns-theme-b .ns-sec .ns-lead.ns-lead-hero p{color:var(--b-ink-2) !important}

/* ---- Boutons : pilules ---- */
.ns-theme-b .ns-sec .ns-btn .elementor-button{border-radius:999px;padding:15px 28px;font-family:var(--ns-font) !important}
.ns-theme-b .ns-sec .ns-btn-primary .elementor-button,.ns-theme-b .ns-sec .ns-btn-light .elementor-button{background:var(--b-blue) !important;color:#fff !important;box-shadow:0 8px 20px rgba(30,91,216,.22)}
.ns-theme-b .ns-sec .ns-btn-primary .elementor-button:hover,.ns-theme-b .ns-sec .ns-btn-light .elementor-button:hover{background:var(--b-blue-d) !important}
.ns-theme-b .ns-sec .ns-btn-ghost .elementor-button{background:#fff !important;color:var(--b-ink) !important;border-color:var(--b-line) !important}
.ns-theme-b .ns-sec .ns-btn-ghost .elementor-button:hover{border-color:var(--b-ink) !important;background:#fff !important}

/* ---- Bandeau haut + en-tête ---- */
.ns-theme-b .ns-sec .ns-topbar{background:#EAF1FD;color:var(--b-ink-2);border-bottom:1px solid #DCE6F7}
.ns-theme-b .ns-sec .ns-topbar a{color:var(--b-blue);font-weight:700}
.ns-theme-b .ns-sec .ns-topbar svg{stroke:var(--b-blue)}
.ns-theme-b .ns-sec .ns-lang a{color:var(--b-coral);font-weight:600}
.ns-theme-b .ns-sec .ns-lang a[aria-current]{color:var(--b-ink);font-weight:700}
.ns-theme-b .ns-sec .ns-header{border-bottom-color:var(--b-line)}
.ns-theme-b .ns-sec .ns-top{color:var(--b-ink)}
.ns-theme-b .ns-sec .ns-cta-head{background:var(--b-blue);border-radius:999px;padding:13px 22px;box-shadow:0 6px 16px rgba(30,91,216,.22)}
.ns-theme-b .ns-sec .ns-cta-head:hover{background:var(--b-blue-d)}
.ns-theme-b .ns-sec .ns-burger > summary{background:var(--b-blue);border-radius:999px}
.ns-theme-b .ns-sec .ns-icon-btn{border-radius:999px}
.ns-theme-b .ns-sec .ns-sub{border-radius:16px}

/* ---- Sections « sombres » : le hero et les intros passent en clair ---- */
.ns-theme-b .ns-sec.ns-dark.ns-hero-sec{background:
  radial-gradient(circle at 1px 1px,rgba(30,91,216,.13) 1px,transparent 0) 0 0/22px 22px,
  linear-gradient(180deg,#F7FAFF 0%,#EEF3FC 100%);color:var(--b-ink)}
.ns-theme-b .ns-sec.ns-hero-sec::after{height:0;background:none;display:none}
.ns-theme-b .ns-sec.ns-dark.ns-hero-sec .ns-eyebrow .elementor-heading-title{color:var(--b-coral) !important}
.ns-theme-b .ns-sec.ns-dark.ns-hero-sec .ns-h2 .elementor-heading-title{color:var(--b-ink) !important}
/* Section « Secteurs » : bande bleue */
.ns-theme-b .ns-sec.ns-dark:not(.ns-hero-sec):not(.ns-footer-sec){background:linear-gradient(180deg,#EEF3FC 0%,#E6EEFB 100%);color:var(--b-ink)}
.ns-theme-b .ns-sec.ns-dark:not(.ns-hero-sec):not(.ns-footer-sec) .ns-eyebrow .elementor-heading-title{color:var(--b-coral) !important}
.ns-theme-b .ns-sec.ns-dark:not(.ns-hero-sec):not(.ns-footer-sec) .ns-h2 .elementor-heading-title{color:var(--b-ink) !important}
.ns-theme-b .ns-sec .ns-sectors span{background:#fff;border-color:#D6E1F4;color:var(--b-ink);border-radius:999px;padding:16px 22px;text-align:center;font-weight:700;box-shadow:0 6px 16px rgba(30,91,216,.06)}
.ns-theme-b .ns-sec .ns-case{border-radius:24px;box-shadow:0 24px 50px rgba(30,91,216,.12)}

/* ---- Hero : chiffres + schéma ---- */
.ns-theme-b .ns-sec .ns-stats{border-top-color:var(--b-line)}
.ns-theme-b .ns-sec .ns-stats b{color:var(--b-ink)}
.ns-theme-b .ns-sec .ns-stats span{color:var(--b-slate)}
.ns-theme-b .ns-sec .ns-flow{background:#fff;border:1px solid var(--b-line);color:var(--b-ink);border-radius:24px;box-shadow:0 30px 60px rgba(11,27,51,.10)}
.ns-theme-b .ns-sec .ns-flow-head > span:first-child,.ns-theme-b .ns-sec .ns-col-label{font-family:var(--ns-font);font-weight:700;color:var(--b-slate);letter-spacing:.1em}
.ns-theme-b .ns-sec .ns-live{color:var(--b-mint)}
.ns-theme-b .ns-sec .ns-live::before{background:var(--b-mint);box-shadow:0 0 0 4px rgba(18,163,134,.15)}
.ns-theme-b .ns-sec .ns-node{background:var(--b-mist);border:1px solid var(--b-line);color:var(--b-ink);border-radius:999px;padding:10px 16px}
.ns-theme-b .ns-sec .ns-link-a,.ns-theme-b .ns-sec .ns-link-b{background:repeating-linear-gradient(90deg,var(--b-blue) 0 6px,transparent 6px 10px)}
.ns-theme-b .ns-sec .ns-hub{background:var(--b-ink);color:#fff;border-radius:20px}
.ns-theme-b .ns-sec .ns-hub b{font-family:var(--ns-font-disp)}
.ns-theme-b .ns-sec .ns-hub-ico{background:rgba(255,255,255,.12)}
.ns-theme-b .ns-sec .ns-hub-ico svg{stroke:#fff}
.ns-theme-b .ns-sec .ns-flow-msgs{border-top-color:var(--b-line)}
.ns-theme-b .ns-sec .ns-flow-msgs span{color:var(--b-ink-2);border-color:var(--b-line);background:#fff}
.ns-theme-b .ns-sec .ns-flow-msgs span::before{background:var(--b-blue)}
.ns-theme-b .ns-sec .ns-flow-msgs span:nth-child(2)::before{background:var(--b-coral)}
.ns-theme-b .ns-sec .ns-flow-msgs span:nth-child(3)::before{background:var(--b-mint)}
.ns-theme-b .ns-sec .ns-flow-msgs span:nth-child(4)::before{background:#7FA6F0}

/* ---- Partenaires, calendrier, cartes ---- */
.ns-theme-b .ns-sec.ns-mist{background:var(--b-mist)}
.ns-theme-b .ns-sec .ns-trust-label{font-family:var(--ns-font);font-weight:700;letter-spacing:.1em;color:var(--b-slate)}
.ns-theme-b .ns-sec .ns-partners li{border-radius:16px}
.ns-theme-b .ns-sec .ns-timeline li{background:#fff;border:1px solid var(--b-line);border-radius:20px}
.ns-theme-b .ns-sec .ns-date{font-family:var(--ns-font-disp);font-size:18px;font-weight:700;background:var(--b-sky);color:var(--b-blue) !important;border-radius:12px;padding:10px 12px;width:auto;min-width:92px;text-align:center}
.ns-theme-b .ns-sec .ns-card{border-radius:22px;border-color:var(--b-line)}
.ns-theme-b .ns-sec .ns-card:hover{border-color:#BFD0F3;box-shadow:0 16px 36px rgba(30,91,216,.10)}
.ns-theme-b .ns-sec .ns-ico{border-radius:999px;background:var(--b-sky) !important}
.ns-theme-b .ns-sec .ns-ico svg{stroke:var(--b-blue)}
.ns-theme-b .ns-sec .ns-ico.ns-ico-rose,.ns-theme-b .ns-sec .ns-ico.ns-ico-peche{background:var(--b-steel-bg) !important}
.ns-theme-b .ns-sec .ns-ico.ns-ico-rose svg,.ns-theme-b .ns-sec .ns-ico.ns-ico-peche svg{stroke:var(--b-coral)}
.ns-theme-b .ns-sec .ns-card-l{color:var(--b-blue)}
.ns-theme-b .ns-sec .ns-card-list svg{stroke:var(--b-mint)}
.ns-theme-b .ns-sec .ns-chip{font-family:var(--ns-font);font-weight:700;font-size:13px;letter-spacing:.02em;border-color:var(--b-line)}
.ns-theme-b .ns-sec .ns-point{border-top-width:3px}
.ns-theme-b .ns-sec .ns-point:nth-child(1){border-top-color:var(--b-blue)}
.ns-theme-b .ns-sec .ns-point:nth-child(2){border-top-color:var(--b-coral)}
.ns-theme-b .ns-sec .ns-point:nth-child(3){border-top-color:var(--b-mint)}
.ns-theme-b .ns-sec .ns-point:nth-child(4){border-top-color:#9DB4D6}
.ns-theme-b .ns-sec .ns-point:nth-child(5){border-top-color:#7FA6F0}

/* ---- FAQ, contact, formulaire ---- */
.ns-theme-b .ns-sec .ns-faq summary::after{color:var(--b-coral)}
.ns-theme-b .ns-sec .ns-faq-long .ns-qn{font-family:var(--ns-font-disp);color:var(--b-coral)}
.ns-theme-b .ns-sec .ns-toc{border-radius:20px}
.ns-theme-b .ns-sec .ns-toc-t{font-family:var(--ns-font);font-weight:700;color:var(--b-coral)}
.ns-theme-b .ns-sec .ns-table code{font-family:var(--ns-font);color:var(--b-blue);background:var(--b-sky)}
.ns-theme-b .ns-form{font-family:var(--ns-font);border-radius:24px;border-color:var(--b-line)}
.ns-theme-b .ns-form input[type=text],.ns-theme-b .ns-form input[type=email],.ns-theme-b .ns-form select,.ns-theme-b .ns-form textarea{border-radius:12px;border-color:#D3DCEA}
.ns-theme-b .ns-form input:focus,.ns-theme-b .ns-form select:focus,.ns-theme-b .ns-form textarea:focus{border-color:var(--b-blue);box-shadow:0 0 0 3px rgba(30,91,216,.15)}
.ns-theme-b .ns-form button{background:var(--b-blue);border-radius:999px}
.ns-theme-b .ns-form button:hover{background:var(--b-blue-d)}

/* ---- Pied de page ---- */
.ns-theme-b .ns-sec.ns-footer-sec{background:#EEF3FA}
.ns-theme-b .ns-sec .ns-footer{background:linear-gradient(180deg,#F3F7FD 0%,#E8EFFA 100%);color:var(--b-ink-2);border-top:1px solid #DCE5F2}
.ns-theme-b .ns-sec .ns-footer .ns-bar{height:0;background:none}
.ns-theme-b .ns-sec .ns-footer .ns-flogo{width:210px}
.ns-theme-b .ns-sec .ns-footer a{color:var(--b-ink-2)}
.ns-theme-b .ns-sec .ns-footer a:hover{color:var(--b-blue)}
.ns-theme-b .ns-sec .ns-footer a.ns-w{color:var(--b-blue);font-weight:700}
.ns-theme-b .ns-sec .ns-footer .ns-fcol b{color:var(--b-ink)}
.ns-theme-b .ns-sec .ns-footer .ns-fcol b.ns-fsub{color:var(--b-ink)}
.ns-theme-b .ns-sec .ns-footer .ns-legal{border-top-color:#D3DEEF;color:var(--b-slate)}
.ns-theme-b .ns-sec .ns-footer .ns-legal a{color:var(--b-slate)}

@media (max-width:767px){
  .ns-theme-b .ns-sec .ns-h1 .elementor-heading-title{font-size:36px}
  .ns-theme-b .ns-sec .ns-node{padding:8px 12px}
  .ns-theme-b .ns-sec .ns-date{min-width:72px;font-size:15px}
}

.ns-theme-b .ns-sec .ns-has-sub.is-open > .ns-top{color:var(--b-blue)}
.ns-theme-b .ns-sec .ns-flow-head > span:first-child{font-size:14px}

/* v1.8.3 — logos partenaires équilibrés, suivi de message, e-mail et LinkedIn */
.ns-theme-b .ns-sec .ns-partners li{padding:12px 20px}
.ns-theme-b .ns-sec .ns-partners .ns-p-openpeppol img{max-height:44px}
.ns-theme-b .ns-sec .ns-partners .ns-p-gs1 img{max-height:50px}
.ns-theme-b .ns-sec .ns-partners .ns-p-fedil img{max-height:28px}
@media (max-width:767px){
  .ns-theme-b .ns-sec .ns-partners li{padding:8px 10px}
  .ns-theme-b .ns-sec .ns-partners .ns-p-openpeppol img{max-height:30px}
  .ns-theme-b .ns-sec .ns-partners .ns-p-gs1 img{max-height:40px}
  .ns-theme-b .ns-sec .ns-partners .ns-p-fedil img{max-height:20px}
}
.ns-theme-b .ns-sec .ns-track{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;background:var(--b-mist);border:1px solid var(--b-line);border-radius:14px;padding:12px 14px}
.ns-theme-b .ns-sec .ns-track-end{font-size:12px;font-weight:700;color:var(--b-ink);background:#fff;border:1px solid var(--b-line);border-radius:999px;padding:5px 10px}
.ns-theme-b .ns-sec .ns-track-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.ns-theme-b .ns-sec .ns-track-steps::before{content:"";position:absolute;left:12.5%;right:12.5%;top:8px;height:2px;background:linear-gradient(90deg,var(--b-blue),var(--b-coral) 50%,var(--b-mint))}
.ns-theme-b .ns-sec .ns-track-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--b-ink-2);margin:0;text-align:center}
.ns-theme-b .ns-sec .ns-track-steps i{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--b-blue);display:grid;place-items:center;position:relative;z-index:1}
.ns-theme-b .ns-sec .ns-track-steps li:nth-child(2) i{border-color:#3A63B8}
.ns-theme-b .ns-sec .ns-track-steps li:nth-child(3) i{border-color:var(--b-coral)}
.ns-theme-b .ns-sec .ns-track-steps li.is-done i::after{content:"";width:6px;height:3px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg);color:var(--b-blue)}
.ns-theme-b .ns-sec .ns-track-steps li:nth-child(3).is-done i::after{color:var(--b-coral)}
.ns-theme-b .ns-sec .ns-track-steps li.is-live i{border-color:var(--b-mint);background:var(--b-mint);box-shadow:0 0 0 4px rgba(18,163,134,.16)}
.ns-theme-b .ns-sec .ns-track-steps li.is-live i::after{content:"";width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.ns-theme-b .ns-sec .ns-track-steps li.is-live{color:#0C7A64}
@media (prefers-reduced-motion:no-preference){
  .ns-theme-b .ns-sec .ns-track-steps li.is-live i{animation:ns-ack 2.4s ease-in-out infinite}
  @keyframes ns-ack{0%,100%{box-shadow:0 0 0 3px rgba(18,163,134,.18)}50%{box-shadow:0 0 0 7px rgba(18,163,134,.06)}}
}
@media (max-width:767px){
  .ns-theme-b .ns-sec .ns-track{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:10px}
  .ns-theme-b .ns-sec .ns-track-steps{grid-column:1/-1;grid-row:2}
  .ns-theme-b .ns-sec .ns-track-end{justify-self:start}
  .ns-theme-b .ns-sec .ns-track-end:last-child{justify-self:end}
  .ns-theme-b .ns-sec .ns-track-steps li{font-size:11px}
}
.ns-sec .ns-contact-lines a.ns-mail{display:inline-flex;align-items:center;gap:8px;color:var(--b-blue,#1E5BD8)}
.ns-sec .ns-contact-lines a.ns-mail .ns-mail-ico{flex:none;width:18px;height:18px}
.ns-theme-b .ns-footer .ns-social{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#0A66C2;color:#fff !important;margin-top:4px;transition:background .15s}
.ns-theme-b .ns-footer .ns-social:hover{background:#004182}
.ns-theme-b .ns-footer .ns-social:focus-visible{outline:2px solid var(--b-blue);outline-offset:2px}
@media (min-width:1025px){.ns-theme-b .ns-sec .ns-h1 .elementor-heading-title{font-size:52px;line-height:1.08}}
/* v1.9 — menu à 6 entrées sur une ligne */
.ns-sec .ns-top{white-space:nowrap}
@media (min-width:981px){.ns-sec .ns-menu{gap:22px}.ns-sec .ns-nav{font-size:14.5px}}
/* v1.9.3 — le menu reste visible sur les portables : sous 1260 px le bouton « Parler à un expert » (doublon de « Contact ») est masqué et le menu se resserre */
@media (min-width:981px) and (max-width:1260px){
  .ns-sec .ns-header .ns-cta-head.ns-desk{display:none}
  .ns-sec .ns-menu{gap:16px}
  .ns-sec .ns-nav{font-size:14px}
  .ns-sec .ns-logo img{width:170px;height:auto}
}
.ns-sec .ns-std-note{margin:28px 0 0;padding:16px 20px;border-left:3px solid var(--b-blue,#1E5BD8);background:var(--b-mist,#F4F7FC);border-radius:0 12px 12px 0;color:var(--b-ink-2,#33415C);font-size:16px;line-height:1.6;max-width:880px}
/* v1.9.2 — bloc « Obligation légale » nettement séparé */
.ns-theme-b .ns-sec.ns-band{border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line);background:linear-gradient(180deg,#EEF4FD 0%,#F5F8FD 100%)}

/* v1.9.4 — encart Silopolis (accueil) */
.ns-sec .ns-silo{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;background:linear-gradient(135deg,#F2F7FD 0%,#EAF5F1 100%);border:1px solid var(--b-line,#E1E7F1);border-radius:24px;padding:48px}
.ns-sec .ns-silo-txt{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.ns-theme-b .ns-sec .ns-silo .ns-eyebrow-txt{color:#0C7A64 !important}
.ns-sec .ns-silo-h{font-family:var(--ns-font-disp,var(--ns-font));font-weight:700;font-size:34px;line-height:1.15;letter-spacing:-.015em;color:var(--b-ink,#0B1B33);margin:0}
.ns-sec .ns-silo-p{margin:0;font-size:17px;line-height:1.65;color:var(--b-ink-2,#33415C)}
.ns-sec .ns-silo .ns-card-list{margin:0;padding:0;border:0}
.ns-sec .ns-silo-btn{display:inline-flex;align-items:center;gap:8px;background:var(--b-mint,#12A386);color:#fff !important;text-decoration:none;font-weight:700;font-size:15px;padding:13px 22px;border-radius:999px;box-shadow:0 8px 20px rgba(18,163,134,.22)}
.ns-sec .ns-silo-btn:hover{background:#0C7A64}
.ns-sec .ns-silo-btn:focus-visible{outline:2px solid var(--b-blue,#1E5BD8);outline-offset:3px}
.ns-sec .ns-silo-vis{background:#fff;border:1px solid var(--b-line,#E1E7F1);border-radius:20px;padding:22px;box-shadow:0 24px 50px rgba(11,27,51,.08);display:flex;flex-direction:column;gap:18px}
.ns-sec .ns-silo-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--b-slate,#55627A)}
.ns-sec .ns-silo-rt{display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;color:#0C7A64;font-size:12px}
.ns-sec .ns-silo-rt::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--b-mint,#12A386)}
.ns-sec .ns-tanks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.ns-sec .ns-tank{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--b-ink-2,#33415C)}
.ns-sec .ns-tank b{font-weight:700;color:var(--b-ink,#0B1B33)}
.ns-sec .ns-tank span{font-variant-numeric:tabular-nums;font-weight:600}
.ns-sec .ns-tank-body{position:relative;width:64px;height:120px;border:2px solid #C9D6EA;border-radius:28px 28px 10px 10px;background:var(--b-mist,#F4F7FC);overflow:hidden}
.ns-sec .ns-tank-body i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#5B8EF0,var(--b-blue,#1E5BD8))}
.ns-sec .ns-tank-body em{position:absolute;left:0;right:0;bottom:30%;border-top:2px dashed rgba(76,106,146,.55)}
.ns-sec .ns-tank.is-low .ns-tank-body{border-color:var(--b-mint,#12A386)}
.ns-sec .ns-tank.is-low .ns-tank-body i{background:linear-gradient(180deg,#5FD0B5,var(--b-mint,#12A386))}
.ns-sec .ns-tank.is-low span{color:#0C7A64}
.ns-sec .ns-silo-alert{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--b-mint,#12A386);background:#EAF7F3;border-radius:0 12px 12px 0;padding:10px 14px;font-size:13.5px;color:var(--b-ink-2,#33415C)}
.ns-sec .ns-silo-alert strong{color:var(--b-ink,#0B1B33)}
@media (prefers-reduced-motion:no-preference){
  .ns-sec .ns-tank.is-low .ns-tank-body i{animation:ns-refill 4s ease-in-out infinite}
  @keyframes ns-refill{0%,35%{height:24%}75%,100%{height:86%}}
}
@media (max-width:980px){.ns-sec .ns-silo{grid-template-columns:minmax(0,1fr);gap:32px;padding:32px}}
@media (max-width:767px){
  .ns-sec .ns-silo{padding:22px;border-radius:18px}
  .ns-sec .ns-silo-h{font-size:26px}
  .ns-sec .ns-silo-p{font-size:16px}
  .ns-sec .ns-tank-body{width:52px;height:100px}
}
/* v1.9.5 — sous-menu EDI & e-facturation (libellés longs) */
.ns-sec .ns-sub{min-width:360px}
.ns-sec .ns-sub a b{line-height:1.3}
.ns-sec #solutions,.ns-sec#solutions,#solutions,#peppol,#silopolis{scroll-margin-top:24px}

/* v1.10 — page Audit ICT & cybersécurité */
.ns-sec .ns-risk{background:#fff;border:1px solid var(--b-line,#E1E7F1);border-radius:24px;padding:26px;box-shadow:0 30px 60px rgba(11,27,51,.10);display:flex;flex-direction:column;gap:18px}
.ns-sec .ns-risk-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--b-slate,#55627A)}
.ns-sec .ns-risk-tag{font-size:11px;letter-spacing:.06em;color:var(--b-slate,#55627A);background:var(--b-mist,#F4F7FC);border:1px solid var(--b-line,#E1E7F1);border-radius:999px;padding:3px 10px}
.ns-sec .ns-risk-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ns-sec .ns-risk-bars li{display:grid;grid-template-columns:110px minmax(0,1fr) 46px;align-items:center;gap:12px;margin:0;font-size:14px;font-weight:600;color:var(--b-ink,#0B1B33)}
.ns-sec .ns-risk-bars i{display:block;height:10px;border-radius:999px;background:var(--b-mist,#F4F7FC);border:1px solid var(--b-line,#E1E7F1);overflow:hidden}
.ns-sec .ns-risk-bars b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--b-blue,#1E5BD8),#5B8EF0)}
.ns-sec .ns-risk-bars li:nth-child(3) b{background:linear-gradient(90deg,var(--b-coral,#4C6A92),#7D97BA)}
.ns-sec .ns-risk-bars li:nth-child(5) b{background:linear-gradient(90deg,var(--b-mint,#12A386),#5FD0B5)}
.ns-sec .ns-risk-bars em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums;color:var(--b-ink-2,#33415C)}
.ns-sec .ns-risk-refs{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--b-line,#E1E7F1)}
.ns-sec .ns-risk-refs span{font-size:12px;font-weight:700;color:var(--b-blue,#1E5BD8);background:var(--b-sky,#E9F0FD);border-radius:999px;padding:5px 12px}
.ns-sec .ns-risk-next{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--b-mint,#12A386);background:#EAF7F3;border-radius:0 12px 12px 0;padding:10px 14px;font-size:14px;color:var(--b-ink-2,#33415C)}
.ns-sec .ns-risk-next strong{color:var(--b-ink,#0B1B33)}
.ns-sec .ns-roles{display:flex;flex-direction:column;gap:22px;background:var(--b-mist,#F4F7FC);border:1px solid var(--b-line,#E1E7F1);border-radius:20px;padding:28px}
.ns-sec .ns-roles .ns-card-list{margin:0;padding:0;border:0}
.ns-sec .ns-role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ns-sec .ns-role{background:#fff;border:1px solid var(--b-line,#E1E7F1);border-radius:14px;padding:16px 12px;text-align:center;display:flex;flex-direction:column;gap:4px}
.ns-sec .ns-role b{font-family:var(--ns-font-disp,var(--ns-font));font-size:24px;color:var(--b-blue,#1E5BD8)}
.ns-sec .ns-role span{font-size:13px;color:var(--b-slate,#55627A);line-height:1.35}
.ns-sec .ns-roles-out{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ns-sec .ns-roles-out span{font-size:13px;font-weight:700;color:#0C7A64;background:#EAF7F3;border-radius:999px;padding:6px 12px}
.ns-sec .ns-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:none}
.ns-sec .ns-steps li{margin:0;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--b-line,#E1E7F1);border-radius:14px;padding:14px 16px;font-weight:600;font-size:15px;color:var(--b-ink,#0B1B33);position:relative}
.ns-sec .ns-steps b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--b-blue,#1E5BD8);color:#fff;font-size:14px}
.ns-sec .ns-steps li:last-child b{background:var(--b-mint,#12A386)}
#strategie,#direction,#audit,#services{scroll-margin-top:24px}
@media (max-width:980px){.ns-sec .ns-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .ns-sec .ns-risk{padding:18px}
  .ns-sec .ns-risk-bars li{grid-template-columns:92px minmax(0,1fr) 42px;font-size:13px}
  .ns-sec .ns-roles{padding:18px}
  .ns-sec .ns-role b{font-size:20px}
  .ns-sec .ns-steps{grid-template-columns:minmax(0,1fr)}
}

/* v1.10.1 — bandeau certifications (page Audit ICT & cybersécurité) */
.ns-sec .ns-certs .ns-wrap{justify-content:space-between;gap:20px 40px}
.ns-sec .ns-certs-intro{display:flex;flex-direction:column;gap:6px;max-width:440px}
.ns-sec .ns-certs-txt{margin:0;font-size:15.5px;line-height:1.55;color:var(--b-ink-2,#33415C)}
.ns-sec .ns-cert-list li.ns-cert{gap:12px;justify-content:center;color:var(--b-blue,#1E5BD8);border-radius:16px}
.ns-sec .ns-cert svg{flex:none}
.ns-sec .ns-cert span{display:flex;flex-direction:column;line-height:1.1}
.ns-sec .ns-cert b{font-family:var(--ns-font-disp,var(--ns-font));font-size:22px;font-weight:700;letter-spacing:.02em;color:var(--b-ink,#0B1B33)}
.ns-sec .ns-cert small{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--b-slate,#55627A);margin-top:3px}
.ns-sec .ns-cert-list li.ns-cert:nth-child(2){color:var(--b-mint,#12A386)}
.ns-sec .ns-cert-list li.ns-cert:nth-child(3){color:var(--b-coral,#4C6A92)}
@media (max-width:767px){.ns-sec .ns-cert b{font-size:17px}.ns-sec .ns-cert svg{width:20px;height:20px}.ns-sec .ns-cert-list li.ns-cert{gap:6px;padding:8px 6px}}

/* v1.10.2 — télémétrie Silopolis animée : niveaux variables, commande via la plateforme */
.ns-sec .ns-tank-body i{transition:height .6s linear}
.ns-sec .ns-tank:not(.is-low) .ns-tank-body i{background:linear-gradient(180deg,#5B8EF0,var(--b-blue,#1E5BD8))}
.ns-sec .ns-tank.is-low .ns-tank-body{border-color:var(--b-coral,#4C6A92)}
.ns-sec .ns-tank.is-low .ns-tank-body i{background:repeating-linear-gradient(135deg,#7D97BA 0 6px,#6A86AC 6px 12px);animation:none}
.ns-sec .ns-tank.is-low span{color:var(--b-coral-d,#3B5678);font-weight:800}
.ns-sec .ns-tank.is-filling .ns-tank-body{border-color:var(--b-mint,#12A386)}
.ns-sec .ns-tank.is-filling .ns-tank-body i{background:linear-gradient(180deg,#5FD0B5,var(--b-mint,#12A386))}
.ns-sec .ns-tank.is-filling span{color:#0C7A64}
.ns-sec .ns-silo-legend{margin:-6px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--b-slate,#55627A)}
.ns-sec .ns-silo-legend i{width:18px;border-top:2px dashed rgba(76,106,146,.7)}
.ns-sec .ns-order{border:1px solid var(--b-line,#E1E7F1);background:var(--b-mist,#F4F7FC);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;transition:background .3s,border-color .3s}
.ns-sec .ns-order:not(.is-step0){background:var(--b-steel-bg,#EDF1F7);border-color:#C9D6EA}
.ns-sec .ns-order.is-step4,.ns-sec .ns-order.is-step5{background:#EAF7F3;border-color:#BFE6DA}
.ns-sec .ns-order-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px}
.ns-sec .ns-order-title{color:var(--b-ink,#0B1B33)}
.ns-sec .ns-order-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--b-slate,#55627A);background:#fff;border:1px solid var(--b-line,#E1E7F1);border-radius:6px;padding:1px 6px}
.ns-sec .ns-order-no:empty{display:none}
.ns-sec .ns-order-path{display:grid;grid-template-columns:auto minmax(14px,1fr) auto minmax(14px,1fr) auto;align-items:center;gap:6px}
.ns-sec .ns-op-node{font-size:11.5px;font-weight:700;text-align:center;line-height:1.2;padding:6px 8px;border-radius:9px;background:#fff;border:1px solid var(--b-line,#E1E7F1);color:var(--b-slate,#55627A);transition:all .3s}
.ns-sec .ns-op-2{background:#0B1B33;color:#fff;border-color:#0B1B33}
.ns-sec .ns-op-line{position:relative;height:2px;background:var(--b-line,#E1E7F1);border-radius:2px}
.ns-sec .ns-op-line em{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--b-blue,#1E5BD8);opacity:0}
.ns-sec .ns-order:not(.is-step0) .ns-op-1{color:var(--b-blue,#1E5BD8);border-color:var(--b-blue,#1E5BD8)}
.ns-sec .is-step2 .ns-op-l1,.ns-sec .is-step3 .ns-op-l1,.ns-sec .is-step4 .ns-op-l1,.ns-sec .is-step5 .ns-op-l1,
.ns-sec .is-step3 .ns-op-l2,.ns-sec .is-step4 .ns-op-l2,.ns-sec .is-step5 .ns-op-l2{background:var(--b-blue,#1E5BD8)}
.ns-sec .is-step2 .ns-op-2,.ns-sec .is-step3 .ns-op-2,.ns-sec .is-step4 .ns-op-2,.ns-sec .is-step5 .ns-op-2{box-shadow:0 0 0 4px rgba(30,91,216,.18)}
.ns-sec .is-step3 .ns-op-3,.ns-sec .is-step4 .ns-op-3,.ns-sec .is-step5 .ns-op-3{color:#0C7A64;border-color:var(--b-mint,#12A386)}
.ns-sec .ns-order-status{margin:0;font-size:13px;color:var(--b-ink-2,#33415C);min-height:1.4em}
@media (prefers-reduced-motion:no-preference){
  .ns-sec .is-step2 .ns-op-l1 em,.ns-sec .is-step3 .ns-op-l2 em{animation:ns-pkt 1.3s ease-in-out infinite}
  @keyframes ns-pkt{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
}
@media (max-width:767px){.ns-sec .ns-op-node{font-size:10.5px;padding:5px 6px}}
/* v1.10.4 — logos officiels des certifications */
.ns-sec .ns-cert-list li.ns-cert{padding:8px 18px}
.ns-sec .ns-cert-list img{max-height:58px;max-width:100%;width:auto;height:auto;object-fit:contain}
.ns-sec .ns-cert-cissp img{max-height:62px}
@media (max-width:767px){.ns-sec .ns-cert-list img{max-height:44px}.ns-sec .ns-cert-cissp img{max-height:46px}}
#q1,#q2,#q3,#q4,#q5,#q6,#q7,#q8,#q9,#faq{scroll-margin-top:24px}

/* v1.11.4 — chiffres clés ×3, gestion de projet dans le hub, encart « Une équipe à votre disposition » */
.ns-sec .ns-stats{gap:28px}
.ns-sec .ns-hub-pm{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:#fff;background:rgba(18,163,134,.85);border-radius:999px;padding:4px 10px;line-height:1.2}
.ns-sec .ns-team{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:center;background:linear-gradient(135deg,#0F2547 0%,#163A73 100%);color:#fff;border-radius:24px;padding:48px;box-shadow:0 30px 60px rgba(11,27,51,.16)}
.ns-sec .ns-team-txt{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.ns-theme-b .ns-sec .ns-team .ns-eyebrow-txt{color:#9DD9C9 !important}
.ns-sec .ns-team-h{margin:0;font-family:var(--ns-font-disp,var(--ns-font));font-weight:700;font-size:34px;line-height:1.15;letter-spacing:-.015em;color:#fff}
.ns-sec .ns-team-p{margin:0;font-size:17px;line-height:1.65;color:#D6E2F5}
.ns-sec .ns-team-btn{display:inline-flex;background:#fff;color:#0B1B33 !important;text-decoration:none;font-weight:700;font-size:15px;padding:13px 22px;border-radius:999px}
.ns-sec .ns-team-btn:hover{background:#E9F0FD}
.ns-sec .ns-team-btn:focus-visible{outline:2px solid #9DD9C9;outline-offset:3px}
.ns-sec .ns-team-pts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ns-sec .ns-team-pts li{margin:0;display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 18px}
.ns-sec .ns-team-pts b{font-size:16px;color:#fff;display:flex;align-items:center;gap:10px}
.ns-sec .ns-team-pts b::before{content:"";width:8px;height:8px;border-radius:50%;background:#5FD0B5;flex:none}
.ns-sec .ns-team-pts span{font-size:14.5px;line-height:1.55;color:#C9D7EE}
#equipe{scroll-margin-top:24px}
@media (max-width:980px){.ns-sec .ns-team{grid-template-columns:minmax(0,1fr);padding:32px;gap:28px}}
@media (max-width:767px){.ns-sec .ns-team{padding:22px;border-radius:18px}.ns-sec .ns-team-h{font-size:26px}.ns-sec .ns-team-p{font-size:16px}
  .ns-sec .ns-stats > div:nth-child(3){grid-column:1/-1}}
@media (min-width:768px){
  .ns-sec .ns-stats{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:28px;align-items:start}
  .ns-theme-b .ns-sec .ns-stats b{font-size:26px}
  .ns-sec .ns-stats > div:nth-child(3) span{max-width:none}
}
.ns-sec .ns-stats b{white-space:nowrap}@media (max-width:767px){.ns-theme-b .ns-sec .ns-stats b{font-size:22px}}

/* v1.11.6 — 4 chiffres clés en grille 2 × 2 */
@media (min-width:768px){
  .ns-sec .ns-stats{grid-template-columns:repeat(2,minmax(0,max-content));column-gap:56px;row-gap:4px}
}
@media (max-width:767px){.ns-sec .ns-stats > div:nth-child(3){grid-column:auto}}
@media (max-width:767px){.ns-sec .ns-stats b{white-space:normal}.ns-theme-b .ns-sec .ns-stats b{font-size:19px}.ns-sec .ns-stats{column-gap:16px}}
