/*
 * © 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
 */
/* Système graphique commun aux quatre sites (galyct.io, Perso, Pro, MSP).
   Source : « Galyct, cahier de réalisation des quatre sites », 01/10/2026.
   Une seule feuille, écrite une fois : aucune page ne redéfinit une valeur.
   Les propriétés sont LOGIQUES (inline/block) pour que l'arabe, écrit de
   droite à gauche, se retourne sans feuille séparée. */

/* ---------- Polices, hébergées sur le serveur ---------- */
/* Archivo variable (graisse 100 à 900, largeur 62 à 125), licence SIL OFL 1.1, téléchargée
   de Google Fonts le 03/10/2026 avec l'accord de Hans : un fichier par alphabet. Le navigateur
   ne charge le second que si une page contient un de ses caractères. */
@font-face{font-family:"Archivo";src:url("fonts/Archivo-var.woff2?v=hde2f1fe8") format("woff2-variations"),url("fonts/Archivo-var.woff2?v=hde2f1fe8") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";src:url("fonts/Archivo-var-latinext.woff2?v=h589f7bc0") format("woff2-variations"),url("fonts/Archivo-var-latinext.woff2?v=h589f7bc0") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/JetBrainsMono-400.woff2?v=hcaf0dfde") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/JetBrainsMono-500.woff2?v=ha21e038a") format("woff2");font-weight:500;font-style:normal;font-display:swap}

/* ---------- Jetons ---------- */
:root{
  --nuit:#091830;
  --nuit-profonde:#050C1A;
  --fond-nuit:radial-gradient(900px 520px at 86% 0%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%);
  --encre:#0A1730;
  --papier:#F5F3EE;
  --blanc:#FFFFFF;
  --filet:#DAD5CA;
  --filet-fort:#C9C3B6;
  --gris:#46546F;
  --azur:#00A9E8;
  --azur-clair-lisible:#0071B3;
  --azur-nuit:#7FD3F7;
  --neon:#9FE0FF;
  --nuit-t1:#FFFFFF;
  --nuit-t2:rgba(255,255,255,.82);
  --nuit-t3:rgba(255,255,255,.62);
  --filet-nuit:rgba(255,255,255,.16);
  --rouge:#E5484D;
  --ambre:#FFB454;
  --vert:#3DD68C;

  --police:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;

  --contenu:1248px;
  --marge:96px;
  --sec:120px;
  --angle:6px;
  --ombre-carte:0 50px 90px -50px rgba(9,24,48,.55),0 2px 6px rgba(9,24,48,.05);
  --ombre-panneau:0 50px 100px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08);
  --lueur:0 14px 34px -14px rgba(127,211,247,.75);
  --courbe:cubic-bezier(.2,.7,.2,1);

  /* Échelle typographique : valeur téléphone sous 768 px, valeur ordinateur
     à 1 440 px, interpolation entre les deux. */
  --fluide:(100vw - 768px) / 672;
  --t-titre-page:clamp(40px,calc(40px + 44 * var(--fluide)),84px);
  --t-titre-sec:clamp(31px,calc(31px + 21 * var(--fluide)),52px);
  --t-titre-fin:clamp(32px,calc(32px + 28 * var(--fluide)),60px);
  --t-titre-bloc:clamp(26px,calc(26px + 4 * var(--fluide)),30px);
  --t-sous-titre:clamp(20px,calc(20px + 3 * var(--fluide)),23px);
  --t-chapo:clamp(18px,calc(18px + 2 * var(--fluide)),20px);
  --t-texte:clamp(16px,calc(16px + 1 * var(--fluide)),17px);
  --t-note:15px;
  --t-etiquette:clamp(12px,calc(12px + 1 * var(--fluide)),13px);
}
@media (max-width:1439px){:root{--marge:clamp(20px,6.667vw,96px)}}
@media (max-width:767px){:root{--marge:20px;--sec:64px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--blanc);color:var(--encre);font-family:var(--police);font-size:var(--t-texte);line-height:normal;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--azur-clair-lisible)}
.g-nuit a:hover,.g-sur-nuit a:hover{color:var(--azur-nuit)}
button{font-family:inherit}
h1,h2,h3{text-wrap:balance;margin:0}
p{text-wrap:pretty;margin:0;line-height:1.55}
ol,ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--azur);outline-offset:2px}
.g-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.g-evitement{position:absolute;inset-inline-start:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:var(--angle);background:var(--blanc);color:var(--encre);font-weight:600}
.g-evitement:focus{top:16px}
.g-mono{font-family:var(--mono)}
.g-chiffres{font-variant-numeric:tabular-nums}

/* Conteneur : 1 248 px de contenu, marges de 96 px à la largeur de référence */
.g-in{width:100%;max-width:calc(var(--contenu) + 2 * var(--marge));margin-inline:auto;padding-inline:var(--marge)}

/* ---------- Typographie ---------- */
.g-titre-page{font-size:var(--t-titre-page);line-height:.98;font-weight:600;letter-spacing:-.034em}
.g-titre-sec{font-size:var(--t-titre-sec);line-height:1.04;font-weight:600;letter-spacing:-.03em}
.g-titre-fin{font-size:var(--t-titre-fin);line-height:1.04;font-weight:600;letter-spacing:-.03em}
.g-titre-bloc{font-size:var(--t-titre-bloc);line-height:1.12;font-weight:600;letter-spacing:-.02em}
.g-sous-titre{font-size:var(--t-sous-titre);line-height:1.22;font-weight:600;letter-spacing:-.012em}
.g-chapo{font-size:var(--t-chapo);line-height:1.5}
.g-note{font-size:var(--t-note);line-height:1.45}
.g-etiquette{font-size:var(--t-etiquette);line-height:1.3;font-weight:600;font-stretch:112%;letter-spacing:.07em;text-transform:uppercase}
.g-grand{line-height:1;font-weight:500;font-stretch:120%;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.g-degrade{background:linear-gradient(90deg,#BFEAFF,#38BDF2);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-gris{color:var(--gris)}
.g-nuit .g-gris,.g-sur-nuit .g-gris{color:var(--nuit-t2)}

/* Étiquette de section : trait azur de 28 × 2 px, puis le libellé */
.g-etq-sec{display:flex;align-items:center;gap:12px;color:var(--azur-clair-lisible)}
.g-etq-sec::before{content:"";width:28px;height:2px;background:var(--azur);flex-shrink:0}
.g-nuit .g-etq-sec,.g-sur-nuit .g-etq-sec{color:var(--azur-nuit)}
.g-etq-sec + .g-titre-sec{margin-top:18px}
@media (max-width:767px){.g-etq-sec + .g-titre-sec{margin-top:12px}}

/* ---------- Boutons et liens ---------- */
.g-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border-radius:var(--angle);border:1px solid transparent;font-size:17px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.g-btn--petit{min-height:44px;padding:0 20px;font-size:15px}
.g-btn--principal{background:var(--encre);color:var(--blanc);border-color:var(--encre)}
.g-btn--principal:hover{background:#13274d;color:var(--blanc)}
.g-nuit .g-btn--principal,.g-sur-nuit .g-btn--principal{background:var(--blanc);color:var(--encre);border-color:var(--blanc);box-shadow:var(--lueur)}
.g-nuit .g-btn--principal:hover,.g-sur-nuit .g-btn--principal:hover{background:#E8F7FF;color:var(--encre)}
.g-btn--secondaire{background:transparent;color:var(--encre);border-color:#9AA8BF}
.g-nuit .g-btn--secondaire,.g-sur-nuit .g-btn--secondaire{color:var(--blanc);border-color:rgba(255,255,255,.45)}
.g-btn--secondaire:hover{border-color:currentColor}
.g-suite{font-weight:600;color:var(--azur-clair-lisible)}
.g-suite--encre{color:var(--encre)}
.g-nuit .g-suite,.g-sur-nuit .g-suite{color:var(--blanc)}
.g-fleche{display:inline-block}
[dir="rtl"] .g-fleche{transform:scaleX(-1)}

/* Action d'urgence : point rouge de 8 px avec halo de 4 px, jamais d'aplat rouge */
.g-urgence{display:inline-flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}
.g-point{width:8px;height:8px;border-radius:50%;background:var(--rouge);flex-shrink:0;box-shadow:0 0 0 4px rgba(229,72,77,.25)}
.g-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
@media (max-width:767px){
  .g-btn{min-height:52px;font-size:16px}
  .g-actions{flex-direction:column;align-items:stretch;gap:16px}
  .g-actions .g-btn{width:100%}
  .g-actions .g-urgence,.g-actions .g-suite{align-self:center;font-size:16px}
  .g-actions .g-suite--gauche{align-self:flex-start}
}

/* ---------- Sections ---------- */
.g-sec{padding-block:var(--sec)}
.g-sec--blanc{background:var(--blanc)}
.g-sec--papier{background:var(--papier)}
.g-sec--papier-fonce{background:linear-gradient(180deg,#F5F3EE 0%,#ECE8DF 100%)}
.g-nuit{position:relative;overflow:hidden;color:var(--nuit-t1);background:var(--fond-nuit)}
.g-nuit--bas{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-nuit--centre{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-nuit > .g-in{position:relative}
@media (max-width:767px){
  .g-nuit{background:radial-gradient(420px 300px at 86% 0%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%)}
  .g-nuit--bas{background:radial-gradient(420px 300px at 20% 100%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%)}
  .g-nuit--centre{background:radial-gradient(420px 300px at 50% 0%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%)}
}

/* Maillage à facettes, dans un angle, fondu sur tous les bords */

/* Arête néon : 2 px en bas des sections de nuit */
.g-arete{position:absolute;inset-inline-start:0;bottom:0;width:64%;height:2px;pointer-events:none;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-arete--plein{width:100%}
[dir="rtl"] .g-arete{background:linear-gradient(270deg,rgba(127,211,247,0) 0,#9FE0FF 35%,#00A9E8 75%,rgba(0,169,232,0) 100%)}
@media (max-width:767px){.g-arete{width:100%}}

/* Deux moitiés d'une section */
.g-moities{display:flex;justify-content:space-between;align-items:flex-start;gap:72px}
@media (max-width:1099px){.g-moities{flex-direction:column;gap:44px}}
@media (max-width:767px){.g-moities{gap:32px}}

/* Ce qui ne s'affiche que sur ordinateur, ou que sur téléphone */
.g-tel-oui{display:none}
@media (max-width:767px){.g-tel-non{display:none!important}.g-tel-oui{display:inline}}

/* ---------- En-tête : posé sur la scène, sans fond ---------- */
.g-tete-site{position:absolute;z-index:20;inset-inline:0;top:0;color:var(--blanc)}
.g-tete{position:relative;height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.g-tete__g{flex:none;display:flex;align-items:center;gap:52px}
/* Le logo de Hans porte l'animal et le mot ; seul le nom du site reste en texte (consigne du 06/10, section 7) */
.g-logo{flex:none;display:flex;align-items:center;gap:12px;color:var(--blanc)}
.g-logo img{width:311px;height:36px}
.g-logo__site{color:var(--azur-nuit);font-size:18px;font-weight:600;line-height:1;white-space:nowrap}
.g-tete__nav{display:flex;align-items:center;gap:30px}
.g-tete__nav a{color:var(--nuit-t2);font-size:15px;font-weight:500;white-space:nowrap}
.g-tete__nav a:hover{color:var(--blanc)}
.g-tete__d{display:flex;align-items:center;gap:28px}
.g-tete__d .g-urgence{font-size:15px;color:var(--blanc)}
.g-menu{display:none;position:relative}
.g-menu > summary{list-style:none;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:4px;border:1px solid rgba(255,255,255,.45);color:var(--blanc);font-size:15px;font-weight:600;cursor:pointer}
.g-menu > summary::-webkit-details-marker{display:none}
.g-menu__panneau{position:absolute;inset-inline-end:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 40px));padding:8px 20px 20px;border-radius:var(--angle);background:#0B1E42;border:1px solid rgba(127,211,247,.28);box-shadow:var(--ombre-panneau)}
.g-menu__panneau a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--filet-nuit);color:var(--blanc);font-size:16px;font-weight:500}
.g-menu__panneau .g-btn{margin-top:16px;width:100%;border-bottom:0}
@media (max-width:1279px){
  .g-tete__nav,.g-tete__d{display:none}
  .g-menu{display:block}
}
/* Au-delà de 1 280 px, le menu complet peut encore ne pas tenir quand la langue a des mots
   longs (allemand, néerlandais) : galyct-sys.js le mesure et replie l'en-tête. */
.g-tete--repli .g-tete__nav,.g-tete--repli .g-tete__d{display:none}
.g-tete--repli .g-menu{display:block}
@media (max-width:767px){
  .g-tete{height:64px}
  /* à 360 px, logo et nom du site tiennent sur une ligne sans toucher le bouton Menu */
  .g-logo{gap:8px}
  .g-logo img{width:190px;height:22px}
  .g-logo__site{font-size:15px}
}

/* ---------- Ouverture ---------- */
.g-ouv{position:relative;overflow:hidden;background:var(--nuit);color:var(--blanc);min-height:960px;display:flex;flex-direction:column}
.g-ouv__scene{position:absolute;inset-inline:0;top:156px;margin:0}
.g-ouv__scene img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.g-ouv__voile{position:absolute;pointer-events:none}
.g-ouv__voile--haut{inset-inline:0;top:0;height:316px;background:linear-gradient(180deg,#091830 0,#091830 158px,rgba(9,24,48,0) 316px)}
.g-ouv__voile--cote{inset-inline-start:0;top:0;bottom:0;width:780px;max-width:70%;background:linear-gradient(90deg,rgba(9,24,48,.82) 0,rgba(9,24,48,.5) 52%,rgba(9,24,48,0) 100%)}
[dir="rtl"] .g-ouv__voile--cote{background:linear-gradient(270deg,rgba(9,24,48,.82) 0,rgba(9,24,48,.5) 52%,rgba(9,24,48,0) 100%)}
.g-ouv__voile--bas{inset-inline:0;bottom:0;height:300px;background:linear-gradient(0deg,rgba(5,12,26,.96) 0,rgba(5,12,26,.6) 50%,rgba(5,12,26,0) 100%)}
.g-ouv__texte{position:relative;z-index:2;padding-top:140px}
.g-ouv__texte > div{max-width:800px}
.g-ouv__texte .g-titre-page{margin-top:20px}
.g-ouv__texte .g-ouv__chapo{margin-top:34px;max-width:410px;color:var(--nuit-t2);font-size:19px;line-height:1.5}
.g-ouv__texte .g-actions{margin-top:30px}
.g-ouv__texte .g-ouv__note{margin-top:18px;color:var(--nuit-t2)}
.g-ouv__bas{position:relative;z-index:2;margin-top:auto;padding-bottom:60px;padding-top:48px}
.g-ouv .g-arete{z-index:3}
.g-ouv--clair-moins .g-ouv__voile--cote{width:640px}

/* ---------- Ouverture sur le sol (consigne du 06/10, section 8) ----------
   Le sol, puis le galyct entier et son reflet. Le sol se cale sur l'animal : son horizon
   passe derrière les pattes à toutes les largeurs. Les mesures (horizon, proportions,
   rangée des pattes) viennent des fichiers, par outils/preparer_identite.py, et arrivent
   en variables sur .g-ouv__decor. L'animal n'est jamais retourné ni rogné. */
.g-ouv--sol{
  container-type:inline-size;
  --sol-fond:#000B1C;          /* couleur des bords sombres du sol, mesurée sur le fichier */
  --sol-y:606px;               /* hauteur de l'horizon dans la section, sur ordinateur */
  --bete-l:clamp(420px,40cqw,590px);   /* jamais plus de la moitié du fichier rogné */
  --bete-pied:calc(var(--bete-l) * .07);  /* les pattes, un peu en avant de l'horizon */
  background:var(--sol-fond)
}
.g-ouv__decor{position:absolute;inset:0;pointer-events:none}
.g-ouv__sol img{position:absolute;left:0;width:100%;max-width:none;height:auto;
  top:calc(var(--sol-y) - 100cqw * var(--sol-horizon));
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.g-ouv__bete{position:absolute;z-index:1;width:var(--bete-l);
  right:max(24px,calc(50cqw - 624px));
  top:calc(var(--sol-y) + var(--bete-pied) - var(--bete-l) * var(--bete-pattes))}
.g-ouv__bete picture{display:block}
.g-ouv__bete img{display:block;width:100%;height:auto}
.g-ouv__bete picture:first-child{position:relative;z-index:1}
.g-ouv__bete picture + picture{position:absolute;left:0;right:0;top:calc(100% - 2.2%)}
.g-ouv__bete-r{transform:scaleY(-1);opacity:.42;filter:blur(1.4px);
  -webkit-mask-image:linear-gradient(0deg,#000 0,rgba(0,0,0,.5) 22%,rgba(0,0,0,0) 58%);
  mask-image:linear-gradient(0deg,#000 0,rgba(0,0,0,.5) 22%,rgba(0,0,0,0) 58%)}
/* Aucun texte sur l'animal : la note (et le titre allemand, le plus long) tiennent dans la
   place laissée à gauche de l'animal, à toutes les largeurs (mesuré le 06/10/2026). */
@media (min-width:1100px){
  /* bord gauche de l'animal moins bord gauche du texte (la colonne est centrée sur 1 248 px) */
  .g-ouv--sol .g-ouv__texte{--libre:calc(100cqw - max(24px, 50cqw - 624px) - var(--bete-l) - max(var(--marge), 50cqw - 624px) - 32px)}
  .g-ouv--sol .g-ouv__note{max-width:min(var(--libre),640px)}
  .g-ouv--sol:lang(de) .g-titre-page{max-width:var(--libre)}
  /* MSP : le n° 11 lève la tête vers le texte, en haut à gauche de son image. Il est un peu
     plus petit que le n° 4, pour que la fin du titre ne la touche pas ; les boutons restent
     dans la place libre (mesuré le 06/10/2026, sept langues, 1 100 à 2 560 px). */
  .g-ouv--msp.g-ouv--sol{--bete-l:clamp(400px,36cqw,540px)}
  .g-ouv--msp.g-ouv--sol .g-actions{max-width:var(--libre)}
}
/* Les voiles prennent la couleur du sol : aucune marche entre deux nuits */
.g-ouv--sol .g-ouv__voile--haut{height:220px;background:linear-gradient(180deg,rgba(0,11,28,.75) 0,rgba(0,11,28,0) 100%)}
.g-ouv--sol .g-ouv__voile--cote{background:linear-gradient(90deg,rgba(0,11,28,.86) 0,rgba(0,11,28,.56) 52%,rgba(0,11,28,0) 100%)}
.g-ouv--sol .g-ouv__voile--bas{background:linear-gradient(0deg,rgba(0,11,28,.96) 0,rgba(0,11,28,.6) 50%,rgba(0,11,28,0) 100%)}
/* Sous 1 100 px : le texte d'abord, sur la nuit unie ; puis l'animal sur son sol, dans une bande à lui */
@media (max-width:1099px){
  .g-ouv--sol{min-height:0;--bete-l:min(88cqw,520px);--bete-haut:28px;--bete-bas:72px}
  .g-ouv--sol .g-ouv__voile{display:none}
  .g-ouv--sol .g-ouv__texte{order:1}
  /* les portes de galyct.io viennent après l'animal (sans cet ordre, elles passaient sous l'en-tête) */
  .g-ouv--sol .g-ouv__bas{order:3;margin-top:0}
  .g-ouv--sol .g-ouv__decor{position:relative;inset:auto;order:2;overflow:hidden;
    height:calc(var(--bete-haut) + var(--bete-l) * var(--bete-ratio) + var(--bete-bas))}
  .g-ouv--sol .g-ouv__bete{right:auto;left:calc(50cqw - var(--bete-l) / 2);top:var(--bete-haut)}
  /* le haut de la bande se fond dans la nuit du texte : on ne voit pas où l'image commence */
  .g-ouv--sol .g-ouv__decor::after{content:"";position:absolute;inset-inline:0;top:0;height:55%;
    background:linear-gradient(180deg,var(--sol-fond) 0,rgba(0,11,28,.6) 45%,rgba(0,11,28,0) 100%)}
  .g-ouv--sol .g-ouv__sol img{top:calc(var(--bete-haut) + var(--bete-l) * var(--bete-pattes) - var(--bete-pied) - 100cqw * var(--sol-horizon))}
}

/* Portes : trois cartes de verre en bas de l'ouverture */
.g-portes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g-porte{display:flex;flex-direction:column;gap:8px;padding:20px 24px 22px;border-radius:var(--angle);color:var(--blanc);background:linear-gradient(180deg,rgba(13,34,72,.72),rgba(5,12,26,.72));border:1px solid rgba(255,255,255,.16);border-top-color:rgba(159,224,255,.75);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 48px -24px rgba(0,0,0,.7)}
.g-porte:hover{color:var(--blanc)}
.g-porte__sit{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.g-porte__sit .g-fleche,.g-porte .g-etiquette{color:var(--azur-nuit)}
.g-porte__txt{font-size:15px;line-height:1.45;color:var(--nuit-t2)}

@media (max-width:1023px){.g-portes{grid-template-columns:1fr;gap:12px}}
@media (max-width:767px){
  .g-ouv{min-height:0}
  .g-ouv__texte{order:1}
  .g-ouv__scene{order:2}
  .g-ouv__bas{order:3}
  .g-ouv__voile{display:none}
  .g-ouv__texte{padding-top:84px;padding-bottom:26px}
  .g-ouv__texte .g-titre-page{margin-top:14px;line-height:1.04}
  .g-ouv__texte .g-ouv__chapo{margin-top:18px;max-width:none;font-size:17px}
  .g-ouv__texte .g-actions{margin-top:24px}
  .g-ouv__texte .g-ouv__note{margin-top:14px}
  .g-ouv__scene{position:relative;inset:auto;top:auto;height:250px;overflow:hidden}
  .g-ouv__scene img{position:absolute;inset-inline-start:calc(50% - 400px);top:-50px;width:600px;max-width:none;height:338px}
  [dir="rtl"] .g-ouv__scene img{inset-inline-start:auto;left:calc(50% - 400px)}
  .g-ouv__scene::after{content:"";position:absolute;inset-inline:0;top:0;height:90px;background:linear-gradient(180deg,#091830 0,rgba(9,24,48,0) 100%)}
  .g-ouv__bas{margin-top:0;padding:20px var(--marge) 36px;background:var(--nuit-profonde)}
  .g-ouv__bas.g-in{padding-inline:20px}
  .g-porte{padding:18px 18px 20px}
  .g-porte__sit{font-size:19px}
  .g-porte__txt{display:none}
}

/* ---------- Bandeau de preuve ---------- */
.g-preuve{background:var(--blanc);border-bottom:1px solid var(--filet);padding-block:34px}
.g-preuve__grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}
.g-preuve__it{display:flex;flex-direction:column;gap:7px;padding-inline-start:24px;border-inline-start:1px solid var(--filet-fort)}
.g-preuve__it .g-etiquette{color:var(--azur-clair-lisible);font-size:12px}
.g-preuve__fait{font-size:18px;font-weight:600;letter-spacing:-.005em;line-height:1.3}
@media (max-width:1099px){.g-preuve__grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}}
@media (max-width:767px){
  .g-preuve{padding-block:26px}
  .g-preuve__grille{gap:20px 12px}
  .g-preuve__it{padding-inline-start:14px}
  .g-preuve__fait{font-size:14px;line-height:1.15;overflow-wrap:anywhere}
  .g-preuve__it .g-etiquette{font-size:11px}  /* maquettes téléphone : 11 px dans le bandeau */
}

/* ---------- La méthode ---------- */
.g-methode__g{flex:1 1 500px;max-width:500px}
.g-methode__g .g-etq-sec + .g-titre-sec{margin-top:16px}
.g-methode__g .g-chapo,.g-nuit .g-chapo{color:var(--nuit-t2)}
.g-methode__g .g-chapo{margin-top:22px}
@media (max-width:1099px){.g-methode__g{max-width:none;flex-basis:auto}}
@media (max-width:767px){.g-methode__g .g-chapo{margin-top:16px}}

/* ---------- Liste numérotée (méthode) ---------- */
.g-etapes{margin-top:32px;border-bottom:1px solid var(--filet-nuit)}
.g-etapes li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:baseline;padding:13px 0;border-top:1px solid var(--filet-nuit);font-size:17px}
.g-etapes__n{font-size:26px;line-height:1;font-weight:500;font-stretch:118%;color:var(--azur-nuit);font-variant-numeric:tabular-nums}
.g-etapes strong{font-weight:600}
.g-etapes span span{color:var(--nuit-t2)}

/* ---------- Panneau de démonstration ---------- */
.g-demo{display:flex;flex-direction:column;gap:18px;padding-top:24px;flex:0 1 640px;min-width:0}
.g-demo__cadre{position:relative}
.g-demo__panneau{position:relative;max-width:640px;padding:30px;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)}
.g-demo__tete{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.g-demo__titre{font-size:18px;font-weight:600}
.g-demo__tete .g-etiquette{color:var(--nuit-t3)}
.g-ligne{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:15px 0;border-top:1px solid var(--filet-nuit)}
.g-ligne__h{font-family:var(--mono);font-size:13px;color:var(--azur-nuit)}
.g-ligne__t{font-size:17px;line-height:1.4;font-weight:500}
.g-ligne__p{font-family:var(--mono);font-size:12px;color:var(--nuit-t3);text-align:end;white-space:nowrap}
.g-scelle{margin-top:10px;padding:16px 18px;border-radius:var(--angle);display:flex;flex-direction:column;gap:10px;background:rgba(0,169,232,.10);border:1px solid rgba(0,169,232,.5)}
.g-scelle__t{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.g-scelle__t > span:first-child{display:inline-flex;border-radius:50%}
.g-empreinte{display:flex;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:13px;color:var(--azur-nuit)}
.g-empreinte > span:first-child{color:var(--nuit-t3)}
.g-sceau{position:absolute;inset-inline-end:-40px;top:-52px;transform:rotate(-10deg)}
.g-sceau svg{width:136px;height:136px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.55))}
.g-demo__pied{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:-34px;margin-inline-end:-28px}
.g-rejouer{display:none;align-self:flex-end;min-height:44px;padding:0 16px;border-radius:var(--angle);background:transparent;color:var(--blanc);border:1px solid rgba(255,255,255,.4);font-size:15px;font-weight:600;cursor:pointer}
.g-rejouer:hover{border-color:var(--blanc)}
.js .g-rejouer{display:inline-flex;align-items:center}
.g-dossier-remis{position:relative;width:310px;flex-shrink:0;margin-inline-start:auto;padding:16px 18px;border-radius:var(--angle);background:var(--blanc);color:var(--encre);display:flex;flex-direction:column;gap:10px;box-shadow:0 30px 60px -18px rgba(0,0,0,.75)}
.g-dossier-remis__t{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.g-dossier-remis__t strong{font-size:16px;font-weight:600}
.g-dossier-remis__t span{font-family:var(--mono);font-size:12px;color:var(--gris)}
.g-dossier-remis__v{font-size:13px;color:var(--gris)}
.g-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:-4px}
.g-badges span{padding:5px 10px;border-radius:3px;border:1px solid var(--filet);font-size:13px;font-weight:500}
@media (max-width:1099px){.g-demo{flex-basis:auto;width:100%;max-width:640px;padding-top:8px}}
@media (max-width:767px){
  .g-demo{padding-top:44px}
  .g-demo__panneau{padding:20px}
  .g-demo__tete{margin-bottom:10px}
  .g-ligne{grid-template-columns:52px minmax(0,1fr) auto;gap:10px;padding:12px 0}
  .g-ligne__t{font-size:15px}
  .g-scelle{margin-top:8px;padding:14px}
  .g-empreinte{gap:7px;font-size:11px}
  .g-sceau{inset-inline-end:-8px;top:-44px}
  .g-sceau svg{width:96px;height:96px}
  .g-demo__pied{flex-direction:column-reverse;align-items:stretch;margin:0;gap:18px}
  .g-dossier-remis{width:auto}
  .g-rejouer{align-self:flex-start}
}

/* ---------- Cartes d'application ---------- */
.g-tete-sec{max-width:760px;margin-bottom:56px}
.g-applis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g-appli{display:flex;flex-direction:column;background:var(--blanc);border-radius:var(--angle);overflow:hidden;border:1px solid var(--filet);box-shadow:var(--ombre-carte)}
.g-appli__scene{position:relative;height:300px;overflow:hidden;background:var(--nuit)}
.g-appli__scene img{position:absolute;top:-130px;width:888px;height:500px;max-width:none;inset-inline-start:calc(50% - 621px)}
.g-appli--msp .g-appli__scene img{inset-inline-start:calc(50% - 648px)}
[dir="rtl"] .g-appli__scene img{inset-inline-start:auto;left:calc(50% - 621px)}
[dir="rtl"] .g-appli--msp .g-appli__scene img{left:calc(50% - 648px)}
.g-appli__scene::before,.g-appli__scene::after{content:"";position:absolute;inset-inline:0}
.g-appli__scene::before{top:0;height:96px;background:linear-gradient(180deg,rgba(5,12,26,.72),rgba(5,12,26,0));z-index:1}
.g-appli__scene::after{bottom:0;height:130px;background:linear-gradient(0deg,rgba(5,12,26,.9),rgba(5,12,26,0))}
.g-appli__scene .g-etiquette{position:absolute;z-index:2;inset-inline-start:24px;top:20px;color:var(--blanc)}
.g-appli__corps{padding:0 24px 28px;display:flex;flex-direction:column;flex-grow:1}
.g-appli__vue{position:relative;margin-top:-76px}
.g-appli .g-titre-bloc{margin-top:26px}
.g-appli__phrase{color:var(--gris);margin-top:10px;min-height:53px}
.g-appli__pied{margin-top:20px;padding-top:16px;border-top:1px solid var(--filet);display:flex;flex-direction:column;gap:10px}
.g-appli__prix{font-size:16px;font-weight:600}
@media (max-width:1199px){.g-applis{grid-template-columns:1fr;max-width:560px;gap:28px}}
@media (max-width:767px){
  .g-tete-sec{margin-bottom:32px}
  .g-appli__scene{height:170px}
  .g-appli__scene img{top:-88px;width:586px;height:330px;inset-inline-start:calc(50% - 410px)}
  .g-appli--msp .g-appli__scene img{inset-inline-start:calc(50% - 427px)}
  [dir="rtl"] .g-appli__scene img{left:calc(50% - 410px)}
  [dir="rtl"] .g-appli--msp .g-appli__scene img{left:calc(50% - 427px)}
  .g-appli__scene .g-etiquette{inset-inline-start:18px;top:16px}
  .g-appli__corps{padding:0 18px 24px}
  .g-appli__vue{margin-top:-52px}
  .g-appli .g-titre-bloc{margin-top:22px}
  .g-appli__phrase{display:none}
  .g-appli__pied .g-suite{font-size:16px}
}

/* ---------- Vue produit ---------- */
.g-vue{position:relative;padding:22px;border-radius:var(--angle);display:flex;flex-direction:column;height:292px}
.g-vue--claire{background:var(--blanc);color:var(--encre);border:1px solid var(--filet);box-shadow:0 34px 60px -26px rgba(3,8,20,.8)}
.g-vue--sombre{background:linear-gradient(180deg,#0F2852 0%,#081530 100%);color:var(--blanc);border:1px solid rgba(127,211,247,.42);box-shadow:0 34px 60px -26px rgba(3,8,20,.8),inset 0 1px 0 rgba(255,255,255,.10)}
.g-vue__tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.g-vue__tete--marge{margin-bottom:13px}
.g-vue__q{font-size:19px;font-weight:600;letter-spacing:-.01em}
.g-vue__meta{font-size:12px;color:var(--nuit-t3)}
.g-vue--claire .g-vue__meta{font-family:var(--mono);color:var(--gris)}
.g-vue--sombre .g-etiquette{color:var(--azur-nuit)}
.g-choix{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--filet);font-size:15px;font-weight:500}
.g-choix .g-fleche{color:var(--azur-clair-lisible)}
.g-vue__note{margin-top:auto;padding-top:11px;border-top:1px solid var(--filet);font-size:13px;color:var(--gris)}
.g-posture{display:flex;align-items:baseline;gap:6px;margin:10px 0 16px}
.g-posture b{font-size:60px;line-height:1;font-weight:500;font-stretch:115%;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.g-posture span{font-family:var(--mono);font-size:14px;color:var(--nuit-t3)}
.g-jauges{display:flex;flex-direction:column;gap:12px}
.g-jauge{display:flex;flex-direction:column;gap:6px}
.g-jauge__l{display:flex;justify-content:space-between;font-size:13px;color:var(--nuit-t2)}
.g-jauge__l span:last-child{font-family:var(--mono);color:var(--blanc)}
.g-jauge__rail{height:3px;border-radius:2px;background:rgba(255,255,255,.14)}
.g-jauge__rail > span{display:block;height:3px;border-radius:2px;background:var(--azur);transform-origin:left center}
[dir="rtl"] .g-jauge__rail > span{transform-origin:right center}
.g-tuiles-clients{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.g-tuile-client{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);font-size:13px;white-space:nowrap;overflow:hidden}
.g-tuile-client::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ambre);flex-shrink:0}
.g-liaison{width:1px;height:24px;background:var(--azur);margin:0 auto}
.g-motif{padding:14px 16px;border-radius:var(--angle);background:rgba(0,169,232,.14);border:1px solid rgba(0,169,232,.55);display:flex;flex-direction:column;gap:4px}
.g-motif strong{font-size:16px;font-weight:600}
.g-motif span{font-size:13px;color:var(--nuit-t2)}
.g-vue__mono{margin-top:auto;padding-top:12px;font-family:var(--mono);font-size:12px;color:var(--nuit-t3)}
@media (max-width:767px){.g-vue{padding:18px;height:auto}}

/* ---------- Le cabinet ---------- */
.g-cabinet{display:flex;gap:96px;align-items:flex-start}
.g-portrait{position:relative;width:400px;height:520px;flex-shrink:0;border-radius:var(--angle);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:var(--blanc);background:radial-gradient(520px 420px at 70% 10%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%);box-shadow:0 50px 90px -50px rgba(9,24,48,.7)}
.g-portrait__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.g-portrait::after{content:"";position:absolute;inset-inline:0;bottom:0;height:62%;background:linear-gradient(0deg,rgba(5,12,26,.94) 0,rgba(5,12,26,.55) 55%,rgba(5,12,26,0) 100%);pointer-events:none}
.g-portrait__nom,.g-portrait__role,.g-portrait__parcours{z-index:1}
.g-portrait__animal{position:absolute;left:50%;top:36%;width:234px;height:60px;margin:-30px 0 0 -117px}
/* la silhouette de Hans (section 7) remplace l'ancien animal ; entière, centrée, jamais retournée */
.g-portrait__silhouette{position:absolute;left:10%;width:80%;height:auto;top:30%}
.g-portrait__provisoire{position:absolute;inset-inline-start:28px;top:24px;font-family:var(--mono);font-size:12px;color:var(--nuit-t3)}
.g-portrait__nom{position:relative;font-size:22px;font-weight:600;letter-spacing:-.01em}
.g-portrait__role{position:relative;font-size:15px;color:var(--nuit-t2);margin-top:4px}
.g-portrait__parcours{position:relative;font-size:14px;color:var(--nuit-t3);margin-top:10px}
.g-cabinet__d{flex:1 1 auto;max-width:752px;min-width:0}
.g-cabinet__d .g-chapo{margin-top:22px}
.g-chiffres-cab{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.3fr) minmax(0,1fr);gap:32px;margin-top:40px}
.g-chiffre{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:2px solid var(--encre)}
/* Une valeur traduite peut être plus longue que la colonne (« 24 Std. bis 7 Tage ») : elle passe
   à la ligne, équilibrée, au lieu de déborder. Le français tient sur une ligne comme avant. */
.g-chiffre .g-grand{font-size:54px;text-wrap:balance}
.g-chiffre p{color:var(--gris);font-size:15px;line-height:1.45}
.g-expertises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:40px}
.g-expertise{display:flex;flex-direction:column;gap:4px;padding:15px 0;border-top:1px solid var(--filet)}
.g-expertise__n{font-size:17px;font-weight:600}
.g-expertise__d{font-size:15px;color:var(--gris)}
.g-cabinet__actions{margin-top:28px;padding-top:24px;border-top:1px solid var(--filet)}
@media (max-width:1199px){
  .g-cabinet{gap:56px}
  .g-portrait{width:320px}
  .g-chiffre .g-grand{font-size:44px}
}
@media (max-width:1023px){
  .g-cabinet{flex-direction:column;gap:40px}
  .g-portrait{width:100%;max-width:560px;height:320px}
}
@media (max-width:767px){
  .g-cabinet{gap:32px}
  .g-portrait{height:220px;padding:22px}
  .g-portrait__provisoire{inset-inline-start:22px;top:20px}
  .g-cabinet__d .g-chapo{display:none}
  .g-chiffres-cab{grid-template-columns:1fr;gap:22px;margin-top:28px}
  .g-chiffre .g-grand{font-size:44px}
  .g-expertises{grid-template-columns:1fr;margin-top:28px}
  .g-expertise__n{font-size:16px}
  .g-expertise__d{display:none}
}

/* ---------- Le CODEX ---------- */
.g-codex{align-items:center;gap:72px}
.g-codex__g{flex:1 1 540px;max-width:540px}
.g-codex__g .g-chapo{margin-top:22px;color:var(--nuit-t2)}
.g-stats{display:flex;gap:44px;margin:34px 0;padding-top:26px;border-top:1px solid var(--filet-nuit)}
.g-stat{display:flex;flex-direction:column;gap:6px}
.g-stat .g-grand{font-size:48px}
.g-stat__l{font-size:14px;color:var(--nuit-t3)}
.g-rayon{flex:0 1 600px;display:flex;flex-direction:column;gap:12px;margin:0;min-width:0}
.g-rayon__etagere{display:flex;align-items:flex-end;gap:22px;padding:0 10px;border-bottom:2px solid rgba(255,255,255,.30)}
.g-dos{flex-grow:1;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.g-dos > span{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:250px;padding:16px 0 14px;border-radius:2px;border:1px solid rgba(127,211,247,.34);border-top:5px solid var(--neon);background:linear-gradient(180deg,#15376D 0%,#081730 100%);box-shadow:0 24px 30px -20px rgba(0,0,0,.75)}
.g-dos > span:nth-child(even){background:linear-gradient(180deg,#102B58 0%,#081730 100%)}
.g-dos i{writing-mode:vertical-rl;transform:rotate(180deg);font-style:normal;font-size:11px;font-weight:600;font-stretch:112%;letter-spacing:.16em;color:var(--nuit-t2);white-space:nowrap}
.g-dos b{font-size:17px;font-weight:600;font-stretch:115%}
.g-livret{width:150px;height:208px;flex-shrink:0;padding:18px 16px;background:var(--papier);color:var(--encre);border-radius:2px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 50px -22px rgba(0,0,0,.85)}
.g-livret .g-etiquette{font-size:11px;color:var(--azur-clair-lisible)}
.g-livret__titre{font-size:21px;line-height:1.08;font-weight:600;letter-spacing:-.02em;margin-top:10px}
.g-livret__trait{width:28px;height:2px;background:var(--azur)}
.g-livret__meta{font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--gris);margin-top:8px}
.g-rayon figcaption{font-family:var(--mono);font-size:12px;color:var(--nuit-t3)}
@media (max-width:1099px){.g-codex__g{max-width:none;flex-basis:auto}.g-rayon{width:100%;flex-basis:auto}}
@media (max-width:767px){
  .g-codex{gap:36px}
  .g-codex__g .g-chapo{margin-top:16px}
  .g-stats{gap:28px;margin:26px 0;padding-top:20px}
  .g-stat .g-grand{font-size:36px}
  .g-rayon__etagere{padding:0 4px}
  .g-dos{gap:4px}
  .g-dos > span{height:96px;justify-content:flex-end;padding:0 0 8px;border-top-width:3px}
  .g-dos i{display:none}
  .g-dos b{font-size:11px}
  .g-livret{display:none}
}

/* ---------- Questions ---------- */
.g-faq-sec{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}
.g-faq-sec__g{width:420px;flex-shrink:0}
.g-faq{width:752px;max-width:100%;border-bottom:1px solid var(--filet-fort)}
.g-faq details{border-top:1px solid var(--filet-fort)}
.g-faq summary{list-style:none;display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;padding:26px 0 0}
.g-faq summary::-webkit-details-marker{display:none}
.g-faq__n{font-size:15px;font-weight:500;font-stretch:118%;color:var(--azur-clair-lisible);padding-top:5px;font-variant-numeric:tabular-nums}
.g-faq__plus{display:none}
.g-faq__r{padding:8px 0 26px 64px;color:var(--gris);font-size:17px;line-height:1.55}
[dir="rtl"] .g-faq__r{padding:8px 64px 26px 0}
@media (min-width:768px){.g-faq summary{cursor:default}}
@media (max-width:1099px){.g-faq-sec{flex-direction:column}.g-faq-sec__g{width:auto}.g-faq{width:100%}}
@media (max-width:767px){
  .g-faq-sec{gap:32px}
  .g-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:8px 0;cursor:pointer}
  .g-faq summary .g-sous-titre{font-size:17px}
  .g-faq__n{display:none}
  .g-faq__plus{display:block;font-size:24px;font-weight:400;color:var(--azur-clair-lisible);line-height:1;transition:transform .2s}
  .g-faq details[open] .g-faq__plus{transform:rotate(45deg)}
  .g-faq__r,[dir="rtl"] .g-faq__r{padding:0 0 18px;font-size:16px}
}

/* ---------- Fin de page ---------- */
.g-fin{padding-block:112px}
.g-fin__rang{display:flex;justify-content:space-between;align-items:center;gap:80px}
.g-fin .g-chapo{margin:20px 0 32px;color:var(--nuit-t2)}
.g-fin__note{margin-top:18px;color:var(--nuit-t3)}
.g-assurances{width:440px;flex-shrink:0;border-bottom:1px solid var(--filet-nuit)}
.g-assurances li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--filet-nuit)}
.g-assurances svg{position:relative;top:2px}
.g-assurances strong{display:block;font-size:18px;font-weight:600}
.g-assurances span{display:block;margin-top:3px;font-size:15px;line-height:1.45;color:var(--nuit-t2)}
.g-assurances-ligne{display:none}
@media (max-width:1099px){.g-fin__rang{flex-direction:column;align-items:stretch;gap:44px}.g-assurances{width:auto}}
@media (max-width:767px){
  .g-fin{padding-block:64px}
  .g-fin .g-chapo{margin:14px 0 24px}
  .g-assurances{display:none}
  .g-assurances-ligne{display:block;margin-top:24px;padding-top:18px;border-top:1px solid var(--filet-nuit);color:var(--nuit-t2);font-size:15px;line-height:1.3;text-align:center}
  .g-fin__rang{gap:0}
}

/* ---------- Pied de page ---------- */
.g-pied{background:var(--nuit-profonde);padding:72px 0 36px;color:var(--nuit-t2)}
.g-pied__rang{display:flex;justify-content:space-between;gap:64px}
.g-pied__marque{display:flex;flex-direction:column;gap:18px;width:300px;flex-shrink:0}
.g-pied__marque img{width:180px;height:67px}
.g-pied__marque p{color:var(--nuit-t3);font-size:15px;line-height:1.45}
.g-pied__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px;flex-grow:1;max-width:780px}
.g-pied__col{display:flex;flex-direction:column;gap:12px}
.g-pied__col h2{color:var(--nuit-t3);margin-bottom:4px}
.g-pied__col a{color:var(--nuit-t2);font-size:15px;line-height:1.3}
.g-pied__col a:hover{color:var(--blanc)}
.g-pied__legal{margin-top:56px;padding-top:22px;border-top:1px solid var(--filet-nuit);color:var(--nuit-t3);font-size:14px;line-height:1.5}
@media (max-width:1099px){.g-pied__rang{flex-direction:column;gap:40px}.g-pied__cols{max-width:none;gap:32px}}
@media (max-width:767px){
  .g-pied{padding:48px 0 28px}
  .g-pied__rang{gap:36px}
  .g-pied__marque{width:auto}
  .g-pied__marque img{width:150px;height:56px}
  .g-pied__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  /* .g-pied__col--tel-non n'est plus masquée (revue du 09/10) : sur MSP, c'était le seul chemin
     vers la page Infogéreurs ; sur Perso, celui de « Vérifier un message » */
  .g-pied__legal{margin-top:36px}
}

/* ---------- Barre d'action fixe, téléphone ---------- */
.g-barre{display:none}
@media (max-width:767px){
  .g-barre{display:flex;gap:10px;position:fixed;z-index:50;inset-inline:0;bottom:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:rgba(5,12,26,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--filet-nuit);transition:transform .28s var(--courbe)}
  .g-barre .g-btn{flex:1 1 auto;min-height:48px}
  .js .g-barre--cachee{transform:translateY(110%)}
  body.g-avec-barre{padding-bottom:72px}
}

/* Arabe. Archivo n'a pas de lettres arabes : le navigateur prend la police arabe du système
   (Segoe UI sous Windows, Geeza Pro sous macOS et iOS, Noto Sans Arabic sous Android), et
   Archivo garde les noms de marque et les chiffres latins. L'arabe ne s'espace pas, ne passe
   pas en capitales et ne supporte pas l'interligne serré des titres latins. */
:root:lang(ar){--police:"Archivo","Segoe UI","Geeza Pro","Noto Sans Arabic","Noto Naskh Arabic",Tahoma,sans-serif}
:lang(ar) *{letter-spacing:0 !important}
:lang(ar) .g-etiquette{text-transform:none;font-size:calc(var(--t-etiquette) + 2px)}
:lang(ar) .g-titre-page{line-height:1.22}
:lang(ar) .g-titre-sec,:lang(ar) .g-titre-fin{line-height:1.3}
:lang(ar) .g-titre-bloc,:lang(ar) .g-sous-titre{line-height:1.4}
:lang(ar) body{line-height:1.7}

/* Le mouvement est dans systeme/mouvement.css, assemblé à la suite par build.py. */

/* ==========================================================================
   Composants des pages d'accueil Perso, Pro et MSP. Même système, mêmes jetons :
   ce fichier est assemblé à la suite de galyct-sys.css par build.py, et servi
   comme UNE seule feuille.
   ========================================================================== */

/* ---------- Le fil (consigne du 06/10, section 9) ----------
   Le tracé de Hans, une seule forme, jamais étirée : le cadre garde ses 5 pour 1.
   Sur ordinateur, chaque libellé est posé sur son point (au-dessus des crêtes, sous le
   creux et le bout) ; dans une colonne étroite, la liste se lit sous le fil. */
.g-filc{container-type:inline-size;margin-top:40px}
.g-filc__cadre{position:relative;padding:48px 0 56px}
.g-filc__svg{display:block;width:100%;height:auto;overflow:visible}
.g-filc__effile{fill:#fff;filter:drop-shadow(0 0 5px rgba(0,169,232,.9)) drop-shadow(0 0 14px rgba(0,169,232,.45))}
.g-filc__constant{display:none;stroke:#fff}
.g-filc__trace{stroke-dasharray:1076}
.g-filc__pt{fill:#fff;filter:drop-shadow(0 0 5px #00A9E8)}
.g-filc__liste{list-style:none;margin:0;padding:0}
.g-filc__li{position:absolute;display:flex;align-items:baseline;gap:8px;white-space:nowrap;
  left:calc(var(--x) * 100%);top:calc(48px + var(--y) * 20cqw)}
.g-filc__n{font-family:var(--mono);font-size:12px;color:var(--azur-nuit)}
.g-filc__mot{font-size:16px;font-weight:600;color:var(--blanc)}
.g-filc__li--1{transform:translate(-14px,calc(-100% - 16px))}
.g-filc__li--3{transform:translate(-50%,calc(-100% - 16px))}
.g-filc__li--2{transform:translate(-50%,18px)}
.g-filc__li--4{left:auto;right:0;transform:translateY(18px)}
/* sur le papier : bleu nuit, sans lueur */
.g-sec--papier .g-filc__effile,.g-sec--blanc .g-filc__effile,.g-sec--papier .g-filc__pt,.g-sec--blanc .g-filc__pt{fill:var(--encre);filter:none}
.g-sec--papier .g-filc__mot,.g-sec--blanc .g-filc__mot{color:var(--encre)}
.g-sec--papier .g-filc__n,.g-sec--blanc .g-filc__n{color:var(--azur-clair-lisible)}
/* dans une colonne étroite : le fil en haut, la liste dessous, numéro par numéro */
@container (max-width:440px){
  .g-filc__cadre{padding:0}
  .g-filc__liste{display:grid;gap:12px;margin-top:22px}
  .g-filc__li,.g-filc__li--4{position:static;transform:none}
  .g-filc__mot{font-size:17px}
}
/* sous 120 px, le tracé constant remplace l'effilé */
@container (max-width:119px){.g-filc__effile{display:none}.g-filc__constant{display:inline}}
/* le tracé se dessine de gauche à droite, puis les points s'allument dans l'ordre */
@keyframes g-filc-trace{from{stroke-dashoffset:1076}to{stroke-dashoffset:0}}
.g-arme .g-filc__trace{stroke-dashoffset:1076}
.g-joue .g-filc__trace{animation:g-filc-trace 1.2s var(--courbe) .1s both}

/* ---------- Le sillage, sous le texte d'une fin de page (section 10) ----------
   Le haut de l'image, sombre, passe sous le bas du texte ; la vague reste dessous. */
.g-fin--sillage{container-type:inline-size;--sillage-fond:#000A27;padding-bottom:0;
  background:linear-gradient(180deg,var(--sillage-fond) 0,var(--sillage-fond) 70%,var(--nuit-profonde) 100%)}
.g-fin--sillage > .g-in{position:relative;z-index:1}
/* Hauteur bornée (décision de Hans du 08/10 : sur écran large, la vague faisait une bande vide
   de 850 px) : l'image est recadrée sur la vague ; sur téléphone, pas de sillage. */
.g-sillage{position:relative;overflow:hidden;--sillage-h:min(calc(100cqw * var(--sillage-ratio)), 400px);
  height:var(--sillage-h);margin-top:calc(var(--sillage-h) * -.18)}
@media (max-width:767px){.g-sillage{display:none}.g-fin--sillage{padding-bottom:56px}}
.g-sillage img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 80%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 80%,transparent 100%)}

/* ---------- Le bloc Nara (section 10) ---------- */
.g-blocnara{color:var(--blanc);background:linear-gradient(180deg,#050C1A 0,var(--nara-fond) 260px)}
.g-blocnara__rang{display:flex;align-items:center;gap:72px}
.g-blocnara__image{position:relative;flex:0 0 520px;aspect-ratio:1}
.g-blocnara__fond img{display:block;width:100%;height:auto;
  -webkit-mask-image:radial-gradient(closest-side,#000 50%,rgba(0,0,0,.6) 72%,transparent 100%);mask-image:radial-gradient(closest-side,#000 50%,rgba(0,0,0,.6) 72%,transparent 100%)}
/* n° 9 dans la zone sombre sous l'arc : centre à 66 % de la hauteur, 45 % de la largeur */
.g-blocnara__face{position:absolute;left:27.5%;width:45%;top:calc(66% - 45% * var(--face-ratio) / 2)}
.g-blocnara__face img{display:block;width:100%;height:auto}
.g-blocnara__texte{flex:1 1 auto;max-width:560px}
.g-blocnara .g-chapo{margin-top:20px;color:var(--nuit-t2)}
.g-blocnara__sigle{list-style:none;margin:28px 0 34px;padding:0;display:grid;gap:14px}
.g-blocnara__l{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start}
.g-blocnara__lettre{font-size:32px;font-weight:700;font-stretch:125%;line-height:1;color:var(--azur-nuit)}
.g-blocnara__l strong{display:block;font-size:18px;font-weight:600}
.g-blocnara__l div span{display:block;margin-top:2px;font-size:15px;line-height:1.45;color:var(--nuit-t2)}
.g-blocnara__note{margin-top:16px;color:var(--nuit-t3)}
@media (max-width:1099px){
  .g-blocnara__rang{flex-direction:column;align-items:stretch;gap:24px}
  .g-blocnara__image{flex:none;width:min(520px,100%);margin-inline:auto}
  .g-blocnara__texte{max-width:none}
}

/* ---------- En-tête complet (étape 3, 06/10/2026) ----------
   Une bande fine (écosystème, urgence, « Se connecter », langue) au-dessus de la ligne
   principale (logo, menus déroulants, action n° 1). Sur téléphone, tout passe dans le menu. */
.g-bande{height:36px;border-bottom:1px solid rgba(255,255,255,.09);font-size:13px}
.g-bande__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.g-eco{display:flex;align-items:center;gap:16px}
.g-eco a{color:var(--nuit-t3)}
.g-eco a[aria-current]{color:var(--blanc);font-weight:600}
.g-eco a:hover{color:var(--blanc)}
.g-bande__d{display:flex;align-items:center;gap:20px}
.g-bande__d .g-urgence{font-size:13px;color:var(--blanc)}
.g-bande__lien{color:var(--nuit-t2)}
.g-langue{position:relative}
.g-langue > summary{list-style:none;cursor:pointer;color:var(--nuit-t2);font-weight:600;letter-spacing:.04em}
.g-langue > summary::-webkit-details-marker{display:none}
.g-langue > summary::after,.g-nav-groupe > summary::after{content:"";display:inline-block;width:6px;height:6px;margin-inline-start:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.7}
.g-langue[open] > summary,.g-langue > summary:hover{color:var(--blanc)}
.g-langue .g-langues{position:absolute;z-index:30;inset-inline-end:0;top:calc(100% + 10px);flex-direction:column;flex-wrap:nowrap;gap:0;margin:0;min-width:170px;padding:8px;border-radius:var(--angle);background:#0B1E42;border:1px solid rgba(127,211,247,.28);box-shadow:var(--ombre-panneau)}
.g-langue .g-langues a{padding:8px 10px;border-radius:4px;font-size:14px}
.g-langue .g-langues a:hover{background:rgba(255,255,255,.06);color:var(--blanc)}
.g-tete-site--complete .g-tete__g{gap:40px}
.g-tete-site--complete .g-tete__nav{gap:24px}
.g-nav-groupe{position:relative}
.g-nav-groupe > summary{list-style:none;cursor:pointer;color:var(--nuit-t2);font-size:15px;font-weight:500;white-space:nowrap}
.g-nav-groupe > summary::-webkit-details-marker{display:none}
.g-nav-groupe[open] > summary,.g-nav-groupe > summary:hover{color:var(--blanc)}
.g-nav-panneau{position:absolute;z-index:30;inset-inline-start:-18px;top:calc(100% + 22px);width:340px;padding:10px;border-radius:var(--angle);background:#0B1E42;border:1px solid rgba(127,211,247,.28);box-shadow:var(--ombre-panneau)}
.g-nav-panneau a{display:block;padding:10px 12px;border-radius:4px}
.g-nav-panneau a:hover,.g-nav-panneau a:focus-visible{background:rgba(255,255,255,.06)}
.g-nav-panneau b{display:block;color:var(--blanc);font-size:15px;font-weight:600}
.g-nav-panneau small{display:block;margin-top:2px;color:var(--nuit-t2);font-size:13px;line-height:1.4}
.g-menu__groupe{margin:18px 0 2px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--azur-nuit)}
.g-menu__eco{display:flex;flex-wrap:wrap;gap:4px 18px}
.g-menu__eco a{min-height:40px;border-bottom:0!important}
.g-menu__panneau .g-langues{margin:16px 0 0}
.g-menu__panneau{max-height:calc(100dvh - 140px);overflow-y:auto}
/* l'ouverture descend de la hauteur de la bande, sa composition ne change pas */
body:has(.g-tete-site--complete) .g-ouv--sol{--sol-y:642px}
body:has(.g-tete-site--complete) .g-ouv--pro{min-height:916px}
body:has(.g-tete-site--complete) .g-ouv__texte{padding-top:176px}
/* Perso : ouverture de 720 px que la carte de tri recouvre dès 632 px. L'horizon remonte à 570 px et
   le n° 2, assis, plus haut que les autres poses, est un peu plus petit : il reste entier au-dessus de
   la carte. Les voiles propres à l'ancienne scène de Perso cèdent à ceux du sol. */
@media (min-width:1100px){
  body:has(.g-tete-site--complete) .g-ouv--perso.g-ouv--sol{--sol-y:570px;--bete-l:clamp(360px,32cqw,480px)}
}
.g-ouv--perso.g-ouv--sol .g-ouv__voile--cote{inset-inline-start:0;width:780px;max-width:70%;
  background:linear-gradient(90deg,rgba(0,11,28,.86) 0,rgba(0,11,28,.56) 52%,rgba(0,11,28,0) 100%)}
/* De 768 à 1 099 px, la carte de tri remonte de 104 px sur l'ouverture : la bande de l'animal
   lui laisse cette place, sinon la carte coupe les pattes (vu par Hans le 08/10) */
@media (min-width:768px) and (max-width:1099px){
  .g-ouv--perso.g-ouv--sol{--bete-bas:176px}
}
/* L'arête lumineuse suit le bord VISIBLE de l'ouverture, au-dessus de la carte de tri qui la
   recouvre (104 px, 28 sous 768) ; sinon elle traverse le papier de part et d'autre de la carte */
.g-ouv--perso .g-arete{bottom:104px}
@media (max-width:767px){.g-ouv--perso .g-arete{bottom:28px}}
.g-ouv--perso.g-ouv--sol .g-ouv__voile--haut{height:220px;background:linear-gradient(180deg,rgba(0,11,28,.75) 0,rgba(0,11,28,0) 100%)}
.g-ouv--perso.g-ouv--sol .g-ouv__voile--bas{background:linear-gradient(0deg,rgba(0,11,28,.96) 0,rgba(0,11,28,.6) 50%,rgba(0,11,28,0) 100%)}
@media (max-width:767px){
  .g-bande{display:none}
  body:has(.g-tete-site--complete) .g-ouv__texte{padding-top:84px}
}

/* ---------- Accès au cockpit : le court formulaire avant la visite (06/10/2026) ---------- */
.g-acces{max-width:760px;margin-inline:auto}
.g-acces__grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.g-acces__grille label{display:block}
.g-acces__accord{display:flex;gap:10px;align-items:flex-start;font-weight:400!important;font-size:14px!important;line-height:1.45;color:var(--gris)}
.g-acces__accord input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--azur-clair-lisible)}
.g-acces__accord a{color:var(--azur-clair-lisible);text-decoration:underline}
.g-acces__piege{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);border:0!important}
.g-acces__erreur{color:#B42318;font-size:15px}
.g-acces__deja{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:15px;color:var(--gris)}
.g-acces__deja[hidden],.g-acces__erreur[hidden]{display:none}
@media (max-width:767px){.g-acces__grille{grid-template-columns:1fr}}

/* ---------- En-tête : nom du site, téléphone ---------- */
.g-tete__tel{color:var(--blanc);font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.g-tete__tel:hover{color:var(--azur-nuit)}

/* ---------- Ouverture Perso : 720 px, scène décalée à droite, pas de bouton ;
   la carte de tri vient chevaucher le bas ---------- */
.g-ouv--perso{min-height:720px}
.g-ouv--perso .g-ouv__scene{inset-inline-start:auto;inset-inline-end:0;top:96px;width:min(1100px,76.4%)}
.g-ouv--perso .g-ouv__voile--cote{inset-inline-start:calc(100% - min(1100px,76.4%));width:420px;max-width:none;background:linear-gradient(90deg,#091830 0,rgba(9,24,48,0) 100%)}
[dir="rtl"] .g-ouv--perso .g-ouv__voile--cote{background:linear-gradient(270deg,#091830 0,rgba(9,24,48,0) 100%)}
.g-ouv--perso .g-ouv__voile--haut{height:230px;background:linear-gradient(180deg,#091830 0,#091830 96px,rgba(9,24,48,0) 230px)}
.g-ouv--perso .g-ouv__voile--bas{height:200px;background:linear-gradient(0deg,rgba(5,12,26,.95) 0,rgba(5,12,26,0) 100%)}
.g-ouv--perso .g-ouv__texte{padding-top:132px;padding-bottom:150px}
.g-ouv--perso .g-ouv__texte > div{max-width:760px}
.g-ouv--perso .g-titre-page{font-size:clamp(38px,calc(38px + 30 * var(--fluide)),68px)}
.g-ouv--perso .g-ouv__chapo{margin-top:28px;max-width:470px}
.g-ouv--perso .g-ouv__note{margin-top:16px}
@media (max-width:767px){
  .g-ouv--perso{min-height:0}
  .g-ouv--perso .g-ouv__texte{padding-top:84px;padding-bottom:24px}
  .g-ouv--perso .g-ouv__chapo{margin-top:16px}
  .g-ouv--perso .g-ouv__note{margin-top:12px}
  .g-ouv--perso .g-ouv__scene{position:relative;inset:auto;width:auto;height:150px}
  .g-ouv--perso .g-ouv__scene img{inset-inline-start:calc(50% - 445px);top:-110px;width:640px;height:360px}
  .g-ouv--perso .g-ouv__scene::after{height:80px}
}

/* ---------- Carte de tri (cahier : carte blanche à cheval sur la nuit et le papier) ---------- */
.g-tri-sec{position:relative;background:var(--papier);padding-bottom:56px}
.g-tri{position:relative;z-index:3;margin-top:-104px;padding:26px 30px 30px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);box-shadow:0 50px 90px -40px rgba(3,8,20,.55)}
.g-tri__tete{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px}
.g-tri__titre{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.g-tri__mention{color:var(--gris)}
.g-tri__grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.g-tri__choix{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:12px 18px;border:1px solid var(--filet);border-radius:var(--angle);background:var(--blanc);color:var(--encre);font-size:16px;font-weight:600}
.g-tri__choix:hover{color:var(--encre);border-color:var(--filet-fort)}
.g-tri__choix > span{display:flex;flex-direction:column;gap:2px}
.g-tri__d{font-size:13px;font-weight:400;color:var(--gris)}
.g-tri__choix .g-fleche{color:var(--azur-clair-lisible)}
.g-tri__expert{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:72px;padding:10px 18px;border-radius:var(--angle);background:var(--encre);color:var(--blanc)}
.g-tri__expert:hover{color:var(--blanc);background:#13274d}
.g-tri__expert span{font-size:13px;color:var(--nuit-t2)}
.g-tri__expert b{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}
.g-tri__pied{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:16px;font-size:15px;line-height:1.3;color:var(--gris)}
.g-tri__pied .g-suite{font-size:15px}
@media (max-width:1099px){.g-tri__grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .g-tri-sec{padding-bottom:28px}  /* 36 sur la maquette : 8 px rendus pour passer sous les 8 000 px du cahier */
  .g-tri{margin-top:-28px;padding:20px 18px 18px}
  .g-tri__tete{margin-bottom:10px}
  .g-tri__titre{font-size:22px}
  .g-tri__grille{grid-template-columns:1fr;gap:0}
  .g-tri__choix{min-height:54px;padding:6px 0;border:0;border-top:1px solid var(--filet);border-radius:0}
  .g-tri__choix.g-carte:hover{transform:none}
  .g-tri__expert{min-height:64px;margin-top:14px;padding:10px 16px}
  .g-tri__expert b{font-size:20px}
  .g-tri__pied{margin-top:14px}
}

/* ---------- Liste numérotée (cahier : numéro « 01 » en 30 px, titre en sous-titre, filets fins) ---------- */
.g-liste-num{border-bottom:1px solid var(--filet)}
.g-liste-num li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid var(--filet)}
.g-num{font-size:30px;line-height:1;font-weight:500;font-stretch:118%;color:var(--azur-clair-lisible);font-variant-numeric:tabular-nums}
.g-liste-num p{margin-top:6px;font-size:17px;color:var(--gris)}
@media (max-width:767px){
  .g-liste-num li{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:18px 0}
  .g-num{font-size:24px}
  .g-liste-num .g-sous-titre{font-size:20px}
  .g-liste-num p{font-size:16px}
}

/* ---------- Urgence Perso ---------- */
.g-urg{padding-block:96px}
.g-urg__g{flex:0 1 470px}
.g-urg__etq{display:flex;align-items:center;gap:10px;color:var(--encre)}
.g-urg__etq .g-point{box-shadow:none}
.g-urg__g .g-titre-sec{margin:18px 0 32px}
.g-btn--urgence{gap:12px;background:var(--encre);color:var(--blanc);border-color:var(--encre)}
.g-btn--urgence:hover{background:#13274d;color:var(--blanc)}
.g-btn--urgence .g-point{box-shadow:0 0 0 4px rgba(229,72,77,.3)}
.g-urg__d{flex:0 1 660px;width:100%}
@media (max-width:767px){
  .g-urg{padding-block:56px}
  .g-urg__g{flex-basis:auto}
  .g-urg__g .g-titre-sec{margin:12px 0 22px}
  .g-btn--urgence{width:100%}
}

/* ---------- Démonstration « vérifier un message » ---------- */
.g-msg__exp{font-family:var(--mono);font-size:12px;color:var(--nuit-t3);margin-bottom:8px}
.g-msg{padding:14px 16px;border-radius:var(--angle);background:rgba(255,255,255,.09);font-size:17px;line-height:1.45}
.g-msg__signaux{margin:22px 0 10px;color:var(--ambre)}
.g-msg__plan{margin:24px 0 12px;color:var(--azur-nuit)}
.g-signaux{display:flex;flex-direction:column;gap:8px}
.g-signal{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--angle);border:1px solid rgba(255,180,84,.55);background:rgba(255,180,84,.08);font-size:16px;font-weight:500}
.g-plans{display:flex;flex-direction:column;gap:10px}
.g-plan{display:flex;align-items:center;gap:12px;font-size:16px}
.g-plan svg,.g-signal svg{flex-shrink:0}
.g-ver__action{margin-top:32px}
.g-demo > .g-rejouer{align-self:flex-start}
@media (max-width:767px){
  .g-msg{font-size:16px}
  .g-signal,.g-plan{font-size:15px}
  .g-ver__action{margin-top:24px}
  .g-demo#g-demo-message{padding-top:20px}
}

/* ---------- Comment ça marche + dossier (cahier : feuille blanche, bordure filet,
   deuxième feuille décalée de 14 px derrière) ---------- */
.g-com{gap:88px}
.g-com__g{flex:0 1 660px}
.g-com__tete{margin-bottom:36px}
.g-dossier{position:relative;flex:0 0 436px;margin:72px 14px 14px 0}
.g-dossier::before{content:"";position:absolute;inset:14px -14px -14px 14px;border-radius:var(--angle);background:#F6F8FB;border:1px solid #D5DDE8}
[dir="rtl"] .g-dossier::before{inset:14px 14px -14px -14px}
.g-dossier__feuille{position:relative;padding:26px 28px 24px;border-radius:var(--angle);background:var(--blanc);border:1px solid #D5DDE8;box-shadow:0 34px 70px -34px rgba(10,23,48,.34),0 2px 6px rgba(10,23,48,.05)}
.g-dossier__tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.g-dossier__tete strong{font-size:18px;font-weight:600}
.g-dossier__tete .g-etiquette{color:var(--gris)}
.g-dossier__sujet{margin:6px 0 16px;font-size:14px;color:var(--gris)}
.g-dossier__ligne{display:grid;grid-template-columns:58px minmax(0,1fr) 62px;gap:14px;align-items:baseline;padding:15px 0;border-top:1px solid #E3E9F1;font-size:16px;line-height:1.35;font-weight:500}
.g-dossier__ligne .g-mono{font-size:13px;font-weight:400;color:var(--gris)}
.g-dossier__ligne .g-mono:last-child{font-size:12px;text-align:end}
.g-dossier__scelle{margin-top:6px;padding:16px 18px;border-radius:4px;background:#F2F5FA;display:flex;flex-direction:column;gap:8px}
.g-dossier__scelle > span:first-child{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}
.g-dossier__scelle .g-mono{font-size:12px;line-height:1.5;color:var(--gris)}
@media (max-width:1099px){.g-com{gap:44px}.g-com__g,.g-urg__g,.g-urg__d{flex:none;width:100%}.g-dossier{flex-basis:auto;width:100%;max-width:436px;margin-top:0}}
@media (max-width:767px){
  .g-com{gap:32px}
  .g-com__tete{margin-bottom:24px}
  .g-dossier{margin:0}
  .g-dossier::before{display:none}
  .g-dossier__feuille{padding:22px 20px 20px}
  .g-dossier__ligne{grid-template-columns:50px minmax(0,1fr) 56px;gap:10px;padding:13px 0;font-size:15px}
  .g-dossier__scelle .g-mono{font-size:11px}
}

/* ---------- Tuiles (cahier : carte blanche, numéro en 13 px azur, titre 20 px, une ligne de note) ---------- */
.g-tuiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.g-tuile{display:flex;flex-direction:column;gap:8px;padding:22px 22px 24px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);box-shadow:0 30px 50px -40px rgba(9,24,48,.35)}
.g-tuile__n{font-size:13px;font-weight:500;font-stretch:118%;color:var(--azur-clair-lisible);font-variant-numeric:tabular-nums}
.g-tuile h3{font-size:20px;line-height:1.22;font-weight:600;letter-spacing:-.012em}
.g-tuile p{font-size:15px;line-height:1.45;color:var(--gris)}
@media (max-width:1099px){.g-tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.g-tuiles{gap:12px}.g-tuile{padding:16px 16px 18px}.g-tuile h3{font-size:17px}}

/* ---------- Formules de prix (cahier : carte blanche, filet haut encre de 3 px ;
   la formule mise en avant en nuit, filet néon, bouton principal ; prix en 50 px) ---------- */
.g-formules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g-formule{display:flex;flex-direction:column;padding:28px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--encre);box-shadow:0 30px 50px -40px rgba(9,24,48,.3)}
.g-formule--avant{color:var(--blanc);background:radial-gradient(520px 380px at 80% 0%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%);border-color:rgba(127,211,247,.45);border-top-color:var(--neon);box-shadow:0 50px 90px -50px rgba(9,24,48,.6)}
.g-formule__tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.g-formule__marque{color:var(--azur-nuit)}
.g-formule__prix{display:flex;align-items:baseline;gap:8px;margin-top:16px;min-height:72px}
.g-formule__montant{font-size:clamp(42px,calc(42px + 8 * var(--fluide)),50px);line-height:1;font-weight:500;font-stretch:118%;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.g-formule__avant,.g-formule__unite{font-size:15px;color:var(--gris)}
.g-formule--avant .g-formule__avant,.g-formule--avant .g-formule__unite{color:var(--nuit-t2)}
.g-formule__d{margin-top:14px;min-height:53px;font-size:17px;color:var(--gris)}
.g-formule--avant .g-formule__d{color:var(--nuit-t2)}
.g-formule__liste{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.g-formule__liste li{display:flex;align-items:baseline;gap:10px;font-size:16px;line-height:1.45}
.g-formule--avant .g-formule__liste li{color:var(--nuit-t2)}
.g-formule__liste svg{position:relative;top:-1px;flex-shrink:0}
.g-formule__pied{margin-top:auto;padding-top:24px}
.g-formule__pied .g-btn{width:100%}
.g-formule__bientot{display:flex;align-items:center;min-height:54px;font-size:15px;color:var(--gris)}
.g-formules__note{margin-top:28px;max-width:860px}
.g-formules__note strong{color:var(--encre);font-weight:600}
@media (max-width:1023px){.g-formules{grid-template-columns:1fr;max-width:520px}}
@media (max-width:767px){
  .g-formules{gap:16px}
  .g-formule{padding:22px 20px}
  .g-formule .g-sous-titre{font-size:20px}
  .g-formule__prix{min-height:0}
  .g-formule__d{min-height:0;font-size:16px}
  .g-formules__note{margin-top:20px}
}

/* ---------- Engagements (liste à coches et à croix) ---------- */
.g-engages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.g-engage .g-sous-titre{margin-bottom:14px}
.g-engage ul{border-bottom:1px solid var(--filet)}
.g-engage li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--filet);font-size:17px;line-height:1.55;color:var(--gris)}
.g-engage li svg{position:relative;top:3px}
.g-engage strong{color:var(--encre);font-weight:600}
@media (max-width:1023px){.g-engages{grid-template-columns:1fr;gap:32px}}
@media (max-width:767px){.g-engage .g-sous-titre{font-size:20px}.g-engage li{font-size:16px}}

/* ---------- Qui nous sommes : trois faits vérifiables ---------- */
.g-quis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.g-qui{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid #D5DDE8}
.g-qui p{font-size:17px;color:var(--gris)}
.g-qui .g-suite{font-size:15px}
@media (max-width:1023px){.g-quis{grid-template-columns:1fr;gap:0;border-bottom:1px solid var(--filet)}.g-qui{gap:6px;padding:14px 0;border-top-color:var(--filet)}}
@media (max-width:767px){.g-qui .g-sous-titre{font-size:17px}}

/* ---------- Barre fixe : action principale et appel direct ---------- */
.g-barre .g-barre__appel{flex:0 0 auto;color:var(--blanc);border-color:rgba(255,255,255,.45)}

/* ==========================================================================
   Pro
   ========================================================================== */
.g-menu__panneau .g-menu__urgence{gap:10px;color:var(--blanc);font-weight:600}

/* Ouverture Pro : 880 px, mêmes voiles que galyct.io, pas de portes */
.g-ouv--pro{min-height:880px}
.g-ouv--pro .g-ouv__texte{padding-bottom:200px}
.g-ouv--pro .g-ouv__chapo{max-width:420px}
/* Sous 1 100 px, la capture remonte encore de 150 px : la bande de l'animal lui laisse cette place */
@media (max-width:1099px){
  .g-ouv--pro.g-ouv--sol{--bete-bas:186px}
  .g-ouv--pro.g-ouv--sol .g-ouv__texte{padding-bottom:8px}
}
@media (max-width:767px){
  .g-ouv--pro.g-ouv--sol{--bete-bas:64px}
  .g-ouv--pro{min-height:0}
  .g-ouv--pro .g-ouv__texte{padding-bottom:26px}
  .g-ouv--pro .g-ouv__scene img{inset-inline-start:calc(50% - 460px);top:-50px;width:600px;height:337px}
}

/* Le cockpit : capture réelle de 1 248 px, qui remonte de 150 px sur l'ouverture, bordure azur clair */
.g-capture-sec{position:relative;z-index:3;background:var(--papier);padding-bottom:56px}
.g-capture{margin:0}
.g-capture__cadre{display:block;position:relative;margin-top:-150px;height:600px;overflow:hidden;border-radius:var(--angle);background:#050B16;border:1px solid rgba(127,211,247,.35);box-shadow:0 60px 120px -40px rgba(5,12,26,.75)}
.g-capture__cadre img{width:100%;height:auto}
.g-capture figcaption{margin-top:14px}
@media (max-width:1279px){.g-capture__cadre{height:auto;aspect-ratio:1248/600}}
@media (max-width:767px){
  .g-capture-sec{padding-bottom:32px}
  .g-capture__cadre{margin-top:-40px;aspect-ratio:350/224}
}

/* Registre : l'étiquette de pièce en texte, pas en chiffres */
.g-ligne__p--texte{font-family:var(--police)}
.g-liste-num--nuit{margin-top:32px;border-bottom-color:var(--filet-nuit)}
.g-liste-num--nuit li{border-top-color:var(--filet-nuit);align-items:baseline}
.g-liste-num--nuit .g-num{color:var(--azur-nuit)}
.g-fil__etapes li{grid-template-columns:64px minmax(0,1fr)}

/* La plateforme : cinq univers et une boîte à outils, le nombre de modules en mono */
.g-univers-grille{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.g-univers{display:flex;flex-direction:column}
.g-univers__tete{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:2px solid var(--encre)}
.g-univers__tete h3{font-size:21px;line-height:1.22;font-weight:600;letter-spacing:-.012em}
.g-univers__tete .g-mono{font-size:12px;color:var(--azur-clair-lisible)}
.g-univers p{margin:10px 0 4px;min-height:37px;font-size:13px;line-height:1.4;color:var(--gris)}
.g-univers li{padding:9px 0;border-top:1px solid var(--filet);font-size:15px}
.g-univers li:first-child{border-top:0}
.g-ecrans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:72px}
.g-ecran{margin:0;display:flex;flex-direction:column;gap:12px}
.g-ecran__cadre{aspect-ratio:612/300;overflow:hidden;border-radius:var(--angle);background:#050B16;border:1px solid rgba(9,24,48,.2);box-shadow:0 40px 80px -40px rgba(9,24,48,.6)}
.g-ecran__cadre img{width:100%;height:100%;object-fit:cover;object-position:top left}
@media (max-width:1199px){.g-univers-grille{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}}
/* Étape 1d : par univers, le résultat, la preuve à ouvrir, le détail ; trois colonnes pour les lire */
.g-univers-grille:has(.g-univers__res){grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.g-univers .g-univers__res{min-height:0;margin:14px 0 0;font-size:17px;line-height:1.45;color:var(--encre)}
.g-univers .g-univers__preuve{min-height:0;margin:10px 0 14px;font-size:14px;line-height:1.45;color:var(--gris)}
.g-univers__preuve a{color:var(--azur-clair-lisible);text-decoration:underline;text-underline-offset:3px}
.g-univers__detail{margin-top:auto;font-size:15px}
@media (max-width:767px){.g-univers-grille:has(.g-univers__res){grid-template-columns:1fr;gap:28px}}

/* Étape 1d : trois moments où l'on vous demandera des comptes */
.g-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g-moment{display:flex;flex-direction:column;gap:12px;padding:28px 26px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--azur-clair-lisible)}
.g-moment__h{font-family:var(--mono);font-size:15px;color:var(--azur-clair-lisible)}
.g-moment .g-sous-titre{font-size:21px;line-height:1.3}
.g-moment__r{font-size:16px;line-height:1.5;color:var(--gris)}
.g-moment .g-suite{margin-top:auto;padding-top:6px}
@media (max-width:1023px){.g-moments{grid-template-columns:1fr;max-width:640px}}

/* Étape 1d : trois objections, près du prix */
.g-objections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 32px;margin:0 0 48px;padding:28px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.g-objections__titre{grid-column:1/-1;color:var(--azur-clair-lisible)}
.g-objection__q{font-size:18px;font-weight:600;line-height:1.35;color:var(--encre)}
.g-objection__r{margin-top:8px;font-size:15px;line-height:1.5;color:var(--gris)}
@media (max-width:1023px){.g-objections{grid-template-columns:1fr}}
.g-formule__apres{min-height:calc(3 * 1.45em);margin-top:12px;font-size:13px;line-height:1.45;color:var(--gris)}
.g-formule--avant .g-formule__apres{color:var(--nuit-t2)}
@media (max-width:767px){
  .g-univers-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .g-univers__tete h3{font-size:18px}
  .g-univers li{font-size:14px}
  .g-univers li:first-child{border-top:1px solid var(--filet)}
  .g-univers__tete{border-bottom:0}
  .g-ecrans{grid-template-columns:1fr;margin-top:40px}
  .g-ecran__cadre{aspect-ratio:350/172}
}

/* Ce qui change : deux colonnes, sans et avec */
.g-chg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--filet)}
.g-chg__th{align-self:end;padding:0 24px 14px;color:var(--gris)}
.g-chg__th--avec{padding-top:18px;color:var(--azur-clair-lisible);background:var(--blanc);border-top:3px solid var(--encre)}
.g-chg__s,.g-chg__a{display:grid;grid-template-columns:18px minmax(0,1fr);gap:14px;align-items:start;padding:20px 24px;border-top:1px solid var(--filet);font-size:17px}
.g-chg__s{color:var(--gris)}
.g-chg__a{color:var(--encre);font-weight:600;background:var(--blanc)}
.g-chg svg{position:relative;top:3px}
@media (max-width:767px){
  .g-chg{grid-template-columns:1fr}
  .g-chg__s,.g-chg__a{padding:14px 0;font-size:15px;background:none}
  .g-chg__a{padding-top:0;border-top:0}
}

/* Références : pastilles des secteurs, cartes d'intervention avec leur limite */
.g-pastilles{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:48px}
.g-pastille{padding:8px 14px;border-radius:var(--angle);border:1px solid var(--filet);background:var(--blanc);font-size:15px;font-weight:600;white-space:nowrap}
.g-interventions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.g-intervention{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:2px solid var(--encre)}
.g-intervention > .g-etiquette{color:var(--azur-clair-lisible)}
.g-intervention > p:not(.g-etiquette){font-size:17px;color:var(--gris)}
.g-intervention__limite{font-size:15px!important;line-height:1.45}
.g-intervention__limite strong{color:var(--encre);font-weight:600}
@media (max-width:1023px){.g-interventions{grid-template-columns:1fr;gap:28px}}
@media (max-width:767px){
  .g-pastilles{gap:8px;margin-bottom:28px}
  .g-pastille{font-size:13px}
  .g-intervention .g-sous-titre{font-size:20px}
}

/* Tarifs Pro : prix annuel, puis l'équivalent mensuel */
.g-formule__prix--mois{min-height:0}
.g-formule__mois{margin-top:8px;min-height:22px;font-size:15px;color:var(--gris)}
.g-formule--avant .g-formule__mois{color:var(--nuit-t2)}
.g-renvoi-cabinet{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:56px;padding-top:28px;border-top:1px solid var(--filet-fort)}
.g-renvoi-cabinet p{max-width:780px;font-size:20px;line-height:1.5}
.g-renvoi-cabinet strong{font-weight:600}
.g-renvoi-cabinet .g-suite{white-space:nowrap}
@media (max-width:767px){
  .g-renvoi-cabinet{flex-direction:column;align-items:flex-start;margin-top:36px;padding-top:22px}
  .g-renvoi-cabinet p{font-size:18px}
}

/* ==========================================================================
   MSP
   ========================================================================== */
.g-ouv--msp{min-height:900px}
@media (max-width:767px){.g-ouv--msp{min-height:0}.g-ouv--msp .g-ouv__scene img{inset-inline-start:calc(50% - 470px);top:-75px}}
.g-tete-sec--large{max-width:900px}

/* Schéma en trois temps (cahier) : trois cartes, celle du milieu en nuit ; retiré sur téléphone */
.g-schema{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g-schema__carte{display:flex;flex-direction:column;gap:8px;padding:22px 24px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet)}
.g-schema__carte p{font-size:17px;color:var(--gris)}
.g-schema__carte--coeur{color:var(--blanc);background:radial-gradient(420px 300px at 80% 0%,rgba(0,150,255,.22),rgba(0,150,255,0) 70%),linear-gradient(180deg,#0B1E42 0%,#071329 55%,#050C1A 100%);border-color:rgba(127,211,247,.45)}
.g-schema__carte--coeur p{color:var(--nuit-t2)}
@media (max-width:1023px){.g-schema{grid-template-columns:1fr}}

/* Liste à coches (cahier) : « Galyct MSP est » / « n'est pas » */
.g-coches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;margin-top:56px}
.g-coches .g-sous-titre{margin-bottom:12px}
.g-coches ul{border-bottom:1px solid var(--filet)}
.g-coches li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start;padding:11px 0;border-top:1px solid var(--filet);font-size:16px;line-height:1.45}
.g-coches svg{position:relative;top:3px}
@media (max-width:1023px){.g-coches{grid-template-columns:1fr;gap:28px}}
@media (max-width:767px){.g-coches{margin-top:0}.g-coches .g-sous-titre{font-size:20px}.g-coches li{font-size:15px}}

/* Multi-clients : la campagne C-118 */
.g-mc__note{margin-top:32px;padding-top:24px;border-top:1px solid var(--filet-nuit);font-size:17px;line-height:1.55;color:var(--nuit-t2)}
.g-camp__tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;padding-inline-end:90px}
.g-camp__tete .g-etiquette{color:var(--nuit-t3)}
.g-camp__objet{margin-bottom:14px;font-size:14px;color:var(--nuit-t2)}
.g-camp__rang{display:grid;grid-template-columns:126px minmax(0,1fr) 96px 52px;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--filet-nuit);font-size:15px}
.g-camp__rang b{font-weight:600}
.g-camp__rang > span:nth-child(2){color:var(--nuit-t2)}
.g-camp__rang .g-mono{font-size:12px;color:var(--azur-nuit);text-align:end}
.g-camp__bilan{display:flex;align-items:center;gap:10px;margin-top:14px;padding:14px 18px;border-radius:var(--angle);background:rgba(0,169,232,.10);border:1px solid rgba(0,169,232,.5);font-size:16px;font-weight:600}
.g-joue .g-camp__rang.g-on{animation:g-ligne .9s var(--courbe) both}
@media (max-width:767px){
  .g-mc__note{margin-top:24px;padding-top:18px;font-size:16px}
  .g-camp__tete{flex-direction:column-reverse;gap:8px;padding-inline-end:0}
  .g-camp__rang{grid-template-columns:104px minmax(0,1fr);gap:8px;padding:10px 0;font-size:13px}
  .g-camp__bilan{padding:12px 14px;font-size:14px}
}

/* Six blocs et Ma journée */
.g-tuiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1099px){.g-tuiles--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.g-journee{margin:40px 0 0}
.g-journee__panneau{padding:28px;border-radius:var(--angle);color:var(--blanc);background:linear-gradient(180deg,#0F2852 0%,#081530 100%);border:1px solid rgba(127,211,247,.42);box-shadow:0 50px 90px -50px rgba(9,24,48,.7)}
.g-journee__tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;font-size:18px}
.g-journee__tete b{font-weight:600}
.g-journee__tete > span:first-child > span{font-size:14px;color:var(--nuit-t2)}
.g-journee__tete .g-etiquette{color:var(--nuit-t3)}
.g-journee__grille{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:28px}
.g-compteurs{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.g-compteur{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:var(--angle);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04)}
.g-compteur b{font-size:34px;line-height:1;font-weight:500;font-stretch:118%;font-variant-numeric:tabular-nums}
.g-compteur span{font-size:13px;color:var(--nuit-t2)}
.g-journee__etq{margin-bottom:8px;color:var(--azur-nuit)}
.g-traiter{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--filet-nuit);font-size:15px}
.g-traiter b{font-weight:600}
.g-traiter .g-mono{font-size:12px;color:var(--ambre)}
.g-journee__nara{display:flex;flex-direction:column;gap:14px}
.g-nara{padding:14px 16px;border-radius:var(--angle);background:rgba(0,169,232,.12);border:1px solid rgba(0,169,232,.5)}
.g-nara p:last-child{font-size:14px;line-height:1.5}
.g-journee__conn{font-size:12px;color:var(--nuit-t2)}
.g-journee figcaption,.g-journee > .g-note{margin-top:14px;max-width:900px}
@media (max-width:1099px){.g-journee__grille{grid-template-columns:1fr 1fr}}
@media (max-width:767px){
  .g-journee{margin-top:24px}
  .g-journee__panneau{padding:18px}
  .g-journee__grille{grid-template-columns:1fr;gap:18px}
  .g-compteur b{font-size:28px}
}

/* Le modèle : quatre points */
.g-quis--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1023px){.g-quis--4{grid-template-columns:1fr}}
@media (max-width:767px){.g-modele .g-sous-titre{font-size:17px;font-weight:600}.g-modele{padding:13px 0}}

/* Intégrations : pastilles sur nuit, point vert « disponible », pointillés « prévu » */
.g-int{align-items:center}
.g-int__g{flex:0 1 460px}
.g-integs{display:flex;flex-wrap:wrap;gap:12px;flex:0 1 680px}
.g-integ{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:var(--angle);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);font-size:17px;font-weight:600;white-space:nowrap}
.g-integ__point{width:7px;height:7px;border-radius:50%;background:var(--vert);flex-shrink:0}
.g-integ--prevu{border-style:dashed;border-color:rgba(255,255,255,.3);background:none;color:var(--nuit-t2);font-weight:500}
@media (max-width:1099px){.g-int__g,.g-integs{flex:none;width:100%}}
@media (max-width:767px){.g-integs{gap:8px}.g-integ{padding:10px 12px;font-size:14px}}

/* Programme et Academy */
.g-prog{align-items:flex-end}
.g-prog__g{flex:0 1 640px}
.g-prog__tete{margin-bottom:32px}
.g-liste-num--serree li{padding:22px 0}
.g-academy{flex:0 0 500px;padding:30px 32px;border-radius:var(--angle);background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--encre);box-shadow:0 40px 70px -46px rgba(9,24,48,.45)}
.g-academy .g-titre-bloc{margin:14px 0 16px}
.g-academy__liste{border-bottom:1px solid var(--filet)}
.g-academy__liste li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--filet)}
.g-academy__liste svg{position:relative;top:3px}
.g-academy__liste li > span{display:flex;flex-direction:column;gap:2px}
.g-academy__liste b{font-size:17px;font-weight:600}
.g-academy__liste li > span > span{font-size:14px;color:var(--gris)}
.g-academy > .g-note{margin-top:16px}
@media (max-width:1099px){.g-prog__g,.g-academy{flex:none;width:100%}.g-academy{max-width:560px}}
@media (max-width:767px){
  .g-prog__tete{margin-bottom:22px}
  .g-liste-num--serree li{padding:16px 0}
  .g-academy{padding:22px 20px}
  .g-academy .g-titre-bloc{font-size:26px}
  .g-academy__liste b{font-size:16px}
}

/* Confiance : six chiffres */
.g-chiffres-msp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 40px}
.g-chiffre--msp{gap:8px}
.g-chiffre--msp .g-grand{font-size:40px;font-stretch:118%;letter-spacing:-.035em}
/* Un mot long traduit (« Herroepbaar », « Widerrufbar ») doit tenir dans une demi-colonne de
   téléphone : la taille suit l'écran, et la coupure avec trait d'union reste le dernier recours. */
.g-chiffre--msp .g-grand{hyphens:auto;overflow-wrap:break-word}
@media (max-width:767px){.g-chiffres-msp{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.g-chiffre--msp .g-grand{font-size:clamp(22px,6.6vw,28px)}}

/* Sélecteur de langue du pied de page (MSP a déjà sa version anglaise) */
.g-langues{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:36px;font-size:14px}
.g-langues a{color:var(--nuit-t2)}
.g-langues a[aria-current]{color:var(--blanc);font-weight:600}

/* ---------- Mouvement propre à ces composants ---------- */
.g-joue .g-signal.g-on,.g-joue .g-plan.g-on{animation:g-ligne .9s var(--courbe) both}
.g-tri__choix{transition:transform .28s var(--courbe),border-color .2s,box-shadow .28s var(--courbe)}
.g-tri__choix:hover{box-shadow:0 18px 30px -22px rgba(9,24,48,.45)}
@media (prefers-reduced-motion:reduce){.g-joue .g-signal.g-on,.g-joue .g-plan.g-on{animation:none}}

/* Un galyct entier sur un découpage du sol (composants.affut) : pages d'incident, cartes des
   applications de galyct.io. L'animal est toujours entier ; le sol se fond dans la nuit. */
/* hauteur par le rapport du sol (et non par un padding en %, qui se calcule sur la largeur du parent) */
.g-affut{position:relative;width:100%;aspect-ratio:var(--affut-ratio);pointer-events:none}
.g-affut__sol img{position:absolute;inset:0;width:100%;height:100%;display:block;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 56%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 56%,#000 30%,transparent 100%)}
.g-affut__bete{position:absolute;left:calc((100% - var(--affut-l)) / 2);width:var(--affut-l);top:var(--affut-top)}
.g-affut__bete picture{display:block}
.g-affut__bete img{display:block;width:100%;height:auto}
.g-affut__bete picture:first-child{position:relative;z-index:1}
.g-affut__bete picture + picture{position:absolute;left:0;right:0;top:calc(100% - 3%)}
.g-affut__r{transform:scaleY(-1);opacity:.4;filter:blur(1.4px);
  -webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 70%);mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 70%)}
/* Cartes des applications (galyct.io) : la figure se pose au bas de la scène, sur la nuit */
/* La figure a une largeur fixe (elle ne suit pas la carte) et son horizon se pose 8 px au-dessus du
   panneau de démonstration qui chevauche la scène (--chev) : l'animal reste entier, sous l'étiquette,
   à toutes les largeurs. L'horizon est à 25,66 % de la largeur de la figure depuis son bas. */
.g-appli__scene:has(.g-affut--carte){container-type:inline-size;--chev:76px;--w:min(360px,92cqw)}
.g-appli__scene .g-affut--carte{position:absolute;left:0;right:0;width:var(--w);margin-inline:auto;
  bottom:calc(var(--chev) + 8px - var(--w) * .2566)}
@media (max-width:767px){
  .g-appli__scene:has(.g-affut--carte){height:200px;--chev:52px;--w:min(250px,80cqw)}
}
.g-appli__scene:has(.g-affut--carte)::after{display:none}
/* l'ancienne règle des scènes (« img » de 888 px remontée de 130 px) ne s'applique pas à la figure */
.g-appli__scene .g-affut__sol img{position:absolute;inset:0;top:0;width:100%;height:100%;max-width:100%}
.g-appli__scene .g-affut__bete img,[dir="rtl"] .g-appli__scene .g-affut__bete img{position:static;top:auto;left:auto;width:100%;height:auto;max-width:100%}

/* Les trois portes de l'accueil de galyct.io sont la cible des liens « Trouver mon parcours » et
   « Choisir ma porte » (ancre #orienteur) : l'en-tête ne les recouvre pas à l'arrivée */
#orienteur{scroll-margin-top:140px}

/* ---------- Mouvement ----------
   Décision de Hans du 03/10/2026 : « plus présentes ET plus marquantes ». La règle
   du cahier « opacité et position seulement » est assouplie (échelle, rotation,
   tracé) ; restent intangibles : rien ne tourne en boucle, rien n'est animé sur
   les prix ni les formulaires, et « réduire les animations » coupe tout.
   Sans script, aucune classe n'arme quoi que ce soit : tout reste dans son état
   final. Le script arme (.g-arme, .g-rv-arme) puis joue (.g-joue, .g-rv-vu)
   quand l'élément entre dans l'écran. */
:root{--sens:1;--rebond:cubic-bezier(.34,1.56,.64,1)}
[dir="rtl"]{--sens:-1}
@keyframes g-entree{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes g-recul{from{opacity:.35;transform:scale(1.07)}to{opacity:1;transform:none}}
@keyframes g-monte{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes g-trace{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes g-allume{from{opacity:.18}to{opacity:1}}
@keyframes g-ligne{0%{opacity:.18;transform:translateX(calc(-16px * var(--sens)));background-color:rgba(0,169,232,0)}
  45%{opacity:1;transform:none;background-color:rgba(0,169,232,.16)}
  100%{opacity:1;transform:none;background-color:rgba(0,169,232,0)}}
@keyframes g-goutte{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes g-pose{0%{opacity:0;transform:rotate(-38deg) scale(1.7)}
  70%{opacity:1;transform:rotate(-7deg) scale(.93)}
  100%{opacity:1;transform:rotate(-10deg) scale(1)}}
@keyframes g-glisse{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes g-remplit{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes g-halo{0%{box-shadow:0 0 0 0 rgba(0,169,232,.65)}100%{box-shadow:0 0 0 18px rgba(0,169,232,0)}}

/* Ouverture : entrée en cascade, et la scène qui se pose une fois */
.js .g-up{animation:g-entree .8s var(--courbe) both}
.e1{animation-delay:.05s}.e2{animation-delay:.15s}.e3{animation-delay:.27s}.e4{animation-delay:.39s}.e5{animation-delay:.55s}
.js .g-ouv__scene img{animation:g-recul 1.8s var(--courbe) both}

/* Révélation des sections : chaque bloc monte à son entrée dans l'écran,
   en cascade (--rv est posé par le script). « backwards » et non « both » :
   une fois joué, le bloc rend la main à ses propres styles (survol compris). */
.g-rv-arme{opacity:0;transform:translateY(26px)}
.g-rv-vu{animation:g-monte .8s var(--courbe) backwards;animation-delay:var(--rv,0ms)}
.g-arete.g-rv-arme{opacity:1;transform:scaleX(0)}
.g-arete.g-rv-vu{animation:g-trace 1.4s var(--courbe) backwards;animation-delay:.2s;transform-origin:left center}
[dir="rtl"] .g-arete.g-rv-vu{transform-origin:right center}

/* Démonstrations */
.g-arme .g-on{opacity:.18}
.g-arme .g-w{transform:scaleX(0)}
.g-arme .g-sceau,.g-arme .g-dossier-remis{opacity:0}
.g-joue .g-on{animation:g-allume .55s var(--courbe) both}
.g-joue .g-ligne.g-on{animation:g-ligne .9s var(--courbe) both}
.g-joue .g-empreinte .g-on{animation:g-goutte .45s var(--courbe) both}
.g-joue .g-sceau.g-on{animation:g-pose .8s var(--rebond) both}
.g-joue .g-dossier-remis.g-on{animation:g-glisse .7s var(--courbe) both}
.g-joue .g-w{animation:g-remplit 1.1s var(--courbe) both}
.g-joue .g-ring{animation:g-halo 1.2s var(--courbe) 2 both}
.d1{animation-delay:.5s}.d2{animation-delay:1s}.d3{animation-delay:1.5s}.d4{animation-delay:2s}.d5{animation-delay:2.5s}
.d6{animation-delay:2.9s}.d7{animation-delay:3.05s}.d8{animation-delay:3.2s}.d9{animation-delay:3.35s}.d10{animation-delay:3.5s}
.d11{animation-delay:3.65s}.d12{animation-delay:3.8s}.d13{animation-delay:3.95s}.d14{animation-delay:4.3s}.d15{animation-delay:5s}

/* Survol : la carte se soulève, le liseré néon s'allume */
.g-carte{transition:transform .28s var(--courbe),box-shadow .28s var(--courbe),border-color .28s}
.g-carte:hover{transform:translateY(-4px)}
.g-porte:hover{border-top-color:var(--neon);box-shadow:0 30px 56px -24px rgba(0,0,0,.8),0 -1px 18px -6px rgba(159,224,255,.55)}
.g-appli.g-carte:hover{box-shadow:0 60px 100px -50px rgba(9,24,48,.65),0 2px 6px rgba(9,24,48,.06)}
.g-btn{transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--courbe),box-shadow .2s}
.g-btn:hover{transform:translateY(-1px)}

/* ---------- Les cinq mouvements (consigne du 06/10, section 12) ----------
   Chacun dépend d'une classe sur <html> (g-m-arrivee, g-m-trace, g-m-signal, g-m-sillage,
   g-m-ecrans), posée par build.py : retirer un nom de MOUVEMENTS coupe ce mouvement seul.
   g-m-pause (le bouton du pied de page) arrête ceux qui durent. Transform et opacity seulement,
   sauf le tracé du fil, qui suit son chemin comme la consigne le demande (section 9). */

/* 1. L'arrivée : l'animal apparaît et se pose, son reflet le suit */
@keyframes g-bete-pose{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes g-reflet{from{opacity:0}to{opacity:.42}}
.js.g-m-arrivee .g-ouv__bete-a{animation:g-bete-pose 1.6s var(--courbe) .35s both}
.js.g-m-arrivee .g-ouv__bete-r{animation:g-reflet 1.4s var(--courbe) .95s both}

/* 2. Le tracé : sans lui, le fil et ses points sont affichés entiers */
html:not(.g-m-trace) .g-filc .g-filc__trace{animation:none!important;stroke-dashoffset:0!important}
html:not(.g-m-trace) .g-filc .g-on{animation:none!important;opacity:1!important}

/* 3. Le signal : une lueur parcourt le fil de la tête à la queue (déclenchée par galyct-sys.js) */
html:not(.g-m-signal) .g-filc__signal,.g-m-pause .g-filc__signal{display:none}

/* 4. Le sillage respire : la vague glisse très lentement, un aller-retour en un peu plus d'une minute */
@keyframes g-respire{from{transform:scale(1.08) translateX(-2.6%)}to{transform:scale(1.08) translateX(2.6%)}}
.g-m-sillage .g-sillage img{transform:scale(1.08)}
.js.g-m-sillage .g-sillage.g-vit-vu img{animation:g-respire 33s ease-in-out infinite alternate}
.g-m-pause .g-sillage img{animation-play-state:paused!important}

/* 5. Les écrans vivent : trois captures réelles en fondu, repères et pause */
.g-defile .g-capture__cadre{position:relative}
.g-defile__img{display:block;width:100%;height:auto}
.g-defile__img:not(.is-vu){position:absolute;inset:0 0 auto 0;opacity:0;pointer-events:none}
.g-defile__img{transition:opacity .9s var(--courbe)}
.g-defile__barre{display:none}
.js .g-defile__barre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:14px}
.g-defile__reperes{display:flex;flex-wrap:wrap;gap:8px}
.g-defile__repere,.g-defile__pause{min-height:36px;padding:0 14px;border-radius:var(--angle);border:1px solid var(--filet);background:var(--blanc);color:var(--encre);font:500 14px/1 var(--police);cursor:pointer}
.g-defile__repere[aria-pressed="true"]{border-color:var(--azur-clair-lisible);color:var(--azur-clair-lisible);box-shadow:inset 0 -2px 0 var(--azur-clair-lisible)}
.g-defile__pause{border-color:transparent;background:transparent;color:var(--gris,#46546F);text-decoration:underline;text-underline-offset:3px}
.g-defile__leg:not(.is-vu){display:none}
html:not(.g-m-ecrans) .g-defile__pause{display:none}

/* Le bouton du pied de page */
.g-pied__mvt{margin-top:18px}
.g-pied__mvt button{padding:0;border:0;background:none;color:var(--nuit-t2);font:400 14px/1.4 var(--police);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.g-pied__mvt button:hover{color:var(--blanc)}

@media (prefers-reduced-motion:reduce){
  .js.g-m-arrivee .g-ouv__bete-a,.js.g-m-arrivee .g-ouv__bete-r,.js.g-m-sillage .g-sillage.g-vit-vu img{animation:none}
  .g-filc__signal,.g-defile__pause,.g-pied__mvt{display:none}
  .g-defile__img{transition:none}
  .js .g-up,.js .g-ouv__scene img,.g-rv-vu,.g-joue .g-on,.g-joue .g-w,.g-joue .g-ring,
  .g-joue .g-ligne.g-on,.g-joue .g-sceau.g-on,.g-joue .g-dossier-remis.g-on,.g-joue .g-empreinte .g-on{animation:none}
  .g-rv-arme,.g-arme .g-on,.g-arme .g-sceau,.g-arme .g-dossier-remis{opacity:1}
  .g-rv-arme,.g-arme .g-w{transform:none}
  .g-arme .g-sceau{transform:rotate(-10deg)}
  .g-carte,.g-barre,.g-btn{transition:none}
  .g-carte:hover,.g-btn:hover{transform:none}
  .js .g-rejouer{display:none}
}

/* ==========================================================================
   Nara, le widget de conversation (consigne du 06/10, section 5, N5 et N6).
   Aux couleurs du système : jetons et polices de galyct-sys.css, rien de l'ancienne
   chatbot.css. Assemblé à la suite de la feuille du système par build.py.
   ========================================================================== */

/* L'onglet, au bord droit. Au-delà de 768 px il tient dans la marge de la page
   (--marge vaut au moins 51 px) : il ne recouvre ni texte ni bouton. */
.g-nw-onglet{position:fixed;z-index:60;right:0;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;width:44px;padding:12px 0 13px;
  border:1px solid rgba(127,211,247,.32);border-right:0;border-radius:var(--angle) 0 0 var(--angle);
  background:#0B1E42;color:var(--blanc);cursor:pointer;box-shadow:-8px 0 26px rgba(3,8,20,.45);
  transition:width .2s var(--courbe),border-color .2s,background-color .2s;-webkit-tap-highlight-color:transparent}
.g-nw-onglet .g-nw__visage{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#050C1A}
.g-nw-onglet__mot{writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;
  font:500 11px/1 var(--mono);letter-spacing:.24em;color:var(--azur-nuit);transition:color .2s}
.g-nw-onglet::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--azur);box-shadow:0 0 7px rgba(0,169,232,.8)}
.g-nw-onglet:hover,.g-nw-onglet:focus-visible{width:50px;border-color:var(--neon);background:#0F2852;outline:none}
.g-nw-onglet:hover .g-nw-onglet__mot,.g-nw-onglet:focus-visible .g-nw-onglet__mot{color:var(--blanc)}
.g-nw-onglet:focus-visible{box-shadow:0 0 0 3px rgba(0,169,232,.55)}

/* Le panneau, tiroir de nuit au bord droit */
.g-nw{position:fixed;z-index:70;right:0;top:0;width:min(400px,100vw);height:100dvh;
  display:flex;flex-direction:column;overflow:hidden;color:var(--blanc);font-family:var(--police);
  background:#071329;border-left:2px solid var(--azur);box-shadow:-30px 0 90px rgba(3,8,20,.62);
  opacity:0;transform:translateX(26px);pointer-events:none;transition:opacity .2s,transform .24s var(--courbe)}
.g-nw.g-nw--ouvert{opacity:1;transform:none;pointer-events:auto}
.g-nw[hidden]{display:none}
.g-nw__tete{display:flex;align-items:center;gap:12px;padding:14px;background:#0B1E42;border-bottom:1px solid var(--filet-nuit)}
.g-nw__ava{width:40px;height:40px;flex:none;border-radius:50%;overflow:hidden;background:#050C1A;box-shadow:0 0 0 1px rgba(127,211,247,.3)}
.g-nw__ava .g-nw__visage{width:100%;height:100%;object-fit:cover;display:block}
.g-nw__tt{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.g-nw__tt b{font-size:16px;font-weight:700;font-stretch:118%;letter-spacing:.08em}
.g-nw__tt span{display:inline-flex;align-items:center;gap:7px;margin-top:3px;font:500 10.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--azur-nuit)}
.g-nw__point{width:7px;height:7px;flex:none;border-radius:50%;background:var(--azur);box-shadow:0 0 0 3px rgba(0,169,232,.2)}
.g-nw__neuf,.g-nw__x{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--angle);background:transparent;color:var(--nuit-t2);cursor:pointer}
.g-nw__neuf{margin-inline-start:auto}
.g-nw__neuf:hover,.g-nw__x:hover{color:var(--blanc);background:rgba(255,255,255,.07)}
.g-nw__neuf svg,.g-nw__x svg,.g-nw__envoyer svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.g-nw__journal{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:11px;padding:18px 15px;background:#050C1A}
.g-nw__msg{max-width:88%;padding:11px 14px;border-radius:var(--angle);font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:break-word}
.g-nw__msg--nara{align-self:flex-start;background:#0B1E42;border:1px solid var(--filet-nuit);border-left:2px solid var(--azur)}
.g-nw__msg--moi{align-self:flex-end;background:#0F2852;border:1px solid rgba(127,211,247,.3)}
.g-nw__msg a{color:var(--azur-nuit);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.g-nw__attente{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:11px 14px;border-radius:var(--angle);background:#0B1E42;border:1px solid var(--filet-nuit)}
.g-nw__attente span{margin-inline-end:2px;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nuit-t2)}
.g-nw__attente i{width:6px;height:6px;border-radius:50%;background:var(--azur);opacity:.5;animation:g-nw-attente 1.2s infinite ease-in-out}
.g-nw__attente i:nth-child(3){animation-delay:.15s}.g-nw__attente i:nth-child(4){animation-delay:.3s}
@keyframes g-nw-attente{0%,80%,100%{opacity:.35;transform:none}40%{opacity:1;transform:translateY(-4px)}}
.g-nw__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.g-nw__sugg{display:flex;flex-wrap:wrap;gap:7px;padding:0 15px 8px;background:#050C1A}
.g-nw__sugg button{padding:8px 12px;border:1px solid rgba(127,211,247,.3);border-radius:var(--angle);background:transparent;color:var(--nuit-t1);font:500 13px/1.3 var(--police);cursor:pointer}
.g-nw__sugg button:hover{border-color:var(--azur);background:rgba(0,169,232,.1)}
.g-nw__pied{padding:11px 12px 9px;border-top:1px solid var(--filet-nuit);background:#071329}
.g-nw__saisie{display:flex;align-items:flex-end;gap:8px}
.g-nw__saisie textarea{flex:1;max-height:120px;resize:none;padding:10px 12px;border:1px solid rgba(127,211,247,.3);border-radius:var(--angle);background:#050C1A;color:var(--blanc);font:400 15px/1.4 var(--police);outline:none}
.g-nw__saisie textarea::placeholder{color:var(--nuit-t3)}
.g-nw__saisie textarea:focus{border-color:var(--azur);box-shadow:0 0 0 3px rgba(0,169,232,.25)}
.g-nw__envoyer{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--blanc);border-radius:var(--angle);background:var(--blanc);color:var(--encre);cursor:pointer}
.g-nw__envoyer:disabled{opacity:.45;cursor:default;background:transparent;color:var(--nuit-t2);border-color:rgba(127,211,247,.3)}
.g-nw__note{margin:8px 2px 0;font-size:11.5px;line-height:1.45;text-align:center;color:var(--nuit-t2)}
.g-nw__note a{color:var(--azur-nuit);text-decoration:underline;text-underline-offset:2px}
@media (max-width:560px){.g-nw{width:100vw}}

/* Sous 768 px, la marge de la page ne fait plus que 20 px : la page réserve à l'onglet
   sa gouttière, comme le faisait l'ancien widget. Pas d'onglet, pas de gouttière. */
@media (max-width:767px){
  .g-nw-onglet{width:36px;gap:8px;padding:10px 0 11px}
  .g-nw-onglet .g-nw__visage{width:26px;height:26px}
  .g-nw-onglet__mot{font-size:10px}
  body.g-nara-rail .g-in:not(.g-tete),body.g-nara-rail .g-ancien .wrap{padding-inline-end:calc(var(--marge) + 30px)}
}

@media (prefers-reduced-motion:reduce){
  .g-nw-onglet,.g-nw{transition:none}
  .g-nw__attente i{animation:none}
}
