/*
 * © 2026 DATASHIELD RISK CONSULTING (SAS) · Galyct
 * Tous droits réservés. Code propriétaire : toute reproduction,
 * diffusion ou réutilisation non autorisée est interdite. SIREN 984 134 916
 */
/* LE PONT : les pages existantes, contenu intact, dans le nouveau système.
   Chaque bloc de l'ancien vocabulaire (hero, sec-head, card, steps, split,
   mock, trustbar, urgence, final, offer...) est redessiné avec les jetons de
   galyct-sys.css. Rien n'est redéfini : les valeurs viennent toutes de :root.
   Portée : <main class="g-ancien">. */

/* ---------- Anciennes variables, rendues aux jetons ----------
   Les pages portent des styles en ligne qui citent var(--ink), var(--border)...
   Elles valent « encre sur papier » par défaut, « blanc sur nuit » dans une
   section de nuit. */
.g-ancien{
  --ink:var(--encre);--ink-invert:#fff;--muted:var(--gris);--muted-invert:var(--nuit-t2);
  --border:var(--filet);--line:var(--filet);--surface:var(--blanc);--surface-2:var(--papier);
  --card:var(--blanc);--bg:var(--blanc);--paper:var(--papier);--midnight:var(--nuit);
  --accent:var(--azur-clair-lisible);--accent-deep:#005A8F;--azure:var(--azur);
  --accent-ink:#fff;   /* texte posé sur l'azur (colonne recommandée, statut « en cours ») : blanc, contraste AA */
  --ok:#1F7A4D;--okbg:#E7F4EC;--down:#B42318;--downbg:#FDECEA;--warn:#8A5300;--warnbg:#FFF4E0;
  --danger:#B42318;--shadow:var(--ombre-carte);--r-lg:var(--angle);--r-md:var(--angle);--mono:var(--mono);
  /* Perso : son ancienne teinte « smart » rejoint l'azur du système */
  --smart:var(--azur-clair-lisible);--teal-ink:var(--encre);--warn-ink:#8A5300;--uc:var(--gris)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence,.contact-card-nuit){
  --ink:#fff;--muted:var(--nuit-t2);--border:var(--filet-nuit);--line:var(--filet-nuit);
  --surface:rgba(255,255,255,.04);--surface-2:rgba(255,255,255,.06);--card:rgba(255,255,255,.04);
  --accent:var(--azur-nuit);--accent-deep:var(--azur-nuit);--midnight:#fff;--accent-ink:var(--nuit)}
/* Cartes claires posées dans une section de nuit (formulaire de démonstration, appel direct) :
   elles reprennent l'encre sur papier, sinon leur texte blanc disparaît sur le papier. */
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence) :is(.demo-form,.callchip,.contact-card,.win){
  --ink:var(--encre);--muted:var(--gris);--border:var(--filet);--line:var(--filet);--midnight:var(--encre);
  --accent:var(--azur-clair-lisible);--accent-deep:#005A8F;--accent-ink:#fff;color:var(--encre)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence) :is(.demo-form,.contact-card) :is(.btn--primary,.btn--p){background:var(--encre);color:#fff;border-color:var(--encre);box-shadow:none}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence) :is(.demo-form,.contact-card) :is(.btn--primary,.btn--p):hover{background:#13274d;color:#fff}
/* Mention atténuée par une opacité en ligne (bandeau de confiance) : lisible, contraste AA */
.g-ancien .trustbar [style*="opacity:.6"]{opacity:1!important;color:var(--gris)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .trustbar [style*="opacity:.6"]{color:var(--nuit-t2)}

/* ---------- Conteneur et fonds ---------- */
.g-ancien .wrap{width:100%;max-width:calc(var(--contenu) + 2 * var(--marge));margin-inline:auto;padding-inline:var(--marge);position:relative;z-index:1}
.g-ancien > section,.g-ancien > div{position:relative}
.g-ancien .section{padding-block:var(--sec);background:var(--blanc);color:var(--encre)}
.g-ancien .section--alt{background:var(--papier)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex){overflow:hidden;color:#fff;background:var(--fond-nuit)}
.g-ancien .section--dark{background:radial-gradient(900px 520px at 20% 100%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%)}
.g-ancien canvas.hero-fx,.g-ancien .h-fig--free{display:none}

/* Arête néon en bas des sections de nuit (le maillage de l'ancienne armure est retiré, consigne section 9) */
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex)::after{content:"";position:absolute;pointer-events:none;inset-inline-start:0;bottom:0;width:64%;height:2px;background:linear-gradient(90deg,rgba(127,211,247,0) 0,#9FE0FF 35%,#00A9E8 75%,rgba(0,169,232,0) 100%);box-shadow:0 0 22px 3px rgba(0,169,232,.55)}
.g-ancien > .hero:first-child::after{width:100%}
@media (max-width:767px){
  .g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex)::after{width:100%}
}

/* Pictogrammes : des tracés au trait (viewBox 24) que seule l'ancienne feuille
   dimensionnait. Sans cette règle, ils remplissent tout leur conteneur. */
.g-ancien svg[viewBox="0 0 24 24"]{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.g-ancien .card-ic svg,.g-ancien .t-ic svg{width:22px;height:22px}
.g-ancien .sov .s svg{width:26px;height:26px;color:var(--azur-clair-lisible)}
.g-ancien :is(.section--deep,.section--dark,.codex) .sov .s svg{color:var(--azur-nuit)}

/* Fiches de souveraineté et de garanties (.sov) */
.g-ancien .sov{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:40px;background:var(--filet);border:1px solid var(--filet);border-radius:var(--angle);overflow:hidden}
.g-ancien :is(.section--deep,.section--dark,.codex) .sov{background:var(--filet-nuit);border-color:var(--filet-nuit)}
.g-ancien .sov .s{display:flex;flex-direction:column;gap:8px;padding:24px 22px;background:var(--blanc)}
.g-ancien .section--alt .sov .s{background:var(--blanc)}
.g-ancien :is(.section--deep,.section--dark,.codex) .sov .s{background:var(--nuit-profonde)}
.g-ancien .sov .s b{margin-top:6px;font-size:17px;font-weight:600}
.g-ancien .sov .s span{font-size:15px;line-height:1.5;color:var(--muted)}
/* La grille suit le nombre de fiches : jamais de case vide (le fond de la grille ferait un pavé gris).
   3 ou 6 fiches : trois colonnes ; sinon la dernière fiche d'une ligne incomplète s'étire. */
@media (min-width:1100px){
  .g-ancien .sov:has(> :nth-child(3):last-child),.g-ancien .sov:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
  .g-ancien .sov:not(:has(> :nth-child(3):last-child)):not(:has(> :nth-child(6):last-child)) > :nth-child(4n+1):last-child{grid-column:1/-1}
  .g-ancien .sov:not(:has(> :nth-child(3):last-child)):not(:has(> :nth-child(6):last-child)) > :nth-child(4n+2):last-child{grid-column:span 3}
  .g-ancien .sov:not(:has(> :nth-child(3):last-child)):not(:has(> :nth-child(6):last-child)) > :nth-child(4n+3):last-child{grid-column:span 2}
}
@media (max-width:1099px){.g-ancien .sov{grid-template-columns:repeat(2,minmax(0,1fr))}.g-ancien .sov > :nth-child(odd):last-child{grid-column:1/-1}}
@media (max-width:767px){.g-ancien .sov{grid-template-columns:1fr}}
.g-ancien img[src*="hans-mourette"]{border-radius:var(--angle)!important}

/* Les styles en ligne pensés pour l'ancien fond sombre, posés sur du clair */
.g-ancien .section:not(.section--deep):not(.section--dark):not(.codex) :is([style*="color:#fff"],[style*="color:#FFF"],[style*="color:#eaf7fc"],[style*="color:rgba(255,255,255"]){color:var(--encre)!important}
.g-ancien .section:not(.section--deep):not(.section--dark):not(.codex) :is([style*="color:#00aceb"],[style*="color:#3DA6E8"],[style*="color:#00ACEB"]){color:var(--azur-clair-lisible)!important}
.g-ancien .section:not(.section--deep):not(.section--dark):not(.codex) [style*="rgba(255,255,255,.12)"]{border-color:var(--filet)!important}
.g-ancien [style*="border-radius:0"]{border-radius:var(--angle)!important}

/* ---------- Ouverture des pages ---------- */
body.g-tete-pleine .g-tete-site{position:relative;background:var(--nuit)}
.g-ancien .hero{padding:168px 0 104px}
body.g-ouv-nuit .g-ancien > section:first-child:not(.hero){padding-top:184px}
/* La marge sous l'en-tête prime sur un style en ligne de la page (Perso : « padding:56px 0 60px »),
   et vaut aussi quand la page commence par un fil d'Ariane posé avant sa section de nuit. */
body.g-ouv-nuit .g-ancien > section:first-child:not(.hero)[style*="padding"]{padding-top:184px!important}
body.g-ouv-nuit .g-ancien > nav:first-child{padding-top:184px!important;padding-bottom:6px!important;margin:0 auto;color:var(--nuit-t2)!important;
  background:var(--fond-nuit);box-shadow:0 0 0 100vmax var(--fond-nuit);clip-path:inset(0 -100vmax)}
body.g-ouv-nuit .g-ancien > nav:first-child :is(a,span){color:var(--nuit-t2)!important}
body.g-ouv-nuit .g-ancien > nav:first-child a{color:var(--azur-nuit)!important}
.g-ancien .hero .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:center}
.g-ancien .hero .wrap:has(.h-fig--apercu),.g-ancien .hero .wrap:has(.contact-card){grid-template-columns:minmax(0,1fr) minmax(0,560px)}
.g-ancien .h-tx{max-width:760px}
.g-ancien .hero h1{font-size:clamp(38px,calc(38px + 26 * var(--fluide)),64px);line-height:1.02;font-weight:600;letter-spacing:-.032em;margin-top:20px}
.g-ancien .hero .lead{margin-top:26px;font-size:var(--t-chapo);line-height:1.5;color:var(--nuit-t2);max-width:640px}
.g-ancien .h-cta,.g-ancien .cta,.g-ancien .u-cta,.g-ancien .acts,.g-ancien .zsys-cta{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:30px}
.g-ancien .h-note{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:var(--t-note);line-height:1.45;color:var(--nuit-t2);max-width:620px}
.g-ancien .h-note svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--azur-nuit)}
/* Hors d'une section de nuit (ressources de galyct.io), la note reprend l'encre du papier : contraste AA */
.g-ancien .section:not(.section--deep,.section--dark) .h-note{color:var(--gris)}
.g-ancien .section:not(.section--deep,.section--dark) .h-note svg{color:var(--azur-clair-lisible)}
.g-ancien .h-checks{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.g-ancien .h-checks li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--nuit-t2)}
.g-ancien .h-checks svg{width:18px;height:18px;flex-shrink:0;color:var(--azur-nuit)}
@media (max-width:1099px){.g-ancien .hero .wrap:has(.h-fig--apercu),.g-ancien .hero .wrap:has(.contact-card){grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){
  .g-ancien .hero{padding:100px 0 64px}
  body.g-ouv-nuit .g-ancien > section:first-child:not(.hero){padding-top:112px}
  body.g-ouv-nuit .g-ancien > section:first-child:not(.hero)[style*="padding"],body.g-ouv-nuit .g-ancien > nav:first-child{padding-top:112px!important}
  .g-ancien .hero h1{margin-top:14px;line-height:1.06}
  .g-ancien .hero .lead{margin-top:18px}
  .g-ancien .h-cta,.g-ancien .cta,.g-ancien .u-cta,.g-ancien .acts{flex-direction:column;align-items:stretch;gap:14px;margin-top:24px}
  .g-ancien .h-cta .btn,.g-ancien .cta .btn,.g-ancien .u-cta .btn,.g-ancien .acts .btn{width:100%}
}

/* ---------- Étiquettes, titres, chapôs ---------- */
.g-ancien :is(.eyebrow,.sec-num,.ey,.zsys-eyebrow){display:flex;align-items:center;gap:12px;font-size:var(--t-etiquette);line-height:1.3;font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--azur-clair-lisible);margin:0}
.g-ancien :is(.eyebrow,.sec-num,.ey,.zsys-eyebrow)::before{content:"";width:28px;height:2px;background:var(--azur);flex-shrink:0}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence) :is(.eyebrow,.sec-num,.ey){color:var(--azur-nuit)}
.g-ancien .ey .pip{display:none}
.g-ancien .sec-head{max-width:760px;margin-bottom:48px}
.g-ancien .sec-head h1,.g-ancien .sec-head h2,.g-ancien .final h2{font-size:var(--t-titre-sec);line-height:1.04;font-weight:600;letter-spacing:-.03em;margin-top:18px}
.g-ancien .sec-head > p:not(.eyebrow){margin-top:22px;font-size:var(--t-chapo);line-height:1.5;color:var(--muted)}
.g-ancien .sec-head--split{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 72px;align-items:end}
.g-ancien .u-center{text-align:center;margin-inline:auto}
.g-ancien .sh-r,.g-ancien .lead-block{font-size:var(--t-chapo);line-height:1.5;color:var(--muted)}
.g-ancien .lead-block a{color:var(--azur-clair-lisible);text-decoration:underline;text-underline-offset:3px}

/* La fenêtre de demande du CODEX vit hors de <main> : elle reçoit les mêmes variables. */
.cx-modal{--ink:var(--encre);--muted:var(--gris);--border:var(--filet);--paper:var(--blanc);--surface:var(--blanc);--accent:var(--azur);--accent-deep:var(--azur-clair-lisible);--midnight:var(--encre);font-family:var(--police)}
.cx-modal .cx-modal__panel{border-radius:var(--angle)}
.cx-modal input{border-radius:var(--angle)!important}
@media (max-width:767px){
  .g-ancien .sec-head{margin-bottom:32px}
  .g-ancien .sec-head h1,.g-ancien .sec-head h2,.g-ancien .final h2{margin-top:12px}
  .g-ancien .sec-head > p:not(.eyebrow){margin-top:16px}
  .g-ancien .sec-head--split{grid-template-columns:1fr;gap:16px}
}

/* ---------- Boutons ---------- */
.g-ancien .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--angle);border:1px solid transparent;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--courbe)}
.g-ancien .btn:hover{transform:translateY(-1px)}
.g-ancien .btn--lg{min-height:54px;padding:0 26px;font-size:17px}
.g-ancien :is(.btn--primary,.btn--p){background:var(--encre);color:#fff;border-color:var(--encre)}
.g-ancien :is(.btn--primary,.btn--p):hover{background:#13274d;color:#fff}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence) :is(.btn--primary,.btn--p),.g-ancien > :is(.ey,.acts) .btn--p{background:#fff;color:var(--encre);border-color:#fff;box-shadow:var(--lueur)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence) :is(.btn--primary,.btn--p):hover{background:#E8F7FF;color:var(--encre)}
.g-ancien :is(.btn--secondary,.btn--s){background:transparent;color:var(--encre);border-color:#9AA8BF}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex,.urgence) :is(.btn--secondary,.btn--s),.g-ancien > .acts .btn--s{color:#fff;border-color:rgba(255,255,255,.45)}
.g-ancien :is(.btn--secondary,.btn--s):hover{border-color:currentColor}
.g-ancien .btn--tertiary{background:none;border:0;padding:0;min-height:44px;color:var(--azur-clair-lisible)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .btn--tertiary{color:#fff}
/* Action d'urgence : fond encre, point rouge, jamais d'aplat rouge */
.g-ancien .btn--danger{background:var(--encre);color:#fff;border-color:rgba(255,255,255,.35)}
.g-ancien .btn--danger::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 4px rgba(229,72,77,.25);flex-shrink:0}
.g-ancien .btn--danger:hover{background:#13274d;color:#fff}
.g-ancien .card-more,.g-ancien .t-go{font-weight:600;color:var(--azur-clair-lisible)}
@media (max-width:767px){.g-ancien .btn{white-space:normal;text-align:center;padding-block:10px;max-width:100%}}

/* ---------- Bandeau de preuve ---------- */
.g-ancien .trustbar{background:var(--blanc);border-bottom:1px solid var(--filet);padding-block:26px}
.g-ancien .trustbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.g-ancien .trustbar .t{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--gris)}
.g-ancien .trustbar .t b{color:var(--encre);font-weight:600}
.g-ancien .trustbar svg{width:16px;height:16px;color:var(--azur-clair-lisible);flex-shrink:0}
.g-ancien .trustbar .sep{width:1px;height:22px;background:var(--filet-fort)}
@media (max-width:767px){.g-ancien .trustbar .sep{display:none}.g-ancien .trustbar .wrap{gap:10px 18px}.g-ancien .trustbar .t{font-size:14px}}

/* ---------- Panneau d'aperçu (ancien .mock) ---------- */
.g-ancien .h-fig--apercu{min-width:0}
.g-ancien .mock{position:relative;padding:26px;border-radius:var(--angle);background:linear-gradient(180deg,rgba(20,44,88,.72),rgba(7,18,40,.82));border:1px solid rgba(127,211,247,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--ombre-panneau);color:#fff}
.g-ancien .mock-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--filet-nuit)}
.g-ancien .mock-bar i{display:none}
.g-ancien .mock-bar b{font-size:var(--t-etiquette);font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--azur-nuit)}
.g-ancien .mock-body{display:flex;flex-direction:column;gap:12px}
.g-ancien .mock-body > div,.g-ancien .mock-body > div > div{border-radius:4px}
.g-ancien .m-kpi{padding:14px 16px;border:1px solid rgba(0,169,232,.5);border-radius:var(--angle);background:rgba(0,169,232,.10)}
.g-ancien .kl{font-size:12px;font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--nuit-t3)}
.g-ancien .kv{margin-top:6px;font-size:20px;font-weight:600}
.g-ancien .mock [style*="color:#00aceb"]{color:var(--azur-nuit)!important}
.g-ancien .mock [style*="font-weight:700;color:#00aceb"]{font-family:var(--mono);font-weight:500!important;font-size:13px!important}
.g-ancien .mock [style*="color:#eaf7fc"]{color:var(--nuit-t2)!important}
.g-ancien .m-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.g-ancien .m-row .m-kpi{padding:10px 12px}
.g-ancien .m-bars{display:flex;align-items:flex-end;gap:6px;height:84px;padding:8px 0;border-bottom:1px solid var(--filet-nuit)}
.g-ancien .m-bars span{flex:1;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#38BDF2,rgba(0,169,232,.35))}
.g-ancien .m-line{height:3px;border-radius:2px;margin-top:8px;background:var(--azur)}
.g-ancien .m-line.a{width:82%}.g-ancien .m-line.b{width:60%;background:var(--vert)}.g-ancien .m-line.c{width:44%;background:var(--ambre)}
/* Captures réelles du produit : cadre net, bordure azur clair (cahier, « Le cockpit ») */
.g-ancien .cockpit-shot{width:100%;height:auto;border-radius:var(--angle);border:1px solid rgba(127,211,247,.42);box-shadow:var(--ombre-panneau)}
.g-ancien .souv-fiche{border-radius:var(--angle)!important}
/* Page d'incident : le galyct à l'affût (n° 1) sur un découpage du sol, fondu dans la nuit ;
   l'aperçu du cockpit reste alors dans sa bande, sous l'ouverture. L'animal est toujours entier. */
.g-ancien .hero-demo{background:var(--nuit);padding:0 0 96px}
.g-ancien .hero-demo .wrap{max-width:1120px}
@media (max-width:1099px){.g-ancien .h-fig--apercu:has(.g-affut){max-width:560px}}
@media (max-width:767px){.g-ancien .hero-demo{padding-bottom:64px}}
@media (max-width:767px){.g-ancien .mock{padding:20px}.g-ancien .m-row{grid-template-columns:1fr}}

/* ---------- Grilles et cartes ---------- */
.g-ancien .grid{display:grid;gap:20px}
.g-ancien .cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-ancien .cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-ancien .cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-ancien .card{position:relative;display:flex;flex-direction:column;padding:28px 26px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);box-shadow:var(--ombre-carte);color:var(--encre)}
.g-ancien .section--alt .card{background:var(--blanc)}
.g-ancien :is(.section--deep,.section--dark,.codex,.final,.hero) .card{background:linear-gradient(180deg,rgba(13,34,72,.72),rgba(5,12,26,.72));border-color:var(--filet-nuit);border-top-color:rgba(159,224,255,.75);box-shadow:0 24px 48px -24px rgba(0,0,0,.7);color:#fff}
.g-ancien .card--link{transition:transform .28s var(--courbe),box-shadow .28s var(--courbe)}
.g-ancien .card--link:hover{transform:translateY(-4px)}
.g-ancien .card-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--angle);background:rgba(0,169,232,.10);color:var(--azur-clair-lisible)}
.g-ancien :is(.section--deep,.section--dark,.codex) .card-ic{color:var(--azur-nuit);background:rgba(127,211,247,.10)}
.g-ancien .card-ic svg{width:20px;height:20px}
.g-ancien .card h3{margin-top:18px;font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.01em}
.g-ancien .card p{margin-top:10px;font-size:16px;line-height:1.55;color:var(--muted)}
.g-ancien .card .card-more{margin-top:auto;padding-top:18px}
.g-ancien .card--soft{box-shadow:none;background:var(--papier)}
.g-ancien .mt-24{margin-top:24px}.g-ancien .mt-32{margin-top:32px}
@media (max-width:1099px){.g-ancien .cols-3,.g-ancien .cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Une carte qui s'étend sur deux colonnes (style en ligne) crée, dans une grille d'une seule
   colonne, une colonne fantôme de largeur nulle où les autres cartes s'écrasent
   (module-connecteurs de Pro : 3 000 px de vide, revue du 09/10) : elle prend la ligne. */
@media (max-width:767px){.g-ancien .grid > [style*="grid-column"]{grid-column:1 / -1!important}}
@media (max-width:767px){.g-ancien .cols-2,.g-ancien .cols-3,.g-ancien .cols-4{grid-template-columns:minmax(0,1fr)}.g-ancien .card{padding:22px 20px}}

/* ---------- Étapes (liste numérotée) ---------- */
.g-ancien .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 28px;border-bottom:1px solid var(--filet)}
.g-ancien .steps > .st{display:flex;flex-direction:column;gap:8px;padding:22px 0 26px;border-top:2px solid var(--encre)}
.g-ancien :is(.section--deep,.section--dark,.codex) .steps > .st{border-top-color:rgba(255,255,255,.5)}
.g-ancien .steps > .st .k{font-size:30px;line-height:1;font-weight:500;font-stretch:118%;color:var(--azur-clair-lisible);font-variant-numeric:tabular-nums}
.g-ancien :is(.section--deep,.section--dark,.codex) .steps > .st .k{color:var(--azur-nuit)}
.g-ancien .steps > .st b{margin-top:10px;font-size:var(--t-sous-titre);line-height:1.22;font-weight:600;letter-spacing:-.012em}
.g-ancien .steps > .st > span:not(.k){font-size:16px;line-height:1.5;color:var(--muted)}
@media (max-width:767px){.g-ancien .steps{grid-template-columns:1fr}.g-ancien .steps > .st{padding:16px 0 20px}}

/* ---------- Deux colonnes (ce qui détruit / ce qui garde...) ---------- */
.g-ancien .split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.g-ancien .split > div{padding:30px 28px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--encre)}
.g-ancien .section--alt .split > div{background:var(--blanc)}
.g-ancien :is(.section--deep,.section--dark,.codex) .split > div{background:rgba(255,255,255,.04);border-color:var(--filet-nuit);border-top-color:var(--neon)}
.g-ancien .col-tag{display:block;font-size:var(--t-etiquette);font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--azur-clair-lisible)}
.g-ancien .split h3{margin-top:12px;font-size:var(--t-sous-titre);line-height:1.22;font-weight:600}
.g-ancien .split p{margin-top:10px;font-size:16px;color:var(--muted)}
.g-ancien .split ul,.g-ancien .col-foot{margin-top:16px}
.g-ancien .split li,.g-ancien .sov li,.g-ancien .card li{position:relative;padding:11px 0 11px 22px;border-top:1px solid var(--filet);font-size:16px;line-height:1.45}
[dir="rtl"] .g-ancien .split li{padding:11px 22px 11px 0}
.g-ancien :is(.section--deep,.section--dark,.codex) .split li{border-top-color:var(--filet-nuit)}
.g-ancien .split li::before,.g-ancien .sov li::before,.g-ancien .card li::before{content:"";position:absolute;inset-inline-start:0;top:20px;width:10px;height:2px;background:var(--azur)}
@media (max-width:767px){.g-ancien .split{grid-template-columns:1fr}.g-ancien .split > div{padding:22px 20px}}

/* ---------- Bande d'urgence ---------- */
.g-ancien .urgence{background:var(--nuit-profonde);color:#fff;padding-block:48px;border-block:1px solid var(--filet-nuit)}
.g-ancien .urgence .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px 56px}
.g-ancien .u-tx{max-width:760px}
.g-ancien .u-tx h2{font-size:var(--t-titre-bloc);line-height:1.12;font-weight:600;letter-spacing:-.02em}
.g-ancien .u-tx p{margin-top:12px;font-size:16px;color:var(--nuit-t2)}
.g-ancien .u-tx b{color:#fff}
.g-ancien .u-cta{margin-top:0;flex-shrink:0}
@media (max-width:1023px){.g-ancien .urgence .wrap{flex-direction:column;align-items:stretch}}

/* ---------- Doctrine (CODEX) ---------- */
.g-ancien .codex .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 72px;align-items:start}
.g-ancien .filet{width:28px;height:2px;background:var(--azur);margin:20px 0}
.g-ancien .maxim{font-size:clamp(28px,calc(28px + 14 * var(--fluide)),42px);line-height:1.12;font-weight:600;letter-spacing:-.025em}
.g-ancien .accentline{background:linear-gradient(90deg,#BFEAFF,#38BDF2);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-ancien .lede{font-size:var(--t-chapo);line-height:1.55;color:var(--nuit-t2)}
.g-ancien .lede + .lede{margin-top:16px}
.g-ancien .lede b{color:#fff;font-weight:600}
@media (max-width:1023px){.g-ancien .codex .wrap{grid-template-columns:1fr}}

/* ---------- Fin de page ---------- */
.g-ancien .final{padding-block:112px;background:radial-gradient(900px 520px at 50% 0%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%)}
.g-ancien .final .wrap > h2{max-width:900px;font-size:var(--t-titre-fin)}
.g-ancien .final .wrap > p{margin-top:20px;max-width:720px;font-size:var(--t-chapo);color:var(--nuit-t2)}
.g-ancien .final .cta{margin-top:32px}
@media (max-width:767px){.g-ancien .final{padding-block:64px}}

/* ---------- Chiffres, tuiles, formules ---------- */
.g-ancien .stat{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:2px solid var(--encre)}
.g-ancien :is(.section--deep,.section--dark,.codex) .stat{border-top-color:rgba(255,255,255,.5)}
.g-ancien .stat .big{font-size:clamp(36px,calc(36px + 18 * var(--fluide)),54px);line-height:1;font-weight:500;font-stretch:120%;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.g-ancien .stat p,.g-ancien .stat span:not(.big){font-size:15px;color:var(--muted)}
.g-ancien .tile{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--filet);color:var(--encre)}
.g-ancien .tile:hover{color:var(--encre)}
.g-ancien .tile:hover .t-go{transform:translateX(calc(4px * var(--sens)))}
.g-ancien .t-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--angle);background:rgba(0,169,232,.10);color:var(--azur-clair-lisible)}
.g-ancien .t-ic svg{width:20px;height:20px}
.g-ancien .t-tx b,.g-ancien .t-tx strong{display:block;font-size:18px;font-weight:600}
.g-ancien .t-tx small,.g-ancien .t-tx span{display:block;margin-top:4px;font-size:15px;color:var(--gris)}
.g-ancien .t-go{transition:transform .2s var(--courbe)}
/* Tuiles posées dans une section de nuit (premier écran de cas-usage) : texte clair */
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .tile{color:#fff;border-top-color:var(--filet-nuit)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .tile:hover{color:#fff}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .t-tx :is(b,strong){color:#fff}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .t-tx :is(small,span){color:var(--nuit-t2)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .t-ic{background:rgba(0,169,232,.16);color:var(--azur-nuit)}

/* Phrase précédée d'une icône, écrite en flex dans les pages (cadenas « jamais vos codes ») :
   en flex, le texte et son mot en gras devenaient trois colonnes sur téléphone. Elle redevient
   une phrase, l'icône en tête de ligne. */
.g-ancien p[style*="display:flex"][style*="align-items:center"]:has(> svg:first-child){display:block!important}
.g-ancien p[style*="display:flex"][style*="align-items:center"]:has(> svg:first-child) > svg:first-child{display:inline-block;vertical-align:-3px;margin-inline-end:8px}

/* L'ancienne mascotte disparaît de toutes les pages (consigne, section 16) : le bloc qui la
   portait garde son texte, sur toute la largeur */
.g-ancien img[src*="galyct_mascotte"]{display:none}
.g-ancien .wrap:has(> img[src*="galyct_mascotte"]){grid-template-columns:minmax(0,1fr)!important}

/* Captures de l'application (Perso) : leur hauteur suit leur largeur, sinon l'attribut height
   les écrase en portrait */
.g-ancien img.app-shot{max-width:100%;height:auto}

/* ---------- Les moments (Perso, page de l'assistant : avant, pendant, juste après, après) ---------- */
.g-ancien .moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}
@media (max-width:1099px){.g-ancien .moments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.g-ancien .moments{grid-template-columns:minmax(0,1fr)}}
.g-ancien .moment{display:flex;flex-direction:column;gap:10px;padding:24px 22px;border:1px solid var(--filet);border-radius:var(--angle);background:var(--blanc);color:var(--encre);transition:border-color .2s var(--courbe)}
.g-ancien .moment:hover{border-color:var(--azur-clair-lisible);color:var(--encre)}
.g-ancien .moment .mtag{font-size:var(--t-etiquette);font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--azur-clair-lisible)}
.g-ancien .moment h3{margin:0;font-size:18px;line-height:1.3;font-weight:600}
.g-ancien .moment p{margin:0;font-size:15px;line-height:1.5;color:var(--gris)}
.g-ancien .moment .go{margin-top:auto;padding-top:6px;font-weight:600;color:var(--azur-clair-lisible)}

/* ---------- Grille de maturité (quatre marches, une barre chacune) ---------- */
.g-ancien .maturity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:620px){.g-ancien .maturity{grid-template-columns:repeat(2,minmax(0,1fr))}}
.g-ancien .maturity .rung{display:flex;flex-direction:column;padding:16px 14px;border:1px solid var(--filet);border-radius:var(--angle);background:var(--blanc);color:var(--encre)}
.g-ancien .maturity .rung .bar{height:6px;margin-bottom:12px;border-radius:999px;background:var(--papier);overflow:hidden}
.g-ancien .maturity .rung:nth-child(1) .bar{background:linear-gradient(90deg,var(--danger) 40%,var(--papier) 40%)}
.g-ancien .maturity .rung:nth-child(2) .bar{background:linear-gradient(90deg,var(--warn) 60%,var(--papier) 60%)}
.g-ancien .maturity .rung:nth-child(3) .bar{background:linear-gradient(90deg,var(--azur-clair-lisible) 80%,var(--papier) 80%)}
.g-ancien .maturity .rung:nth-child(4) .bar{background:var(--ok)}
.g-ancien .maturity .rung b{display:block;font-size:15px;font-weight:600}
.g-ancien .maturity .rung span{display:block;margin-top:3px;font-size:14px;line-height:1.45;color:var(--gris)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .maturity .rung{background:rgba(255,255,255,.04);border-color:var(--filet-nuit);color:#fff}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .maturity .rung span{color:var(--nuit-t2)}
.g-ancien :is(.hero,.section--deep,.section--dark,.final,.codex) .maturity .rung .bar{background-color:rgba(255,255,255,.10)}
.g-ancien .duo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g-ancien .offer{display:flex;flex-direction:column;gap:10px;padding:28px 26px;border-radius:var(--angle);background:linear-gradient(180deg,rgba(13,34,72,.72),rgba(5,12,26,.72));border:1px solid var(--filet-nuit);border-top:3px solid var(--neon);color:#fff}
.g-ancien .section:not(.section--deep):not(.section--dark) .offer{background:var(--blanc);border-color:var(--filet);border-top-color:var(--encre);color:var(--encre)}
.g-ancien .offer .tag{font-size:var(--t-etiquette);font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--azur-nuit)}
.g-ancien .section:not(.section--deep):not(.section--dark) .offer .tag{color:var(--azur-clair-lisible)}
.g-ancien .offer h3{font-size:var(--t-titre-bloc);font-weight:600;letter-spacing:-.02em}
.g-ancien .offer .who{font-size:16px;color:var(--muted)}
.g-ancien .offer-foot{margin-top:auto;padding-top:18px}
.g-ancien .offer-foot .btn{width:100%;white-space:normal;text-align:center}
@media (max-width:1023px){.g-ancien .duo{grid-template-columns:1fr}}

/* ---------- Formules de prix (cahier : carte blanche, filet haut encre de 3 px ;
   la formule mise en avant en nuit, filet néon, prix en grands chiffres) ---------- */
.g-ancien .pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.g-ancien .price{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 26px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--encre);box-shadow:var(--ombre-carte);color:var(--encre)}
.g-ancien .price.is-featured{background:var(--fond-nuit);border-color:rgba(127,211,247,.28);border-top-color:var(--neon);color:#fff;--muted:var(--nuit-t2)}
.g-ancien .flag{align-self:flex-start;padding:4px 10px;border-radius:3px;background:rgba(127,211,247,.14);color:var(--azur-nuit);font-size:12px;font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase}
.g-ancien .p-name{font-size:var(--t-etiquette);font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--azur-clair-lisible)}
.g-ancien .is-featured .p-name{color:var(--azur-nuit)}
.g-ancien .p-amount{font-size:clamp(38px,calc(38px + 12 * var(--fluide)),50px);line-height:1;font-weight:500;font-stretch:120%;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.g-ancien .p-amount small{font-family:var(--mono);font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted)}
.g-ancien .p-desc{font-size:16px;line-height:1.5;color:var(--muted)}
.g-ancien .price ul{margin-top:4px;border-bottom:1px solid var(--filet)}
.g-ancien .is-featured ul{border-bottom-color:var(--filet-nuit)}
.g-ancien .price li{position:relative;padding:10px 0 10px 26px;border-top:1px solid var(--filet);font-size:15px}
.g-ancien .is-featured li{border-top-color:var(--filet-nuit)}
.g-ancien .price li::before{content:"";position:absolute;inset-inline-start:2px;top:15px;width:9px;height:5px;border-inline-start:2px solid var(--azur);border-bottom:2px solid var(--azur);transform:rotate(-45deg)}
.g-ancien .price-foot{margin-top:auto;padding-top:10px}
.g-ancien .price-foot .btn{width:100%}
.g-ancien .is-featured .btn--primary{background:#fff;color:var(--encre);border-color:#fff;box-shadow:var(--lueur)}
@media (max-width:1023px){.g-ancien .pricing{grid-template-columns:1fr;max-width:520px}}

/* ---------- Citation mise en exergue et texte qui la suit ---------- */
.g-ancien .pq{margin:56px 0 0;padding:40px 0;border-block:1px solid var(--filet-nuit);text-align:center}
.g-ancien .pq blockquote{margin:0 auto;max-width:900px;font-size:clamp(24px,calc(24px + 10 * var(--fluide)),34px);line-height:1.2;font-weight:600;letter-spacing:-.02em}
.g-ancien .pq figcaption{margin:18px auto 0;max-width:760px;font-size:17px;line-height:1.55;color:var(--nuit-t2)}
.g-ancien .pq figcaption b,.g-ancien .pq figcaption strong{color:#fff}
.g-ancien .section:not(.section--deep):not(.section--dark) .pq{border-color:var(--filet)}
.g-ancien .section:not(.section--deep):not(.section--dark) .pq figcaption{color:var(--gris)}
.g-ancien .pq-chute{max-width:800px;margin-top:48px}
.g-ancien .pq-chute h3{margin-top:32px;font-size:var(--t-sous-titre);line-height:1.22;font-weight:600;letter-spacing:-.012em}
.g-ancien .pq-chute h3:first-child{margin-top:0}
.g-ancien .pq-chute p{margin-top:10px;font-size:17px;line-height:1.65;color:var(--muted)}
.g-ancien .pq-chute strong,.g-ancien .pq-chute b{color:var(--ink);font-weight:600}
.g-ancien .pq-signature{margin-top:28px;font-family:var(--mono);font-size:13px;color:var(--muted)}
.g-ancien .pz-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 56px}
.g-ancien .pz-duo p{font-size:17px;line-height:1.65;color:var(--muted)}
.g-ancien .pz-duo p + p{margin-top:14px}
@media (max-width:1023px){.g-ancien .pz-duo{grid-template-columns:1fr}}

/* ---------- Questions (details) ---------- */
.g-ancien details{border-top:1px solid var(--filet-fort)}
.g-ancien details:last-of-type{border-bottom:1px solid var(--filet-fort)}
.g-ancien details > summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:16px 0;cursor:pointer;font-size:var(--t-sous-titre)!important;line-height:1.25!important;font-weight:600!important;color:var(--encre)!important}
.g-ancien details > summary::-webkit-details-marker{display:none}
.g-ancien details > summary::after{content:"+";font-size:26px;font-weight:400;color:var(--azur-clair-lisible);transition:transform .2s;flex-shrink:0}
.g-ancien details[open] > summary::after{transform:rotate(45deg)}
.g-ancien details > :not(summary){padding-bottom:20px;font-size:17px;line-height:1.6;color:var(--gris)}
.g-ancien :is(.section--deep,.section--dark) details > summary{color:#fff!important}
.g-ancien :is(.section--deep,.section--dark) details > :not(summary){color:var(--nuit-t2)}

/* ---------- Tableaux ---------- */
.g-ancien table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.g-ancien th{text-align:start;padding:12px 14px;font-size:12px;font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase;color:var(--gris);border-bottom:1px solid var(--filet-fort)}
.g-ancien td{padding:12px 14px;border-bottom:1px solid var(--filet);vertical-align:top}
.g-ancien :is(.section--deep,.section--dark) :is(th,td){border-color:var(--filet-nuit);color:inherit}
.g-ancien .table-defile,.g-ancien .archive-table{overflow-x:auto}
@media (max-width:767px){.g-ancien table{display:block;overflow-x:auto}}

/* ---------- Pages juridiques et texte courant ---------- */
.g-ancien .section > .wrap > div:only-child:not([class]){max-width:800px}
.g-ancien .section > .wrap > div:only-child:not([class]) > .sec-head{margin-bottom:28px}
.g-ancien .section > .wrap > div:only-child:not([class]) > h2{margin:48px 0 14px;font-size:var(--t-sous-titre);line-height:1.22;font-weight:600;letter-spacing:-.012em}
.g-ancien .section > .wrap > div:only-child:not([class]) > h3{margin:28px 0 10px;font-size:19px;font-weight:600}
.g-ancien .section > .wrap > div:only-child:not([class]) p{font-size:17px;line-height:1.7;color:var(--encre)}
.g-ancien .section > .wrap > div:only-child:not([class]) > p + p{margin-top:14px}
.g-ancien .section > .wrap > div:only-child:not([class]) ul,.g-ancien .section > .wrap > div:only-child:not([class]) ol{margin:12px 0 16px;padding-inline-start:22px;list-style:disc;font-size:17px;line-height:1.65}
.g-ancien .section > .wrap > div:only-child:not([class]) ol{list-style:decimal}
.g-ancien .section > .wrap > div:only-child:not([class]) li + li{margin-top:6px}
.g-ancien .section > .wrap > div:only-child:not([class]) > div:not([class]){margin:22px 0;padding:20px 22px;border-radius:var(--angle);background:var(--papier);border-inline-start:3px solid var(--azur)}
.g-ancien .section > .wrap > div:only-child:not([class]) a,.g-ancien .section p a:not(.btn),.g-ancien .card p a{color:var(--azur-clair-lisible);text-decoration:underline;text-underline-offset:3px}
.g-ancien [style*="text-transform:uppercase"][style*="border:1px solid"]{border-radius:3px!important}

/* ---------- Formulaires ---------- */
.g-ancien .contact-card{padding:30px;border-radius:var(--angle);background:var(--blanc);color:var(--encre);box-shadow:0 50px 100px -40px rgba(0,0,0,.8);--ink:var(--encre);--muted:var(--gris);--border:var(--filet);--surface:var(--blanc);--surface-2:var(--papier)}
.g-ancien .contact-card :is([style*="color:#fff"],[style*="color:rgba(255,255,255"]){color:var(--encre)!important}
.g-ancien .contact-card-head h2{font-size:var(--t-titre-bloc);font-weight:600;letter-spacing:-.02em}
.g-ancien .contact-card-head p{margin-top:8px;font-size:15px;color:var(--gris)}
.g-ancien form{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.g-ancien label{display:inline-block;font-size:15px;font-weight:600;margin-bottom:6px}
.g-ancien :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){width:100%;min-height:48px;padding:12px 14px!important;border:1px solid #9AA8BF!important;border-radius:var(--angle)!important;background:var(--blanc)!important;color:var(--encre)!important;font-family:var(--police)!important;font-size:16px!important}
.g-ancien textarea{min-height:120px;resize:vertical}
.g-ancien :is(input,select,textarea):focus{outline:2px solid var(--azur);outline-offset:1px;border-color:var(--azur)!important}
.g-ancien .req-etoile{color:#B42318;margin-inline-start:2px}
.g-ancien .req-note{font-size:14px;color:var(--gris)}
.g-ancien form .btn{align-self:flex-start}
.g-ancien :is(.hero,.section--deep,.section--dark) form:not(.contact-card form):not(.demo-form) label{color:#fff}

/* ---------- Page sans section (l'archive des versions) : texte posé directement dans <main> ---------- */
.g-ancien:has(> h1):not(:has(> .code)){max-width:calc(1000px + 2 * var(--marge));margin-inline:auto;padding:64px var(--marge) var(--sec)}
.g-ancien:has(> h1):not(:has(> .code)) > h1{font-size:var(--t-titre-sec);line-height:1.04;font-weight:600;letter-spacing:-.03em;color:var(--encre)}
.g-ancien:has(> h1):not(:has(> .code)) > h2{margin:48px 0 14px;font-size:var(--t-sous-titre);font-weight:600;letter-spacing:-.012em}
.g-ancien:has(> h1):not(:has(> .code)) > p{margin-top:14px;max-width:800px;font-size:17px;line-height:1.7}
.g-ancien:has(> h1):not(:has(> .code)) table{display:block;overflow-x:auto;margin-top:18px}
.g-ancien:has(> h1):not(:has(> .code)) td{font-family:var(--mono);font-size:12px;word-break:break-all;min-width:110px}
.g-ancien code{font-family:var(--mono);font-size:.9em;padding:1px 5px;border-radius:3px;background:rgba(127,127,127,.14)}   /* neutre : lisible sur le papier comme dans une section de nuit */

/* ---------- Pages d'erreur (contenu direct dans <main>) ---------- */
.g-ancien:has(> .code){min-height:calc(100vh - 88px);display:flex;flex-direction:column;justify-content:center;padding:96px var(--marge);background:var(--fond-nuit);color:#fff}
.g-ancien > .code{margin-top:18px;font-size:clamp(96px,14vw,168px);line-height:.9;font-weight:600;font-stretch:120%;letter-spacing:-.05em;background:linear-gradient(90deg,#BFEAFF,#38BDF2);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-ancien > h1{margin-top:20px;max-width:760px;font-size:var(--t-titre-sec);line-height:1.04;font-weight:600;letter-spacing:-.03em}
.g-ancien > .lead{margin-top:18px;max-width:620px;font-size:var(--t-chapo);color:var(--nuit-t2)}
.g-ancien > .acts .btn--p{background:#fff;color:var(--encre);border-color:#fff}

/* ---------- Mouvement du pont ---------- */
.g-ancien .card,.g-ancien .tile,.g-ancien .offer{transition:transform .28s var(--courbe),box-shadow .28s var(--courbe)}
.g-ancien .card--link:hover,.g-ancien .offer:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){
  .g-ancien .card,.g-ancien .tile,.g-ancien .offer,.g-ancien .btn,.g-ancien .t-go{transition:none}
  .g-ancien .card--link:hover,.g-ancien .offer:hover,.g-ancien .btn:hover{transform:none}
}

/* ---------- Le diagramme « Tout est relié » (zsys) : sa propre feuille, aux couleurs du système ---------- */
.g-ancien .zsys{--zs-accent:var(--azur);--zs-accent-soft:var(--azur-nuit);--zs-warm:var(--ambre);--zs-bg0:#050C1A;--zs-bg1:#071329;font-family:var(--police);padding-block:var(--sec)}
.g-ancien .zsys .zsys-head h2{font-size:var(--t-titre-sec);line-height:1.04;font-weight:600;letter-spacing:-.03em;max-width:none}

/* Un titre de page dont l'ancienne taille était écrite à même la balise prend la taille du système */
.g-ancien h1[style*="font-size"]{font-size:var(--t-titre-sec)!important;line-height:1.04!important;letter-spacing:-.03em!important}
.g-ancien .hero h1[style*="font-size"]{font-size:clamp(38px,calc(38px + 26 * var(--fluide)),64px)!important}

/* ---------- Pages MSP refaites le 13/09/2026 (msp-site.css, préfixe ms-) ----------
   Leur feuille est gardée pour la mise en page ; ses variables sont rendues aux jetons
   du système, et la police, les boutons et les étiquettes rejoignent le système. */
.g-ancien.ms{--ms-navy:var(--nuit);--ms-mid:#071329;--ms-carbon:#0B1E42;--ms-steel:rgba(255,255,255,.16);--ms-azure:var(--azur);
  --ms-sol:var(--nuit-profonde);--ms-plaque:#0B1E42;--ms-texte:#FFFFFF;--ms-doux:var(--nuit-t2);--ms-pale:var(--nuit-t3);
  --ms-trait:var(--filet-nuit);--ms-trait-fort:rgba(255,255,255,.28);--ms-ok:var(--vert);--ms-vigil:var(--ambre);--ms-crit:var(--rouge);
  --ms-neutre:var(--nuit-t3);--ms-r:var(--angle);--ms-mono:var(--mono);
  background:var(--fond-nuit);font-family:var(--police)}
.g-ancien.ms :is(h1,h2,h3,h4){font-family:var(--police)}
.g-ancien.ms h1{font-size:clamp(38px,calc(38px + 26 * var(--fluide)),64px);line-height:1.02;font-weight:600;letter-spacing:-.032em}
.g-ancien.ms .ms-h2{font-size:var(--t-titre-sec);line-height:1.04;font-weight:600;letter-spacing:-.03em;max-width:24ch}
.g-ancien.ms .ms-h3{font-weight:600}
.g-ancien.ms .ms-lbl{font-family:var(--police);font-size:var(--t-etiquette);font-weight:600;font-stretch:112%;letter-spacing:.07em;color:var(--azur-nuit)}
.g-ancien.ms .ms-lbl::before{content:"";width:28px;height:2px;background:var(--azur);flex-shrink:0}
.g-ancien.ms .ms-btn{min-height:54px;padding:0 26px;font-size:17px}
.g-ancien.ms .ms-btn--principal{background:#fff;color:var(--encre)!important;box-shadow:var(--lueur)}
.g-ancien.ms .ms-btn--principal:hover{background:#E8F7FF}
.g-ancien.ms a:not(.ms-btn){color:var(--azur-nuit)}
.g-ancien.ms .ms-sec--plaque{background:rgba(255,255,255,.03)}
@media (max-width:767px){.g-ancien.ms .ms-btn{min-height:52px;font-size:16px}}
/* Questions dépliables sur les pages MSP, en nuit : texte clair, filets de nuit */
.g-ancien.ms details{border-color:var(--filet-nuit)}
.g-ancien.ms details > summary{color:#fff!important}
.g-ancien.ms details > :not(summary){color:var(--nuit-t2)}
.g-ancien.ms details > summary::after{color:var(--azur-nuit)}

/* Barre de confiance : chaque élément (icône, texte, gras) peut passer à la ligne. En français il
   tenait de justesse ; traduit, il débordait sur téléphone (ressource-cybermalveillance-17cyber,
   cinq langues, 03/10). */
.g-ancien .trustbar .t{flex-wrap:wrap;max-width:100%;min-width:0}
.g-ancien .trustbar .t > *{min-width:0}
/* Même défaut sur la note d'ouverture (.h-note : icône + texte + gras sur une ligne flexible) :
   le gras sortait de l'écran, en français aussi (385 px pour 371). */
.g-ancien .h-note{flex-wrap:wrap;column-gap:.3em}
.g-ancien .h-note > *{min-width:0}
/* Fiche d'identité de verifier.html (Perso) : étiquette et valeur côte à côte ; une étiquette
   longue (« Verantwoordelijke ») poussait la valeur hors de l'écran. */
.g-ancien .vf-id > div{flex-wrap:wrap}
.g-ancien .vf-id > div > *{min-width:0;overflow-wrap:anywhere}
.g-ancien .vf-links a > *{min-width:0;overflow-wrap:anywhere}
/* Grilles de cartes : une carte ne doit jamais élargir sa colonne au-delà de l'écran ; un mot long
   (« Konnektoren », « Herroepbaar ») se coupe avec un trait d'union (module-connecteurs.html,
   Pro, débordait aussi en français : 376 px pour 371). */
.g-ancien .grid > *{min-width:0}
/* Un tableau plus large que l'écran défile dans son cadre, la page ne bouge pas
   (programme-partenaires.html, MSP : 415 px pour 371 en français, 03/10). */
@media (max-width:767px){.g-ancien table{display:block;max-width:100%;overflow-x:auto}}
/* Mais un tableau de trois colonnes au plus tient dans l'écran : il n'est plus forcé à sa largeur
   d'ordinateur (une colonne sortait de l'écran, « Durée cible » sur Confiance, revue du 09/10) */
@media (max-width:767px){
  .g-ancien table:not(:has(tr > :nth-child(4))){display:table;width:100%;min-width:0!important;table-layout:auto}
  .g-ancien table:not(:has(tr > :nth-child(4))) :is(th,td){overflow-wrap:break-word;hyphens:auto}
}
/* Grille forcée à 5 colonnes par un style en ligne (programme-partenaires.html, MSP, les cinq
   niveaux) : le style écrasait les règles téléphone de msp-site.css, cartes de 49 px. Défaut
   présent aussi sur le site en ligne. */
@media (max-width:1000px){.g-ancien .ms-g4[style*="grid-template-columns"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:680px){.g-ancien .ms-g4[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}}
.g-ancien .card :is(h2,h3,h4,p,li){overflow-wrap:break-word;hyphens:auto}

/* Champs pièges des formulaires (anti-robots), cachés par « left:-9999px » : de droite à gauche,
   ce qui sort à GAUCHE élargit la page (10 370 px sur integrations.html en arabe, 03/10). Ils
   restent dans la page, rognés sur place. */
[dir="rtl"] .ms-hp,[dir="rtl"] .hp,[dir="rtl"] .g-ancien [style*="left:-9999px"]{left:0!important;clip-path:inset(50%)!important;overflow:hidden!important}
