/* © 2026 DATASHIELD RISK CONSULTING (SAS) · Galyct · Tous droits réservés · SIREN 984 134 916 */
/* Site public Galyct MSP, refonte du 13/09/2026.
   Tous les composants du site portent le préfixe `ms-` : la couche baryte et
   site.css visent des classes génériques (.card, .section, .wrap > p) avec des
   `!important`. Un préfixe propre évite de se battre contre elles.
   Palette de la charte v1.1 : 80 % Navy/Midnight/Carbon, 15 % blanc et gris,
   5 % Azure au plus. L'azur signale un point d'action ou un état, il ne remplit pas. */

:root{
  --ms-navy:#002252;
  --ms-mid:#081832;
  --ms-carbon:#121820;
  --ms-steel:#2B313C;
  --ms-azure:#00A9E8;
  --ms-mist:#EAF0F5;
  --ms-sol:#060B13;
  --ms-plaque:#0A1526;
  --ms-texte:#E9E7E3;
  --ms-doux:#B4BCC7;
  --ms-pale:#8D98A8;
  --ms-trait:rgba(234,240,245,.10);
  --ms-trait-fort:rgba(234,240,245,.20);
  --ms-ok:#46B98E;
  --ms-vigil:#D9A441;
  --ms-crit:#E26D63;
  --ms-neutre:#8D98A8;
  --ms-r:6px;
  --ms-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
}

/* ---------- socle ---------- */
.ms{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ms-doux)}
.ms h1,.ms h2,.ms h3,.ms h4{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ms-texte);margin:0}
.ms p{margin:0 0 1em;line-height:1.65}
.ms ul,.ms ol{margin:0;padding:0}
.ms b,.ms strong{color:var(--ms-texte);font-weight:600}
.ms a{color:#7FD3F5}
.ms a:hover{color:#B6E6FA}
.ms :focus-visible{outline:2px solid var(--ms-azure);outline-offset:3px;border-radius:2px}
.ms-w{max-width:1200px;margin:0 auto;padding:0 28px}
@media (max-width:600px){.ms-w{padding:0 18px}}
.ms-sec{padding:96px 0;position:relative}
.ms-sec + .ms-sec{border-top:1px solid var(--ms-trait)}
.ms-sec--plaque{background:var(--ms-plaque)}
.ms-sec--serre{padding:64px 0}
@media (max-width:820px){.ms-sec{padding:64px 0}.ms-sec--serre{padding:48px 0}}

.ms-lbl{display:inline-flex;align-items:center;gap:10px;font-family:var(--ms-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ms-pale);font-weight:500}
.ms-lbl i{font-style:normal;color:var(--ms-azure)}
.ms-h2{font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.018em;font-weight:700;margin:14px 0 16px!important;max-width:24ch}
.ms-h2--large{max-width:32ch}
.ms-intro{font-size:18px;line-height:1.6;color:var(--ms-doux);max-width:64ch}
.ms-tete{margin-bottom:48px}
.ms-tete--centre{text-align:center}
.ms-tete--centre .ms-h2,.ms-tete--centre .ms-intro{margin-left:auto!important;margin-right:auto!important}
.ms-h3{font-size:19px;line-height:1.3;font-weight:650;letter-spacing:-.01em;margin:0 0 10px!important}
.ms-petit{font-size:14px;line-height:1.6;color:var(--ms-pale)}
.ms-note{font-size:13.5px;line-height:1.6;color:var(--ms-pale);border-left:2px solid var(--ms-steel);padding:2px 0 2px 14px;margin-top:22px;max-width:80ch}

/* ---------- boutons ---------- */
.ms-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ms-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:var(--ms-r);font-weight:600;font-size:15px;text-decoration:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease;border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1}
.ms-btn--principal{background:var(--ms-azure);color:#001426!important}
.ms-btn--principal:hover{background:#39C0F0;color:#001426!important}
.ms-btn--second{border-color:var(--ms-trait-fort);color:var(--ms-texte)!important;background:rgba(255,255,255,.02)}
.ms-btn--second:hover{border-color:rgba(234,240,245,.42);background:rgba(255,255,255,.05)}
.ms-lien{font-weight:600;text-decoration:none!important;color:#7FD3F5}
.ms-lien::after{content:" \2192"}

/* ---------- tête des pages intérieures ---------- */
.ms-page{padding:72px 0 64px;position:relative;background:linear-gradient(180deg,#07101D 0%,var(--ms-sol) 100%);overflow:hidden}
.ms-page::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0,rgba(0,169,232,.55) 22%,rgba(0,169,232,.18) 60%,transparent 100%)}
.ms-page .ms-w{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:end}
.ms-page--seul .ms-w{grid-template-columns:minmax(0,1fr)}
.ms-fil{font-size:13px;color:var(--ms-pale);margin:0 0 22px}
.ms-fil a{color:var(--ms-pale);text-decoration:none}
.ms-fil a:hover{color:var(--ms-texte)}
.ms-fil span{margin:0 8px;opacity:.6}
.ms-page h1{font-size:clamp(34px,4.4vw,54px);line-height:1.06;letter-spacing:-.025em;font-weight:750;max-width:20ch;margin:16px 0 20px}
.ms-page .ms-chapo{font-size:18.5px;line-height:1.6;color:var(--ms-doux);max-width:60ch;margin-bottom:28px}
.ms-repere{border:1px solid var(--ms-trait);border-radius:var(--ms-r);background:rgba(10,21,38,.72);padding:22px 24px}
.ms-repere dl{margin:0;display:grid;gap:14px}
.ms-repere dt{font-family:var(--ms-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ms-pale)}
.ms-repere dd{margin:4px 0 0;color:var(--ms-texte);font-size:15px;line-height:1.45}
@media (max-width:900px){.ms-page .ms-w{grid-template-columns:1fr;gap:32px}.ms-page{padding:48px 0 44px}}

/* ---------- accueil : barre de preuves ---------- */
.ms-preuves{border-top:1px solid var(--ms-trait);border-bottom:1px solid var(--ms-trait);background:#08111E}
.ms-preuves ul{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.ms-preuves li{border-left:1px solid var(--ms-trait)}
.ms-preuves li:first-child{border-left:0}
.ms-preuves a{display:block;padding:18px 16px;text-decoration:none!important;color:var(--ms-texte);font-size:14px;font-weight:600;line-height:1.3}
.ms-preuves a small{display:block;margin-top:4px;font-weight:400;color:var(--ms-pale);font-size:12.5px}
.ms-preuves a:hover{background:rgba(255,255,255,.03)}
@media (max-width:1000px){.ms-preuves ul{grid-template-columns:repeat(3,minmax(0,1fr))}.ms-preuves li:nth-child(4){border-left:0}.ms-preuves li:nth-child(n+4){border-top:1px solid var(--ms-trait)}}
@media (max-width:560px){.ms-preuves ul{grid-template-columns:1fr 1fr}.ms-preuves li{border-left:0!important;border-top:1px solid var(--ms-trait)}.ms-preuves li:nth-child(even){border-left:1px solid var(--ms-trait)!important}.ms-preuves li:nth-child(-n+2){border-top:0}}

/* ---------- grilles et cartes ---------- */
.ms-g2,.ms-g3,.ms-g4{display:grid;gap:20px}
.ms-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ms-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ms-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.ms-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.ms-g2,.ms-g3,.ms-g4{grid-template-columns:1fr}}
.ms-carte{border:1px solid var(--ms-trait);border-radius:var(--ms-r);background:rgba(255,255,255,.018);padding:26px 24px;position:relative}
.ms-carte p:last-child{margin-bottom:0}
.ms-carte .ms-num{font-family:var(--ms-mono);font-size:12px;color:var(--ms-azure);letter-spacing:.08em;display:block;margin-bottom:14px}
.ms-carte ul,.ms-liste{list-style:none;display:grid;gap:9px;margin:14px 0 0}
.ms-carte li,.ms-liste li{position:relative;padding-left:18px;line-height:1.5;font-size:15px}
.ms-carte li::before,.ms-liste li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--ms-azure)}
.ms-carte--lien{text-decoration:none!important;display:block;transition:border-color .16s ease,background-color .16s ease}
.ms-carte--lien:hover{border-color:var(--ms-trait-fort);background:rgba(255,255,255,.035)}
.ms-carte--lien .ms-h3{color:var(--ms-texte)}
.ms-carte--lien p{color:var(--ms-doux)}

/* bloc « est / n'est pas » */
.ms-deux{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ms-trait);border-radius:var(--ms-r);overflow:hidden}
.ms-deux > div{padding:28px 28px 30px}
.ms-deux > div + div{border-left:1px solid var(--ms-trait);background:rgba(255,255,255,.015)}
.ms-deux h3{font-size:14px;font-family:var(--ms-mono);letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ms-pale);margin-bottom:16px!important}
.ms-deux ul{list-style:none;display:grid;gap:11px}
.ms-deux li{padding-left:26px;position:relative;color:var(--ms-texte);line-height:1.45}
.ms-deux li::before{position:absolute;left:0;top:0;font-weight:700}
.ms-deux .ms-oui li::before{content:"\2713";color:var(--ms-ok)}
.ms-deux .ms-non li::before{content:"\2715";color:var(--ms-pale)}
.ms-deux .ms-non li{color:var(--ms-doux)}
@media (max-width:760px){.ms-deux{grid-template-columns:1fr}.ms-deux > div + div{border-left:0;border-top:1px solid var(--ms-trait)}}

/* rangée texte + figure */
.ms-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;align-items:center}
.ms-duo--inverse{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.ms-duo--inverse > :first-child{order:2}
@media (max-width:980px){.ms-duo,.ms-duo--inverse{grid-template-columns:1fr;gap:32px}.ms-duo--inverse > :first-child{order:0}}
.ms-duo + .ms-duo{margin-top:88px}
@media (max-width:820px){.ms-duo + .ms-duo{margin-top:56px}}

/* ---------- tableaux ---------- */
.ms-tab-w{overflow-x:auto;border:1px solid var(--ms-trait);border-radius:var(--ms-r);-webkit-overflow-scrolling:touch}
.ms-tab{width:100%;border-collapse:collapse;font-size:15px;min-width:620px}
.ms-tab th,.ms-tab td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--ms-trait);vertical-align:top;line-height:1.5}
.ms-tab thead th{font-family:var(--ms-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--ms-pale);background:rgba(255,255,255,.02)}
.ms-tab tbody th{color:var(--ms-texte);font-weight:600}
.ms-tab tbody tr:last-child th,.ms-tab tbody tr:last-child td{border-bottom:0}
.ms-tab td{color:var(--ms-doux)}
.ms-chiffre{font-variant-numeric:tabular-nums;color:var(--ms-texte)!important;font-weight:600;white-space:nowrap}

/* ---------- états (jamais la couleur seule) ---------- */
.ms-etat{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;line-height:1;padding:6px 9px 6px 8px;border-radius:4px;border:1px solid currentColor;white-space:nowrap}
.ms-etat::before{font-size:11px;line-height:1}
.ms-etat--dispo{color:var(--ms-ok)}.ms-etat--dispo::before{content:"\2713"}
.ms-etat--beta{color:#7FD3F5}.ms-etat--beta::before{content:"\03B2"}
.ms-etat--dev{color:var(--ms-vigil)}.ms-etat--dev::before{content:"\25D0"}
.ms-etat--prevu{color:var(--ms-pale)}.ms-etat--prevu::before{content:"\25CB"}
.ms-etat--non{color:var(--ms-crit)}.ms-etat--non::before{content:"\2715"}
.ms-legende{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 26px}

/* ---------- figures d'interface ---------- */
.ms-fig{margin:0}
.ms-fig figcaption{font-size:13.5px;line-height:1.55;color:var(--ms-pale);margin-top:12px;padding-left:14px;border-left:2px solid var(--ms-steel)}
.ms-fig figcaption b{color:var(--ms-doux)}
.ms-ui{border:1px solid rgba(234,240,245,.13);border-radius:var(--ms-r);background:#0A1320;box-shadow:0 30px 70px -30px rgba(0,0,0,.8);overflow:hidden;font-size:13px;color:var(--ms-doux)}
.ms-ui-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--ms-trait);background:#0D1829;font-size:12px}
.ms-ui-bar b{color:var(--ms-texte);font-weight:600}
.ms-ui-bar .ms-ui-ctx{color:var(--ms-pale)}
.ms-ui-bar .ms-ui-demo{margin-left:auto;font-family:var(--ms-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ms-pale);border:1px solid var(--ms-trait);padding:3px 6px;border-radius:3px}
.ms-ui-corps{padding:14px}
.ms-ui-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--ms-trait);border:1px solid var(--ms-trait);border-radius:4px;overflow:hidden;margin-bottom:14px}
.ms-ui-kpis div{background:#0A1320;padding:10px 12px}
.ms-ui-kpis b{display:block;font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ms-texte);font-weight:650}
.ms-ui-kpis span{font-size:11.5px;color:var(--ms-pale)}
.ms-ui-l{display:grid;grid-template-columns:18px minmax(0,1.6fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 6px;border-top:1px solid rgba(234,240,245,.06)}
.ms-ui-l:first-child{border-top:0}
.ms-ui-l .n{color:var(--ms-texte);font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-ui-l .r{color:var(--ms-pale);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-ui-l .t{font-size:11.5px;color:var(--ms-pale);font-variant-numeric:tabular-nums;white-space:nowrap}
.ms-ui-tete{display:grid;grid-template-columns:18px minmax(0,1.6fr) minmax(0,1fr) auto;gap:10px;padding:0 6px 8px;font-family:var(--ms-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ms-pale)}
.ms-p{width:9px;height:9px;display:inline-block}
.ms-p--crit{background:var(--ms-crit);clip-path:polygon(50% 0,100% 100%,0 100%)}
.ms-p--vigil{background:var(--ms-vigil);transform:rotate(45deg);width:8px;height:8px}
.ms-p--ok{background:var(--ms-ok);border-radius:50%}
.ms-p--nm{border:1.5px solid var(--ms-neutre);border-radius:50%;background:transparent}
.ms-tag{display:inline-block;font-size:11px;font-weight:600;padding:3px 7px;border-radius:3px;border:1px solid currentColor;white-space:nowrap;line-height:1.2}
.ms-tag--crit{color:var(--ms-crit)}.ms-tag--vigil{color:var(--ms-vigil)}.ms-tag--ok{color:var(--ms-ok)}.ms-tag--nm{color:var(--ms-neutre)}.ms-tag--info{color:#7FD3F5}
.ms-ui-bloc{border:1px solid var(--ms-trait);border-radius:4px;padding:12px;background:rgba(255,255,255,.015)}
.ms-ui-bloc + .ms-ui-bloc{margin-top:10px}
.ms-ui-bloc h5{margin:0 0 8px;font-size:11px;font-family:var(--ms-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ms-pale);font-weight:500}
.ms-ui-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ms-ui-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:560px){.ms-ui-2,.ms-ui-3{grid-template-columns:1fr}.ms-ui-kpis{grid-template-columns:repeat(2,1fr)}.ms-ui-l,.ms-ui-tete{grid-template-columns:14px minmax(0,1fr) auto}.ms-ui-l .r,.ms-ui-tete span:nth-child(3){display:none}}
.ms-ui-btn{display:inline-block;font-size:11.5px;font-weight:600;padding:5px 9px;border-radius:3px;border:1px solid var(--ms-trait-fort);color:var(--ms-texte)}
.ms-ui-btn--go{background:var(--ms-azure);border-color:var(--ms-azure);color:#001426}
.ms-ui-journal{font-family:var(--ms-mono);font-size:11px;line-height:1.7;color:var(--ms-pale)}
.ms-ui-journal b{color:var(--ms-doux);font-weight:500}
.ms-ui-kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ms-ui-kanban > div{background:rgba(255,255,255,.02);border:1px solid var(--ms-trait);border-radius:4px;padding:8px;min-height:120px}
.ms-ui-kanban h5{margin:0 0 8px;font-size:10.5px;font-family:var(--ms-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ms-pale);font-weight:500;display:flex;justify-content:space-between}
.ms-ui-ticket{background:#0E1A2B;border:1px solid rgba(234,240,245,.08);border-radius:3px;padding:7px 8px;margin-bottom:6px;font-size:11.5px;line-height:1.35;color:var(--ms-texte)}
.ms-ui-ticket small{display:block;color:var(--ms-pale);font-size:10.5px;margin-top:3px}
.ms-ui-ticket .sla{color:var(--ms-vigil)}
@media (max-width:620px){.ms-ui-kanban{grid-template-columns:1fr 1fr}}
.ms-ui-matrice{width:100%;border-collapse:collapse;font-size:12px}
.ms-ui-matrice th,.ms-ui-matrice td{padding:7px 8px;border-top:1px solid rgba(234,240,245,.06);text-align:left;white-space:nowrap}
.ms-ui-matrice thead th{border-top:0;font-family:var(--ms-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ms-pale);font-weight:500}
.ms-ui-matrice td:first-child{color:var(--ms-texte)}
.ms-ui-barre{height:6px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:6px}
.ms-ui-barre i{display:block;height:100%;background:var(--ms-azure)}

/* ---------- schéma d'orchestration (accueil, plateforme) ---------- */
.ms-schema{border:1px solid var(--ms-trait);border-radius:var(--ms-r);background:radial-gradient(120% 90% at 50% 50%,#0B182B 0%,#070E19 70%);padding:26px 18px}
.ms-schema svg{display:block;width:100%;height:auto}
.ms-schema .sch-t{font-family:'Inter',sans-serif;font-size:13px;fill:#E9E7E3;font-weight:600}
.ms-schema .sch-s{font-family:'Inter',sans-serif;font-size:11.5px;fill:#8D98A8}
.ms-schema .sch-m{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.12em;fill:#8D98A8}
.ms-schema .sch-box{fill:#0D1829;stroke:rgba(234,240,245,.16)}
.ms-schema .sch-coeur{fill:#0B2340;stroke:#00A9E8}
.ms-schema .sch-fil{fill:none;stroke:rgba(0,169,232,.42);stroke-width:1.2}
.ms-schema .sch-fil--p{stroke:rgba(234,240,245,.22);stroke-dasharray:3 4}
.ms-schema .sch-az{fill:#00A9E8}
@media (prefers-reduced-motion:no-preference){
  .ms-schema .sch-flux{stroke-dasharray:4 10;animation:ms-flux 2.8s linear infinite}
}
@keyframes ms-flux{to{stroke-dashoffset:-56}}
.ms-schema .ms-schema-mob{display:none}
@media (max-width:760px){.ms-schema-large{display:none}.ms-schema .ms-schema-mob{display:grid}}

/* chaîne signal → preuve */
.ms-chaine{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:ch;border:1px solid var(--ms-trait);border-radius:var(--ms-r);overflow:hidden}
.ms-chaine li{padding:22px 18px 24px;border-left:1px solid var(--ms-trait);position:relative;counter-increment:ch}
.ms-chaine li:first-child{border-left:0}
.ms-chaine li::before{content:"0" counter(ch);font-family:var(--ms-mono);font-size:11px;color:var(--ms-azure);letter-spacing:.1em;display:block;margin-bottom:12px}
.ms-chaine b{display:block;font-size:16px;margin-bottom:6px}
.ms-chaine span{font-size:14px;line-height:1.5;color:var(--ms-doux)}
@media (max-width:900px){.ms-chaine{grid-template-columns:1fr}.ms-chaine li{border-left:0;border-top:1px solid var(--ms-trait)}.ms-chaine li:first-child{border-top:0}}

/* ---------- programme : niveaux et badges ---------- */
.ms-niveaux{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--ms-trait);border-radius:var(--ms-r);overflow:hidden}
.ms-niveau{padding:30px 26px 28px;border-left:1px solid var(--ms-trait);display:flex;flex-direction:column}
.ms-niveau:first-child{border-left:0}
.ms-niveau img{width:132px;height:132px;display:block;margin:0 0 18px}
.ms-niveau h3{font-size:21px;letter-spacing:-.01em;margin-bottom:6px!important}
.ms-niveau .ms-seuil{font-size:15px;color:var(--ms-texte);margin-bottom:18px;line-height:1.5}
.ms-niveau dl{margin:auto 0 0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;border-top:1px solid var(--ms-trait);padding-top:18px}
.ms-niveau dt{font-size:13px;color:var(--ms-pale)}
.ms-niveau dd{margin:0;font-weight:650;color:var(--ms-texte);font-variant-numeric:tabular-nums;text-align:right}
.ms-niveau--milieu{background:rgba(0,169,232,.035)}
@media (max-width:900px){.ms-niveaux{grid-template-columns:1fr}.ms-niveau{border-left:0;border-top:1px solid var(--ms-trait)}.ms-niveau:first-child{border-top:0}}

.ms-rail{position:relative;margin:8px 0 0;padding:34px 0 8px}
.ms-rail svg{display:block;width:100%;height:auto}
.ms-rail .rl-t{font-family:'Inter',sans-serif;font-size:13px;fill:#E9E7E3;font-weight:600}
.ms-rail .rl-s{font-family:'Inter',sans-serif;font-size:11.5px;fill:#8D98A8}
.ms-rail .rl-n{font-family:'Inter',sans-serif;font-size:26px;fill:#E9E7E3;font-weight:700;letter-spacing:-.02em}

.ms-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ms-badge{border:1px solid var(--ms-trait);border-radius:var(--ms-r);padding:22px 20px 22px;background:rgba(255,255,255,.018)}
.ms-badge img{width:112px;height:112px;display:block;margin:0 0 16px}
.ms-badge h3{font-size:17px;margin-bottom:8px!important}
.ms-badge p{font-size:14.5px;line-height:1.55;margin:0}
@media (max-width:1000px){.ms-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ms-badges{grid-template-columns:1fr}}

/* ---------- chiffres de confiance ---------- */
.ms-engagements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ms-trait);border-radius:var(--ms-r);overflow:hidden}
.ms-engagements div{padding:26px 22px;border-left:1px solid var(--ms-trait)}
.ms-engagements div:first-child{border-left:0}
.ms-engagements b{display:block;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;margin-bottom:10px}
.ms-engagements span{font-size:14px;line-height:1.45}
@media (max-width:900px){.ms-engagements{grid-template-columns:1fr 1fr}.ms-engagements div:nth-child(3){border-left:0}.ms-engagements div:nth-child(n+3){border-top:1px solid var(--ms-trait)}}

/* ---------- étapes ---------- */
.ms-etapes{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:et}
.ms-etapes li{counter-increment:et;border-top:2px solid var(--ms-steel);padding-top:18px}
.ms-etapes li:first-child{border-top-color:var(--ms-azure)}
.ms-etapes li::before{content:counter(et);font-size:30px;font-weight:700;color:var(--ms-texte);letter-spacing:-.02em;display:block;margin-bottom:10px;font-variant-numeric:tabular-nums}
.ms-etapes b{display:block;margin-bottom:6px;font-size:16px}
.ms-etapes span{font-size:14.5px;line-height:1.55}
@media (max-width:900px){.ms-etapes{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ms-etapes{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.ms-faq{border-top:1px solid var(--ms-trait)}
.ms-faq details{border-bottom:1px solid var(--ms-trait)}
.ms-faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;color:var(--ms-texte);font-weight:600;font-size:17px;line-height:1.4}
.ms-faq summary::-webkit-details-marker{display:none}
.ms-faq summary::after{content:"+";position:absolute;right:6px;top:17px;font-size:22px;font-weight:400;color:var(--ms-pale);transition:transform .16s ease}
.ms-faq details[open] summary::after{transform:rotate(45deg)}
.ms-faq .ms-rep{padding:0 0 22px;max-width:78ch}
.ms-faq .ms-rep p:last-child{margin-bottom:0}
.ms-faq-groupe + .ms-faq-groupe{margin-top:48px}

/* ---------- formulaires ---------- */
.ms-form{display:grid;gap:16px}
.ms-form .ms-2c{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.ms-form .ms-2c{grid-template-columns:1fr}}
.ms-form label{display:grid;gap:7px;font-size:14px;font-weight:600;color:var(--ms-texte)}
.ms-form label small{font-weight:400;color:var(--ms-pale)}
.ms-form input,.ms-form select,.ms-form textarea{font:inherit;font-size:15px;font-weight:400;color:var(--ms-texte);background:#08111E;border:1px solid var(--ms-trait-fort);border-radius:4px;padding:11px 12px;min-height:44px;width:100%;box-sizing:border-box}
.ms-form textarea{min-height:96px;resize:vertical}
.ms-form input:focus,.ms-form select:focus,.ms-form textarea:focus{outline:2px solid var(--ms-azure);outline-offset:1px;border-color:transparent}
.ms-form .ms-case{display:block;position:relative;padding-left:30px;font-weight:400;color:var(--ms-doux);font-size:14px;line-height:1.5}
.ms-form .ms-case input{position:absolute;left:0;top:1px;width:18px;height:18px;min-height:0;margin:0;accent-color:var(--ms-azure)}
.ms-retour{font-size:14.5px;line-height:1.55;padding:12px 14px;border-radius:4px;border:1px solid var(--ms-trait-fort)}
.ms-retour[data-etat="ok"]{border-color:var(--ms-ok);color:var(--ms-texte)}
.ms-retour[data-etat="ko"]{border-color:var(--ms-crit);color:var(--ms-texte)}
.ms-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.ms-cadre{border:1px solid var(--ms-trait);border-radius:var(--ms-r);background:var(--ms-plaque);padding:30px 28px}

/* ---------- catalogue d'intégrations ---------- */
.ms-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.ms-filtres button{font:inherit;font-size:13.5px;font-weight:600;color:var(--ms-doux);background:transparent;border:1px solid var(--ms-trait-fort);border-radius:4px;padding:8px 12px;cursor:pointer}
.ms-filtres button[aria-pressed="true"]{color:#001426;background:var(--ms-azure);border-color:var(--ms-azure)}
.ms-recherche{margin:0 0 14px;max-width:420px}
.ms-connecteurs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ms-conn{border:1px solid var(--ms-trait);border-radius:var(--ms-r);padding:18px 18px 16px;background:rgba(255,255,255,.018);display:flex;flex-direction:column;gap:10px}
.ms-conn header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ms-conn h3{font-size:16.5px}
.ms-conn .cat{font-family:var(--ms-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ms-pale)}
.ms-conn p{font-size:14px;line-height:1.5;margin:0}
.ms-conn dl{margin:auto 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px;border-top:1px solid var(--ms-trait);padding-top:10px}
.ms-conn dt{color:var(--ms-pale)}
.ms-conn dd{margin:0;color:var(--ms-doux)}
.ms-conn[hidden]{display:none!important}
@media (max-width:1000px){.ms-connecteurs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.ms-connecteurs{grid-template-columns:1fr}}

/* ---------- annuaire ---------- */
.ms-annuaire{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}
.ms-annuaire aside{position:sticky;top:90px}
@media (max-width:900px){.ms-annuaire{grid-template-columns:1fr}.ms-annuaire aside{position:static}}
.ms-resultats{display:grid;gap:14px}
.ms-vide{border:1px dashed var(--ms-trait-fort);border-radius:var(--ms-r);padding:34px 28px;text-align:center}
.ms-vide p{margin:0 auto;max-width:56ch}
.ms-fiche{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:start;border:1px solid var(--ms-trait);border-radius:var(--ms-r);padding:18px 20px;background:rgba(255,255,255,.018)}
.ms-fiche img{width:64px;height:64px;object-fit:contain;border-radius:4px;background:#0D1829}

/* ---------- vérification ---------- */
.ms-verif{max-width:720px}
.ms-certif{border:1px solid var(--ms-trait-fort);border-radius:var(--ms-r);padding:26px;display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center;background:var(--ms-plaque)}
.ms-certif img{width:120px;height:120px}
.ms-certif dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14.5px}
.ms-certif dt{color:var(--ms-pale)}
.ms-certif dd{margin:0;color:var(--ms-texte)}
@media (max-width:560px){.ms-certif{grid-template-columns:1fr}}

/* ---------- appel final ---------- */
.ms-final{padding:96px 0;background:linear-gradient(180deg,var(--ms-sol) 0%,#081629 100%);border-top:1px solid var(--ms-trait);text-align:center}
.ms-final h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.02em;line-height:1.12;max-width:26ch;margin:0 auto 16px!important}
.ms-final p{max-width:62ch;margin:0 auto 30px;font-size:17.5px}
.ms-final .ms-btns{justify-content:center}

/* ---------- en-tête : une seule rangée ---------- */
/* Mesure du 13/09 à 1440 px : marque 141 + sélecteur d'écosystème 313 + menu
   de sept entrées 796 + actions 285 = 1 535 px pour 1 425 disponibles, l'en-tête
   passait sur deux rangées. Le dossier de refonte fixe le contenu de la barre
   (logo, sept entrées, langue, connexion, essai) ; le sélecteur d'écosystème
   reste dans le menu du téléphone et dans le pied de page. */
/* 13/09 soir, demande de Hans : le selecteur d'ecosysteme reste dans la rangee,
   comme sur les trois autres sites. Mesure en ligne (1301 a 1920 px) : une seule
   rangee de 64 px avec les reglages ci-dessous. */
@media (min-width:1700px){body.brand-msp .site-head .wrap{max-width:1720px!important}}
@media (min-width:1301px) and (max-width:1699px){
  body.brand-msp .site-head .wrap{padding-left:10px!important;padding-right:10px!important;column-gap:4px!important}
  body.brand-msp .site-head nav{margin-left:4px!important}
  body.brand-msp .site-head nav a{padding-left:3px!important;padding-right:3px!important;font-size:.8125rem!important}
  body.brand-msp .site-head .head-actions{gap:8px!important}
  body.brand-msp .site-head .head-actions .btn{padding-left:12px!important;padding-right:12px!important}
}
@media (min-width:1301px) and (max-width:1379px){
  body.brand-msp .site-head .head-actions .ms-langue{display:none!important}
  body.brand-msp .site-head nav a{font-size:.78rem!important;padding-left:2px!important;padding-right:2px!important}
}
/* Au téléphone et en tablette, la langue et la connexion passent dans le menu :
   la rangée garde la marque, le menu et l'essai, sur une seule ligne. */
.site-head nav .ms-nav-mob{display:none}
@media (max-width:1300px){.site-head nav .ms-nav-mob{display:block}}
@media (max-width:700px){.site-head .head-actions .ms-langue{display:none}}
/* 360 px, mesuré : « Tester 15 jours » faisait passer la rangée à 94 px. */
@media (max-width:380px){
  body.brand-msp .site-head .head-actions .btn{padding-left:10px!important;padding-right:10px!important;font-size:13px!important}
  body.brand-msp .site-head .head-actions{gap:6px}
}

/* Un élément de grille ne s'élargit jamais au contenu d'une figure : sans
   min-width:0, un tableau en nowrap poussait la page à 526 px sur 375. */
.ms-g2 > *,.ms-g3 > *,.ms-g4 > *,.ms-duo > *,.ms-ui-2 > *,.ms-ui-3 > *,.ms-annuaire > *,.ms-page .ms-w > *{min-width:0}
.ms-ui-bar{flex-wrap:wrap}
@media (max-width:980px){.ms-duo,.ms-duo--inverse{grid-template-columns:minmax(0,1fr)}}

/* ---------- en-tête : langue ---------- */
.site-head .ms-langue{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:#C6CED8;text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:5px 7px;line-height:1}
.site-head .ms-langue:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.site-head .head-actions{display:flex;align-items:center;gap:12px}
body.brand-msp .site-head .head-actions .btn--primary{background:var(--ms-azure)!important;color:#001426!important;border-color:var(--ms-azure)!important}
body.brand-msp .site-head .head-actions .btn--primary:hover{background:#39C0F0!important}

/* ---------- pied ---------- */
.ms-pied{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:32px 24px!important}
.ms-pied .foot-brand{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.08)}
.ms-pied .foot-brand p{margin:0!important;max-width:70ch}
.ms-pied .foot-brand .foot-lockup{margin:0!important}
.ms-pied h3{font-size:12px!important;font-family:var(--ms-mono);letter-spacing:.12em;text-transform:uppercase;color:#8D98A8!important;margin:0 0 14px!important;font-weight:500}
.ms-pied .foot-col a{display:block;margin:0 0 9px;font-size:14px}
@media (max-width:1100px){.ms-pied{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:700px){.ms-pied{grid-template-columns:1fr 1fr!important}.ms-pied .foot-brand{grid-template-columns:1fr}}
body.brand-msp .hero .btn--primary{background:var(--ms-azure)!important;color:#001426!important;border-color:var(--ms-azure)!important}
body.brand-msp .hero .btn--primary:hover{background:#39C0F0!important}

/* ---------- accueil : héros ---------- */
.ms-hero-note{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font-size:13.5px;color:#C6CED8}
.ms-hero-note span{display:inline-flex;align-items:center;gap:7px}
.ms-hero-note span::before{content:"";width:5px;height:5px;background:var(--ms-azure);border-radius:50%}
.hero .ms-tertiaire{display:inline-block;margin-top:16px;font-size:14.5px;font-weight:600;color:#9FDCF6;text-decoration:none}
.hero .ms-tertiaire::after{content:" \2192"}

@media (prefers-reduced-motion:reduce){.ms *{transition:none!important;animation:none!important}}
