/* =============================================================================
   FAB — feuille de style du portail (direction « CT », or sur fond nocturne)
   =============================================================================
   PROVENANCE : ce fichier est le bloc <style> de `maquette-fabnord-CT.html`,
   la version de référence remise le 18.09.2026 et validée par James WOORTMAN.
   Il est repris À L'IDENTIQUE, sans nettoyage ni réécriture : la maquette fait
   foi sur l'apparence, et toute retouche « d'amélioration » faite ici se
   paierait en écart avec la référence.

   Ce qui a changé par rapport à la maquette, et RIEN D'AUTRE :
     - les trois polices ne viennent plus de Google Fonts mais de ce serveur
       (assets/css/polices.css + assets/fonts/) — voir la règle RGPD du site,
       rappelée dans confidentialite.php et appliquée par la CSP de
       inc/bootstrap.php, qui n'autorise que 'self'.

   Les pages de compte, de tickets et d'administration n'utilisent PAS cette
   feuille seule : elles y ajoutent `legacy.css`, qui porte leurs composants
   (tableaux, formulaires longs, messages) reteintés dans la palette nocturne.

   DEUX RÈGLES DE PERFORMANCE, établies à la mesure sur la maquette et à ne
   pas enfreindre en retouchant ce fichier :
     1. ne jamais animer `transform` sur un <rect> SVG, ni `stroke-width` :
        les deux forcent un recalcul de mise en page à chaque image. Animer
        `stroke-dashoffset` à la place.
     2. une propriété personnalisée mise à jour au défilement se pose sur
        l'élément concerné, jamais sur `:root` — sur la racine, elle invalide
        le style de tout le document à chaque image.
   ============================================================================= */

/* Socle : jetons, boutons, barre, ouverture */
:root{ --abysse:#040B18; --nuit:#08283A; --texte:#F3F9FC; --alerte:#DCEFF9; --paon:#14A89B; --paon-clair:#3FC9BA; --ok:#14A89B; --hausse:#FF4D57; --f:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif; --f-mono:"DM Mono",Consolas,monospace; --r:18px; --r-sm:12px; --e2:8px; --e3:16px; --e4:24px; --e5:32px; --e6:48px; --e7:72px; --e8:104px; color-scheme:dark; }
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--abysse); color:var(--texte); font-family:var(--f); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:clip; }
body::before{ content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(60vw 50vh at 78% 8%, rgba(74,141,246,.16), transparent 70%),
    radial-gradient(50vw 45vh at 10% 60%, rgba(139,92,246,.10), transparent 70%),
    radial-gradient(50vw 40vh at 90% 95%, rgba(235,51,150,.08), transparent 70%); }
img, svg{ max-width:100%; }
a{ color:inherit; }
[hidden]{ display:none !important; }
.ic{ font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",var(--f); font-variant-emoji:text; }
.verre .degrade, .final .degrade, .marche[data-p="1"] .nb{ background:linear-gradient(100deg, var(--g1), var(--g2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; border-radius:6px; }
.masque{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.dedans{ max-width:var(--lg); margin:0 auto; padding-inline:var(--e4); }
.degrade{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.oeil{ font-family:var(--f-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--texte-3); }
.btn{ display:inline-flex; align-items:center; gap:10px; cursor:pointer; text-decoration:none; font-family:var(--f); font-weight:700; font-size:15px; letter-spacing:-.005em; padding:13px 22px; border-radius:99px; border:1px solid transparent; background:var(--grad-btn); transition:transform .18s, box-shadow .25s, filter .2s; }
.btn:hover{ transform:translateY(-1px); }
.btn .fl{ width:26px; height:26px; border-radius:50%; display:grid; place-items:center; }
.btn-verre{ background:rgba(14,43,60,.55); color:var(--texte); border-color:var(--bord-fort); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.btn-verre:hover{ border-color:rgba(255,214,150,.55); filter:none; box-shadow:0 0 0 1px rgba(255,214,150,.2), 0 10px 30px -14px rgba(255,181,71,.7); }
.btn-petit{ padding:9px 16px; font-size:13.5px; }
.lien-fl{ font-weight:700; font-size:14px; text-decoration:none; color:var(--focus); display:inline-flex; gap:6px; align-items:center; }
.lien-fl:hover{ text-decoration:underline; }
.verre{ position:relative; border-radius:var(--r); border:1px solid var(--bord); }
.verre-grad{ border-color:transparent; }
.verre-grad::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none; -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
:root{ --verre-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); --courbe:cubic-bezier(.22,.9,.24,1); }
.verre{ background:var(--verre-reflet), var(--verre-grain), var(--verre-fond); border-color:rgba(255,205,135,.12); box-shadow:var(--verre-aretes), 0 24px 60px -34px rgba(0,0,0,.9); }
.nav-in{ margin:0 auto; display:flex; align-items:center; gap:var(--e4); }
.marque{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.marque .nom{ display:grid; line-height:1.1; border-left:1px solid var(--bord-fort); padding-left:12px; }
.marque .nom span{ font-size:10.5px; color:var(--texte-3); }
.nav-actions{ display:flex; align-items:center; gap:8px; }
.rond{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; cursor:pointer; border:1px solid var(--bord); color:var(--texte); }
.rond:hover{ border-color:var(--bord-fort); }
.rond[aria-pressed="false"]{ color:var(--texte-3); }
.menu-mobile{ max-width:var(--lg); margin:8px auto 0; border-radius:18px; border:1px solid var(--bord); }
.menu-mobile a{ text-decoration:none; font-weight:600; }
.ouv-grille{ display:grid; gap:var(--e5); align-items:center; }
.ouverture h1{ font-weight:800; }
.ouverture h1 span{ display:block; }
.ouv-ligne{ color:var(--texte-2); }
.sites ul{ list-style:none; margin:var(--e4) 0 0; padding:0; flex-wrap:wrap; justify-content:center; }
.sites li{ font-weight:700; font-size:16px; letter-spacing:-.01em; color:var(--texte-2); opacity:.85; }
.tete h2{ font-weight:800; }
.tete p{ color:var(--texte-2); font-size:clamp(15px,1.2vw,17px); }
.trait{ width:56px; height:3px; border-radius:3px; background:var(--grad); margin:var(--e3) auto 0; }
.tete.gauche .trait{ margin-left:0; }

/* Sections : tableau de bord, forums, demande, masterclasses, support */
.barre{ height:5px; border-radius:5px; background:rgba(255,205,135,.14); overflow:hidden; margin:8px 0 6px; }
.barre i{ display:block; height:100%; border-radius:inherit; background:var(--grad); }
.tdb-haut{ display:flex; flex-wrap:wrap; gap:var(--e3); justify-content:space-between; }
.tdb-haut h3{ margin:0; font-weight:800; }
.segments{ display:inline-flex; padding:3px; border-radius:10px; background:rgba(4,17,24,.6); border:1px solid var(--bord); }
.segments button{ font:600 12.5px var(--f); color:var(--texte-2); background:none; border:0; padding:6px 12px; border-radius:8px; cursor:pointer; }
.segments button[aria-pressed="true"]{ color:var(--texte); background:rgba(255,181,71,.22); }
.illus{ font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); padding:4px 9px; border-radius:99px; border:1px dashed var(--bord-fort); }
.courbe{ position:relative; margin-top:var(--e4); }
.courbe svg{ width:100%; height:auto; display:block; overflow:visible; }
.courbe .axe{ font-family:var(--f-mono); font-size:10px; fill:var(--texte-3); }
.bulle{ position:absolute; transform:translate(calc(-100% - 16px),-50%); padding:8px 12px; border-radius:12px; white-space:nowrap; background:rgba(8,30,42,.9); border:1px solid rgba(255,214,150,.35); font-size:12px; pointer-events:none; }
.bulle b{ display:block; font-size:18px; font-weight:800; }
.bulle span{ font-weight:700; font-size:11.5px; }
.service{ display:flex; gap:10px; align-items:center; padding:10px 12px; border-radius:var(--r-sm); background:rgba(14,43,60,.55); border:1px solid var(--bord); }
.service .led{ width:9px; height:9px; border-radius:50%; flex:none; }
.service.maint .led{ background:transparent; border:1.5px solid var(--alerte); box-shadow:0 0 10px rgba(220,239,249,.45); animation:respire 2.4s ease-in-out infinite; }
.service b{ font-size:13.5px; display:block; }
.service span{ font-size:11.5px; color:var(--texte-3); }
.service .etat{ margin-left:auto; font-size:11.5px; font-weight:700; white-space:nowrap; }
.service.maint .etat{ color:var(--alerte); }
@keyframes respire{ 50%{ opacity:.35; } }
.podium{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--e4); align-items:end; }
.marche{ padding:var(--e4); text-align:left; cursor:pointer; color:inherit; font:inherit; width:100%; }
.marche:nth-child(1){ order:2; }
.marche:nth-child(2){ order:1; }
.marche:nth-child(3){ order:3; }
.marche[data-p="1"]{ padding-block:var(--e5); box-shadow:0 0 60px -20px rgba(240,160,50,.8); }
.rang{ display:inline-block; font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; padding:4px 10px; border-radius:99px; border:1px solid var(--bord-fort); color:var(--texte-2); }
.marche[data-p="1"] .rang{ background:var(--grad-btn); border-color:transparent; }
.marche .lb{ display:block; margin-top:var(--e3); font-weight:700; font-size:15px; line-height:1.35; min-height:2.7em; }
.marche .nb{ display:block; margin-top:var(--e2); font-size:40px; font-weight:800; letter-spacing:-.03em; }
.marche[data-p="1"] .nb{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.marche .ec{ font-size:12.5px; color:var(--texte-3); }
.classement{ display:flex; flex-wrap:wrap; gap:var(--e3); justify-content:space-between; align-items:center; margin:var(--e5) 0; padding:var(--e3) var(--e4); }
.classement p{ margin:0; font-size:14.5px; color:var(--texte-2); }
.classement b{ color:var(--texte); }
.rebours{ text-align:right; }
.rebours b{ font-size:30px; font-weight:800; }
.rebours b.degrade{ color:transparent; }
.rebours span{ display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.idees{ display:grid; gap:var(--e3); }
.idee{ padding:var(--e4); display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:var(--e4); align-items:start; }
.idee h3{ margin:0; font-size:19px; font-weight:800; letter-spacing:-.02em; }
.idee .meta{ font-size:12.5px; color:var(--texte-3); margin-top:4px; }
.idee p{ margin:var(--e2) 0 0; font-size:14.5px; color:var(--texte-2); max-width:62ch; }
.statut{ display:inline-block; margin-left:8px; font-size:11px; font-weight:700; padding:3px 9px; border-radius:99px; background:rgba(255,181,71,.16); color:var(--focus); vertical-align:middle; }
.etapes{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:var(--e3); max-width:520px; }
.etapes i{ height:4px; border-radius:4px; background:rgba(255,205,135,.16); }
.etapes i.fait{ background:var(--grad); }
.etapes-l{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; max-width:520px; font-size:10.5px; color:var(--texte-3); margin-top:5px; }
.vote-col{ display:grid; gap:10px; justify-items:start; }
.vote{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; font:700 14px var(--f); color:var(--texte); padding:10px 18px; border-radius:99px; background:rgba(14,43,60,.6); border:1px solid var(--bord-fort); }
.vote:hover{ border-color:rgba(255,214,150,.6); }
.vote[aria-pressed="true"]{ background:var(--grad-btn); border-color:transparent; box-shadow:0 10px 28px -12px rgba(224,142,31,.8); }
.compte{ width:100%; font-size:13px; color:var(--texte-2); }
.compte b{ font-size:22px; font-weight:800; color:var(--texte); }
.compte .reste{ display:block; font-size:12px; color:var(--texte-3); }
.compte .reste b{ font-size:13px; color:var(--focus); }
.pont{ display:flex; flex-wrap:wrap; gap:var(--e3) var(--e4); align-items:center; justify-content:space-between; margin-top:var(--e5); padding:var(--e4); }
.pont p{ margin:0; font-size:17px; font-weight:700; }
.pont .actions{ display:flex; flex-wrap:wrap; gap:var(--e3); }
.demande{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:var(--e4); align-items:start; }
.form{ padding:var(--e5); display:grid; gap:var(--e4); }
.rangee{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--e4); }
.champ{ display:grid; gap:8px; }
.champ label{ font-size:13px; font-weight:700; color:var(--texte-2); }
.saisie{ font:15px var(--f); color:var(--texte); width:100%; padding:12px 14px; border-radius:12px; background:rgba(4,17,24,.55); border:1px solid var(--bord-fort); transition:border-color .2s, box-shadow .2s; }
.saisie:focus{ outline:none; border-color:var(--focus); box-shadow:0 0 0 3px rgba(255,214,150,.2); }
select.saisie option{ background:var(--nuit); color:var(--texte); }
textarea.saisie{ min-height:120px; resize:vertical; line-height:1.55; }
.aide{ font-size:12.5px; color:var(--texte-3); }
.recap{ padding:var(--e4); position:sticky; top:96px; display:grid; gap:var(--e3); }
.recap .ref{ font-family:var(--f-mono); font-size:20px; letter-spacing:.06em; }
.recap .l{ display:flex; justify-content:space-between; gap:var(--e3); font-size:13.5px; padding-top:var(--e2); border-top:1px solid var(--bord); }
.recap .l span:first-child{ color:var(--texte-3); }
.recap .l span:last-child{ font-weight:700; text-align:right; }
.recap .note-r{ font-size:12.5px; color:var(--texte-3); }
.recap.depose .ref{ color:var(--focus); }
.places{ font-size:12.5px; color:var(--texte-2); }
.places b{ color:var(--texte); }
.support{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:var(--e5); align-items:start; }
.filtres{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:var(--e4); }
.puce{ font:600 13px var(--f); color:var(--texte-2); background:rgba(14,43,60,.5); border:1px solid var(--bord); border-radius:99px; padding:7px 14px; cursor:pointer; }
.puce[aria-pressed="true"]{ color:var(--texte); border-color:rgba(255,214,150,.6); background:rgba(255,181,71,.18); }
.journal{ display:grid; gap:var(--e3); }
.version{ padding:var(--e3) var(--e4); display:grid; grid-template-columns:90px minmax(0,1fr); gap:var(--e3); }
.version .num{ font-family:var(--f-mono); font-size:14px; color:var(--focus); }
.version b{ display:block; font-size:15px; }
.version p{ margin:4px 0 0; font-size:13.5px; color:var(--texte-2); }
.version .quand{ font-size:12px; color:var(--texte-3); margin-top:6px; display:block; }
.version.interne .num{ color:var(--texte-3); }
.questions{ display:grid; gap:var(--e2); }
.questions details{ padding:var(--e3) var(--e4); border-radius:var(--r-sm); background:rgba(14,43,60,.5); border:1px solid var(--bord); }
.questions summary{ cursor:pointer; font-weight:700; font-size:15px; list-style:none; display:flex; gap:var(--e3); align-items:baseline; }
.questions summary::-webkit-details-marker{ display:none; }
.questions summary .e{ font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); flex:none; min-width:84px; }
.questions summary::after{ content:"+"; margin-left:auto; color:var(--texte-3); }
.questions details[open] summary::after{ content:"\2212"; }
.questions details p{ margin:var(--e2) 0 0; font-size:14px; color:var(--texte-2); }

/* Pages, fenêtres, agenda, carrousel, composition */
.outils{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--e4); }
.outil{ padding:var(--e4); display:flex; flex-direction:column; gap:var(--e2); text-align:left; color:inherit; font:inherit; cursor:pointer; }
.outil .ic{ width:44px; height:44px; border-radius:14px; display:grid; place-items:center; margin-bottom:var(--e2); background:linear-gradient(140deg, rgba(255,181,71,.35), rgba(224,142,31,.3)); border:1px solid rgba(255,214,150,.35); }
.outil h3{ margin:0; font-size:19px; font-weight:800; }
.outil p{ margin:0; font-size:14px; color:var(--texte-2); }
.outil .pied-o{ margin-top:auto; padding-top:var(--e3); display:flex; justify-content:space-between; align-items:center; font-size:12.5px; }
.outil .pied-o span{ color:var(--texte-3); }
.equipe{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--e4); margin-top:var(--e6); }
.personne{ padding:var(--e4); text-align:center; }
.personne .av{ width:64px; height:64px; margin:0 auto var(--e3); border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:18px; background:var(--nuit); box-shadow:0 0 0 2px var(--abysse), 0 0 0 4px rgba(240,160,50,.7), 0 0 30px -6px rgba(240,160,50,.8); }
.personne b{ display:block; font-size:15px; }
.personne span{ font-size:13px; color:var(--texte-2); display:block; margin-top:4px; }
.personne em{ font-style:normal; display:inline-block; margin-top:var(--e2); font-size:11px; font-weight:700; padding:3px 10px; border-radius:99px; background:rgba(255,181,71,.16); color:var(--focus); }
.pied-grille > *{ min-width:0; }
.abonne{ display:flex; gap:8px; margin-top:var(--e3); }
.abonne .saisie{ padding:10px 12px; font-size:14px; }
.abonne-ok{ font-size:13px; color:var(--focus); margin-top:var(--e2); }
.voile{ position:fixed; inset:0; z-index:170; background:rgba(2,10,14,.72); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); opacity:0; transition:opacity .25s; }
.voile.vue{ opacity:1; }
.fenetre{ position:fixed; z-index:180; left:50%; top:50%; width:min(620px, calc(100vw - 32px)); max-height:calc(100dvh - 48px); overflow:auto; transform:translate(-50%,-46%); opacity:0; transition:opacity .25s, transform .3s cubic-bezier(.3,.8,.3,1); padding:var(--e5); background:rgba(10,36,50,.9); }
.fenetre.vue{ opacity:1; transform:translate(-50%,-50%); }
.fenetre .fermer{ position:absolute; top:14px; right:14px; }
.fenetre h3{ margin:var(--e2) 0 0; font-size:24px; font-weight:800; letter-spacing:-.025em; padding-right:40px; }
.fenetre .sous{ margin:var(--e2) 0 0; color:var(--texte-2); }
.specs{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--e2); margin-top:var(--e4); }
.specs div{ padding:10px 12px; border-radius:var(--r-sm); background:rgba(4,17,24,.5); border:1px solid var(--bord); }
.specs span{ font-size:11px; color:var(--texte-3); display:block; }
.specs b{ font-size:15px; }
.fenetre h4{ margin:var(--e4) 0 var(--e2); font-family:var(--f-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--texte-3); font-weight:400; }
.modules{ display:grid; gap:8px; }
.modules div{ display:grid; grid-template-columns:170px minmax(0,1fr); gap:var(--e3); font-size:13.5px; padding:8px 0; border-bottom:1px solid var(--bord); }
.modules b{ font-weight:700; }
.modules span{ color:var(--texte-2); }
.fenetre .actions{ display:flex; flex-wrap:wrap; gap:var(--e3); margin-top:var(--e4); align-items:center; }
.ok-rond{ width:52px; height:52px; border-radius:50%; display:grid; place-items:center; }
.merci-chiffre{ font-size:13.5px; color:var(--texte-2); }
.merci-chiffre b{ color:var(--texte); }
.js .apparait{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.js .apparait.vu{ opacity:1; transform:none; }
[data-anim="off"] *, [data-anim="off"] *::before, [data-anim="off"] *::after{ animation:none !important; transition:none !important; }
[data-anim="off"] .apparait{ opacity:1 !important; transform:none !important; }
@media (prefers-reduced-transparency: reduce){
  .verre, .nav-in, .btn-verre, .saut, .menu-mobile{ -webkit-backdrop-filter:none; backdrop-filter:none; background:#0C2330; }
}
@media (max-width:1100px){
  .equipe{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:980px){
  .demande, .support{ grid-template-columns:1fr; }
  .recap{ position:static; }
  .outils{ grid-template-columns:1fr; }
  .idee{ grid-template-columns:1fr; }
  .final .mini-orbe{ width:120px; height:120px; }
}
@media (max-width:640px){
  .dedans{ padding-inline:var(--e3); }
  .marque .nom span{ display:none; }
  .podium{ grid-template-columns:1fr; }
  .marche:nth-child(n){ order:0; }
  .equipe, .rangee, .specs{ grid-template-columns:1fr 1fr; }
  .modules div{ grid-template-columns:1fr; gap:2px; }
  .version{ grid-template-columns:1fr; gap:4px; }
}
@media (max-width:420px){
  .equipe, .rangee, .specs{ grid-template-columns:1fr; }
}
.marque .nom b{ white-space:nowrap; }
@media (max-width:560px){
  .nav-actions .btn{ display:none; }
}
html{ scrollbar-gutter:stable; }
html.pg-ouverte{ overflow:hidden; }
.vive{ cursor:pointer; }
.vive, .js .apparait.vive{ transition:opacity .7s ease, transform .7s var(--courbe), translate .45s var(--courbe), box-shadow .45s ease, border-color .45s ease; }
.vive::after{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; background:radial-gradient(380px circle at var(--mx, 50%) var(--my, -30%), rgba(255,214,150,.12), transparent 62%); opacity:0; transition:opacity .35s ease; }
.vive:hover::after, .vive:focus-within::after{ opacity:1; }
.vive:hover{ translate:0 -3px; border-color:rgba(255,214,150,.26); }
.en-page{ opacity:0 !important; transition:none !important; }
.ouvrir-p{ position:absolute; top:14px; right:14px; z-index:1; height:32px; min-width:32px; padding:0 9px; border-radius:99px; display:inline-flex; align-items:center; justify-content:center; gap:6px; background:rgba(255,255,255,.05); border:1px solid rgba(255,214,150,.22); color:var(--texte-2); font:700 12px/1 var(--f); cursor:pointer; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); transition:background .3s, color .3s, border-color .3s; }
.ouvrir-p svg{ flex:none; }
.ouvrir-p .n{ font-variant-numeric:tabular-nums; color:var(--focus); }
.vive:hover .ouvrir-p, .ouvrir-p:focus-visible{ background:var(--grad-btn); border-color:transparent; }
.ouvrir-p:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.idee .ouvrir-p{ top:auto; bottom:14px; }
.pg{ position:fixed; inset:0; z-index:160; overflow:auto; overscroll-behavior:contain; background:radial-gradient(70vw 55vh at 88% -5%, rgba(224,142,31,.16), transparent 70%),
    radial-gradient(60vw 50vh at 0% 100%, rgba(240,160,50,.08), transparent 70%),
    rgba(4,11,24,.76); -webkit-backdrop-filter:blur(26px) saturate(1.3); backdrop-filter:blur(26px) saturate(1.3); }
.pg-barre{ position:sticky; top:0; z-index:3; display:flex; align-items:center; gap:var(--e3); padding:12px max(16px, calc((100% - var(--lg)) / 2 + 16px)); background:linear-gradient(180deg, rgba(4,11,24,.9), rgba(4,11,24,.62)); border-bottom:1px solid var(--bord); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.pg-retour{ display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 14px 0 11px; border-radius:99px; flex:none; cursor:pointer; background:rgba(255,255,255,.04); border:1px solid var(--bord-fort); color:var(--texte); font:700 13.5px var(--f); }
.pg-retour:hover{ border-color:rgba(255,214,150,.5); }
kbd{ font:500 10.5px var(--f-mono); color:var(--texte-3); border:1px solid var(--bord-fort); border-radius:6px; padding:2px 6px; }
.pg-fil{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.pg-etat{ display:inline-flex; align-items:center; gap:8px; min-width:0; font-size:12.5px; color:var(--texte-2); }
.pg-etat > span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-etat i{ width:9px; height:9px; border-radius:50%; flex:none; border:1.5px solid var(--texte-3); }
.pg-etat[data-etat="local"] i{ background:linear-gradient(90deg, var(--ok) 50%, transparent 50%); border-color:var(--ok); }
.pg-etat[data-etat="brouillon"] i{ border-color:var(--focus); border-style:dashed; }
.pg-etat[data-etat="encours"] i{ border-color:var(--focus); border-top-color:transparent; animation:tourne .8s linear infinite; }
.pg-etat[data-etat="erreur"]{ color:var(--alerte); }
.pg-etat[data-etat="erreur"] i{ border:2px dashed var(--alerte); }
@keyframes tourne{ to{ transform:rotate(360deg); } }
.pg-barre .btn{ flex:none; }
.pg-in{ max-width:var(--lg); margin:0 auto; padding:var(--e5) var(--e3) var(--e7); display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--e5); align-items:start; }
.pg-carte{ position:sticky; top:84px; padding:var(--e5); transform-origin:0 0; }
.pg-carte .oeil{ display:block; margin-bottom:var(--e3); }
.pg-carte h2{ margin:0; font-size:clamp(22px, 2.2vw, 28px); font-weight:800; letter-spacing:-.025em; line-height:1.2; text-wrap:balance; }
.pg-carte h2:focus{ outline:none; }
.pg-carte p{ margin:var(--e3) 0 0; color:var(--texte-2); font-size:15px; line-height:1.65; }
.pg-carte .sous{ margin-top:var(--e2); }
.pg-carte .meta{ margin-top:var(--e2); font-size:12.5px; color:var(--texte-3); }
.pg-carte .statut{ margin-left:0; }
.pg-carte .ligne{ display:flex; flex-wrap:wrap; gap:var(--e2) var(--e3); align-items:center; margin-top:var(--e4); }
.pg-carte .specs{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.pg-h4{ margin:var(--e4) 0 var(--e2); font-family:var(--f-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--texte-3); font-weight:400; }
.pg-chiffre{ font-size:44px; font-weight:800; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
.pg-chiffre small{ font-size:13px; font-weight:600; color:var(--texte-3); letter-spacing:0; margin-left:6px; }
.pg-pers{ display:flex; gap:var(--e4); align-items:center; }
.pg-pers .av{ width:72px; height:72px; flex:none; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:20px; background:var(--nuit); box-shadow:0 0 0 2px var(--abysse), 0 0 0 4px rgba(240,160,50,.7), 0 0 30px -6px rgba(240,160,50,.8); }
.pg-pers .statut{ margin-top:var(--e2); }
.pg-ecrit{ display:grid; gap:var(--e5); min-width:0; }
.pg-feuille{ position:relative; overflow:hidden; padding:var(--e5) var(--e5) var(--e4); transition:border-color .3s, box-shadow .3s; }
.pg-feuille:focus-within{ border-color:rgba(255,214,150,.34); box-shadow:var(--verre-aretes), 0 0 0 1px rgba(255,214,150,.10), 0 30px 80px -40px rgba(224,142,31,.7); }
.pg-balayage{ position:absolute; left:0; top:0; width:40%; height:2px; opacity:0; pointer-events:none; background:linear-gradient(90deg, transparent, var(--focus), transparent); }
.pg-h{ margin:var(--e2) 0 var(--e4); font-size:15px; font-weight:700; color:var(--texte-2); }
.pg-t{ display:block; width:100%; margin:0; padding:4px 0 14px; background:none; border:0; border-bottom:1px solid var(--bord); border-radius:0; color:var(--texte); font:800 clamp(22px, 2.3vw, 30px)/1.25 var(--f); letter-spacing:-.022em; resize:none; overflow:hidden; min-height:calc(1.25em + 18px); }
.pg-t::placeholder, .pg-x::placeholder{ color:var(--texte-3); opacity:1; }
.pg-t:focus{ outline:none; border-bottom-color:var(--focus); }
.pg-x{ display:block; width:100%; min-height:300px; margin:0; padding:14px 0 0; resize:none; overflow:hidden; border:0; border-radius:0; color:var(--texte); font:400 17px/1.8 var(--f); background:repeating-linear-gradient(180deg, transparent 0 calc(1.8em - 1px), rgba(255,205,135,.08) calc(1.8em - 1px) 1.8em) 0 14px / 100% 1.8em local; }
.pg-x:focus{ outline:none; background-image:repeating-linear-gradient(180deg, transparent 0 calc(1.8em - 1px), rgba(255,214,150,.16) calc(1.8em - 1px) 1.8em); }
/* La signature vient du compte connecte : elle se lit, elle ne se saisit
   pas. La grille a deux champs de la maquette n'a plus d'objet. */
.pg-sign{ margin:var(--e4) 0 0; padding-top:var(--e4); border-top:1px solid var(--bord); font-size:13px; color:var(--texte-3); }
.pg-sign b{ color:var(--texte-2); font-weight:700; }
.pg-bloque{ margin:0 0 var(--e3); padding:var(--e3) var(--e4); font-size:14px; color:var(--texte-2); }
.pg-bloque a{ color:var(--focus); }
.pg-pied{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e2) var(--e3); margin-top:var(--e4); }
.pg-mots{ font:500 12px var(--f-mono); color:var(--texte-3); font-variant-numeric:tabular-nums; }
.pg-raccourci{ font-size:12px; color:var(--texte-3); }
.pg-effacer{ background:none; border:0; padding:6px 0; color:var(--texte-3); font:600 13px var(--f); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.pg-effacer:hover{ color:var(--texte); }
.pg-pied .btn{ margin-left:auto; }
.pg-msg{ flex-basis:100%; margin:0; font-size:13.5px; color:var(--alerte); }
/* Meme zone, deux sens : le refus du serveur reste rouge, sa confirmation
   ne doit pas l'etre. */
.pg-msg.ok{ color:var(--texte-2); }
.pg-liste{ display:grid; gap:var(--e3); }
.pg-liste-tete{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:var(--e2) var(--e3); }
.pg-liste-tete h3{ margin:0; font-size:17px; font-weight:800; }
.pg-liste-tete span{ font:500 11px var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--texte-3); }
.pg-avis{ margin:0; font-size:12.5px; color:var(--texte-3); }
.pg-entrees{ list-style:none; margin:0; padding:0; display:grid; gap:var(--e2); }
.entree{ padding:var(--e3) var(--e4); }
.entree-tete{ display:flex; flex-wrap:wrap; gap:6px 10px; align-items:baseline; }
.entree-tete b{ font-size:15px; }
.puce-e{ font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:99px; background:rgba(255,181,71,.14); color:var(--focus); }
.puce-e.ex{ background:none; border:1px dashed rgba(255,214,150,.4); color:var(--texte-2); }
.entree p{ margin:6px 0 0; font-size:14px; color:var(--texte-2); white-space:pre-wrap; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.entree.ouverte p{ display:block; -webkit-line-clamp:unset; }
.entree-pied{ margin-top:8px; display:flex; flex-wrap:wrap; gap:6px 14px; font-size:12px; color:var(--texte-3); }
.entree-pied button{ background:none; border:0; padding:0; color:var(--focus); font:600 12px var(--f); cursor:pointer; }
.entree-pied button:hover{ text-decoration:underline; }
.pg-vide{ padding:var(--e4); text-align:center; color:var(--texte-3); font-size:14px; border:1px dashed var(--bord-fort); border-radius:var(--r-sm); }
.entree.neuve{ animation:arrive .8s var(--courbe); }
@keyframes arrive{ from{ opacity:0; translate:0 -10px; box-shadow:0 0 0 1px rgba(255,214,150,.5), 0 0 40px -10px rgba(240,160,50,.9); } }
@media (max-width:900px){
  .pg-in{ grid-template-columns:minmax(0,1fr); gap:var(--e4); padding-top:var(--e4); }
  .pg-carte{ position:relative; top:auto; padding:var(--e4); }
  .pg-feuille{ padding:var(--e4); }
  .pg-carte .modules div{ grid-template-columns:minmax(0,1fr); gap:2px; }
}
@media (max-width:640px){
  .pg-barre{ gap:var(--e2); }
  .pg-fil, .pg-raccourci{ display:none; }
  .pg-etat{ flex:1; }
  .pg-pers{ flex-direction:column; align-items:flex-start; gap:var(--e3); }
}
@media (pointer:coarse){
  .pg-retour kbd, .pg-raccourci{ display:none; }
}
@media (prefers-reduced-transparency: reduce){
  .pg, .pg-barre{ -webkit-backdrop-filter:none; backdrop-filter:none; background:#06131D; }
  .ouvrir-p{ -webkit-backdrop-filter:none; backdrop-filter:none; background:#0C2330; }
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .pg{ background:rgba(4,11,24,.97); }
}
.aca{ display:grid; gap:var(--e4); }
.aca-rythme{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e3) var(--e4); padding:var(--e3) var(--e4); }
.aca-pouls{ width:12px; height:12px; flex:none; border-radius:50%; animation:pouls 2.4s ease-out infinite; }
.aca-rythme-t{ flex:1; min-width:min(100%, 260px); display:grid; gap:2px; }
.aca-rythme-t b{ font-size:16px; font-weight:800; letter-spacing:-.01em; }
.aca-rythme-t span{ font-size:13.5px; color:var(--texte-2); }
.aca-compte{ font:500 12.5px var(--f-mono); letter-spacing:.03em; color:var(--focus); }
.aca-corps{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:var(--e4); align-items:start; }
.aca-cal{ padding:var(--e4); }
.aca-cal-tete{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--e3); margin-bottom:var(--e4); }
.aca-nav{ display:flex; align-items:center; gap:var(--e2); }
.aca-titre{ margin:0 4px; min-width:15ch; text-align:center; font-size:17px; font-weight:800; letter-spacing:-.015em; font-variant-numeric:tabular-nums; }
.aca-auj{ height:38px; padding:0 14px; border-radius:99px; cursor:pointer; background:rgba(255,255,255,.04); border:1px solid var(--bord-fort); color:var(--texte); font:700 13px var(--f); }
.aca-auj:hover, .aca-nav .rond:hover{ border-color:rgba(255,214,150,.5); }
.aca-nav .rond:disabled{ opacity:.35; cursor:default; }
.aca-filtres{ display:flex; flex-wrap:wrap; gap:6px; }
.filtre-a{ font:600 12.5px var(--f); color:var(--texte-2); background:rgba(14,43,60,.5); border:1px solid var(--bord); border-radius:99px; padding:6px 12px; cursor:pointer; }
.filtre-a:hover{ border-color:var(--bord-fort); }
.filtre-a[aria-pressed="true"]{ color:var(--texte); border-color:rgba(255,214,150,.6); background:rgba(255,181,71,.18); }
.aca-jours, .aca-sem{ display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:8px; }
.aca-jours{ padding-bottom:8px; border-bottom:1px solid var(--bord); font:500 10.5px var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.aca-semaines{ list-style:none; margin:0; padding:0; }
.aca-sem{ position:relative; padding:8px 0; border-bottom:1px solid var(--bord); align-items:stretch; }
.aca-sem.courante::before{ content:""; position:absolute; inset:0 -12px; z-index:-1; border-radius:12px; background:linear-gradient(90deg, rgba(255,181,71,.09), rgba(255,181,71,0) 70%); }
.aca-num{ align-self:center; font:500 11px var(--f-mono); color:var(--texte-3); }
.aca-sem.courante .aca-num{ color:var(--focus); }
.aca-pile{ display:grid; gap:6px; min-width:0; }
.aca-seance{ position:relative; width:100%; display:grid; gap:6px; padding:11px 14px 12px; border-radius:14px; cursor:pointer; text-align:left; color:inherit; font:inherit; background:var(--verre-reflet), rgba(10,36,52,.45); border:1px solid rgba(255,205,135,.14); box-shadow:var(--verre-aretes); transition:translate .35s var(--courbe), border-color .3s, box-shadow .3s, opacity .3s, background-color .3s; }
.aca-seance:hover{ translate:0 -2px; border-color:rgba(255,214,150,.34); }
.aca-seance:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.aca-seance[aria-pressed="true"]{ background:var(--verre-reflet), rgba(0,59,92,.62); border-color:rgba(255,214,150,.6); box-shadow:var(--verre-aretes), 0 0 0 1px rgba(255,214,150,.22), 0 16px 40px -18px rgba(224,142,31,.85); }
.aca-seance.passee{ opacity:.6; }
.aca-seance.attenuee{ opacity:.26; }
.aca-seance.attenuee:hover{ translate:none; }
.aca-s-haut{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; }
.aca-s-date{ font-size:22px; font-weight:800; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; }
.aca-s-mois{ font-size:12px; color:var(--texte-2); }
.aca-s-jsem{ font-size:11px; color:var(--texte-3); text-transform:lowercase; }
.aca-s-heure{ font:500 11.5px var(--f-mono); color:var(--focus); }
.aca-etat{ margin-left:auto; padding:3px 9px; border-radius:99px; font-size:10.5px; font-weight:700; white-space:nowrap; background:rgba(255,181,71,.14); color:var(--focus); }
.aca-etat.fort{ background:var(--grad-btn); }
.aca-etat.creux{ background:none; border:1px dashed rgba(255,214,150,.45); color:var(--texte-2); }
.aca-s-titre{ font-size:14.5px; font-weight:700; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.aca-s-bas{ display:flex; align-items:center; gap:8px; min-width:0; font-size:12px; color:var(--texte-3); }
.av-mini{ width:22px; height:22px; flex:none; border-radius:50%; display:grid; place-items:center; font-size:9.5px; font-weight:800; color:var(--texte); background:var(--nuit); box-shadow:0 0 0 1px rgba(240,160,50,.7); }
.aca-s-qui{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aca-s-pl{ margin-left:auto; white-space:nowrap; color:var(--texte-2); font-variant-numeric:tabular-nums; }
.aca-s-jauge{ height:3px; border-radius:3px; overflow:hidden; background:rgba(255,205,135,.14); }
.aca-s-jauge i{ display:block; height:100%; border-radius:inherit; background:var(--grad); }
.aca-legende{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--e2) var(--e3); margin:var(--e3) 0 0; font-size:12px; color:var(--texte-3); }
.aca-legende kbd{ margin:0 2px; }
.aca-detail{ position:sticky; top:96px; padding:var(--e5); }
.aca-d-heure{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:var(--e2) 0 var(--e3); }
.aca-d-heure b{ font-size:30px; font-weight:800; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
.aca-d-heure i{ width:22px; height:2px; border-radius:2px; background:var(--grad); }
.aca-d-teams{ display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:99px; font-size:12.5px; font-weight:700; color:var(--texte); background:rgba(255,181,71,.12); border:1px solid rgba(255,214,150,.28); }
.aca-detail h3{ margin:0; font-size:22px; font-weight:800; letter-spacing:-.022em; line-height:1.25; text-wrap:balance; }
.aca-d-resume{ margin:var(--e2) 0 0; font-size:14.5px; color:var(--texte-2); }
.aca-d-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--e3); }
.aca-tag{ padding:3px 10px; border-radius:99px; font-size:11.5px; font-weight:700; color:var(--texte-2); border:1px solid var(--bord-fort); }
.aca-d-desc{ margin:var(--e2) 0 0; font-size:13.5px; line-height:1.62; color:var(--texte-2); }
.aca-inter{ display:flex; align-items:center; gap:var(--e3); margin-top:var(--e4); }
.aca-inter .av{ width:44px; height:44px; flex:none; border-radius:50%; display:grid; place-items:center; font-size:14px; font-weight:800; background:var(--nuit); box-shadow:0 0 0 2px var(--abysse), 0 0 0 3px rgba(240,160,50,.7); }
.aca-inter b{ display:block; font-size:14.5px; }
.aca-inter span{ font-size:12.5px; color:var(--texte-3); }
.aca-d-places{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:4px 12px; margin-top:var(--e4); font-size:13px; color:var(--texte-2); }
.aca-d-places b{ color:var(--texte); }
.aca-bloque{ margin:var(--e4) 0 0; padding:var(--e3); border-radius:var(--r-sm); border:1px dashed var(--bord-fort); font-size:13px; color:var(--texte-2); }
.aca-msg{ margin:var(--e3) 0 0; font-size:13px; color:var(--texte-2); }
.aca-msg.erreur{ color:var(--alerte); }
.aca-d-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e2) var(--e3); margin-top:var(--e4); }
.aca-afixer{ margin-top:var(--e4); padding:var(--e4); }
.aca-afixer ul{ list-style:none; margin:var(--e2) 0 0; padding:0; display:grid; gap:var(--e2); }
.aca-afixer li{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px var(--e3); }
.aca-afixer a{ font-weight:700; }
.aca-afixer span{ font-size:12.5px; color:var(--texte-3); }
.aca-ok{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--e3); align-items:center; margin-top:var(--e4); padding:var(--e3); border-radius:var(--r-sm); background:rgba(255,181,71,.08); border:1px solid rgba(255,214,150,.25); }
.aca-ok .ok-rond{ width:40px; height:40px; }
.aca-ok b{ display:block; font-size:14.5px; }
.aca-ok span{ font-size:13px; color:var(--texte-2); }
.aca-ok button{ background:none; border:0; padding:0; margin-top:4px; cursor:pointer; color:var(--texte-3); font:600 12.5px var(--f); text-decoration:underline; text-underline-offset:3px; }
.aca-ok button:hover{ color:var(--texte); }
button.lien-fl{ background:none; border:0; padding:0; cursor:pointer; font-family:var(--f); }
.aca-li-detail{ padding:8px 0 10px; border-bottom:1px solid var(--bord); list-style:none; }
.aca-li-detail .aca-detail{ position:relative; top:auto; }
@media (max-width:1000px){
  .aca-corps{ grid-template-columns:minmax(0,1fr); }
  .aca-detail{ position:relative; top:auto; padding:var(--e4); }
}
@media (max-width:640px){
  .aca-jours, .aca-sem{ grid-template-columns:30px minmax(0,1fr); column-gap:5px; }
  .aca-jours{ letter-spacing:.02em; font-size:9.5px; }
  .aca-cal{ padding:var(--e3); }
  .aca-titre{ min-width:0; font-size:15px; }
  .aca-sem.courante::before{ inset:0 -8px; }
  .aca-s-date{ font-size:19px; }
  .aca-d-heure b{ font-size:26px; }
}
@media (prefers-reduced-transparency: reduce){
  .quadrillage::after{ display:none; }
}
.marque .logo-ghu{ height:34px; width:auto; flex:none; color:var(--texte); }
.marque .nom b{ font-size:21px; font-weight:800; letter-spacing:.01em; line-height:1; }
.pied .marque .nom b{ font-size:22px; }
.pied .marque .nom span{ font-size:11.5px; margin-top:4px; }
.sites ul{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--e4) var(--e5); max-width:980px; margin-inline:auto; }
@media (max-width:640px){
  .sites ul{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--e3); }
}
.sites li small{ display:block; margin-top:2px; font:500 10px var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--texte-3); }
.sites .chiffres{ display:flex; flex-wrap:wrap; gap:6px 18px; margin:var(--e4) 0 0; font:500 11.5px var(--f-mono); letter-spacing:.06em; color:var(--texte-3); }
.sites .chiffres b{ color:var(--texte-2); font-weight:500; }
.sites .chiffres a{ color:var(--focus); text-decoration:none; }
.sites .chiffres a:hover{ text-decoration:underline; }
.tdb-oeil{ display:block; margin-bottom:4px; font:500 10.5px var(--f-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--texte-3); }
.tdb-haut{ align-items:flex-end; }
.tdb-haut h3{ font-size:19px; letter-spacing:-.015em; }
.tdb-outils{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e2) var(--e3); }
.tdb-services{ display:grid; gap:var(--e2); }
@media (max-width:980px){
}
:root{ --f-pts:"Doto","DM Mono",Consolas,monospace; --lg:1320px; }
.nav{ position:sticky; top:0; z-index:80; margin-top:0; padding-inline:0; }
.nav-in{ max-width:none; border:0; border-bottom:1px solid var(--bord); border-radius:0; padding:12px max(var(--e4), calc((100% - var(--lg)) / 2 + var(--e4))); }
.menu-mobile a[aria-current="page"]{ color:var(--texte); }
.nav-actions .btn{ font-size:12px; letter-spacing:.04em; }
@media (min-width:981px){
  .ouv-grille{ gap:var(--e6); }
}
.sites{ padding-block:var(--e6); text-align:left; border-top:1px solid var(--bord); }
.ruban:hover .ruban-piste, .ruban:focus-within .ruban-piste{ animation-play-state:paused; }
.ruban ul{ flex-wrap:nowrap; align-items:baseline; gap:0; max-width:none; }
.ruban li{ opacity:1; }
.ruban li small{ display:inline; margin-top:0; }
.sites .chiffres{ justify-content:flex-start; margin-top:0; }
.sect{ padding-block:var(--e8) var(--e7); border-top:1px solid var(--bord); }
.tete, .tete.gauche{ display:grid; grid-template-columns:minmax(0,200px) minmax(0,1fr); gap:var(--e3) var(--e6); max-width:none; margin:0 0 var(--e7); text-align:left; }
.tete[data-idx]::before{ content:"( " attr(data-idx) " )"; grid-area:1 / 1; align-self:start; font:600 clamp(22px, 2vw, 30px)/1 var(--f-pts); letter-spacing:.08em; color:var(--focus); }
.tete .oeil{ grid-area:2 / 1; align-self:start; }
.tete h2{ grid-area:1 / 2; margin:0; font-size:clamp(32px, 4.6vw, 62px); line-height:.98; letter-spacing:-.045em; text-wrap:balance; }
.tete p{ grid-area:2 / 2; margin:0; max-width:52ch; }
.tete > p ~ p{ grid-column:2; grid-row:auto; }
.tete .trait{ display:none; }
@media (max-width:860px){
  .tete, .tete.gauche{ grid-template-columns:minmax(0,1fr); gap:var(--e2); }
  .tete[data-idx]::before, .tete .oeil, .tete h2, .tete p{ grid-area:auto; }
  .tete > p ~ p{ grid-column:auto; }
  .tete .oeil{ margin-top:var(--e2); }
  .tete h2{ margin-top:var(--e2); }
  .tete p{ margin-top:var(--e3); }
}
@media (max-width:980px), (pointer:coarse){
}
.tdb-lecture{ width:auto; height:38px; padding:0 15px 0 13px; border-radius:99px; display:inline-flex; align-items:center; gap:9px; flex:none; }
.tdb-lecture .lbl{ font:700 12px var(--f); letter-spacing:.01em; }
.tdb-lecture .ic-pause, .tdb-lecture .ic-lire{ display:none; flex:none; }
.tdb-lecture[data-lit="oui"] .ic-pause{ display:block; }
.tdb-lecture[data-lit="non"] .ic-lire{ display:block; }
.tdb-lecture[data-lit="non"]{ border-color:rgba(255,214,150,.5); color:var(--texte); }
@media (max-width:560px){
  .tdb-lecture .lbl{ display:none; }
  .tdb-lecture{ width:38px; padding:0; justify-content:center; }
}
.nav-in .marque{ flex:0 0 auto; }
.nav-actions{ flex:1; justify-content:flex-end; }
.burger{ display:inline-flex; align-items:center; gap:9px; width:auto; padding:0 15px; border-radius:99px; }
.burger .lbl{ font:700 12px var(--f); letter-spacing:.01em; }
.menu-mobile{ display:none; padding:10px; width:min(360px, calc(100vw - 32px)); }
.menu-mobile.ouvert{ display:grid; gap:2px; }
.menu-mobile a{ display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 12px; border-radius:12px; }
.menu-mobile .ic{ width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:var(--texte-2); background:rgba(255,255,255,.04); border:1px solid var(--bord); transition:background .3s, border-color .3s, color .3s; }
.menu-mobile b{ display:block; font-size:14.5px; font-weight:700; }
.menu-mobile .fait{ display:block; font-size:11.5px; color:var(--texte-3); margin-top:1px; }
.menu-mobile .go{ color:var(--texte-3); display:grid; place-items:center; }
.menu-mobile a:hover .ic{ border-color:rgba(255,214,150,.45); color:var(--texte); }
.menu-mobile a[aria-current="page"]{ background:rgba(255,181,71,.12); }
.menu-mobile a[aria-current="page"] .ic{ background:var(--grad-btn); border-color:transparent; }
.menu-mobile a[aria-current="page"] .fait{ color:var(--focus); }
.etiq-1::before, .etiq-3::before{ right:-28px; background:linear-gradient(90deg, rgba(255,214,150,.55), transparent); }
.etiq-2::before, .etiq-4::before{ left:-28px; background:linear-gradient(270deg, rgba(255,214,150,.55), transparent); }
@media (max-width:560px){
  .burger{ width:38px; padding:0; justify-content:center; }
  .burger .lbl{ display:none; }
}
.etiq{ cursor:pointer; }
.etiq:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; }
.b-retour{ display:inline-flex; align-items:center; gap:8px; width:auto; padding:0 14px; border-radius:99px; flex:none; }
.b-retour .lbl{ font:700 12px var(--f); }
.b-retour:disabled{ opacity:.35; cursor:default; }
.b-retour:not(:disabled):hover{ border-color:rgba(255,214,150,.5); }
.nav-in{ position:relative; }
.marque-centre{ position:absolute; left:50%; top:50%; translate:-50% -50%; font:700 24px/1 var(--f-pts); letter-spacing:.14em; text-decoration:none; padding:6px 12px; border-radius:12px; transition:color .3s, background-color .3s; }
@media (max-width:560px){
  .b-retour{ width:38px; padding:0; justify-content:center; }
  .b-retour .lbl{ display:none; }
}
.ouv-grille{ grid-template-columns:minmax(0,1fr) !important; }
.ouverture{ padding-block:var(--e5) var(--e6); }
.ouv-grille > div{ max-width:none; display:grid; justify-items:center; gap:var(--e3); text-align:center; }
.ouverture h1{ font-size:clamp(30px, 4.4vw, 52px); line-height:.98; letter-spacing:-.04em; margin:0; }
.ouv-ligne{ max-width:62ch; margin:0; font-size:clamp(14.5px,1.1vw,16px); }
.service .etat{ color:var(--paon-clair); }
.bulle span{ color:var(--paon-clair); }
.aca-etat.ok{ background:var(--paon-clair); color:#003B5C; }
.ok-rond{ background:linear-gradient(100deg, var(--paon), #0B7E76); box-shadow:0 0 30px -6px rgba(20,168,155,.9); }
.pg-etat[data-etat="enr"] i{ background:var(--paon); border-color:var(--paon); box-shadow:0 0 10px var(--paon); }
.aca-pouls{ background:var(--paon); }
@keyframes pouls{ 0%{ box-shadow:0 0 0 0 rgba(20,168,155,.55); } 70%{ box-shadow:0 0 0 12px rgba(20,168,155,0); } 100%{ box-shadow:0 0 0 0 rgba(20,168,155,0); } }
.service .led{ background:var(--paon); box-shadow:0 0 10px rgba(20,168,155,.9); }
.marque-centre{ display:inline-flex; align-items:center; }
.marque-centre:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.mc-mot{ display:inline-flex; }
.mc-mot i{ font-style:normal; display:inline-block; will-change:font-variation-settings; font-variation-settings:"wght" 700, "ROND" 0; animation-delay:calc(var(--i) * 90ms); }
@keyframes mc-onde{ 0%{ font-variation-settings:"wght" 700, "ROND" 0; translate:0 0; } 30%{ font-variation-settings:"wght" 900, "ROND" 100; translate:0 -3px; } 62%{ font-variation-settings:"wght" 700, "ROND" 30; translate:0 1px; } 100%{ font-variation-settings:"wght" 700, "ROND" 0; translate:0 0; } }
.marque-centre:hover .mc-mot i, .marque-centre:focus-visible .mc-mot i{ animation:mc-onde .95s cubic-bezier(.3,.7,.3,1) both; }
.marque-centre:active .mc-mot i{ animation:none; font-variation-settings:"wght" 900, "ROND" 100; translate:0 1px; }
.mc-dit{ position:absolute; left:50%; top:calc(100% + 6px); translate:-50% -4px; display:inline-flex; align-items:center; gap:7px; padding:5px 11px; border-radius:99px; background:rgba(8,30,42,.94); border:1px solid var(--bord-fort); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); font:600 10px var(--f-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--texte-2); white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .25s ease, translate .25s var(--courbe); }
.mc-dit svg{ width:12px; height:10px; flex:none; fill:none; stroke:var(--focus); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:rotate .3s var(--courbe); }
.marque-centre[data-ici="accueil"] .mc-dit svg{ rotate:90deg; }
.marque-centre:hover .mc-dit, .marque-centre:focus-visible .mc-dit{ opacity:1; translate:-50% 0; }
.marque-centre.attire{ animation:mc-fond 2.1s ease both; }
.marque-centre.attire .mc-mot i{ animation:mc-onde .95s cubic-bezier(.3,.7,.3,1) 2 both; }
.marque-centre.attire .mc-dit{ animation:mc-passe 2.1s ease both; }
@keyframes mc-fond{ 0%, 100%{ background-color:rgba(255,214,150,0); color:var(--texte); } 22%, 72%{ background-color:rgba(255,214,150,.12); color:#fff; } }
@keyframes mc-passe{ 0%{ opacity:0; translate:-50% -4px; } 16%, 76%{ opacity:1; translate:-50% 0; } 100%{ opacity:0; translate:-50% -4px; } }
.l-champ{ font-size:13px; font-weight:700; color:var(--texte-2); }
.l-champ em{ font-style:normal; font-weight:600; color:var(--texte-3); font-size:12px; margin-left:6px; }
.pj{ position:relative; border-radius:12px; }
.pj-mot{ display:flex; align-items:center; gap:12px; cursor:pointer; padding:16px 16px; border-radius:12px; font-size:14px; color:var(--texte-2); background:rgba(4,17,24,.45); border:1px dashed rgba(255,205,135,.34); transition:border-color .2s, background-color .2s, color .2s; }
.pj-mot b{ color:var(--texte); font-weight:700; }
.pj-mot svg{ width:22px; height:22px; flex:none; fill:none; stroke:var(--focus); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.pj-mot:hover{ border-color:rgba(255,214,150,.6); background:rgba(14,43,60,.55); color:var(--texte); }
.pj-input:focus-visible + .pj-mot{ outline:2px solid var(--focus); outline-offset:2px; }
.pj.survol .pj-mot{ border-color:var(--paon-clair); background:rgba(20,168,155,.12); color:var(--texte); border-style:solid; }
.pj.pleine .pj-mot{ opacity:.5; }
.pj-garde{ color:var(--focus); font-weight:700; }
.pj-liste{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.pj-liste:empty{ display:none; }
.pj-liste li{ display:flex; align-items:center; gap:10px; padding:9px 10px 9px 13px; border-radius:10px; background:rgba(14,43,60,.55); border:1px solid var(--bord); }
.pj-n{ flex:1; min-width:0; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pj-p{ font:600 11.5px var(--f-mono); color:var(--texte-3); flex:none; }
.pj-x{ flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; cursor:pointer; background:rgba(4,17,24,.6); border:1px solid var(--bord-fort); color:var(--texte-2); font-size:12px; line-height:1; transition:color .2s, border-color .2s, background-color .2s; }
.pj-x:hover{ color:#fff; border-color:rgba(255,109,120,.6); background:rgba(255,77,87,.16); }
#pj-dit:empty{ display:none; }
#pj-dit{ color:var(--focus); }
.personne{ position:relative; }

/* Or et verre fumé : fond, cœur, lames, ruban, credo */
:root{ --g1:#FFD58A; --g2:#FFB547; --grad:linear-gradient(100deg,#FFEBC0,#FFB547 48%,#E08E1F); --grad-btn:linear-gradient(100deg,#FFD58A,#FFB547 48%,#E3921F); --texte-2:#CFE0EA; --texte-3:#A6C0CE; --bord:rgba(255,205,135,.12); --bord-fort:rgba(255,205,135,.26); --focus:#FFD27A; --or:#FFB547; --or-pale:#FFE3A3; --encre-btn:#04263A; --bat:0; --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); --f-math:"STIX Two Text","Cambria Math",Cambria,Georgia,serif; --gx:-9999px; --gy:-9999px; }
body::before{ z-index:-4; }
.trame{ position:fixed; inset:0; z-index:-2; pointer-events:none; }
.trame::before, .trame::after{ content:""; position:absolute; inset:0; background-position:-1px -1px; background-size:160px 120px; }
.trame::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke='%23000' stroke-opacity='.55' stroke-width='1.6' transform='translate(1 1)'%3E%3Cpath d='M-2 22H46L62 38H118L132 24H162'/%3E%3Cpath d='M-2 70H24L40 86H96L112 70H162'/%3E%3Cpath d='M78 -2V14L92 28'/%3E%3Cpath d='M140 122V96L124 80'/%3E%3Cpath d='M20 122V104L36 88'/%3E%3Cpath d='M58 38V58L70 70'/%3E%3Ccircle cx='92' cy='28' r='2.8'/%3E%3Ccircle cx='124' cy='80' r='2.8'/%3E%3Ccircle cx='36' cy='88' r='2.8'/%3E%3Ccircle cx='70' cy='70' r='2.8'/%3E%3Ccircle cx='118' cy='38' r='2.8'/%3E%3C/g%3E%3Cg stroke='%23FFE9C7' stroke-opacity='.09' stroke-width='1' transform='translate(-.5 -.5)'%3E%3Cpath d='M-2 22H46L62 38H118L132 24H162'/%3E%3Cpath d='M-2 70H24L40 86H96L112 70H162'/%3E%3Cpath d='M78 -2V14L92 28'/%3E%3Cpath d='M140 122V96L124 80'/%3E%3Cpath d='M20 122V104L36 88'/%3E%3Cpath d='M58 38V58L70 70'/%3E%3Ccircle cx='92' cy='28' r='2.8'/%3E%3Ccircle cx='124' cy='80' r='2.8'/%3E%3Ccircle cx='36' cy='88' r='2.8'/%3E%3Ccircle cx='70' cy='70' r='2.8'/%3E%3Ccircle cx='118' cy='38' r='2.8'/%3E%3C/g%3E%3Cg stroke='%23FFB547' stroke-opacity='.035' stroke-width='1'%3E%3Cpath d='M-2 22H46L62 38H118L132 24H162'/%3E%3Cpath d='M-2 70H24L40 86H96L112 70H162'/%3E%3Cpath d='M78 -2V14L92 28'/%3E%3Cpath d='M140 122V96L124 80'/%3E%3Cpath d='M20 122V104L36 88'/%3E%3Cpath d='M58 38V58L70 70'/%3E%3C/g%3E%3C/g%3E%3Cg fill='%23000' fill-opacity='.4'%3E%3Ccircle cx='92' cy='28' r='1.1'/%3E%3Ccircle cx='124' cy='80' r='1.1'/%3E%3Ccircle cx='36' cy='88' r='1.1'/%3E%3Ccircle cx='70' cy='70' r='1.1'/%3E%3Ccircle cx='118' cy='38' r='1.1'/%3E%3C/g%3E%3C/svg%3E"); -webkit-mask-image:radial-gradient(140% 100% at 50% 30%, #000 40%, rgba(0,0,0,.5) 100%); mask-image:radial-gradient(140% 100% at 50% 30%, #000 40%, rgba(0,0,0,.5) 100%); }
.trame::after{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke='%23FFD58A' stroke-opacity='.32' stroke-width='1' transform='translate(-.5 -.5)'%3E%3Cpath d='M-2 22H46L62 38H118L132 24H162'/%3E%3Cpath d='M-2 70H24L40 86H96L112 70H162'/%3E%3Cpath d='M78 -2V14L92 28'/%3E%3Cpath d='M140 122V96L124 80'/%3E%3Cpath d='M20 122V104L36 88'/%3E%3Cpath d='M58 38V58L70 70'/%3E%3Ccircle cx='92' cy='28' r='2.8'/%3E%3Ccircle cx='124' cy='80' r='2.8'/%3E%3Ccircle cx='36' cy='88' r='2.8'/%3E%3Ccircle cx='70' cy='70' r='2.8'/%3E%3Ccircle cx='118' cy='38' r='2.8'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); -webkit-mask-image:radial-gradient(220px circle at var(--gx) var(--gy), transparent 0 30px, #000 76px, transparent 70%); mask-image:radial-gradient(220px circle at var(--gx) var(--gy), transparent 0 30px, #000 76px, transparent 70%); }
.ciel{ position:fixed; inset:0; width:100%; height:100%; z-index:-3; pointer-events:none; }
.quadrillage{ position:fixed; inset:0; z-index:-2; pointer-events:none; }
.quadrillage::before, .quadrillage::after{ content:""; position:absolute; inset:0; }
.quadrillage::before{ background-image:radial-gradient(circle at 0 0, rgba(255,205,130,.16) 0 1.3px, transparent 1.8px),
    linear-gradient(rgba(150,178,220,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150,178,220,.05) 1px, transparent 1px),
    linear-gradient(rgba(150,178,220,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150,178,220,.028) 1px, transparent 1px); background-size:192px 192px,192px 192px,192px 192px,48px 48px,48px 48px; background-position:-1px -1px; -webkit-mask-image:radial-gradient(130% 95% at 50% 35%, #000 45%, rgba(0,0,0,.35) 80%, transparent 100%); mask-image:radial-gradient(130% 95% at 50% 35%, #000 45%, rgba(0,0,0,.35) 80%, transparent 100%); }
.quadrillage::after{ background-image:linear-gradient(rgba(255,190,100,.24) 1px, transparent 1px), linear-gradient(90deg, rgba(255,190,100,.24) 1px, transparent 1px); background-size:48px 48px; background-position:-1px -1px; -webkit-mask-image:radial-gradient(240px circle at var(--gx) var(--gy), transparent 0 30px, #000 80px, transparent 72%); mask-image:radial-gradient(240px circle at var(--gx) var(--gy), transparent 0 30px, #000 80px, transparent 72%); }
.rails{ position:fixed; inset:0; z-index:-1; pointer-events:none; display:none; }
@media (min-width:1040px){
  .rails{ display:block; }
  .rails::before, .rails::after{ content:""; position:absolute; top:0; bottom:0; width:1px; background:linear-gradient(180deg, transparent, rgba(255,200,130,.14) 10%, rgba(255,200,130,.14) 90%, transparent); }
  .rails::before{ left:calc(50% - var(--lg) / 2 + var(--e4)); }
  .rails::after{ right:calc(50% - var(--lg) / 2 + var(--e4)); }
  .rl{ position:absolute; top:0; bottom:0; width:1px; opacity:0; transition:opacity .5s ease; }
  .rails-actif .rl{ opacity:1; }
  .rl-g{ left:calc(50% - var(--lg) / 2 + var(--e4)); }
  .rl-d{ right:calc(50% - var(--lg) / 2 + var(--e4)); }
  .rl i{ position:absolute; inset:0; transform-origin:50% 0; transform:scaleY(var(--avance, 0)); background:linear-gradient(180deg, rgba(255,205,135,.16), rgba(255,196,112,.52) 55%, rgba(255,181,71,.8)); box-shadow:0 0 7px rgba(255,181,71,.3); }
  .rl b{ position:absolute; left:-2px; top:-2.5px; width:5px; height:5px; border-radius:50%; background:#FFE9C4; box-shadow:0 0 9px 2px rgba(255,181,71,.55); transform:translateY(calc(var(--avance, 0) * (100vh - 5px))); }
}
.nav-in{ transition:background .45s ease, -webkit-backdrop-filter .45s ease, backdrop-filter .45s ease; }
.nav-in::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; pointer-events:none; background:linear-gradient(90deg, transparent 8%, rgba(255,181,71,.6) 50%, transparent 92%); }
.marque .nom b{ color:var(--or); }
.marque-centre{ color:var(--or-pale); text-shadow:0 0 14px rgba(255,170,60,.55); }
.marque-centre:hover{ color:var(--or-pale); background:rgba(255,190,100,.08); }
.rond{ background:rgba(8,40,58,.42); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.burger[aria-expanded="true"]{ background:rgba(255,181,71,.16); border-color:rgba(255,210,140,.5); }
.menu-mobile{ border-color:var(--bord-fort); box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 30px 70px -30px rgba(2,14,22,.9); }
.menu-mobile a:hover{ background:rgba(255,190,100,.07); }
.btn{ color:var(--encre-btn); box-shadow:0 10px 34px -12px rgba(255,160,50,.75), inset 0 1px 0 rgba(255,255,255,.45); }
.btn:hover{ filter:brightness(1.06); box-shadow:0 16px 42px -12px rgba(255,160,50,.85), inset 0 1px 0 rgba(255,255,255,.5); }
.btn .fl{ background:rgba(4,38,58,.14); }
.btn.btn-verre{ color:var(--texte); background:var(--reflet), var(--voile); -webkit-backdrop-filter:blur(12px) saturate(1.4); backdrop-filter:blur(12px) saturate(1.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.btn.btn-verre:hover{ filter:none; border-color:rgba(255,210,140,.55); box-shadow:0 0 0 1px rgba(255,200,120,.16), 0 12px 30px -14px rgba(255,170,60,.6); }
.btn.reussi .fl{ background:#fff; color:#003B5C; }
.marche[data-p="1"] .rang, .vote[aria-pressed="true"], .aca-etat.fort, .vive:hover .ouvrir-p, .ouvrir-p:focus-visible, .vive:hover .ouvrir-p .n, .ouvrir-p:focus-visible .n, .menu-mobile a[aria-current="page"] .ic{ color:var(--encre-btn); }
.or{ font-family:var(--f-math); font-style:italic; font-weight:600; letter-spacing:-.005em; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 18px rgba(255,165,50,.38)); padding-inline:.04em .14em; }
.ouverture h1 .or{ font-size:1.14em; line-height:1.04; margin-top:.02em; }
.verre:not(.verre-grad)::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none; -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; }
.verre-grad::before{ background:linear-gradient(145deg, rgba(255,255,255,.55), rgba(255,255,255,.08) 30%, rgba(255,205,135,.18) 60%, rgba(255,205,135,.6)); }
.vive:hover{ box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.26), 0 0 44px -14px rgba(255,160,50,.35), 0 34px 70px -34px rgba(0,0,0,.95); }
.coeur-bloc{ position:relative; margin-top:var(--e4); }
.scene{ position:relative; height:clamp(440px, 40vw, 580px); }
.coeur-or{ position:absolute; left:0; top:-40px; width:100%; height:calc(100% + 200px); z-index:1; pointer-events:none; display:block; -webkit-mask-image:linear-gradient(180deg, #000 72%, transparent 98%); mask-image:linear-gradient(180deg, #000 72%, transparent 98%); }
.etiqs{ position:absolute; inset:0; z-index:3; pointer-events:none; }
.coeur-bloc{ height:auto; }
.etiq{ padding:0; gap:0; align-items:stretch; align-content:start; text-align:left; font:inherit; }
.etiq span{ color:inherit; font-size:inherit; }
.etiq::before{ width:auto; height:auto; display:block; }
.etiq{ position:absolute; pointer-events:auto; display:grid; width:min(262px, 22%); border-radius:12px; overflow:hidden; isolation:isolate; text-decoration:none; color:var(--texte); box-shadow:0 26px 60px -30px rgba(2,14,22,.85), 0 2px 0 -1px rgba(255,255,255,.06); transition:translate .45s var(--courbe), opacity .45s ease, filter .45s ease, box-shadow .45s ease; }
.etiq::before{ content:""; position:absolute; inset:0; z-index:3; border-radius:inherit; padding:1px; pointer-events:none; background:linear-gradient(145deg, rgba(255,255,255,.6), rgba(255,255,255,.1) 28%, rgba(255,205,135,.16) 62%, rgba(255,205,135,.5)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; }
.etiq:hover, .etiq:focus-visible{ translate:0 -3px; box-shadow:0 0 44px -12px rgba(255,160,50,.4), 0 34px 70px -30px rgba(2,14,22,.95); }
.etiqs:has(.etiq:hover) .etiq:not(:hover), .etiqs:has(.etiq:focus-visible) .etiq:not(:focus-visible){ opacity:.5; filter:saturate(.7); }
.etiq::after, .final-in::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .35s; background:radial-gradient(300px circle at var(--mx, 50%) var(--my, -30%), rgba(255,226,170,.13), rgba(255,255,255,.03) 40%, transparent 65%); }
.etiq::after{ z-index:2; }
.etiq:hover::after, .final-in:hover::after{ opacity:1; }
.etiq-1{ top:0; left:0; }
.etiq-2{ top:0; right:0; }
.etiq-3{ bottom:0; left:0; }
.etiq-4{ bottom:0; right:0; }
@keyframes flotte{ 50%{ transform:translateY(-8px); } }
.etiq{ animation:flotte-lame 8s cubic-bezier(.45,.05,.55,.95) infinite; }
.etiq-1{ animation-duration:8s; animation-delay:0s; }
.etiq-2{ animation-duration:9.6s; animation-delay:-3.1s; animation-direction:reverse; }
.etiq-3{ animation-duration:8.8s; animation-delay:-5.2s; animation-direction:reverse; }
.etiq-4{ animation-duration:10.4s; animation-delay:-1.7s; }
@keyframes flotte-lame{ 0%, 100%{ transform:translate3d(0,0,0) rotate(-.9deg); } 25%{ transform:translate3d(5px,-12px,0) rotate(.2deg); } 50%{ transform:translate3d(2px,-22px,0) rotate(.9deg); } 75%{ transform:translate3d(-4px,-10px,0) rotate(-.1deg); } }
.voyant{ display:inline-flex; gap:3px; flex:none; }
.voyant i{ width:8px; height:8px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFF4D6, var(--or) 60%); box-shadow:0 0 calc(5px + 9px * var(--bat)) rgba(255,181,71,calc(.55 + .4 * var(--bat))); }
.voyant.attente i{ background:transparent; box-shadow:inset 0 0 0 1.5px var(--or); animation:attente 2.4s ease-in-out infinite; }
@keyframes attente{ 50%{ box-shadow:inset 0 0 0 1.5px var(--or), 0 0 0 4px rgba(255,181,71,.2); } }
#b-anim{ position:relative; }
#b-anim::after{ content:""; position:absolute; top:5px; right:5px; width:6px; height:6px; border-radius:50%; background:var(--or); box-shadow:0 0 8px rgba(255,181,71,.9); transition:background .3s, box-shadow .3s; }
#b-anim[aria-pressed="false"]::after{ background:rgba(255,181,71,.12); box-shadow:inset 0 0 0 1px rgba(255,205,135,.5); }
.ruban li{ transition:opacity .35s ease; }
.ruban:hover li:not(:hover){ opacity:.42; }
.voyant i.attente{ background:transparent; box-shadow:inset 0 0 0 1.5px var(--or); animation:attente 2.4s ease-in-out infinite; }
.ruban{ position:relative; z-index:2; overflow:hidden; border-block:1px solid var(--bord); -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.ruban-piste{ display:flex; width:max-content; animation:defile 52s linear infinite; }
.ruban:hover .ruban-piste{ animation-play-state:paused; }
.ruban ul{ display:flex; margin:0; padding:0; list-style:none; }
.ruban li{ display:flex; gap:10px; white-space:nowrap; font-size:clamp(18px, 1.9vw, 26px); font-weight:700; letter-spacing:-.025em; color:var(--texte-2); }
.ruban li + li{ border-left:1px solid var(--bord-fort); }
.ruban li small{ font:400 .5em var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--or); }
@keyframes defile{ to{ transform:translateX(-50%); } }
.ruban{ margin:var(--e4) 0 var(--e5); }
.final{ position:relative; }
.final-in{ position:relative; overflow:hidden; isolation:isolate; border-radius:26px; padding:var(--e6) var(--e5); display:grid; grid-template-columns:200px minmax(0,1fr); gap:var(--e5); align-items:center; border:1px solid rgba(255,200,120,.22); --hx:132px; --hy:50%; --hr:104px; }
.final-in::before{ content:""; position:absolute; inset:0; z-index:0; border-radius:inherit; pointer-events:none; -webkit-mask:radial-gradient(circle var(--hr) at var(--hx) var(--hy), transparent 98%, #000 100%); mask:radial-gradient(circle var(--hr) at var(--hx) var(--hy), transparent 98%, #000 100%); }
.final-in > *{ position:relative; z-index:1; }
.final-in > .circuit{ position:absolute; inset:0; z-index:0; width:100%; height:100%; opacity:.75; -webkit-mask-image:linear-gradient(100deg, transparent 25%, #000 80%); mask-image:linear-gradient(100deg, transparent 25%, #000 80%); }
.circuit path{ fill:none; stroke:rgba(255,181,71,.2); stroke-width:1; }
.circuit circle{ fill:#062536; stroke:rgba(255,181,71,.34); stroke-width:1; }
.mini-orbe{ width:180px; height:180px; border-radius:50%; justify-self:center; box-shadow:0 0 90px -12px rgba(255,160,50,.6); animation:flotte 7s ease-in-out infinite; }
.final-in > .hublot{ position:absolute; z-index:0; left:calc(var(--hx) - var(--hr)); top:calc(var(--hy) - var(--hr)); width:calc(var(--hr) * 2); height:calc(var(--hr) * 2); border-radius:50%; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,205,135,.4), inset 0 10px 24px -14px rgba(255,255,255,.35), 0 0 0 1px rgba(255,255,255,.08); }
.mini-orbe .mo{ display:block; width:100%; height:100%; overflow:visible; }
.mo-verre{ filter:drop-shadow(0 14px 30px rgba(0,0,0,.6)); }
.mo-bord{ stroke:rgba(255,210,140,.34); stroke-width:.7; }
.mo-anneau{ stroke:rgba(255,210,140,.4); stroke-width:.6; stroke-dasharray:.8 4.6; stroke-linecap:round; transform-box:view-box; transform-origin:50px 50px; animation:mo-tourne 34s linear infinite; }
.mo-trait path{ fill:none; stroke:rgba(255,248,225,.55); stroke-width:.55; }
#mo-coeur path, .mo-trait path{ fill-rule:evenodd; }
.mo-bat{ transform-box:view-box; transform-origin:50px 50px; animation:mo-bat 3.4s cubic-bezier(.3,.7,.3,1) infinite; }
.mo-lueur{ animation:mo-balai 6s cubic-bezier(.6,0,.4,1) infinite; }
@keyframes mo-balai{ 0%, 12%{ translate:0 0; } 48%, 100%{ translate:150px 0; } }
@keyframes mo-bat{ 0%, 100%{ scale:1; } 7%{ scale:1.045; } 15%{ scale:1.012; } 23%{ scale:1.03; } 38%{ scale:1; } }
@keyframes mo-tourne{ to{ rotate:360deg; } }
.final h2{ margin:0; font-size:clamp(26px, 3.2vw, 42px); font-weight:800; letter-spacing:-.035em; line-height:1.12; text-wrap:balance; }
.final h2 .or{ font-size:1.1em; }
.final p{ margin:var(--e3) 0 var(--e4); color:var(--texte-2); }
.final{ padding-block:var(--e6) var(--e7); }
.final-in{ background:none; }
.pied{ position:relative; border-top:1px solid var(--bord); padding-block:var(--e6) var(--e5); overflow:hidden; background:var(--reflet), rgba(8,40,58,.55); -webkit-backdrop-filter:var(--flou); backdrop-filter:var(--flou); }
.pied-grille{ display:grid; grid-template-columns:minmax(0,1.6fr) repeat(2, minmax(0,1fr)); gap:var(--e5) var(--e6); }
.pied .marque .logo-ghu{ height:44px; }
.pied-mot{ margin:var(--e3) 0 0; padding-left:14px; border-left:2px solid rgba(255,181,71,.6); font-size:15px; line-height:1.5; color:var(--texte-2); max-width:34ch; }
.pied h4{ margin:0 0 var(--e3); font:400 10.5px var(--f-mono); letter-spacing:.2em; text-transform:uppercase; color:var(--texte-3); }
.pied nav{ display:grid; gap:10px; }
.pied nav a{ text-decoration:none; font-size:14px; color:var(--texte-2); }
.pied nav a:hover{ color:var(--texte); }
.pied-bas{ margin-top:var(--e5); padding-top:var(--e4); border-top:1px solid var(--bord); display:flex; flex-wrap:wrap; gap:var(--e2) var(--e4); font:11px var(--f-mono); color:var(--texte-3); }
.pied-bas a{ text-decoration:none; }
.pied-bas a:hover{ color:var(--texte); text-decoration:underline; }
.pied-bas .fin{ margin-left:auto; }
.pied-signe{ margin:var(--e6) 0 calc(var(--e5) * -1); text-align:center; user-select:none; font:700 clamp(56px, 10.5vw, 138px)/.82 var(--f-pts); letter-spacing:.02em; background:linear-gradient(180deg, rgba(255,196,110,.5), rgba(255,160,50,.1) 92%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.saut{ position:fixed; right:16px; bottom:16px; z-index:76; display:flex; flex-direction:column; border-radius:99px; overflow:hidden; background:var(--reflet), rgba(8,40,58,.6); border:1px solid var(--bord-fort); -webkit-backdrop-filter:var(--flou); backdrop-filter:var(--flou); box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
.saut button{ width:42px; height:40px; display:grid; place-items:center; background:none; border:0; color:var(--texte); cursor:pointer; }
.saut button + button{ border-top:1px solid var(--bord); }
.saut button:disabled{ opacity:.3; cursor:default; }
@media (max-width:1100px){
  .etiq{ width:min(240px, 24%); }
}
@media (max-width:980px){
  .etiqs{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin-top:var(--e3); }
  .etiq{ position:relative; width:auto; animation:none; }
  .etiq::before{ display:block; }
  .final-in{ --hx:50%; --hy:108px; --hr:72px; }
}
@media (max-width:560px){
  .etiqs{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:1100px){
  .pied-grille{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .pied-grille > :first-child{ grid-column:1 / -1; }
}
@media (max-width:980px){
  .final-in{ grid-template-columns:1fr; text-align:center; }
}
@media (max-width:640px){
  .pied-grille{ grid-template-columns:1fr 1fr; }
}
.questions details{ padding-block:0; }
.questions summary{ padding-block:var(--e3); }
.questions details[open]{ padding-bottom:var(--e3); }
.questions details p{ margin-top:calc(var(--e2) * -1); }
@media (pointer:coarse){
  .filtre-a, .puce, .segments button{ min-height:40px; }
  .sites .chiffres a, .aca-d-plus .lien-fl{ display:inline-flex; align-items:center; min-height:40px; }
  .pj-x{ width:36px; height:36px; }
}
@media (max-width:980px){
  .scene{ height:auto; padding-top:min(88vw, 460px); }
  .coeur-or{ height:calc(min(88vw, 460px) + 200px); }
  .etiqs{ position:relative; z-index:3; }
}
@media (max-width:640px){
  .nav-in .marque .logo-ghu{ height:26px; }
  .marque-centre{ font-size:19px; padding:6px 8px; }
}
@media (max-width:400px){
  .nav-in{ gap:var(--e3); padding-inline:var(--e3); }
  .nav-in .marque .logo-ghu{ height:22px; }
  .marque-centre{ font-size:17px; letter-spacing:.1em; }
}
@media (max-width:340px){
  .nav-in .marque .logo-ghu{ height:20px; }
  .marque-centre{ font-size:16px; }
}
@media (max-width:640px){
  .nav-in .marque, .marque-centre{ min-height:40px; }
}
@media (pointer:coarse){
  .pied nav{ gap:0; }
  .pied nav a{ padding-block:9px; }
}
.aca-nav .rond{ flex:none; }
.aca-nav{ flex-wrap:wrap; row-gap:var(--e2); }
@media (max-width:560px){
  .courbe{ overflow-x:auto; overflow-y:hidden; padding-top:10px; overscroll-behavior-x:contain; }
  .courbe svg{ width:600px; max-width:none; }
  .courbe .bulle{ left:calc(600px * .98125) !important; top:30px !important; }
}
@media (max-width:640px){
  .pg-t{ min-height:calc(2.5em + 18px); }
  .saut{ right:10px; bottom:10px; }
  .saut button{ width:38px; height:36px; }
}
.ruban a{ display:flex; align-items:baseline; gap:10px; color:inherit; text-decoration:none; border-radius:10px; transition:color .3s ease, text-shadow .3s ease; }
.ruban a:hover, .ruban a:focus-visible{ color:var(--or-pale); text-shadow:0 0 22px rgba(255,181,71,.34); }
.ruban a:focus-visible{ outline:2px solid var(--focus); outline-offset:-4px; }
.ruban a:hover small{ color:var(--or-pale); }
.ruban .ruban-ext{ font:600 .46em var(--f-mono); color:var(--or); opacity:.55; transform:translateY(-.7em); transition:opacity .3s ease, transform .3s ease; }
.ruban a:hover .ruban-ext, .ruban a:focus-visible .ruban-ext{ opacity:1; transform:translateY(-.85em); }
.ruban.ruban-clavier li:not(:focus-within){ opacity:.42; }
.tete-credo > .credo{ grid-area:2 / 2; }
.tete-credo > .oeil{ grid-area:3 / 1; }
.tete-credo > p{ grid-area:3 / 2; }
.credo{ margin-top:var(--e3); }
.credo-carte{ position:relative; overflow:hidden; padding:var(--e4); border:1px solid var(--bord); border-radius:22px; background:var(--reflet), var(--grain), var(--voile); -webkit-backdrop-filter:var(--flou); backdrop-filter:var(--flou); box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 28px 64px -42px rgba(0,0,0,.95); }
.credo-rail{ position:absolute; left:var(--e4); right:var(--e4); top:50%; height:1px; overflow:hidden; background:linear-gradient(90deg, transparent, var(--bord-fort) 7%, var(--bord-fort) 93%, transparent); pointer-events:none; }
.credo-rail b{ position:absolute; top:0; bottom:0; left:-18%; width:18%; background:linear-gradient(90deg, rgba(255,181,71,0), var(--or) 46%, #FFEBC0 56%, rgba(255,181,71,0)); animation:credo-flux 4.6s cubic-bezier(.5,0,.5,1) infinite; }
@keyframes credo-flux{ 0%{ transform:translateX(0); opacity:0; } 10%{ opacity:1; } 86%{ opacity:1; } 100%{ transform:translateX(655%); opacity:0; } }
.credo-eq{ position:relative; z-index:1; display:flex; flex-wrap:wrap; align-items:stretch; justify-content:center; gap:var(--e3); }
.credo-puce{ position:relative; flex:1 1 150px; min-width:0; max-width:268px; padding:15px 16px 14px; border-radius:15px; border:1px solid var(--bord); background:var(--reflet), var(--grain), var(--voile-fort); -webkit-backdrop-filter:blur(14px) saturate(1.35); backdrop-filter:blur(14px) saturate(1.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 16px 34px -24px rgba(0,0,0,.92); }
.credo-broches, .credo-puce::after{ content:""; position:absolute; left:18px; right:18px; height:2px; border-radius:2px; background:repeating-linear-gradient(90deg, var(--or) 0 5px, transparent 5px 14px); pointer-events:none; }
.credo-broches{ top:-1px; opacity:.32; }
.credo-puce::after{ bottom:-1px; opacity:.16; }
.credo-n{ display:block; font:400 10px/1 var(--f-mono); font-style:normal; letter-spacing:.2em; text-transform:uppercase; color:var(--texte-3); }
.credo-puce b{ display:block; margin-top:8px; font-size:clamp(20px, 2.1vw, 27px); font-weight:800; letter-spacing:-.03em; line-height:1; }
.credo-puce em{ display:block; margin-top:8px; font-style:normal; font-size:12px; line-height:1.4; color:var(--texte-2); }
.credo-op{ flex:none; align-self:center; position:relative; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--bord-fort); background:radial-gradient(circle at 50% 40%, rgba(255,181,71,.26), rgba(4,22,34,.9) 70%); box-shadow:0 0 0 5px rgba(4,20,32,.62), 0 0 6px rgba(255,181,71,.16); animation:credo-bat-op 1.7s linear infinite; }
.credo-eq .credo-op:nth-child(4){ animation-delay:.14s; }
@keyframes credo-bat-op{ 0%, 32%, 100%{ box-shadow:0 0 0 5px rgba(4,20,32,.62), 0 0 6px rgba(255,181,71,.16); } 6%{ box-shadow:0 0 0 5px rgba(4,20,32,.62), 0 0 20px rgba(255,181,71,.5); } 13%{ box-shadow:0 0 0 5px rgba(4,20,32,.62), 0 0 9px rgba(255,181,71,.24); } 20%{ box-shadow:0 0 0 5px rgba(4,20,32,.62), 0 0 15px rgba(255,181,71,.38); } }
.credo-op i{ font:700 20px/1 var(--f-mono); font-style:normal; color:var(--or-pale); transform:translateY(-1px); }
.credo-sortie{ border-color:rgba(255,205,135,.34); background:var(--reflet), var(--grain),
             linear-gradient(160deg, rgba(255,181,71,.17), rgba(255,181,71,.03) 62%), var(--voile-fort); }
.credo-sortie b{ font-size:clamp(25px, 2.8vw, 35px); letter-spacing:.005em; }
.credo-sortie .credo-n{ color:var(--or); }
.credo-sortie::before{ content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,205,135,.18), 0 0 10px rgba(255,181,71,.05); animation:credo-bat-sortie 1.7s linear infinite .28s; }
@keyframes credo-bat-sortie{ 0%, 32%, 100%{ box-shadow:inset 0 0 0 1px rgba(255,205,135,.18), 0 0 10px rgba(255,181,71,.05); } 6%{ box-shadow:inset 0 0 0 1px rgba(255,205,135,.54), 0 0 38px rgba(255,181,71,.23); } 13%{ box-shadow:inset 0 0 0 1px rgba(255,205,135,.26), 0 0 16px rgba(255,181,71,.09); } 20%{ box-shadow:inset 0 0 0 1px rgba(255,205,135,.4), 0 0 28px rgba(255,181,71,.16); } }
.credo-voyant{ position:absolute; top:14px; right:14px; width:8px; height:8px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFF4D6, var(--or) 60%); box-shadow:0 0 6px rgba(255,181,71,.6); animation:credo-bat-voyant 1.7s linear infinite .28s; }
@keyframes credo-bat-voyant{ 0%, 32%, 100%{ box-shadow:0 0 6px rgba(255,181,71,.6); } 6%{ box-shadow:0 0 16px rgba(255,181,71,.98); } 20%{ box-shadow:0 0 12px rgba(255,181,71,.8); } }
@media (max-width:640px){
  .credo-eq{ flex-direction:column; align-items:stretch; gap:var(--e2); }
  .credo-puce{ flex:none; max-width:none; animation:none; padding:13px 16px 12px; }
  .credo-op{ align-self:center; }
  .credo-rail{ left:50%; right:auto; top:var(--e4); bottom:var(--e4); width:2px; height:auto; margin-left:-1px; background:linear-gradient(180deg, transparent, var(--bord-fort) 7%, var(--bord-fort) 93%, transparent); }
  .credo-rail b{ top:-18%; bottom:auto; left:0; right:0; width:auto; height:18%; background:linear-gradient(180deg, rgba(255,181,71,0), var(--or) 46%, #FFEBC0 56%, rgba(255,181,71,0)); box-shadow:0 0 10px rgba(255,181,71,.5); animation-name:credo-flux-h; }
  @keyframes credo-flux-h{ 0%{ transform:translateY(0); opacity:0; } 10%{ opacity:1; } 86%{ opacity:1; } 100%{ transform:translateY(655%); opacity:0; } }
}
@media (max-width:860px){
  .tete-credo > .credo, .tete-credo > .oeil, .tete-credo > p{ grid-area:auto; }
  .tete-credo > .credo{ margin-top:var(--e3); }
}
.ruban{ padding-block:0; }
.ruban li{ padding:0; align-items:stretch; }
.ruban a{ padding:18px var(--e5); }
.ruban.ruban-clavier .ruban-piste{ animation:none; }
@media (max-width:860px){
  .ruban a{ padding-inline:var(--e4); }
}
:root{ --fume:linear-gradient(180deg, rgba(3,11,25,.16) 0%, rgba(2,9,21,.36) 55%, rgba(1,6,15,.56) 100%); --fume-flou:blur(7px) brightness(.78) saturate(1.25); --fume-reflet:linear-gradient(118deg, rgba(255,248,232,.10) 0%, rgba(255,248,232,.03) 20%, rgba(255,255,255,0) 36%, rgba(255,255,255,0) 63%, rgba(255,236,200,.055) 69%, rgba(255,255,255,0) 75%); --fume-aretes:inset 0 1px 0 rgba(255,240,215,.17), inset 0 -1px 0 rgba(0,0,0,.5), inset 0 -40px 60px -46px rgba(0,0,0,.6); --verre-fond:var(--fume); --verre-reflet:var(--fume-reflet); --verre-aretes:var(--fume-aretes); --voile:rgba(3,12,26,.4); --voile-fort:rgba(2,9,20,.74); --reflet:var(--fume-reflet); --flou:var(--fume-flou); }
.verre{ -webkit-backdrop-filter:var(--fume-flou); backdrop-filter:var(--fume-flou); }
.verre:not(.verre-grad)::before{ background:linear-gradient(150deg, rgba(255,248,232,.36), rgba(255,255,255,.05) 26%, rgba(255,205,135,.05) 64%, rgba(255,205,135,.28)); }
.nav-in{ background:var(--fume-reflet), linear-gradient(180deg, rgba(3,11,25,.46), rgba(3,11,25,.18)); -webkit-backdrop-filter:blur(10px) brightness(.8) saturate(1.3); backdrop-filter:blur(10px) brightness(.8) saturate(1.3); box-shadow:inset 0 1px 0 rgba(255,240,215,.12), 0 18px 40px -24px rgba(0,0,0,.9); }
.nav.defile .nav-in{ background:var(--fume-reflet), linear-gradient(180deg, rgba(2,9,20,.8), rgba(2,9,20,.6)); -webkit-backdrop-filter:blur(16px) brightness(.7) saturate(1.3); backdrop-filter:blur(16px) brightness(.7) saturate(1.3); }
.menu-mobile{ background:var(--fume-reflet), linear-gradient(180deg, rgba(3,11,25,.74), rgba(1,6,15,.88)); -webkit-backdrop-filter:blur(18px) brightness(.7) saturate(1.3); backdrop-filter:blur(18px) brightness(.7) saturate(1.3); }
.ruban{ background:var(--fume-reflet), linear-gradient(180deg, rgba(3,11,25,.14), rgba(1,6,15,.5)); -webkit-backdrop-filter:blur(3px) brightness(.72) saturate(1.2); backdrop-filter:blur(3px) brightness(.72) saturate(1.2); border-top-color:rgba(255,240,215,.16); border-bottom-color:rgba(0,0,0,.55); box-shadow:inset 0 -22px 34px -28px rgba(0,0,0,.7); }
.final-in::before{ background:var(--grain),
    linear-gradient(112deg, rgba(255,248,232,.11) 0%, rgba(255,248,232,.025) 18%, rgba(255,255,255,0) 32%, rgba(255,255,255,0) 58%, rgba(255,236,200,.07) 63%, rgba(255,255,255,0) 69%),
    radial-gradient(520px 300px at 88% 18%, rgba(255,170,60,.15), transparent 70%),
    linear-gradient(180deg, rgba(3,11,25,.3), rgba(1,6,15,.7)); -webkit-backdrop-filter:blur(5px) brightness(.72) saturate(1.3); backdrop-filter:blur(5px) brightness(.72) saturate(1.3); }
.final-in{ box-shadow:inset 0 1px 0 rgba(255,240,215,.16), inset 0 -1px 0 rgba(0,0,0,.5), 0 40px 90px -50px rgba(255,150,40,.35); }
.final-in > .balaye{ position:absolute; inset:0; z-index:0; border-radius:inherit; overflow:hidden; pointer-events:none; }
.final-in > .balaye::before{ content:""; position:absolute; top:-30%; bottom:-30%; left:0; width:34%; background:linear-gradient(100deg, rgba(255,244,222,0), rgba(255,244,222,.05) 35%, rgba(255,244,222,.15) 50%, rgba(255,244,222,.05) 65%, rgba(255,244,222,0)); transform:translateX(-130%) skewX(-14deg); animation:bb-balaye 8s cubic-bezier(.6,0,.35,1) 1.2s infinite; }
.final-in > .balaye::after{ content:""; position:absolute; inset:9px; border-radius:18px; box-shadow:inset 0 0 0 1px rgba(255,240,215,.07), inset 0 1px 0 rgba(255,240,215,.09); }
@keyframes bb-balaye{ 0%, 58%{ transform:translateX(-130%) skewX(-14deg); } 100%{ transform:translateX(360%) skewX(-14deg); } }
.credo-tete{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e2) var(--e4); margin:0 0 54px; }
.credo-titre{ font:800 clamp(32px, 3.6vw, 50px)/1.02 var(--f); letter-spacing:-.045em; color:var(--texte); }
.credo-titre .or{ font-size:1.14em; }
.credo-carte{ border-color:rgba(255,205,135,.2); }
.credo-corps{ position:relative; }
.credo-corps .credo-rail{ left:0; right:0; }
@media (max-width:640px){
  .credo-tete{ gap:var(--e2); margin-bottom:30px; }
  .credo-corps .credo-rail{ left:50%; right:auto; top:0; bottom:0; }
}
#b-anim{ width:auto; min-width:38px; display:inline-flex; align-items:center; gap:8px; padding:0 12px 0 11px; border-radius:99px; }
#b-anim::after{ display:none; }
.anim-etat{ display:inline-flex; align-items:center; gap:6px; height:16px; padding-left:8px; border-left:1px solid var(--bord-fort); }
.anim-etat i{ flex:none; width:6px; height:6px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFF4D6, var(--or) 60%); box-shadow:0 0 8px rgba(255,181,71,.9); transition:background .3s, box-shadow .3s; }
.anim-etat b{ min-width:3ch; font:500 10.5px/1 var(--f-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--or-pale); text-align:left; }
#b-anim[aria-pressed="false"] .anim-etat i{ background:transparent; box-shadow:inset 0 0 0 1px rgba(255,205,135,.55); }
#b-anim[aria-pressed="false"] .anim-etat b{ color:var(--texte-3); }
@media (max-width:400px){
  #b-anim{ padding:0 10px; }
  #b-anim > svg{ display:none; }
  .anim-etat{ padding-left:0; border-left:0; }
}
.marque-centre{ flex-direction:column; gap:5px; }
.mc-acc{ display:inline-flex; align-items:center; gap:6px; margin-right:-.3em; font:500 8px/1 var(--f-mono); letter-spacing:.3em; text-transform:uppercase; color:var(--or); text-shadow:none; opacity:.9; }
.mc-acc::before, .mc-acc::after{ content:""; width:10px; height:1px; background:linear-gradient(90deg, rgba(255,181,71,0), var(--or)); }
.mc-acc::after{ background:linear-gradient(90deg, var(--or), rgba(255,181,71,0)); }
@media (max-width:640px){
  .marque-centre{ gap:3px; }
  .mc-acc{ font-size:7px; letter-spacing:.22em; gap:4px; margin-right:-.22em; }
  .mc-acc::before, .mc-acc::after{ width:6px; }
}
.ruban:focus-within:not(:hover) .ruban-piste{ animation-play-state:running; }
.ruban.ruban-libre .ruban-piste{ animation-play-state:running; }
.ruban.ruban-libre:hover li:not(:hover){ opacity:1; }
.credo-traces{ position:absolute; left:0; top:0; z-index:2; width:100%; height:100%; overflow:visible; pointer-events:none; }
.ct-fil{ fill:none; stroke:rgba(255,181,71,.5); stroke-width:1; stroke-linejoin:round; }
.ct-flux{ fill:none; stroke:#FFEBC0; stroke-width:1.8; stroke-linecap:round; stroke-dasharray:9 300; stroke-dashoffset:9; filter:drop-shadow(0 0 3px rgba(255,181,71,.95)); animation:ct-flux 3.4s cubic-bezier(.45,0,.55,1) infinite; }
@keyframes ct-flux{ 0%{ stroke-dashoffset:9; opacity:0; } 6%{ opacity:1; } 92%{ opacity:1; } 100%{ stroke-dashoffset:-100; opacity:0; } }
.ct-depart{ fill:rgba(3,12,24,.95); stroke:rgba(255,181,71,.75); stroke-width:1.2; }
.ct-arrivee{ fill:var(--or); filter:drop-shadow(0 0 3px rgba(255,181,71,.75)); animation:ct-arrivee 3.4s linear infinite; }
@keyframes ct-arrivee{ 0%, 84%, 100%{ filter:drop-shadow(0 0 3px rgba(255,181,71,.75)); } 93%{ filter:drop-shadow(0 0 9px rgba(255,222,150,1)); } }
@media (min-width:561px) and (max-width:960px){
  .marque-centre{ position:relative; left:auto; top:auto; translate:none; margin-inline:auto; }
  .nav-actions{ flex:0 1 auto; }
}
@media (min-width:561px) and (max-width:840px){
  #b-anim > svg{ display:none; }
  #b-anim{ padding:0 10px; }
  .anim-etat{ padding-left:0; border-left:0; }
  .nav-actions .btn .fl{ display:none; }
  .nav-in{ gap:var(--e3); }
}
@media (min-width:561px) and (max-width:639px){ .nav-actions .btn{ display:none; } }
@media (min-width:640px) and (max-width:840px){ .nav-actions .btn{ white-space:nowrap; padding-inline:14px; } }
@media (max-width:340px){
  .mc-acc::before, .mc-acc::after{ display:none; }
  .mc-acc{ letter-spacing:.14em; margin-right:-.14em; }
}
.fil{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 9px; }
.fil a{ color:inherit; text-decoration:none; transition:color .25s ease; }
.fil a:hover{ color:var(--or-pale); }
.fil a:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; border-radius:3px; }
.fil i{ font-style:normal; color:var(--or); opacity:.75; }
.fil [aria-current]{ color:var(--or-pale); }

/* Récit de l'accueil : saisie, étapes, preuves, écrans, registre, questions */
.ouv-grille{ position:relative; z-index:4; }
.rc-saisie{ width:min(760px, 100%); display:flex; align-items:flex-start; gap:14px; margin-top:8px; padding:8px 8px 8px 20px; border-radius:20px; text-align:left; cursor:text; box-shadow:var(--verre-aretes), 0 0 0 6px rgba(255,181,71,.05), 0 26px 60px -38px rgba(255,160,50,.55); transition:box-shadow .3s ease; }
.rc-saisie:focus-within{ box-shadow:var(--verre-aretes), 0 0 0 1px rgba(255,214,150,.45), 0 0 0 6px rgba(255,181,71,.1), 0 26px 60px -34px rgba(255,160,50,.75); }
.rc-pre{ flex:none; padding-top:17px; font:500 10.5px/1 var(--f-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--or); user-select:none; }
.rc-zone{ position:relative; flex:1; min-width:0; }
.rc-zone textarea{ display:block; width:100%; height:44px; min-height:44px; max-height:196px; margin:0; padding:10px 0; resize:none; overflow-y:auto; border:0; background:none; color:var(--texte); font:500 16px/24px var(--f); }
.rc-zone textarea:focus{ outline:none; }
.rc-fantome, .rc-indice{ position:absolute; left:0; right:0; top:10px; overflow:hidden; white-space:nowrap; font:500 16px/24px var(--f); pointer-events:none; transition:opacity .2s ease; }
.rc-fantome{ color:var(--texte-3); }
.rc-indice{ opacity:0; font-size:14px; color:var(--texte-3); }
.rc-caret{ display:inline-block; width:2px; height:1.05em; margin-left:2px; vertical-align:-3px; background:var(--or); animation:rc-clignote .8s steps(1) infinite; }
@keyframes rc-clignote{ 50%{ opacity:0; } }
.rc-zone:focus-within .rc-fantome, .rc-zone.plein .rc-fantome, .rc-zone.erreur .rc-fantome{ opacity:0; }
.rc-zone:focus-within:not(.plein) .rc-indice, .rc-zone.erreur .rc-indice{ opacity:1; }
.rc-zone.erreur .rc-indice{ color:var(--alerte); }
.rc-envoi{ flex:none; align-self:flex-end; width:44px; height:44px; border:0; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:var(--encre-btn); background:var(--grad-btn); box-shadow:0 10px 26px -10px rgba(255,160,50,.85), inset 0 1px 0 rgba(255,255,255,.45); transition:transform .2s var(--courbe), filter .2s; }
.rc-envoi:hover{ transform:translateY(-1px); filter:brightness(1.06); }
.rc-envoi:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; }
.rc-puces{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:8px; width:min(760px, 100%); margin-top:-4px; }
.rc-puces-l{ flex:none; margin-right:4px; font:500 10px/1 var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.rc-puce{ flex:none; min-height:32px; padding:5px 11px; border-radius:99px; cursor:pointer; white-space:nowrap; font:600 12px var(--f); color:var(--texte-2); background:var(--reflet), var(--voile); border:1px solid var(--bord-fort); transition:color .2s, border-color .2s, background-color .2s; }
.rc-puce:hover{ color:var(--texte); border-color:rgba(255,214,150,.55); }
.rc-puce[aria-pressed="true"]{ color:var(--texte); border-color:rgba(255,214,150,.7); background:rgba(255,181,71,.16); }
.ouverture h1 .h-bout{ display:inline; white-space:nowrap; }
.ouverture .ouv-ligne{ max-width:760px; text-wrap:balance; }
.ouverture .coeur-bloc{ margin-top:var(--e5); }
@media (min-width:981px){ .ouverture .coeur-bloc{ margin-top:64px; } }
@media (max-width:820px){
  .rc-puces{ justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; padding:2px 0 6px; -webkit-mask-image:linear-gradient(90deg, #000 86%, transparent); mask-image:linear-gradient(90deg, #000 86%, transparent); }
  .rc-puces::-webkit-scrollbar{ display:none; }
}

.rc-etapes{ position:relative; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--e4); }
.rc-etapes::before{ content:""; position:absolute; top:22px; left:22px; right:calc((100% - 3 * var(--e4)) / 4 - 22px); height:1px; background:linear-gradient(90deg, rgba(255,181,71,.75), rgba(224,142,31,.3) 70%, rgba(63,201,186,.6)); }
.rc-etapes::after{ content:""; position:absolute; top:21px; left:22px; width:90px; height:3px; border-radius:3px; opacity:0; pointer-events:none; background:linear-gradient(90deg, rgba(255,181,71,0), #FFEBC0, rgba(255,181,71,0)); filter:drop-shadow(0 0 6px rgba(255,181,71,.9)); animation:rc-flux 5.2s cubic-bezier(.5,0,.5,1) infinite; }
@keyframes rc-flux{ 0%{ left:22px; opacity:0; } 8%{ opacity:1; } 88%{ opacity:1; } 100%{ left:calc(100% - (100% - 3 * var(--e4)) / 4 - 68px); opacity:0; } }
.rc-etape{ display:grid; grid-template-rows:auto 1fr; gap:var(--e3); }
.rc-n{ position:relative; z-index:1; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font:600 13px/1 var(--f-mono); color:var(--or-pale); background:rgba(2,9,20,.92); border:1px solid rgba(255,205,135,.42); box-shadow:0 0 0 6px rgba(4,11,24,.75), 0 0 18px -4px rgba(255,181,71,.6); }
.rc-n-fin{ color:#03211E; background:linear-gradient(140deg, var(--paon-clair), var(--paon)); border-color:transparent; box-shadow:0 0 0 6px rgba(4,11,24,.75), 0 0 22px -4px rgba(63,201,186,.8); }
.rc-e{ display:grid; gap:8px; align-content:start; padding:var(--e4); }
.rc-e-nom{ font:500 10.5px/1 var(--f-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--or); }
.rc-etape:last-child .rc-e-nom{ color:var(--paon-clair); }
.rc-e h3{ margin:0; font-size:18px; font-weight:800; letter-spacing:-.02em; line-height:1.25; }
.rc-e p{ margin:0; font-size:14px; line-height:1.6; color:var(--texte-2); }
.rc-exemple{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e3) var(--e5); margin-top:var(--e5); padding:var(--e4) var(--e5); }
.rc-ex-tete{ display:grid; gap:6px; }
.rc-ex-tete b{ font-size:17px; font-weight:800; letter-spacing:-.015em; }
.rc-ex-piste{ flex:1 1 380px; display:flex; align-items:center; gap:16px; min-width:0; }
.rc-ex-borne{ display:grid; gap:3px; font-size:13.5px; font-weight:700; white-space:nowrap; color:var(--or-pale); }
.rc-ex-borne small{ font:500 11px var(--f-mono); color:var(--texte-3); }
.rc-ex-borne.fin{ color:var(--paon-clair); text-align:right; }
.rc-ex-fil{ position:relative; flex:1; min-width:90px; height:1px; background:linear-gradient(90deg, var(--or), var(--paon-clair)); }
.rc-ex-fil em{ position:absolute; left:50%; top:50%; translate:-50% -50%; padding:4px 11px; border-radius:99px; white-space:nowrap; font:500 11px/1 var(--f-mono); font-style:normal; letter-spacing:.06em; color:var(--encre-btn); background:var(--grad-btn); box-shadow:0 0 18px -2px rgba(255,170,60,.6); }

.rc-bento{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--e4); }
.rc-carte{ display:grid; grid-template-rows:auto 1fr; overflow:hidden; }
.rc-ecran{ position:relative; height:240px; margin:10px 10px 0; padding:var(--e4); overflow:hidden; border-radius:14px; display:grid; align-content:center; justify-items:center; gap:14px; border:1px solid rgba(255,205,135,.1); background:radial-gradient(120% 90% at 50% 0%, rgba(255,170,60,.1), transparent 60%), radial-gradient(rgba(255,205,135,.13) 1px, transparent 1.3px) 0 0 / 14px 14px, rgba(1,6,15,.72); }
.rc-texte{ display:grid; gap:8px; align-content:start; padding:var(--e4); }
.rc-texte h3{ margin:0; font-size:20px; font-weight:800; letter-spacing:-.02em; line-height:1.2; }
.rc-texte p{ margin:0; max-width:52ch; font-size:14.5px; line-height:1.6; color:var(--texte-2); }
.rc-texte .lien-fl{ margin-top:6px; justify-self:start; }
.rc-bulle{ display:flex; align-items:center; gap:12px; max-width:100%; padding:10px 10px 10px 16px; border-radius:14px; font-size:13.5px; font-weight:600; line-height:1.4; color:var(--texte); background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border:1px solid rgba(255,255,255,.14); box-shadow:0 14px 30px -18px rgba(0,0,0,.9); }
.rc-couches{ position:relative; display:grid; gap:6px; width:min(310px, 100%); }
.rc-c{ position:relative; z-index:1; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:10px; height:30px; padding:0 10px 0 4px; font-size:12.5px; font-weight:600; color:var(--texte-3); }
.rc-c b{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font:600 11px/1 var(--f-mono); color:var(--texte-2); background:rgba(2,9,20,.9); border:1px solid var(--bord-fort); }
.rc-c > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rc-c em{ font:500 9.5px/1 var(--f-mono); font-style:normal; letter-spacing:.1em; text-transform:uppercase; }
.rc-c.ko{ color:#FF9A94; }
.rc-c.ko > span{ text-decoration:line-through; text-decoration-color:rgba(255,77,87,.6); }
.rc-c.ko b{ color:var(--hausse); border:1.5px dashed var(--hausse); }
.rc-c.ko em{ color:var(--hausse); }
.rc-c.ok{ color:var(--or-pale); }
.rc-c.ok b{ color:var(--encre-btn); background:var(--grad-btn); border-color:transparent; box-shadow:0 0 14px rgba(255,181,71,.6); }
.rc-c.ok em{ color:var(--or); }
.rc-scan{ position:absolute; left:0; right:0; top:72px; height:30px; border-radius:8px; background:rgba(255,181,71,.1); box-shadow:inset 2px 0 0 var(--or); animation:rc-scan 4.2s cubic-bezier(.6,0,.3,1) infinite; }
@keyframes rc-scan{ 0%, 12%{ top:0; } 30%, 40%{ top:36px; } 58%, 100%{ top:72px; } }
.rc-chat{ justify-items:stretch; }
.rc-msg{ flex-direction:column; align-items:flex-start; gap:5px; justify-self:start; max-width:86%; border-bottom-left-radius:4px; font-weight:500; }
.rc-msg small{ font:500 9.5px/1 var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--or); }
.rc-version{ justify-self:end; display:grid; gap:5px; max-width:86%; padding:11px 14px; border-radius:14px; border-bottom-right-radius:4px; background:linear-gradient(160deg, rgba(255,181,71,.2), rgba(255,181,71,.05)); border:1px solid rgba(255,205,135,.34); }
.rc-version b{ font:500 13px/1 var(--f-mono); color:var(--focus); }
.rc-version span{ font-size:13px; font-weight:700; line-height:1.35; color:var(--texte); }
.rc-version small{ font-size:11px; color:var(--texte-3); }
.rc-ocr{ width:min(330px, 100%); display:grid; gap:10px; padding:14px 16px; border-radius:12px; background:rgba(2,9,20,.72); border:1px solid var(--bord); }
.rc-ocr-t{ font:500 9.5px/1 var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.rc-l{ display:grid; grid-template-columns:118px minmax(0,1fr) 42px; align-items:center; gap:10px; font-size:12.5px; color:var(--texte-2); }
.rc-l i{ position:relative; height:5px; overflow:hidden; border-radius:5px; background:rgba(255,205,135,.14); }
.rc-l i::before{ content:""; position:absolute; inset:0; border-radius:inherit; transform-origin:left center; transform:scaleX(var(--p)); background:var(--grad); }
.rc-l b{ text-align:right; font:500 12px/1 var(--f-mono); color:var(--or-pale); }
.rc-seuil{ display:flex; align-items:center; gap:8px; padding-top:10px; border-top:1px dashed var(--bord-fort); font-size:12px; color:var(--texte-2); }
.rc-seuil::before{ content:""; flex:none; width:7px; height:7px; border-radius:50%; border:1.5px solid var(--or); }

.rc-mono{ flex:none; width:48px; height:48px; border-radius:12px; display:grid; place-items:center; font:700 14px/1 var(--f-pts); letter-spacing:.04em; color:var(--or-pale); text-shadow:0 0 10px rgba(255,165,50,.5); background:linear-gradient(140deg, rgba(255,190,90,.3), rgba(150,85,20,.22)); border:1px solid rgba(255,212,150,.35); }

.rc-mur .tete{ margin-bottom:var(--e5); }
.rc-ruban-idees{ overflow:hidden; padding-block:4px 8px; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.rc-piste-idees{ display:flex; width:max-content; animation:defile 80s linear infinite; }
.rc-ruban-idees:hover .rc-piste-idees{ animation-play-state:paused; }
.rc-groupe{ display:flex; gap:var(--e3); padding-right:var(--e3); }
.rc-idee{ position:relative; flex:none; width:320px; display:grid; grid-template-rows:auto 1fr auto auto; gap:10px; padding:20px 18px 16px; overflow:hidden; border-radius:16px; background:var(--reflet), var(--grain), var(--voile); border:1px solid var(--bord); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.rc-idee::before{ content:""; position:absolute; left:0; right:0; top:0; height:4px; opacity:.85; background:repeating-linear-gradient(115deg, var(--or) 0 6px, rgba(255,181,71,.3) 6px 12px); }
.rc-idee.ok::before{ background:repeating-linear-gradient(115deg, var(--paon-clair) 0 6px, rgba(63,201,186,.3) 6px 12px); }
.rc-idee-haut{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.rc-idee .statut{ margin-left:0; }
.rc-idee.ok .statut{ color:var(--paon-clair); background:rgba(20,168,155,.18); }
.rc-voix{ font:500 11.5px/1 var(--f-mono); color:var(--or-pale); white-space:nowrap; }
.rc-idee p{ margin:0; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; font-size:13.5px; line-height:1.55; color:var(--texte-2); }
.rc-idee-t{ font-size:14px; line-height:1.3; }
.rc-idee-qui{ font:500 10.5px/1.3 var(--f-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--texte-3); }
.rc-mur-bas{ margin-top:var(--e4); }

.final .rc-rassure{ display:flex; flex-wrap:wrap; gap:8px 18px; margin:calc(var(--e2) * -1) 0 var(--e4); font:500 11px/1.3 var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--texte-2); }
.rc-rassure span{ display:inline-flex; align-items:center; gap:8px; }
.rc-rassure i{ width:6px; height:6px; border-radius:50%; background:var(--paon-clair); box-shadow:0 0 8px rgba(63,201,186,.8); }

.rc-faq-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:var(--e5) var(--e6); align-items:start; }
.rc-faq-grille > div:first-child{ display:grid; justify-items:start; gap:var(--e3); }
.rc-faq h2{ margin:0; font-size:clamp(30px, 3.6vw, 48px); font-weight:800; line-height:1.02; letter-spacing:-.04em; }
.rc-faq-grille > div:first-child p{ margin:0; max-width:40ch; color:var(--texte-2); }

@media (max-width:980px){
  .rc-etapes{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .rc-etapes::before, .rc-etapes::after{ display:none; }
      .final .rc-rassure{ justify-content:center; }
}
@media (max-width:860px){
  .rc-bento, .rc-faq-grille{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px){
  .rc-etapes{ grid-template-columns:minmax(0,1fr); gap:var(--e3); }
  .rc-etape{ grid-template-columns:44px minmax(0,1fr); grid-template-rows:none; gap:var(--e3); }
  .rc-saisie{ gap:10px; padding:8px 8px 8px 16px; }
  .rc-pre{ display:none; }
  .rc-zone textarea{ height:64px; min-height:64px; font-size:15px; line-height:22px; }
  .rc-fantome, .rc-indice{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:15px; line-height:22px; }
  .rc-indice{ font-size:13.5px; }
  .rc-exemple,   .rc-ex-piste{ flex-basis:100%; }
  .rc-ecran{ height:auto; min-height:220px; padding:var(--e3); }
  .rc-idee{ width:280px; }
}
@media (max-width:420px){
  .rc-l{ grid-template-columns:96px minmax(0,1fr) 38px; }
  .rc-ex-piste{ gap:10px; }
  .rc-ex-fil{ min-width:64px; }
  .rc-ex-borne{ white-space:normal; font-size:12.5px; }
  .rc-ex-borne small{ font-size:10px; }
  .rc-c em{ display:none; }
}

/* Capsules de signal autour du cœur, bouton de la barre discret pendant la saisie */
.etiq{ gap:7px; padding:12px 12px 13px 14px; border-radius:14px; background:var(--fume-reflet), linear-gradient(170deg, rgba(3,11,25,.5), rgba(1,6,15,.74)); -webkit-backdrop-filter:blur(10px) brightness(.8) saturate(1.2); backdrop-filter:blur(10px) brightness(.8) saturate(1.2); }
.etiq:hover, .etiq:focus-visible{ background:var(--fume-reflet), linear-gradient(170deg, rgba(2,9,20,.72), rgba(1,6,15,.88)); }
.etiq .cap-tete{ display:flex; align-items:center; gap:9px; min-width:0; }
.etiq .cap-nom{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:800; letter-spacing:-.015em; color:var(--texte); }
.cap-nom i{ font:400 11px/1 var(--f-mono); font-style:normal; color:rgba(244,247,253,.55); margin:0 3px; vertical-align:1px; }
.etiq .cap-fl{ flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; color:var(--texte-2); border:1px solid var(--bord-fort); transition:background .3s, color .3s, border-color .3s, transform .3s var(--courbe); }
.etiq:hover .cap-fl, .etiq:focus-visible .cap-fl{ color:var(--encre-btn); background:var(--grad-btn); border-color:transparent; transform:translateX(2px); }
.etiq .cap-bas{ display:flex; align-items:flex-start; gap:8px; min-width:0; }
.etiq .cap-bas .voyant{ flex:none; margin-top:5px; }
.etiq .cap-fait{ min-width:0; font-size:12.5px; line-height:1.4; font-weight:600; color:var(--focus); text-wrap:balance; }
@media (min-width:981px){
  .etiq{ width:min(300px, 25%); }
  .etiq-1, .etiq-2{ top:9%; }
  .etiq-3, .etiq-4{ top:auto; bottom:20%; }
  .ouverture .coeur-bloc{ margin-bottom:56px; }
}
@media (min-width:981px) and (max-width:1199px){ .cap-nom i{ display:none; } }
@media (max-width:980px){
  .etiqs{ gap:8px; }
  .etiq{ padding:10px 10px 11px 12px; }
  .etiq .cap-nom{ font-size:13px; line-height:1.2; white-space:normal; overflow:visible; text-overflow:clip; }
  .etiq .cap-tete{ align-items:flex-start; }
  .cap-nom i{ display:none; }
  .etiq .cap-fait{ font-size:12px; }
}
@media (max-width:560px){ .etiqs{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:359px){ .etiqs{ grid-template-columns:minmax(0,1fr); } }
.nav-actions #b-demande{ max-width:280px; overflow:hidden; white-space:nowrap; transition:max-width .4s var(--courbe), padding .4s var(--courbe), opacity .25s ease, border-width .4s; }
html.cta-cache .nav-actions #b-demande{ max-width:0; padding-inline:0; border-width:0; opacity:0; pointer-events:none; }

/* « Racontez » sous le titre en verre transparent, capsules au pied du cœur */
.coeur-or{ -webkit-mask-image:linear-gradient(180deg, #000 84%, transparent 100%); mask-image:linear-gradient(180deg, #000 84%, transparent 100%); }
@media (min-width:981px){ .ouverture .coeur-bloc{ margin-top:24px; } }
.ouv-grille .rc-saisie{ width:min(760px, 100%); margin-top:8px; background:linear-gradient(180deg, rgba(255,236,200,.07), rgba(255,236,200,0) 46%), linear-gradient(180deg, rgba(3,10,22,.18), rgba(2,8,18,.38)); -webkit-backdrop-filter:blur(3px) brightness(.62) saturate(1.35); backdrop-filter:blur(3px) brightness(.62) saturate(1.35); box-shadow:inset 0 1px 0 rgba(255,240,215,.18), inset 0 -1px 0 rgba(0,0,0,.35), 0 0 0 1px rgba(255,214,150,.2), 0 18px 50px -26px rgba(0,0,0,.85), 0 0 60px -14px rgba(255,160,50,.4); transition:background .35s ease, box-shadow .35s ease, -webkit-backdrop-filter .35s ease, backdrop-filter .35s ease; }
.ouv-grille .rc-saisie:focus-within{ background:linear-gradient(180deg, rgba(255,236,200,.06), rgba(255,236,200,0) 46%), linear-gradient(180deg, rgba(3,10,22,.4), rgba(2,8,18,.58)); -webkit-backdrop-filter:blur(6px) brightness(.55) saturate(1.3); backdrop-filter:blur(6px) brightness(.55) saturate(1.3); box-shadow:inset 0 1px 0 rgba(255,240,215,.18), 0 0 0 1px rgba(255,214,150,.5), 0 0 0 5px rgba(255,181,71,.1), 0 0 70px -12px rgba(255,160,50,.55); }
.ouv-grille .rc-zone textarea, .ouv-grille .rc-fantome, .ouv-grille .rc-indice, .ouv-grille .rc-pre{ text-shadow:0 1px 3px rgba(0,0,0,.85); }
.ouv-grille .rc-fantome{ color:var(--texte-2); }
.ouv-grille .rc-puce{ background:linear-gradient(180deg, rgba(3,10,22,.3), rgba(2,8,18,.5)); -webkit-backdrop-filter:blur(3px) brightness(.65); backdrop-filter:blur(3px) brightness(.65); text-shadow:0 1px 3px rgba(0,0,0,.8); }
.ouv-grille .rc-puces-l{ color:var(--texte-2); text-shadow:0 1px 6px rgba(0,0,0,.9); }
.etiqs.etiqs-pied{ position:relative; inset:auto; z-index:3; pointer-events:auto; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; margin:72px 0 0; }
.etiqs-pied .etiq{ position:relative; top:auto; right:auto; bottom:auto; left:auto; width:auto; animation:none; }
@media (max-width:980px){
  .etiqs.etiqs-pied{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin-top:var(--e4); }
}
@media (max-width:359px){ .etiqs.etiqs-pied{ grid-template-columns:minmax(0,1fr); } }

/* Barre : FAB, Accueil et la phrase ; accroche sous les capsules */
.marque-centre{ flex-direction:row; gap:14px; }
.mc-bloc{ display:inline-flex; flex-direction:column; align-items:center; gap:5px; }
.mc-sep{ align-self:stretch; width:1px; margin-block:1px; background:linear-gradient(180deg, rgba(255,181,71,0), var(--or) 50%, rgba(255,181,71,0)); opacity:.75; }
.mc-phrase{ display:grid; gap:4px; text-align:left; white-space:nowrap; font:500 9.5px/1.2 var(--f-mono); letter-spacing:.18em; text-transform:uppercase; color:var(--texte-2); text-shadow:none; transition:color .3s; }
.marque-centre:hover .mc-phrase{ color:var(--or-pale); }
@media (max-width:1159px){ .mc-sep, .mc-phrase{ display:none; } }
@media (max-width:640px){ .mc-bloc{ gap:3px; } }
.ouverture .ouv-ligne.rc-apres{ position:relative; z-index:3; margin:48px auto 0; text-align:center; }
@media (min-width:981px){ .ouverture .coeur-bloc{ margin-top:40px; } }
@media (max-width:980px){ .ouverture .ouv-ligne.rc-apres{ margin-top:var(--e4); } }

/* Filaments jusqu'à « Racontez », verre allégé sur la saisie, les puces et les capsules */
.coeur-or{ top:-280px; height:calc(100% + 440px); -webkit-mask-image:linear-gradient(180deg, #000 92%, transparent 100%); mask-image:linear-gradient(180deg, #000 92%, transparent 100%); }
@media (max-width:980px){ .coeur-or{ height:calc(min(88vw, 460px) + 440px); } }
.ouv-grille .rc-saisie{ background:linear-gradient(180deg, rgba(255,236,200,.07), rgba(255,236,200,0) 46%), linear-gradient(180deg, rgba(3,10,22,.06), rgba(2,8,18,.22)); -webkit-backdrop-filter:blur(2.5px) brightness(.95) saturate(1.45); backdrop-filter:blur(2.5px) brightness(.95) saturate(1.45); }
.ouv-grille .rc-puce{ background:linear-gradient(180deg, rgba(3,10,22,.12), rgba(2,8,18,.28)); -webkit-backdrop-filter:blur(2.5px) brightness(.92) saturate(1.3); backdrop-filter:blur(2.5px) brightness(.92) saturate(1.3); }
.etiq{ background:linear-gradient(180deg, rgba(255,236,200,.06), rgba(255,236,200,0) 46%), linear-gradient(170deg, rgba(3,11,25,.08), rgba(1,6,15,.26)); -webkit-backdrop-filter:blur(2.5px) brightness(.95) saturate(1.45); backdrop-filter:blur(2.5px) brightness(.95) saturate(1.45); text-shadow:0 1px 3px rgba(0,0,0,.8); }
.etiq:hover, .etiq:focus-visible{ background:linear-gradient(180deg, rgba(255,236,200,.06), rgba(255,236,200,0) 46%), linear-gradient(170deg, rgba(2,9,20,.36), rgba(1,6,15,.56)); -webkit-backdrop-filter:blur(5px) brightness(.72) saturate(1.3); backdrop-filter:blur(5px) brightness(.72) saturate(1.3); }

/* Le parc en logigrammes : un robot par onglet, son circuit case par case */
.rc-parc .tete{ margin-bottom:var(--e5); }
.lg-bloc{ display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); padding:10px; border-radius:26px; overflow:hidden; }
.lg-liste{ display:flex; flex-direction:column; justify-content:center; gap:4px; padding:var(--e3) 12px var(--e3) 6px; border-right:1px solid var(--bord); }
.lg-liste [role="tab"]{ position:relative; display:grid; gap:4px; padding:14px 14px 14px 24px; text-align:left; border:0; border-radius:14px; background:none; color:var(--texte-3); font:inherit; cursor:pointer; transition:background .3s, color .3s; }
.lg-liste [role="tab"]::before, .lg-prog{ content:""; position:absolute; left:10px; top:14px; bottom:14px; width:2px; border-radius:2px; }
.lg-liste [role="tab"]::before{ background:rgba(255,205,135,.14); }
.lg-prog{ background:var(--grad-btn); box-shadow:0 0 10px rgba(255,181,71,.7); transform-origin:top; transform:scaleY(var(--p, 0)); opacity:0; }
.lg-liste [role="tab"][aria-selected="true"] .lg-prog{ opacity:1; }
.lg-liste [role="tab"] b{ font-size:15px; font-weight:700; line-height:1.3; color:var(--texte-2); }
.lg-t-desc{ font-size:13px; line-height:1.45; }
.lg-liste [role="tab"]:hover{ background:rgba(255,205,135,.05); color:var(--texte-2); }
.lg-liste [role="tab"][aria-selected="true"]{ background:linear-gradient(90deg, rgba(255,181,71,.13), rgba(255,181,71,.02)); color:var(--texte-2); }
.lg-liste [role="tab"][aria-selected="true"] b{ color:var(--texte); }
.lg-liste [role="tab"]:focus-visible{ outline:2px solid var(--focus); outline-offset:-2px; }

.lg-panneau{ display:grid; min-width:0; }
.lg-scene{ position:relative; min-width:0; }
.lg-scene::before{ content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(circle, rgba(255,205,135,.15) 1px, transparent 1.5px); background-size:22px 22px; background-position:center; -webkit-mask-image:radial-gradient(70% 72% at 50% 50%, #000 30%, transparent 100%); mask-image:radial-gradient(70% 72% at 50% 50%, #000 30%, transparent 100%); }
.lg-svg{ position:relative; display:block; width:100%; height:auto; overflow:visible; will-change:transform; }
.lg-lecture{ position:absolute; top:12px; right:12px; z-index:2; background:rgba(2,9,20,.6); }

.lg-fil{ fill:none; stroke:rgba(255,190,100,.4); stroke-width:1.3; }
.lg-flux{ fill:none; stroke:rgba(255,222,165,.6); stroke-width:1.4; stroke-linecap:round; stroke-dasharray:1.5 12; animation:lg-flux 1.2s linear infinite; }
@keyframes lg-flux{ to{ stroke-dashoffset:-13.5; } }
.lg-courant{ fill:none; stroke-linecap:round; opacity:0; transition:opacity .7s ease; }
.lg-trait{ stroke:#FFD58A; stroke-width:2.3; }
.lg-lueur{ stroke:rgba(255,190,90,.2); stroke-width:8; }
.lg-courant.on{ opacity:1; transition:none; }
.lg-port{ fill:#040B18; stroke:rgba(255,205,135,.6); stroke-width:1.2; }
.lg-etiq{ font:500 10px var(--f-mono); letter-spacing:.06em; text-transform:uppercase; fill:var(--texte-3); paint-order:stroke; stroke:#040B18; stroke-width:4px; stroke-linejoin:round; }

.lg-corps{ transform-box:fill-box; transform-origin:center; }
.lg-halo{ opacity:0; transition:opacity .8s ease; }
.lg-boite{ fill:#07162A; stroke:rgba(255,205,135,.32); stroke-width:1.2; transition:stroke .6s ease, fill .6s ease; }
.lg-robot .lg-boite, .lg-test .lg-boite{ stroke:rgba(255,181,71,.6); }
.lg-humain .lg-boite{ stroke:rgba(63,201,186,.65); }
.lg-ic{ fill:none; stroke:#FFE3A3; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.lg-source .lg-ic{ stroke:var(--texte-2); }
.lg-humain .lg-ic{ stroke:#7FE3D6; }
.lg-mono{ font:700 13px var(--f-pts); letter-spacing:.04em; fill:#FFE3A3; }
.lg-source .lg-mono{ fill:var(--texte-2); }
.lg-eclair{ fill:var(--or); }
.lg-lib{ font:600 12.5px var(--f); fill:var(--texte-2); transition:fill .6s ease; }
.lg-sous{ font:500 10.5px var(--f-mono); fill:var(--texte-3); }
.lg-n.on .lg-halo{ opacity:.9; }
.lg-n.on .lg-boite{ fill:#10233A; stroke:#FFD58A; }
.lg-humain.on .lg-boite{ stroke:#7FE3D6; }
.lg-source.on .lg-boite{ stroke:rgba(255,222,165,.8); }
.lg-n.on .lg-lib{ fill:var(--texte); }

.lg-bas{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; min-height:48px; padding:6px 14px 10px; }
.lg-desc{ display:none; flex-basis:100%; margin:0; font-size:14px; line-height:1.5; color:var(--texte-2); }
.lg-fait{ font:500 11px/1.4 var(--f-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--or-pale); }
.lg-fait:empty{ display:none; }
.lg-cles{ margin-left:auto; display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 16px; font:500 10.5px var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--texte-3); }
.lg-cles > span{ display:inline-flex; align-items:center; gap:7px; }
.lg-cles i{ width:11px; height:11px; border-radius:3px; border:1.5px solid var(--or); }
.lg-cles i.h{ border-color:var(--paon-clair); }
.lg-cles i.d{ border-color:rgba(255,222,165,.45); border-radius:6px 3px 3px 6px; }

@media (max-width:980px){
  .lg-bloc{ grid-template-columns:minmax(0,1fr); padding:8px; }
  .lg-liste{ flex-direction:row; justify-content:flex-start; gap:6px; padding:6px 6px 10px; overflow-x:auto; scrollbar-width:none; border-right:0; border-bottom:1px solid var(--bord); scroll-snap-type:x proximity; }
  .lg-liste::-webkit-scrollbar{ display:none; }
  .lg-liste [role="tab"]{ flex:none; padding:10px 14px 13px; scroll-snap-align:center; }
  .lg-liste [role="tab"] b{ font-size:13.5px; white-space:nowrap; }
  .lg-t-desc{ display:none; }
  .lg-liste [role="tab"]::before, .lg-prog{ left:14px; right:14px; top:auto; bottom:5px; width:auto; height:2px; }
  .lg-prog{ transform-origin:left; transform:scaleX(var(--p, 0)); }
  .lg-desc{ display:block; }
}
@media (max-width:640px){
  .lg-bas{ padding:4px 8px 8px; }
  .lg-cles{ margin-left:0; }
}

/* Suivre une demande, anomalies connues, après-séance, pages légales, réponse du FAB */
.su{ display:grid; gap:var(--e4); }
.su-form{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:var(--e3) var(--e4); padding:var(--e4); }
.su-form .champ{ flex:1 1 320px; display:grid; gap:6px; }
.su-form input{ font-family:var(--f-mono); letter-spacing:.08em; text-transform:uppercase; }
.su-note{ margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.su-res:empty{ display:none; }
.su-carte{ padding:var(--e4); display:grid; gap:var(--e4); }
.su-haut{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e2) var(--e4); justify-content:space-between; }
.su-ref{ font:500 24px/1 var(--f-mono); letter-spacing:.06em; color:var(--focus); }
.su-l{ display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:var(--e3); }
.su-l > div{ display:grid; gap:3px; }
.su-l dt, .su-l .k{ font:500 10.5px var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.su-l .v{ font-size:14.5px; color:var(--texte); }
.su-fil{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.su-fil li{ position:relative; padding:0 0 18px 30px; }
.su-fil li:last-child{ padding-bottom:0; }
.su-fil li::before{ content:""; position:absolute; left:5px; top:4px; width:11px; height:11px; border-radius:50%; border:1.5px solid var(--bord-fort); background:var(--abysse); }
.su-fil li::after{ content:""; position:absolute; left:10px; top:17px; bottom:-2px; width:1px; background:linear-gradient(180deg, var(--bord-fort), rgba(255,205,135,.08)); }
.su-fil li:last-child::after{ display:none; }
.su-fil li.fait::before{ background:var(--grad-btn); border-color:transparent; box-shadow:0 0 12px rgba(255,181,71,.6); }
.su-fil li.ok::before{ background:var(--paon-clair); border-color:transparent; box-shadow:0 0 12px rgba(63,201,186,.6); }
.su-fil b{ display:block; font-size:14.5px; }
.su-fil span{ display:block; font-size:13px; color:var(--texte-2); }
.su-fil li.attente b, .su-fil li.attente span{ color:var(--texte-3); }
.su-vide{ padding:var(--e4); display:grid; gap:var(--e3); justify-items:start; }
.su-vide p{ margin:0; color:var(--texte-2); max-width:62ch; }
.su-puces{ display:flex; flex-wrap:wrap; gap:8px; margin-top:var(--e2); }
.su-puce{ font:500 12.5px var(--f-mono); letter-spacing:.06em; color:var(--texte-2); background:rgba(14,43,60,.5); border:1px solid var(--bord); border-radius:99px; padding:7px 14px; cursor:pointer; }
.su-puce:hover{ border-color:var(--bord-fort); color:var(--texte); }
.recap .su-lien{ justify-self:start; margin-top:var(--e2); }

.inc{ margin-top:var(--e5); padding:var(--e4) var(--e5); display:grid; gap:var(--e3); }
.inc-tete{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:var(--e2) var(--e4); }
.inc-tete h3{ margin:4px 0 0; font-size:clamp(20px, 2vw, 26px); font-weight:800; letter-spacing:-.02em; }
.inc-global{ font:500 11px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--texte-2); display:inline-flex; align-items:center; gap:9px; }
.inc-global::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--paon-clair); box-shadow:0 0 10px rgba(63,201,186,.9); }
.inc-global.maint::before{ background:var(--or); box-shadow:0 0 10px rgba(255,181,71,.9); }
.inc-p{ margin:0; font-size:14.5px; color:var(--texte-2); }
.inc-col{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--e4) var(--e6); margin-top:var(--e2); }
.inc-col h4{ margin:0 0 var(--e3); font:500 11px var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); font-weight:400; }
.inc-cle{ display:inline-flex; flex-wrap:wrap; gap:6px 16px; margin-right:auto; font:500 10.5px var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--texte-3); }
.inc-cle > span{ display:inline-flex; align-items:center; gap:7px; }
.inc-cle i{ width:9px; height:9px; border-radius:50%; background:var(--paon-clair); }
.inc-cle i.maint{ background:var(--or); }
.inc-cle i.ko{ background:var(--hausse); }

.apres{ margin-top:var(--e6); }
.apres-tete{ display:grid; gap:6px; margin-bottom:var(--e4); }
.apres-tete h3{ margin:0; font-size:clamp(22px, 2.4vw, 30px); font-weight:800; letter-spacing:-.03em; }
.apres-tete p{ margin:0; color:var(--texte-2); font-size:14.5px; max-width:60ch; }
.apres-col{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:var(--e4) var(--e6); }
.apres-col h4{ margin:0 0 var(--e3); font:500 11px var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); font-weight:400; }
.apres-liste{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }

.legal{ display:grid; gap:var(--e5); max-width:76ch; }
.legal section{ display:grid; gap:var(--e2); }
.legal h3{ margin:0; font-size:19px; font-weight:800; letter-spacing:-.02em; }
.legal p{ margin:0; font-size:15px; line-height:1.65; color:var(--texte-2); }
.legal p strong{ color:var(--texte); }
.legal .illus{ margin-right:8px; vertical-align:2px; }
.legal-l{ margin:0; padding-left:20px; display:grid; gap:8px; font-size:15px; line-height:1.6; color:var(--texte-2); }
.legal a{ color:var(--focus); }

.pg-rep{ margin-top:var(--e4); padding:var(--e3) var(--e4); border-radius:14px; border:1px solid rgba(63,201,186,.34); background:linear-gradient(160deg, rgba(20,168,155,.14), rgba(20,168,155,.03)); display:grid; gap:8px; }
.pg-rep .oeil{ color:var(--paon-clair); display:inline-flex; align-items:center; gap:8px; }
.pg-rep .oeil::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--paon-clair); }
.pg-rep p{ margin:0; font-size:14.5px; line-height:1.6; color:var(--texte); }
.idee-rep{ display:inline-flex; align-items:center; gap:7px; margin-left:10px; padding:3px 10px; border-radius:99px; font:500 10.5px var(--f-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--paon-clair); background:rgba(20,168,155,.16); border:1px solid rgba(63,201,186,.3); vertical-align:3px; }
.idee-rep::before{ content:"✓"; font-size:11px; }

@media (max-width:860px){
  .inc-col, .apres-col{ grid-template-columns:minmax(0,1fr); }
  .inc{ padding:var(--e4); }
}
@media (max-width:640px){
  .su-form{ padding:var(--e3); }
  .su-ref{ font-size:20px; }
}

/* Registre : participation à deux niveaux, rapprochement avant dépôt */

.rap{ margin-top:var(--e3); padding:var(--e4); display:grid; gap:var(--e3); text-align:left; }
.ouv-grille .rap{ width:min(760px, 100%); }
.rap-p{ margin:0; font-size:14px; line-height:1.55; color:var(--texte-2); }
.rap-c{ display:grid; gap:10px; padding:var(--e3); border-radius:14px; background:rgba(2,9,20,.5); border:1px solid var(--bord); }
.rap-t{ font-size:15.5px; font-weight:700; line-height:1.3; }
.rap-m{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; font-size:12.5px; color:var(--texte-3); }
.rap-m .statut{ margin:0; }
.rap-a{ display:flex; flex-wrap:wrap; gap:10px; }
.rap-bas{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e3); justify-content:space-between; padding-top:var(--e2); border-top:1px solid var(--bord); }
.rap-bas .aide{ margin:0; }
.rap-ok{ margin:0; font-size:13.5px; color:var(--paon-clair); }

.pf-tete{ display:grid; gap:var(--e3); margin-bottom:var(--e5); }
.pf-tete .pf-l{ font-size:14.5px; color:var(--texte-2); margin:0; max-width:64ch; }
#pf-saisie{ margin-top:0; }
#pf-res:empty{ display:none; }
@media (max-width:640px){
  .rap{ padding:var(--e3); }
}

/* Séances passées : la carte s'ouvre, la fiche se télécharge */
.apres-etat:empty{ display:none; }
.apres-etat{ font:500 12px var(--f-mono); color:var(--paon-clair); }

/* Academy allégée : une seule colonne, et la fiche d'une séance se lit seule */
.apres-col{ grid-template-columns:minmax(0,1fr); max-width:860px; }
.apres-tete p{ max-width:60ch; }
.pg-seule .pg-in{ grid-template-columns:minmax(0,1fr); max-width:820px; }
.pg-seule .pg-carte{ position:static; }

/* Séances passées : des cartes qui se lisent d'un coup */
.apres-col{ max-width:none; }
.apres-liste{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:var(--e4); }
.seance-c{ display:flex; flex-direction:column; gap:10px; padding:var(--e4); border-radius:18px; transition:transform .4s var(--courbe), border-color .4s; }
.seance-c:hover{ transform:translateY(-2px); border-color:rgba(255,205,135,.28); }
.seance-h{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.seance-d{ font:500 10.5px var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--focus); }
.seance-h .statut{ margin-left:auto; }
.seance-t{ font-size:16px; font-weight:800; line-height:1.3; letter-spacing:-.01em; }
.seance-r{ margin:0; font-size:13.5px; line-height:1.6; color:var(--texte-2); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.seance-m{ display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--texte-3); }
.seance-m .av{ width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font:600 10px/1 var(--f-mono); color:var(--or-pale); background:linear-gradient(140deg, rgba(255,190,90,.28), rgba(150,85,20,.2)); border:1px solid rgba(255,212,150,.3); }
.seance-a{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:auto; padding-top:var(--e3); border-top:1px solid var(--bord); }

/* État des services : un bandeau, une liste, rien qui bouge */
.etat-bandeau{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e3) var(--e4); padding:var(--e4) var(--e5); }
.etat-point{ flex:none; width:14px; height:14px; border-radius:50%; background:var(--paon-clair); box-shadow:0 0 0 4px rgba(20,168,155,.18), 0 0 16px rgba(63,201,186,.8); }
.etat-point.maint{ background:var(--or); box-shadow:0 0 0 4px rgba(255,181,71,.16), 0 0 16px rgba(255,181,71,.8); }
.etat-mot{ display:grid; gap:3px; margin-right:auto; }
.etat-mot b{ font-size:clamp(18px, 1.9vw, 23px); font-weight:800; letter-spacing:-.02em; }
.etat-maj{ font:500 11px var(--f-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--texte-3); }
.etat-corps{ margin-top:var(--e4); }
.etat-corps .tdb-services{ display:grid; gap:10px; }
.service.maint .led{ background:var(--or); border:0; box-shadow:0 0 10px rgba(255,181,71,.7); }
.service.maint .etat{ color:var(--or-pale); }
.etat-pied{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e3) var(--e4); justify-content:space-between; margin-top:var(--e3); }
.rc-rendu .rendu{ padding:var(--e5); border-radius:26px; }
.rc-rendu .tdb-haut{ margin-bottom:var(--e4); }
@media (max-width:640px){
  .etat-bandeau{ padding:var(--e4); }
}

/* Chaque logiciel sur sa carte : monogramme, nom, information, état */
.etat-corps .tdb-services{ display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:var(--e3); }
.carte-s{ position:relative; display:grid; align-content:start; gap:10px; padding:var(--e4); border-radius:18px; background:var(--verre-reflet), var(--verre-grain), var(--verre-fond); border:1px solid var(--bord); box-shadow:var(--verre-aretes), 0 20px 50px -34px rgba(0,0,0,.9); overflow:hidden; transition:transform .4s var(--courbe), border-color .4s; }
.carte-s::before{ content:""; position:absolute; inset:0 0 auto; height:2px; background:linear-gradient(90deg, rgba(63,201,186,0), var(--paon-clair), rgba(63,201,186,0)); opacity:.7; }
.carte-s.maint::before{ background:linear-gradient(90deg, rgba(255,181,71,0), var(--or), rgba(255,181,71,0)); }
.carte-s:hover{ transform:translateY(-2px); border-color:var(--bord-fort); }
.carte-s-mono{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font:700 13px/1 var(--f-pts); letter-spacing:.04em; color:#FFEDC8; text-shadow:0 0 12px rgba(255,180,60,.75); background:linear-gradient(140deg, rgba(255,196,96,.42), rgba(168,96,22,.3)); border:1px solid rgba(255,214,150,.5); box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 8px 20px -14px rgba(255,170,60,.7); }
.carte-s-mot{ display:grid; gap:2px; }
.carte-s-mot b{ font-size:15.5px; font-weight:800; letter-spacing:-.01em; }
.carte-s-mot span{ font:500 11.5px var(--f-mono); color:var(--texte-3); }
.carte-s-quoi{ font-size:13px; line-height:1.5; color:var(--texte-2); }
.carte-s .etat{ display:inline-flex; align-items:center; gap:8px; margin:var(--e2) 0 0; padding-top:var(--e3); border-top:1px solid var(--bord); font-size:12.5px; font-weight:700; color:var(--paon-clair); }
.carte-s .led{ width:8px; height:8px; border-radius:50%; background:var(--paon-clair); box-shadow:0 0 9px rgba(63,201,186,.85); }
.carte-s.maint .etat{ color:var(--or-pale); }
.carte-s.maint .led{ background:var(--or); border:0; box-shadow:0 0 9px rgba(255,181,71,.85); animation:respire 2.4s ease-in-out infinite; }
@media (max-width:640px){
  .etat-corps .tdb-services{ grid-template-columns:minmax(0,1fr); }
  .carte-s{ padding:var(--e3) var(--e4); }
}

/* Maintenances et anomalies : une carte vivante, un fil de versions */
.inc-part h4{ display:flex; align-items:center; gap:9px; }
.inc-pt{ width:8px; height:8px; border-radius:50%; background:var(--paon-clair); box-shadow:0 0 9px rgba(63,201,186,.8); }
.inc-pt.or{ background:var(--or); box-shadow:0 0 9px rgba(255,181,71,.85); animation:respire 2.4s ease-in-out infinite; }
.inc-cartes{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.inc-carte{ position:relative; display:grid; gap:6px; padding:16px 18px 16px 22px; border-radius:16px; overflow:hidden;
  background:linear-gradient(120deg, rgba(255,181,71,.12), rgba(255,181,71,.03) 55%), rgba(3,11,24,.6); border:1px solid rgba(255,205,135,.26); }
.inc-carte::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg, var(--or), rgba(255,181,71,.15)); }
.inc-pouls{ position:absolute; right:-40px; top:-40px; width:150px; height:150px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(255,181,71,.22), transparent 68%); animation:respire 3.6s ease-in-out infinite; }
.inc-carte-h{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; }
.inc-carte-h b{ font-size:15.5px; font-weight:800; letter-spacing:-.01em; }
.inc-quand{ font:500 12px var(--f-mono); letter-spacing:.06em; color:var(--or-pale); }
.inc-calme{ display:flex; align-items:flex-start; gap:12px; padding:16px 18px; border-radius:16px; background:rgba(2,9,20,.5); border:1px solid var(--bord); }
.inc-calme b{ display:block; font-size:14.5px; }
.inc-calme span{ display:block; margin-top:2px; font-size:13px; color:var(--texte-2); }
.inc-coche{ flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:12px; color:var(--encre-btn); background:linear-gradient(140deg, #7FE3D6, #2FB6A6); }
.inc-fil{ list-style:none; margin:0 0 var(--e3); padding:0 0 0 4px; display:grid; gap:0; }
.inc-fil li{ position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; padding:0 0 18px 0; }
.inc-fil li::before{ content:""; position:absolute; left:23px; top:26px; bottom:-4px; width:1px; background:linear-gradient(180deg, rgba(255,205,135,.34), rgba(255,205,135,.05)); }
.inc-fil li:last-child{ padding-bottom:0; }
.inc-fil li:last-child::before{ display:none; }
.inc-v{ position:relative; z-index:1; min-width:48px; padding:5px 8px; border-radius:9px; text-align:center; font:500 11px/1.2 var(--f-mono); color:var(--or-pale);
  background:linear-gradient(140deg, rgba(255,196,96,.32), rgba(168,96,22,.24)); border:1px solid rgba(255,214,150,.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.inc-fil b{ display:block; font-size:14px; font-weight:700; line-height:1.35; }
.inc-fil span{ display:block; margin-top:3px; font-size:12.5px; color:var(--texte-3); }
@media (max-width:640px){
  .inc-carte{ padding:14px 16px 14px 20px; }
  .inc-fil li{ gap:10px; }
}

/* Qui sommes-nous : chiffres, outils et engagements dans le langage du site */
.fab-chiffres{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:var(--e3); margin-bottom:var(--e7); }
.fab-chiffre{ padding:var(--e4); border-radius:18px; background:rgba(2,9,20,.5); border:1px solid var(--bord); display:grid; gap:4px; }
.fab-chiffre b{ font:600 clamp(26px, 3vw, 34px)/1 var(--f-pts); color:transparent; background:var(--grad); -webkit-background-clip:text; background-clip:text; }
.fab-chiffre span{ font:500 11px var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.outil{ position:relative; overflow:hidden; }
.outil::before{ content:""; position:absolute; inset:0 0 auto; height:2px; background:linear-gradient(90deg, rgba(63,201,186,0), var(--paon-clair), rgba(63,201,186,0)); opacity:.75; }
.outil[data-etat="dev"]::before{ background:linear-gradient(90deg, rgba(255,181,71,0), var(--or), rgba(255,181,71,0)); }
.outil[data-etat="dispo"]::before{ background:linear-gradient(90deg, rgba(255,222,165,0), var(--or-pale), rgba(255,222,165,0)); }
.outil-mono{ width:48px; height:48px; border-radius:12px; display:grid; place-items:center; font:700 12px/1 var(--f-pts); letter-spacing:.04em; color:#FFEDC8; text-shadow:0 0 12px rgba(255,180,60,.75); background:linear-gradient(140deg, rgba(255,196,96,.42), rgba(168,96,22,.3)); border:1px solid rgba(255,214,150,.5); box-shadow:inset 0 1px 0 rgba(255,255,255,.14); }
.engage{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:var(--e3); }
.engage li{ position:relative; display:grid; gap:6px; padding:var(--e4) var(--e4) var(--e4) 26px; border-radius:16px; background:rgba(2,9,20,.5); border:1px solid var(--bord); }
.engage li::before{ content:""; position:absolute; left:0; top:var(--e4); bottom:var(--e4); width:3px; border-radius:3px; background:linear-gradient(180deg, var(--or), rgba(255,181,71,.15)); }
.engage b{ font-size:15px; font-weight:800; letter-spacing:-.01em; }
.engage span{ font-size:13.5px; line-height:1.6; color:var(--texte-2); }

/* Les sources, en tête des logigrammes */
.sources{ display:grid; gap:var(--e3); margin-bottom:var(--e5); }
.sources-t{ font:500 11px var(--f-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--texte-3); }
.sources-l{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:10px; }
.sources-l li{ display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:14px; background:rgba(2,9,20,.5); border:1px solid var(--bord); }
.sources-l .rc-mono{ width:38px; height:38px; font-size:12px; }
.sources-l b{ display:block; font-size:13.5px; }
.sources-l small{ display:block; margin-top:1px; font-size:11.5px; color:var(--texte-3); }
.sources-p{ margin:0; font-size:13.5px; color:var(--texte-2); max-width:68ch; }


/* L'échelle des cinq couches, ouverte depuis le logigramme */
.lg-ech{ cursor:pointer; }
.lg-ech .lg-sous{ text-decoration:underline; text-decoration-style:dotted; text-underline-offset:3px; }
.lg-ech:hover .lg-boite, .lg-ech:focus-visible .lg-boite{ stroke:#FFD58A; }
.lg-ech:focus-visible{ outline:none; }
.lg-ech:focus-visible .lg-halo{ opacity:.9; }
.lg-echelle:empty{ display:none; }
.ech{ margin:var(--e3) 0 0; padding:var(--e4); display:grid; gap:var(--e3); }
.ech-tete{ display:flex; align-items:center; justify-content:space-between; gap:var(--e3); }
.ech-fermer{ width:30px; height:30px; border-radius:50%; border:1px solid var(--bord); background:none; color:var(--texte-2); cursor:pointer; font-size:13px; }
.ech-fermer:hover{ border-color:var(--bord-fort); color:var(--texte); }
.ech-p{ margin:0; font-size:14px; line-height:1.6; color:var(--texte-2); max-width:70ch; }
.ech-l{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ech-l li{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:start; padding:12px 14px; border-radius:14px; background:rgba(2,9,20,.5); border:1px solid var(--bord); }
.ech-l .ech-n{ width:26px; height:26px; border-radius:8px; display:grid; place-items:center; font:600 12px/1 var(--f-mono); color:var(--encre-btn); background:var(--grad-btn); }
.ech-l b{ display:block; font-size:14.5px; }
.ech-l span{ display:block; margin-top:2px; font-size:13px; color:var(--texte-2); }
.ech-l em{ display:block; margin-top:4px; font:500 11.5px var(--f-mono); font-style:normal; color:var(--texte-3); }
.ech-l li:last-child .ech-n{ background:rgba(255,181,71,.18); color:var(--or-pale); }

/* Les schémas : ce que fait chaque outil, dessiné dans sa carte */
.sch{ position:relative; display:block; margin-top:var(--e3); padding:11px 13px; border-radius:15px; overflow:hidden;
  background:repeating-linear-gradient(90deg, rgba(255,205,135,.026) 0 1px, transparent 1px 24px), repeating-linear-gradient(0deg, rgba(255,205,135,.026) 0 1px, transparent 1px 24px), linear-gradient(180deg, rgba(9,25,44,.6), rgba(2,9,20,.72));
  box-shadow:inset 0 1px 0 rgba(255,240,215,.07), inset 0 -20px 38px -36px rgba(255,170,60,.5); }
.sch::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none; background:linear-gradient(145deg, rgba(255,214,150,.42), rgba(255,205,135,.05) 38%, rgba(255,205,135,.24));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; }
.sch::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:radial-gradient(82% 112% at 50% 134%, rgba(255,170,60,.1), transparent 64%); }
.outil:hover .sch::after, .outil:focus-visible .sch::after{ background:radial-gradient(82% 112% at 50% 134%, rgba(255,170,60,.19), transparent 66%); }
.sch-svg{ position:relative; z-index:1; display:block; width:100%; height:auto; }
.sch-hors *{ animation-play-state:paused !important; }
.sch-fil, .sch-tr{ fill:none; stroke:rgba(255,196,112,.46); stroke-width:1.3; stroke-linecap:round; }
.sch-b{ fill:url(#sch-boite); stroke:rgba(255,205,135,.34); stroke-width:1.2; }
.sch-chip{ fill:url(#sch-puce); stroke:rgba(255,205,135,.24); stroke-width:1; }
.sch-t{ font:600 10px var(--f-mono); fill:#E6F1F8; text-anchor:middle; letter-spacing:.02em; }
.sch-tp{ font:500 9px var(--f-mono); fill:#A3BDCE; text-anchor:middle; letter-spacing:.07em; }
.sch-logifab{ --c:4.4s; }
.sch-flux{ fill:none; stroke:#FFF0D2; stroke-width:1.8; stroke-linecap:round; stroke-dasharray:16 208; stroke-dashoffset:0; animation:sch-flux var(--c) linear infinite; }
.sch-halo{ stroke:rgba(255,178,70,.3); stroke-width:7; }
@keyframes sch-flux{ from{ stroke-dashoffset:224; } to{ stroke-dashoffset:0; } }
.sch-logifab .sch-n .sch-b{ animation:sch-passe var(--c) var(--d, 0s) ease-out infinite; }
@keyframes sch-passe{ 0%{ stroke:rgba(255,205,135,.34); } 5%{ stroke:#FFF0D2; } 26%{ stroke:rgba(255,205,135,.34); } 100%{ stroke:rgba(255,205,135,.34); } }
.sch-atelier{ --c:6.4s; }
.sch-atelier .sch-n{ animation:sch-pose var(--c) var(--d, 0s) ease-out infinite; }
@keyframes sch-pose{ 0%{ opacity:0; } 8%, 90%{ opacity:1; } 100%{ opacity:0; } }
.sch-tr{ stroke-dasharray:64; stroke-dashoffset:0; animation:sch-trace var(--c) var(--d, 0s) ease-out infinite; }
@keyframes sch-trace{ 0%{ stroke-dashoffset:64; } 9%, 90%{ stroke-dashoffset:0; } 100%{ stroke-dashoffset:64; } }
.sch-piste, .sch-jauge{ fill:none; stroke-width:6; stroke-linecap:round; }
.sch-piste{ stroke:rgba(214,236,250,.075); }
.sch-jauge{ stroke:url(#sch-or); stroke-dasharray:264; stroke-dashoffset:var(--o, 132); animation:sch-jauge var(--t) var(--d) ease-in-out infinite; }
@keyframes sch-jauge{ 0%{ stroke-dashoffset:264; opacity:1; } 78%{ stroke-dashoffset:0; opacity:1; } 93%{ stroke-dashoffset:0; opacity:.12; } 100%{ stroke-dashoffset:264; opacity:0; } }
.sch-jhalo{ stroke:rgba(255,170,60,.15); stroke-width:9; }
.sch-parc .sch-tp{ text-anchor:end; }
@media (max-width:980px){ .sch{ max-width:420px; } }

/* Curseur contextuel */
.curseur{ --c-or:#FFB547; --c-or-clair:#FFE3A3; --c-filet-or:rgba(255,214,150,.42); --c-filet:rgba(255,205,135,.26); --c-gris:#A6C0CE; --c-ok:#3FC9BA; --c-encre:#04263A; --c-mono:"DM Mono",Consolas,monospace; --c-serif:"STIX Two Text","Cambria Math",Cambria,Georgia,serif;
  position:fixed; inset:0; pointer-events:none; z-index:2147483000; display:none; }
html.curseur-actif .curseur{ display:block; }
html.curseur-actif, html.curseur-actif *{ cursor:none !important; }
.curseur.dehors > *{ opacity:0 !important; }
.c-trace{ position:fixed; inset:0; width:100%; height:100%; display:block; }
.c-anneau, .c-point, .c-barre, .c-mire, .c-etiquette{ position:fixed; left:0; top:0; will-change:transform; transition:opacity .16s ease; }
.c-anneau{ box-sizing:border-box; border:1.5px solid rgba(255,190,90,.95); border-radius:50%; box-shadow:0 0 0 1.5px rgba(4,11,24,.6), inset 0 0 0 1px rgba(4,11,24,.3), 0 0 16px rgba(255,181,71,.24); transition:opacity .16s ease, border-color .2s, background-color .2s, box-shadow .2s; }
.c-point{ width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:#FFF4D6; box-shadow:0 0 0 1.5px rgba(4,11,24,.85), 0 0 10px rgba(255,181,71,.95); }
.c-barre{ width:2px; margin-left:-1px; border-radius:1px; background:var(--c-or-clair); box-shadow:0 0 0 1px rgba(4,11,24,.7), 0 0 8px rgba(255,181,71,.7); opacity:0; }
.c-barre::before, .c-barre::after{ content:""; position:absolute; left:-3px; width:8px; height:1.5px; border-radius:1px; background:var(--c-or-clair); }
.c-barre::before{ top:0; }
.c-barre::after{ bottom:0; }
.c-mire{ width:66px; height:66px; margin:-33px 0 0 -33px; opacity:0;
  background:linear-gradient(var(--c-or),var(--c-or)) 50% 0 / 1.5px 11px no-repeat, linear-gradient(var(--c-or),var(--c-or)) 50% 100% / 1.5px 11px no-repeat, linear-gradient(var(--c-or),var(--c-or)) 0 50% / 11px 1.5px no-repeat, linear-gradient(var(--c-or),var(--c-or)) 100% 50% / 11px 1.5px no-repeat;
  filter:drop-shadow(0 0 1.5px rgba(4,11,24,.9)) drop-shadow(0 0 5px rgba(255,181,71,.7)); }
.c-etiquette{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; opacity:0; font:500 11px/1 var(--c-mono); letter-spacing:.03em; color:var(--c-or-clair); background:rgba(4,11,24,.9); border:1px solid var(--c-filet-or); border-radius:6px; padding:6px 8px; box-shadow:0 6px 20px -8px rgba(0,0,0,.8); }
.c-etiquette.eq-style{ font:italic 500 14px/1 var(--c-serif); letter-spacing:0; padding:6px 9px; }
.c-etiquette b{ font-weight:500; color:var(--c-or); }
.c-etiquette .c-pastille{ width:6px; height:6px; border-radius:50%; background:var(--c-or); box-shadow:0 0 6px var(--c-or); flex:none; }
.curseur.avec-etiquette .c-etiquette{ opacity:1; }
.curseur[data-mode="texte"] .c-anneau, .curseur[data-mode="texte"] .c-point{ opacity:0; }
.curseur[data-mode="texte"] .c-barre{ opacity:1; }
.curseur[data-mode="saisie"] .c-anneau{ opacity:.7; }
.curseur[data-mode="saisie"][data-barre="oui"] .c-point{ opacity:0; }
.curseur[data-mode="saisie"][data-barre="oui"] .c-barre{ opacity:1; animation:c-clignote 1.06s steps(1) infinite; }
.curseur[data-mode="sonde"] .c-mire, .curseur[data-mode="mire"] .c-mire{ opacity:1; }
.curseur[data-mode="mire"] .c-anneau{ opacity:0; }
@keyframes c-clignote{ 50%{ opacity:0; } }
.curseur[data-variante="attente"] .c-anneau{ border-style:dashed; }
.curseur[data-variante="pret"] .c-anneau{ background-color:rgba(255,181,71,.13); box-shadow:0 0 0 1.5px rgba(4,11,24,.6), 0 0 24px rgba(255,181,71,.45); }
.curseur[data-variante="ici"] .c-anneau{ border-color:rgba(166,192,206,.65); box-shadow:0 0 0 1.5px rgba(4,11,24,.6); }
.curseur[data-variante="ok"] .c-anneau{ border-color:var(--c-ok); box-shadow:0 0 0 1.5px rgba(4,11,24,.6), 0 0 16px rgba(63,201,186,.3); }
.curseur[data-variante="ok"] .c-point{ background:#DDF8F4; box-shadow:0 0 0 1.5px rgba(4,11,24,.85), 0 0 10px var(--c-ok); }
.curseur[data-variante="interdit"] .c-anneau{ border-style:dashed; border-color:rgba(166,192,206,.75); box-shadow:0 0 0 1.5px rgba(4,11,24,.6); }
.curseur[data-variante="interdit"] .c-point{ background:var(--c-gris); box-shadow:0 0 0 1.5px rgba(4,11,24,.7); }
.curseur[data-variante="ici"] .c-etiquette, .curseur[data-variante="interdit"] .c-etiquette{ color:#CFE0EA; border-color:var(--c-filet); }
.curseur[data-variante="pret"] .c-etiquette{ color:var(--c-encre); background:var(--c-or); border-color:var(--c-or); }
.curseur[data-variante="pret"] .c-etiquette b{ color:var(--c-encre); }
.curseur[data-variante="pret"] .c-etiquette .c-pastille{ background:var(--c-encre); box-shadow:none; }