/* ==========================================================================
   Strat IA Formation — v2 « WAW » (2026-09-28)
   Architecture, échelles, courbes, durées et effets calqués sur preprod.luaf.fr
   (table section par section : clients/strat-ia/V2-CORRESPONDANCE-LUAF.md).
   Couleurs, polices, logo, HUG, textes et visuels : charte Strat IA « Cap ».
   Règle : l'état FINAL est l'état par défaut. Les états de départ des animations
   ne s'appliquent que sous html.anim (JS actif et mouvement non réduit).
   ========================================================================== */

@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url('../fonts/BricolageGrotesque-normal.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/HankenGrotesk-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/InstrumentSerif-italic.woff2') format('woff2')}

:root{
  --encre:#0C1411; --encre-2:#131D19; --encre-3:#1C2924; --noir:#050807;
  --craie:#F3F0E8; --papier:#FBFAF6; --craie-3:#E8E3D7; --gris:#EFEDE7;
  --balise:#FF6A2B; --balise-fort:#FF824D; --balise-texte:#AE3E0C;
  --sauge:#9CC7B4; --sauge-fonce:#2F6B55; --sauge-clair:#CFE3D8; --foret:#16352A;
  --texte-2:#A9B3AD; --texte-2c:#56615B;

  --f-titre:'Bricolage Grotesque','Hanken Grotesk',system-ui,sans-serif;
  --f-accent:'Instrument Serif',Georgia,serif;
  --f-texte:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* Courbes relevées dans le CSS et le JS de LUAF */
  --e-expo:cubic-bezier(.16,1,.3,1);        /* 16 occurrences : entrées */
  --e-doux:cubic-bezier(.22,.61,.36,1);     /* 13 occurrences */
  --e-sortie:cubic-bezier(.22,1,.36,1);
  --e-rideau:cubic-bezier(.33,1,.68,1);     /* transition de page */
  --e-roule:cubic-bezier(.76,0,.24,1);      /* lettres qui roulent */
  --e-ressort:cubic-bezier(.34,1.56,.64,1); /* point qui se pose */
  --e-tiroir:cubic-bezier(.32,.72,0,1);

  --gout:clamp(16px,3.3vw,48px);
  --entete:68px;
  --pied-fond:var(--encre);
  --fond-page:var(--papier);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--encre)}
html:not(.anim){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--papier);color:var(--encre);font-family:var(--f-texte);font-size:1rem;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--balise);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.evitement{position:fixed;left:16px;top:-80px;z-index:2000;background:var(--balise);color:var(--encre);padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.evitement:focus{top:16px}
html:not(.js) .js-seul{display:none!important}
.sans-js{display:none}
html:not(.js) .sans-js{display:block}
.centre{display:flex;justify-content:center}
.centre-t{text-align:center}
.pot-de-miel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------------------------------------------------------------- texte en dégradé */
.degrade,.degrade-it{background:linear-gradient(180deg,#16352A 40%,#3C7E64 92%);-webkit-background-clip:text;background-clip:text;color:transparent}
.degrade-it{font-family:var(--f-accent);font-style:italic;font-weight:400;letter-spacing:-.01em}
.degrade-nuit{background:linear-gradient(180deg,#F3F0E8 8%,#9CC7B4 96%);-webkit-background-clip:text;background-clip:text;color:transparent}
.degrade-froid{background:linear-gradient(100deg,#F3F0E8,#CFE3D8 25%,#9CC7B4 52%,#5E9C85 78%,#FF824D);-webkit-background-clip:text;background-clip:text;color:transparent}
.degrade-long{background:linear-gradient(90deg,#0C1411,#16352A 18%,#2F6B55 42%,#3C7E64 64%,#AE3E0C 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.split{display:inline}
.split .mot{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .mot>span{display:inline-block;will-change:transform}
.split.degrade .mot>span,.split.degrade-it .mot>span{background:inherit;-webkit-background-clip:text;background-clip:text}
.anim .split .mot>span{transform:translateY(108%);transition:transform .9s var(--e-expo);transition-delay:calc(var(--i,0) * 45ms)}
.anim .split.vu .mot>span{transform:none}
.anim [data-rv]{opacity:0;transform:translateY(42px);transition:opacity .8s var(--e-expo),transform .9s var(--e-expo);transition-delay:calc(var(--rv-i,0) * 90ms)}
.anim [data-rv].vu{opacity:1;transform:none}

.surtitre{font:600 .75rem/1.2 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--sauge-fonce);margin-bottom:14px}
.lien{color:var(--balise-texte);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.petit{font-size:.8125rem;color:var(--texte-2c)}
.mention{font-size:.8125rem;color:var(--texte-2c);margin-top:18px}

/* ---------------------------------------------------------------- boutons (pilules LUAF) */
.pilule{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 18px;border-radius:999px;
  font:600 .8125rem/1 var(--f-texte);text-decoration:none;white-space:nowrap;transition:transform .2s var(--e-sortie),background-color .2s,box-shadow .2s}
.pilule svg{width:16px;height:16px}
.pilule .fleche{width:16px;height:16px}
.pilule--blanche{background:var(--craie);color:var(--encre);box-shadow:0 1px 0 rgb(255 255 255 / .6) inset,0 6px 18px -8px rgb(0 0 0 / .35)}
.pilule--accent{background:var(--balise);color:var(--encre);box-shadow:0 8px 22px -10px rgb(255 106 43 / .7)}
.pilule--grande{height:48px;padding:0 24px;font-size:.9375rem}
.pilule:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.pilule:hover{transform:translateY(-1px)} .pilule--accent:hover{background:var(--balise-fort)}}
.btn-plus{display:inline-flex;align-items:center;gap:14px;height:46px;padding:0 6px 0 22px;border-radius:999px;background:#fff;color:var(--encre);
  font:600 .875rem/1 var(--f-texte);text-decoration:none;box-shadow:0 1px 2px rgb(12 20 17 / .06),0 10px 30px -12px rgb(12 20 17 / .3);transition:transform .25s var(--e-sortie),box-shadow .25s}
.plus-rond{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--balise);color:var(--encre);transition:transform .4s var(--e-sortie)}
.plus-rond svg{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.btn-plus:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgb(12 20 17 / .06),0 16px 36px -12px rgb(12 20 17 / .35)} .btn-plus:hover .plus-rond{transform:rotate(90deg)}}
.btn-plus:active{transform:scale(.98)}
.fleche{width:18px;height:18px;flex:none}

/* ---------------------------------------------------------------- encoche (languette entre sections) */
.encoche{position:absolute;left:0;right:0;z-index:4;pointer-events:none;line-height:0}
.encoche svg{width:100%;fill:var(--encoche)}
.encoche--bas{bottom:-1px}
.encoche--haut{top:-1px;transform:scaleY(-1)}
.encoche__b{height:48px}
.encoche__m{display:none;height:32px}
@media (max-width:767px){.encoche__b{display:none}.encoche__m{display:block}}

/* ---------------------------------------------------------------- en-tête */
.entete{position:absolute;top:0;left:0;right:0;z-index:50;height:var(--entete);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;color:var(--craie)}
.entete__logo img{height:36px;width:auto}
.nav{display:flex;gap:36px}
.nav a{position:relative;font:500 .8125rem/1 var(--f-texte);text-decoration:none;opacity:.86;padding:8px 0;transition:opacity .2s}
.nav a:hover{opacity:1}
.nav a[aria-current=page]{opacity:1}
.nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--sauge),var(--balise))}
.entete__cta{display:flex;gap:10px;justify-content:flex-end}
.entete--clair{color:var(--encre)}
.entete--clair .pilule--blanche{background:#fff}
.burger{display:none;justify-self:end;width:44px;height:44px;border-radius:50%;place-items:center;text-decoration:none}
.burger__barres,.burger__barres::before{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;position:relative;transition:transform .3s var(--e-sortie)}
.burger__barres::before{content:"";position:absolute;top:6px}
.burger__barres{transform:translateY(-3px)}
.burger[aria-expanded=true] .burger__barres{transform:rotate(45deg)}
.burger[aria-expanded=true] .burger__barres::before{transform:translateY(-6px) rotate(-90deg)}
.menu{position:fixed;inset:0;z-index:49;background:var(--encre);color:var(--craie);padding:96px 24px 32px;display:flex;flex-direction:column;justify-content:space-between;
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--e-tiroir),visibility 0s .6s}
.menu.ouvert{clip-path:inset(0);visibility:visible;transition:clip-path .6s var(--e-tiroir)}
.menu li{border-bottom:1px solid rgb(243 240 232 / .1)}
.menu li a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font:600 1.875rem/1 var(--f-titre);font-stretch:92%;letter-spacing:-.03em;text-decoration:none}
.menu li{opacity:0;transform:translateY(16px);transition:opacity .4s,transform .5s var(--e-expo)}
.menu.ouvert li{opacity:1;transform:none;transition-delay:calc(.12s + var(--k,0) * 50ms)}
.menu li:nth-child(2){--k:1}.menu li:nth-child(3){--k:2}.menu li:nth-child(4){--k:3}.menu li:nth-child(5){--k:4}
.menu__actions{display:flex;flex-wrap:wrap;gap:10px}
.menu-ouvert .entete{position:fixed;color:var(--craie)}
.menu-ouvert .entete .entete__logo img{filter:none}
@media (max-width:980px){
  .nav,.entete__cta{display:none}
  .entete{grid-template-columns:1fr auto;padding:0 12px 0 16px}
  .burger{display:grid}
}
@media (min-width:981px){.menu{display:none}}

/* ---------------------------------------------------------------- écran de chargement (LUAF : repères + logo + compteur) */
.chargeur{display:none}
html.charge .chargeur{display:grid;position:fixed;inset:0;z-index:1000;background:#E4E0D6;color:var(--encre);place-items:center;grid-template-rows:1fr auto 1fr}
html.charge,html.charge body{overflow:hidden}
.chargeur__scene{grid-row:2;position:relative;width:clamp(150px,17vw,250px);aspect-ratio:1}
.chargeur__plus,.rideau__plus{position:absolute;left:50%;top:50%;width:13px;height:13px;margin:-6.5px;color:rgb(12 20 17 / .55)}
.chargeur__plus svg,.rideau__plus svg{width:13px;height:13px}
.chargeur__cadre{position:absolute;inset:8px;border:1px solid rgb(12 20 17 / .12);opacity:0}
.chargeur__barre{position:absolute;left:8px;right:8px;top:8px;height:2px;background:var(--encre);transform:scaleX(0);transform-origin:0 50%}
.chargeur__logo{position:absolute;inset:0;display:grid;place-items:center}
.chargeur__logo .symbole{width:34%;color:transparent;--symbole-trait:var(--encre);overflow:visible}
.chargeur__logo .symbole rect{stroke:rgb(12 20 17 / .25);stroke-width:1}
.chargeur__logo .symbole__s{stroke-dasharray:1;stroke-dashoffset:1}
.chargeur__logo .symbole__balise{transform-box:fill-box;transform-origin:center;transform:scale(0)}
.chargeur__mots{grid-row:2;align-self:end;display:flex;gap:18px;margin-top:calc(clamp(150px,17vw,250px) + 34px);position:absolute;left:50%;top:50%;transform:translate(-50%,0);font:600 .8125rem/1 var(--f-texte);letter-spacing:.06em}
.chargeur__mots span{opacity:0;transform:translateY(6px)}
.chargeur__compte{grid-row:3;align-self:end;margin-bottom:6vh;font:600 .8125rem/1 var(--f-texte);font-variant-numeric:tabular-nums;letter-spacing:.08em}
html.charge .chargeur{animation:secours-sortie .5s 6s forwards}
@keyframes secours-sortie{to{opacity:0;visibility:hidden}}

/* ---------------------------------------------------------------- rideau entre les pages */
.rideau{position:fixed;inset:0;z-index:999;background:#E4E0D6;color:var(--encre);display:grid;place-items:center;align-content:center;gap:26px;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .34s var(--e-rideau),visibility 0s .34s}
.rideau.entre,html.rideau-actif .rideau{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .34s var(--e-rideau)}
.rideau__scene{position:relative;width:clamp(120px,12vw,164px);aspect-ratio:1}
.rideau__logo{position:absolute;inset:0;display:grid;place-items:center}
.rideau__logo .symbole{width:40%;color:var(--encre)}
.rideau__titre{font:700 .8125rem/1 var(--f-texte);letter-spacing:.16em;text-transform:uppercase}

/* ---------------------------------------------------------------- 1. HÉROS (nuit) */
.s-heros{position:relative;min-height:max(100svh,760px);background:radial-gradient(120% 80% at 50% 0%,#15231D 0%,var(--encre) 58%);color:var(--craie);
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(110px,15vh,150px) var(--gout) 110px;overflow:hidden}
.s-heros__fond{position:absolute;inset:0;pointer-events:none;opacity:.9}
.s-heros__fond svg{width:100%;height:100%}
.s-heros__fond path{fill:none;stroke:#9CC7B4;stroke-opacity:.07;stroke-width:1.2}
.s-heros__in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;max-width:1240px}
.s-heros__av{position:relative;width:64px;height:64px;margin-bottom:18px}
.s-heros__av svg{width:64px;height:64px;filter:drop-shadow(0 10px 24px rgb(0 0 0 / .5))}
.s-heros__av .oeil{transform-box:fill-box;transform-origin:center;animation:cligne 6s 2s infinite}
@keyframes cligne{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.12)}}
.s-heros__pt{position:absolute;right:-2px;bottom:4px;width:12px;height:12px;border-radius:50%;background:var(--sauge);box-shadow:0 0 0 3px var(--encre)}
.s-heros__h{display:flex;flex-direction:column;align-items:center}
.s-heros__ligne{font:400 clamp(1.25rem,.9rem + 1.6vw,2.125rem)/1.2 var(--f-titre);font-stretch:96%;letter-spacing:-.02em;
  background:linear-gradient(180deg,#fff 0%,#C9DBD1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.tape{display:inline-flex;align-items:baseline;-webkit-text-fill-color:var(--sauge);color:var(--sauge)}
.tape__txt{white-space:pre}
.tape__curseur{display:inline-block;width:2px;height:.9em;margin-left:2px;background:var(--balise);align-self:center;animation:caret 1s steps(1) infinite}
@keyframes caret{0%,50%{opacity:1}50.01%,100%{opacity:0}}
.s-heros__nom{display:block;margin-top:6px;font:700 clamp(2.9rem,7.2vw,7.4rem)/1.05 var(--f-titre);font-stretch:94%;letter-spacing:-.035em;
  background:linear-gradient(180deg,#fff 4%,#9CC7B4 96%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.s-heros__l1{font-weight:760}
.s-heros__nom .car{display:inline-block;background:linear-gradient(180deg,#fff 4%,#9CC7B4 96%);-webkit-background-clip:text;background-clip:text;color:transparent}
.s-heros__l2{font-weight:300;letter-spacing:-.045em}
.s-heros__sous{margin-top:14px;font-size:clamp(1rem,.9rem + .3vw,1.1875rem);color:#C9D3CD}
.publics{position:relative;display:inline-flex;gap:2px;margin-top:34px;padding:4px;border-radius:999px;background:rgb(243 240 232 / .06);box-shadow:inset 0 0 0 1px rgb(243 240 232 / .1)}
.onglet{position:relative;z-index:2;height:44px;padding:0 20px;border-radius:999px;font:500 .8125rem/1 var(--f-texte);letter-spacing:.02em;color:rgb(243 240 232 / .72);transition:color .3s}
.onglet[aria-pressed=true]{color:var(--encre)}
.publics__curseur{position:absolute;z-index:1;top:4px;left:0;height:44px;border-radius:999px;background:var(--craie);box-shadow:0 6px 18px -8px rgb(0 0 0 / .5);
  transition:transform .5s var(--e-expo),width .5s var(--e-expo);width:var(--cw,0);transform:translateX(var(--cx,4px))}
html:not(.js) .publics__curseur{display:none}
.demande{width:min(660px,100%);margin-top:22px}
.aura{position:relative;isolation:isolate;padding:1px;border-radius:22px;
  background:linear-gradient(112deg,#0C1411,#16352A 23%,#6FA38E 44%,#F3D9C6 58%,#FF6A2B 68%,#2F6B55 84%,#0C1411) 0 0/240% 240%;
  animation:aura-flux 5.2s ease-in-out infinite,aura-souffle 3.8s ease-in-out infinite;box-shadow:0 0 0 1px rgb(156 199 180 / .06),0 0 15px rgb(156 199 180 / .1),0 0 30px rgb(12 20 17 / .1)}
.aura::before{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:25px;background:inherit;background-size:240% 240%;opacity:.22;filter:blur(8px);animation:aura-flux 5.2s ease-in-out infinite;pointer-events:none}
@keyframes aura-flux{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes aura-souffle{0%,100%{box-shadow:0 0 0 1px rgb(156 199 180 / .1),0 0 13px rgb(156 199 180 / .08),0 0 26px rgb(12 20 17 / .06)}50%{box-shadow:0 0 0 1px rgb(156 199 180 / .11),0 0 18px rgb(255 106 43 / .13),0 0 34px rgb(12 20 17 / .1)}}
.demande__panneau{display:flex;align-items:center;gap:10px;height:58px;padding:0 9px 0 22px;border-radius:21px;background:linear-gradient(180deg,#16211C,#0F1814);
  box-shadow:inset 0 1px rgb(255 255 255 / .06),inset 0 -1px rgb(0 0 0 / .25)}
.demande__panneau input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--craie);font-size:.9375rem;outline:none}
.demande__panneau input::placeholder{color:rgb(243 240 232 / .5)}
.demande__envoi{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgb(243 240 232 / .08);color:rgb(243 240 232 / .7);transition:background-color .2s,color .2s,transform .2s var(--e-sortie)}
.demande__envoi svg{width:18px;height:18px}
.demande__panneau:focus-within .demande__envoi,.demande__envoi:hover{background:var(--balise);color:var(--encre)}
.demande__envoi:active{transform:scale(.92)}
.s-heros__defile{position:relative;z-index:2;width:100%;display:flex;overflow:hidden;margin-top:auto;padding:28px 0 18px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.defile{display:flex;flex:none;gap:56px;padding-right:56px;animation:defile 42s linear infinite}
.s-heros__defile li{font:600 .8125rem/1 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--craie);opacity:.5;white-space:nowrap}
@keyframes defile{to{transform:translateX(-100%)}}
.anim .s-heros__av,.anim .s-heros__ligne,.anim .s-heros__sous,.anim .publics,.anim .demande--heros,.anim .s-heros__defile{opacity:0}
.anim .s-heros__nom{opacity:0}

/* ---------------------------------------------------------------- 2. DEUX MÉTIERS (clair) + carrousel 3D */
.s-metiers{position:relative;background:linear-gradient(180deg,#CFE3D8 0%,#DDEAE2 26%,#EEF1EA 60%,var(--papier) 100%);padding:clamp(56px,7vw,96px) var(--gout) clamp(80px,8vw,120px);overflow:hidden}
.s-metiers__h{text-align:center;display:flex;flex-direction:column;align-items:center}
.s-metiers__h .l-1{font:500 clamp(3.25rem,1.6rem + 6.2vw,5.8rem)/.98 var(--f-titre);font-stretch:94%;letter-spacing:-.045em}
.s-metiers__h .l-2{font-size:clamp(2.25rem,1.3rem + 3.6vw,3.6rem);line-height:1.02}
.cf{position:relative;height:clamp(470px,36vw,540px);margin:34px auto 26px;max-width:1100px;perspective:1600px}
.cf__piste{position:relative;height:100%;transform-style:preserve-3d}
.cf-carte{position:absolute;left:50%;top:0;width:clamp(290px,25vw,350px);height:100%;margin-left:calc(clamp(290px,25vw,350px) / -2);padding:30px 28px 28px;border-radius:28px;
  background:linear-gradient(180deg,#fff,#FBFAF6);box-shadow:0 1px 0 #fff inset,0 2px 6px rgb(12 20 17 / .04),0 30px 60px -28px rgb(12 20 17 / .3);
  display:flex;flex-direction:column;text-align:left;transition:transform .58s var(--e-sortie),opacity .58s var(--e-sortie),filter .58s var(--e-sortie);will-change:transform}
html:not(.js) .cf{height:auto;perspective:none}
html:not(.js) .cf__piste{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
html:not(.js) .cf-carte{position:relative;left:auto;margin:0;height:auto}
.cf-carte[data-pos="0"]{z-index:3}
.cf-carte[data-pos="-1"],.cf-carte[data-pos="1"]{z-index:2;opacity:.8;filter:blur(2.5px);cursor:pointer}
.cf-carte[data-pos="-1"]{transform:translateX(-74%) scale(.86) rotateY(9deg)}
.cf-carte[data-pos="1"]{transform:translateX(74%) scale(.86) rotateY(-9deg)}
.cf-carte[data-pos="-1"] *,.cf-carte[data-pos="1"] *{pointer-events:none}
.cf-carte__sur{font:600 .75rem/1 var(--f-texte);letter-spacing:.14em;color:var(--sauge-fonce);margin-bottom:14px}
.cf-carte__t{font:620 clamp(1.625rem,1.2rem + 1vw,2rem)/1.02 var(--f-titre);font-stretch:94%;letter-spacing:-.04em}
.cf-carte__promesse{font:400 1.5rem/1.1 var(--f-accent);font-style:italic;color:var(--balise-texte);margin:10px 0 14px}
.cf-carte__texte{font-size:.875rem;line-height:1.5;color:#34403A;margin-bottom:10px}
.cf-carte__pts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 16px}
.cf-carte__pts li{font:600 .6875rem/1 var(--f-texte);padding:7px 10px;border-radius:999px;background:var(--gris);color:#34403A}
.cf-carte__lien{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font:600 .875rem/1 var(--f-texte);color:var(--sauge-fonce);text-decoration:none}
.cf-carte--marque{text-align:center;align-items:center}
.cf-carte__marque{font:760 1.875rem/1 var(--f-titre);font-stretch:92%;letter-spacing:-.04em;color:var(--sauge-fonce)}
.cf-carte__marque b{display:inline-block;margin-left:4px;padding:2px 7px 4px;border-radius:7px;background:var(--balise);color:var(--encre);font-size:.72em;vertical-align:.12em}
.cf-carte__sur2{font:620 1.25rem/1.1 var(--f-titre);letter-spacing:-.03em;margin:18px 0 8px}
.cf-carte__t--grand{font-size:clamp(1.75rem,1.2rem + 1.2vw,2.3rem);margin-bottom:16px}
.cf-carte__pied{margin-top:auto;font:600 .75rem/1.4 var(--f-texte);color:var(--sauge-fonce)}
.cf__fl{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:38px;height:38px;margin-top:-19px;border-radius:50%;background:#fff;color:var(--encre);
  font:600 1.25rem/1 var(--f-texte);box-shadow:0 6px 18px -6px rgb(12 20 17 / .3);transition:transform .2s var(--e-sortie)}
.cf__fl--g{left:calc(50% - clamp(290px,25vw,350px) / 2 - 58px)}
.cf__fl--d{right:calc(50% - clamp(290px,25vw,350px) / 2 - 58px)}
.cf__fl:active{transform:scale(.92)}
.certif{margin-top:clamp(70px,8vw,110px);text-align:center}
.certif__h{font:500 clamp(2.25rem,1.4rem + 2.6vw,3.1rem)/1 var(--f-titre);font-stretch:94%;letter-spacing:-.04em}
.certif__h .degrade-it{font-size:1.06em}
.certif__grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:820px;margin:34px auto 0;text-align:left}
.certif__carte{display:flex;gap:18px;align-items:center;padding:20px 22px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .07),0 12px 30px -20px rgb(12 20 17 / .3)}
.certif__carte p{font-size:.78rem;line-height:1.45;color:#34403A}
.certif__logo{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-right:18px;border-right:1px solid rgb(12 20 17 / .1)}
.certif__logo b{font:760 1.6rem/1 var(--f-titre);letter-spacing:-.03em;color:var(--encre)}
.certif__logo span{font:600 .625rem/1 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--sauge-fonce)}
.certif__logo--cfa b{font-weight:300;font-size:2rem;letter-spacing:.06em}

/* ---------------------------------------------------------------- 3. FINANCEMENT (scène collante, scrub) */
.s-fin{position:relative;background:var(--encre);color:var(--craie)}
.s-fin__scene{position:relative}
.s-fin__scene-in{position:relative;height:100svh;min-height:560px;overflow:hidden;display:grid;place-items:center}
.anim .s-fin__scene{height:320vh}
.anim .s-fin__scene-in{position:sticky;top:0}
.s-fin__fond{position:absolute;inset:0;background:radial-gradient(90% 70% at 50% 45%,#16241E,var(--encre) 70%)}
.s-fin__fond::before{content:"";position:absolute;inset:0;background:var(--papier);opacity:var(--clair,0)}
.s-fin__defile{position:absolute;left:0;right:0;top:50%;transform:translateY(-58%);display:flex;flex-direction:column;gap:.1em}
.s-fin__rang{display:flex;width:max-content;font:700 clamp(3rem,6.6vw,6rem)/.92 var(--f-titre);font-stretch:100%;letter-spacing:.01em;white-space:nowrap}
.s-fin__rang span{flex:none;padding-right:.3em;animation:defile 38s linear infinite}
.s-fin__rang--1{color:var(--sauge)}
.s-fin__rang--2{color:var(--craie);margin-left:-40vw}
.s-fin__rang--2 span{animation-direction:reverse;animation-duration:46s}
.s-fin__sur{position:absolute;top:clamp(80px,12vh,120px);left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:10px;font:700 .6875rem/1 var(--f-texte);letter-spacing:.14em}
.s-fin__sur .symbole{width:26px;color:var(--craie);--symbole-trait:var(--encre)}
.s-fin__boite{position:relative;z-index:2;width:min(600px,84vw);padding:clamp(28px,4vw,52px) clamp(24px,3vw,44px);border-radius:28px;display:grid;place-items:center;
  background:rgb(31 74 59 / .88);box-shadow:0 40px 90px -40px rgb(0 0 0 / .8),inset 0 0 0 1px rgb(243 240 232 / .1)}
.s-fin__h{text-align:center;font:660 clamp(2.4rem,1.2rem + 4.2vw,5.2rem)/1.03 var(--f-titre);font-stretch:94%;letter-spacing:-.035em;-webkit-background-clip:text;background-clip:text;color:transparent}
.s-fin__paraphe{position:absolute;z-index:3;left:50%;top:50%;width:min(620px,86vw);transform:translate(-50%,-44%);color:#9CC7B4}
.s-fin__titres{position:relative}
.s-fin__h--nuit{position:absolute;inset:0;background-image:linear-gradient(180deg,#F3F0E8 0%,#CFE3D8 45%,#9CC7B4)}
.s-fin__h:not(.s-fin__h--nuit){background-image:linear-gradient(180deg,#6FA38E 0%,#2F6B55 50%,#16352A)}
.anim .s-fin__boite{position:absolute;inset:0;width:auto;padding:0;border-radius:0;background:var(--papier);box-shadow:none;clip-path:inset(0 round 0)}
.anim .s-fin__titres{will-change:transform}
.s-fin__cartes{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1280px;margin:0 auto;padding:0 var(--gout) 30px}
.anim .s-fin__cartes{margin-top:-62vh}
.fin-carte{display:flex;flex-direction:column;padding:26px 26px 22px;border-radius:24px;background:linear-gradient(180deg,rgb(24 36 30 / .96),rgb(13 21 18 / .98));
  box-shadow:inset 0 0 0 1px rgb(243 240 232 / .08),0 40px 80px -40px rgb(0 0 0 / .8);min-height:520px}
.fin-carte__sur{font:600 .75rem/1.2 var(--f-texte);color:var(--texte-2);margin-bottom:10px}
.fin-carte__t{font:650 clamp(1.75rem,1.2rem + 1.2vw,2.6rem)/1.02 var(--f-titre);font-stretch:94%;letter-spacing:-.035em}
.fin-carte__gros{margin:22px 0 18px;font:650 clamp(1.75rem,1.3rem + 1.1vw,2.5rem)/1 var(--f-titre);font-stretch:92%;letter-spacing:-.045em}
.fin-carte--sauge .fin-carte__gros{color:var(--sauge)}
.fin-carte--balise .fin-carte__gros{color:var(--balise-fort)}
.fin-carte--craie .fin-carte__gros{color:#F3D9C6}
.fin-carte__texte{font-size:.875rem;line-height:1.5;color:#C3CCC7}
.fin-carte__fort{margin-top:12px;font:700 .875rem/1.45 var(--f-texte);color:var(--craie)}
.fin-carte__btn{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;height:44px;padding:0 18px;border-radius:999px;font:600 .8125rem/1 var(--f-texte);color:var(--encre);transition:transform .2s var(--e-sortie),filter .2s}
.fin-carte--sauge .fin-carte__btn{background:var(--sauge)}
.fin-carte--balise .fin-carte__btn{background:var(--balise)}
.fin-carte--craie .fin-carte__btn{background:var(--craie)}
.fin-carte__btn:hover{filter:brightness(1.06)}
.fin-carte__btn:active{transform:scale(.98)}
.s-fin__mention{text-align:center;font-size:.75rem;color:var(--texte-2);padding:10px var(--gout) 70px}

/* ---------------------------------------------------------------- 4. L'IA AU TRAVAIL (défilé continu, ex-citations) */
.s-usages{position:relative;background:var(--encre);color:var(--craie);padding:clamp(40px,5vw,70px) 0 clamp(110px,10vw,150px);overflow:hidden}
.s-usages__h{text-align:center;padding:0 var(--gout);font:650 clamp(2.5rem,1.2rem + 4.3vw,4.9rem)/.95 var(--f-titre);font-stretch:94%;letter-spacing:-.04em;color:var(--balise)}
.s-usages__sous{max-width:620px;margin:22px auto 0;text-align:center;padding:0 var(--gout);color:var(--texte-2);font-size:.9375rem}
.s-usages__defile{display:flex;overflow:hidden;margin-top:clamp(40px,5vw,64px);outline-offset:-4px}
.defile--taches{gap:18px;padding-right:18px;animation-duration:80s}
.s-usages__defile:hover .defile,.s-usages__defile:focus-within .defile,.s-usages__defile:focus .defile{animation-play-state:paused}
.tache{flex:none;width:clamp(300px,30vw,440px);min-height:330px;display:flex;flex-direction:column;padding:24px;border-radius:22px;background:linear-gradient(180deg,#141F1A,#0F1814);box-shadow:inset 0 0 0 1px rgb(243 240 232 / .08)}
.tache__tag{display:flex;align-items:center;gap:10px;font:600 .75rem/1 var(--f-texte);color:var(--texte-2)}
.tache__tag span{padding:6px 10px;border-radius:999px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.625rem}
.tache--g .tache__tag span{background:rgb(156 199 180 / .15);color:var(--sauge)}
.tache--a .tache__tag span{background:rgb(255 106 43 / .15);color:var(--balise-fort)}
.tache__prompt{margin:18px 0 18px;font:520 clamp(1.25rem,1rem + .6vw,1.5rem)/1.18 var(--f-titre);font-stretch:96%;letter-spacing:-.025em;color:#F3F6F4}
.tache__visu{margin-top:auto;margin-bottom:14px}
.mv{display:flex;gap:6px;padding:12px;border-radius:12px;background:rgb(243 240 232 / .04);box-shadow:inset 0 0 0 1px rgb(243 240 232 / .06)}
.mv--g{flex-direction:column}
.mv--g span{display:block;height:6px;border-radius:3px;background:rgb(156 199 180 / .35)}
.mv--g span:first-child{background:var(--sauge)}
.mv--a{align-items:center}
.mv-etape{flex:1;height:8px;border-radius:4px;background:rgb(243 240 232 / .1);position:relative}
.mv-etape.ok{background:rgb(255 106 43 / .75)}
.mv-etape+.mv-etape::before{content:"";position:absolute;left:-5px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:rgb(243 240 232 / .3)}
.tache__res{display:flex;align-items:center;gap:10px;padding-top:16px;border-top:1px solid rgb(243 240 232 / .08);font:600 .8125rem/1.3 var(--f-texte);color:var(--sauge)}
.tache--a .tache__res{color:var(--balise-fort)}
.tache__pt{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.45}}

/* ---------------------------------------------------------------- 5. DOSSIER (« Vous : un geste ») */
.s-dossier{position:relative;background:var(--craie);padding:clamp(70px,9vw,140px) 0 clamp(90px,10vw,150px);overflow:hidden;text-align:center}
.s-dossier__txt{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:clamp(60px,6vw,90px) var(--gout)}
.s-dossier__h{font:450 clamp(2.6rem,1.3rem + 4.6vw,5.5rem)/1.04 var(--f-titre);font-stretch:94%;letter-spacing:-.03em;color:var(--encre)}
.s-dossier__p{max-width:640px;margin:26px auto 30px;font-size:.9375rem;line-height:1.6;color:#34403A}
.liasse{position:relative;height:clamp(250px,22vw,320px);perspective:1200px}
.liasse--g{-webkit-mask-image:linear-gradient(to right,#000 55%,transparent 92%);mask-image:linear-gradient(to right,#000 55%,transparent 92%)}
.liasse--d{-webkit-mask-image:linear-gradient(to left,#000 55%,transparent 92%);mask-image:linear-gradient(to left,#000 55%,transparent 92%)}
.liasse__rang{display:flex;width:max-content;gap:0;padding:40px 0 0 40px;transform:rotateX(34deg) rotateZ(-4deg);transform-origin:50% 60%}
.liasse--d .liasse__rang{transform:rotateX(34deg) rotateZ(4deg)}
.doc{position:relative;flex:none;width:clamp(150px,13vw,190px);height:clamp(190px,17vw,240px);margin-right:-26px;padding:16px 14px;border-radius:8px;background:#fff;
  box-shadow:0 1px 0 #fff inset,0 18px 30px -12px rgb(12 20 17 / .35),0 2px 4px rgb(12 20 17 / .08);transform:rotate(var(--r,0deg))}
.doc:nth-child(3n){--r:-3deg}.doc:nth-child(3n+1){--r:2deg}.doc:nth-child(4n){--r:5deg}
.doc::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:8px 8px 0 0;background:var(--sauge-fonce)}
.doc:nth-child(even)::before{background:var(--balise)}
.doc__t{font:700 .8125rem/1.1 var(--f-titre);letter-spacing:-.01em;margin-top:4px}
.doc__s{font:600 .625rem/1.2 var(--f-texte);color:#7A857F;margin:4px 0 10px}
.doc .mq-l{height:6px;margin:6px 0}
.doc__tampon{position:absolute;right:12px;bottom:14px;padding:4px 8px;border:2px solid var(--sauge-fonce);border-radius:6px;font:800 .625rem/1 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--sauge-fonce);transform:rotate(-10deg)}

/* ---------------------------------------------------------------- 6. FORMATS (bandes « cinéma ») */
.s-formats{background:var(--fond-page);padding:clamp(10px,2vw,30px) 0 clamp(40px,5vw,80px)}
.format{position:relative;height:clamp(420px,42vw,600px);margin:0 auto clamp(24px,3vw,40px);overflow:hidden;background:#0F1A16;color:var(--craie)}
.format__scene{position:absolute;inset:-7% 0;will-change:transform}
.format__scene>*{width:100%;height:100%}
.format::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(12 20 17 / .92) 0%,rgb(12 20 17 / .6) 38%,rgb(12 20 17 / .05) 70%);pointer-events:none}
.format--droite::after{background:linear-gradient(270deg,rgb(12 20 17 / .92) 0%,rgb(12 20 17 / .6) 38%,rgb(12 20 17 / .05) 70%)}
.format__txt{position:absolute;z-index:2;left:clamp(24px,5vw,72px);top:50%;transform:translateY(-50%);max-width:420px}
.format--droite .format__txt{left:auto;right:clamp(24px,5vw,72px);text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.format__t{font:400 clamp(2.4rem,1.5rem + 2.6vw,3.4rem)/1.05 var(--f-titre);font-stretch:94%;letter-spacing:-.02em}
.format__t span{color:var(--sauge)}
.format__chapo{margin-top:14px;font-size:.9375rem;color:#DDE4E0}
.format__meta{margin:10px 0 20px;font-size:.75rem;color:var(--texte-2)}
.format .encoche{z-index:3}
.format .btn-plus{background:var(--craie)}
/* Scènes (maquettes animées, aucune photo) */
.scene-f{display:block}
.sc-pers{transform-box:fill-box;transform-origin:center;animation:sc-allume 4.8s ease-in-out infinite;animation-delay:var(--d)}
@keyframes sc-allume{0%,100%{fill-opacity:.35}40%{fill-opacity:1}}
.sc-form{animation:pulse 2s ease-in-out infinite}
.sc-caret{animation:caret 1s steps(1) infinite}
.sc-onde{stroke-dashoffset:0;animation:sc-onde 3s linear infinite}
@keyframes sc-onde{to{stroke-dashoffset:-120}}
.scene-visio{display:grid!important;place-items:center;background:radial-gradient(80% 90% at 70% 50%,#1C2924,#0F1A16)}
.sc-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(62%,640px);margin-left:34%}
.sc-tuile{position:relative;aspect-ratio:16/10;border-radius:12px;background:linear-gradient(160deg,#24352D,#16211C);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgb(243 240 232 / .08)}
.sc-tuile--parle{box-shadow:inset 0 0 0 2px var(--balise)}
.sc-av{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#2F6B55;font:700 .875rem/1 var(--f-texte);color:var(--craie)}
.sc-tuile:nth-child(3n) .sc-av{background:#4E5A54}.sc-tuile:nth-child(3n+2) .sc-av{background:#6A5140}
.sc-son{position:absolute;left:10px;bottom:10px;display:flex;gap:2px;align-items:flex-end;height:14px}
.sc-son i{width:3px;height:30%;border-radius:2px;background:var(--craie);opacity:.5}
.sc-tuile--parle .sc-son i{background:var(--balise);opacity:1;animation:sc-son .9s ease-in-out infinite}
.sc-tuile--parle .sc-son i:nth-child(2){animation-delay:.15s}.sc-tuile--parle .sc-son i:nth-child(3){animation-delay:.3s}.sc-tuile--parle .sc-son i:nth-child(4){animation-delay:.45s}
@keyframes sc-son{50%{height:100%}}
.sc-barre{position:absolute;bottom:8%;left:calc(34% + min(31%,320px));transform:translateX(-50%);display:flex;gap:10px;padding:8px 12px;border-radius:999px;background:rgb(0 0 0 / .35)}
.sc-barre i{width:26px;height:26px;border-radius:50%;background:rgb(243 240 232 / .15)}
.sc-barre i.rouge{background:#C2412D}
.scene-ecran{display:grid!important;place-items:center;background:radial-gradient(80% 90% at 70% 40%,#22322B,#0F1A16)}
.sc-moniteur{width:min(58%,680px);margin-left:30%;aspect-ratio:16/9.4;border-radius:14px;padding:10px;background:#050807;box-shadow:0 40px 80px -30px rgb(0 0 0 / .8)}
.sc-ecran{display:grid;grid-template-columns:34% 1fr;height:100%;border-radius:8px;overflow:hidden;background:var(--papier);color:var(--encre)}
.sc-ecran aside{background:var(--gris);padding:14px;font:600 .6875rem/1.2 var(--f-texte)}
.sc-ecran aside>p{color:var(--sauge-fonce);letter-spacing:.1em;text-transform:uppercase;font-size:.5625rem;margin-bottom:10px}
.sc-ecran aside li{display:flex;align-items:center;gap:7px;padding:6px 0;color:#56615B}
.sc-ecran aside li span{width:9px;height:9px;border-radius:50%;border:1.5px solid #9AA59F}
.sc-ecran aside li.fait span{background:var(--sauge-fonce);border-color:var(--sauge-fonce)}
.sc-ecran aside li.encours{color:var(--encre)}
.sc-ecran aside li.encours span{border-color:var(--balise);box-shadow:0 0 0 3px rgb(255 106 43 / .2)}
.sc-avance{height:5px;border-radius:5px;background:#DAD4C6;margin-top:12px;overflow:hidden}
.sc-avance span{display:block;height:100%;width:62%;background:var(--sauge-fonce);transform-origin:0 50%;animation:sc-avance 5s var(--e-doux) infinite}
@keyframes sc-avance{0%{transform:scaleX(.55)}60%,100%{transform:scaleX(1)}}
.sc-cours{position:relative;padding:16px}
.sc-cours__t{font:650 .9375rem/1.15 var(--f-titre);letter-spacing:-.02em;margin-bottom:12px}
.mq-l{display:block;height:7px;border-radius:4px;background:#DAD4C6;margin:7px 0}
.sc-hug{position:absolute;right:12px;bottom:12px;display:flex;align-items:flex-end;gap:8px;max-width:78%}
.sc-hug svg{width:28px;height:28px;flex:none}
.sc-hug p{background:var(--encre);color:var(--craie);font:500 .625rem/1.35 var(--f-texte);padding:8px 10px;border-radius:12px 12px 12px 4px;animation:sc-bulle 5s var(--e-expo) infinite}
@keyframes sc-bulle{0%,12%{opacity:0;transform:translateY(8px)}22%,88%{opacity:1;transform:none}100%{opacity:0}}
.sc-pied{width:22%;height:14px;margin:0 0 0 calc(30% + min(29%,340px) - 11%);background:#0A0F0D;border-radius:0 0 8px 8px}

/* ---------------------------------------------------------------- 7. GALERIE HORIZONTALE (ex « Et pas que ! ») */
.s-galerie{position:relative;background:#EDEBE5;overflow:hidden;
  background-image:linear-gradient(90deg,transparent calc(12% - 1px),rgb(12 20 17 / .07) 12%,transparent calc(12% + 1px)),linear-gradient(90deg,transparent calc(40% - 1px),rgb(12 20 17 / .07) 40%,transparent calc(40% + 1px)),linear-gradient(90deg,transparent calc(71% - 1px),rgb(12 20 17 / .07) 71%,transparent calc(71% + 1px))}
.s-galerie__piste{display:flex;align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(70px,9vh,110px) var(--gout);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:100svh}
.s-galerie__piste::-webkit-scrollbar{display:none}
.s-galerie__piste>*{scroll-snap-align:center;flex:none}
html.galerie-epinglee .s-galerie__piste{overflow:visible;scroll-snap-type:none;width:max-content;will-change:transform}
.gal-intro{width:clamp(300px,30vw,440px);padding-left:clamp(0px,6vw,90px)}
.gal-intro__h{font:480 clamp(2.6rem,1.4rem + 3vw,3.6rem)/.95 var(--f-titre);font-stretch:94%;letter-spacing:-.055em;color:#252525}
.gal-intro__h span{color:var(--sauge-fonce)}
.gal-intro__sur{margin:22px 0 12px;font:700 .6875rem/1 var(--f-texte);letter-spacing:.1em;color:#252525}
.gal-intro__p{font-size:.875rem;color:#56615B;max-width:340px}
.gal-intro__lien{display:inline-flex;gap:8px;align-items:center;margin-top:22px;padding-bottom:6px;border-bottom:1px solid currentColor;font:700 .6875rem/1 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#252525}
.gal-carte{width:clamp(290px,31vw,470px)}
.gal-carte:nth-child(even){margin-top:clamp(0px,10vh,120px)}
.gal-carte:nth-child(odd){margin-bottom:clamp(0px,8vh,90px)}
.gal-carte__img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;box-shadow:0 30px 60px -30px rgb(12 20 17 / .45)}
.gal-carte__img::before{content:"";position:absolute;inset:10px;z-index:2;border:1px solid rgb(243 240 232 / .45);pointer-events:none}
.gal-carte__img svg,.gal-carte__img .visuel{width:100%;height:100%;transition:transform 1.2s var(--e-expo)}
.gal-carte:hover .gal-carte__img svg,.gal-carte:hover .gal-carte__img .visuel{transform:scale(1.04)}
.gal-carte__code{position:absolute;z-index:2;top:22px;left:24px;font:700 .75rem/1 var(--f-texte);letter-spacing:.14em;color:var(--craie);padding:6px 9px;border-radius:6px;background:rgb(12 20 17 / .5)}
.gal-carte__nom{position:absolute;z-index:2;left:24px;bottom:18px;font:420 clamp(2.6rem,1.6rem + 3vw,5rem)/.86 var(--f-titre);font-stretch:92%;letter-spacing:-.06em;color:#fff;text-shadow:0 4px 30px rgb(0 0 0 / .35)}
.gal-carte__t{margin-top:18px;font:600 1.125rem/1.2 var(--f-titre);letter-spacing:-.02em}
.gal-carte__t a{text-decoration:none}
.gal-carte__txt{margin-top:6px;font-size:.8125rem;line-height:1.5;color:#56615B;max-width:420px}
.gal-carte__meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;padding-top:10px;border-top:1px solid rgb(12 20 17 / .12);font:700 .625rem/1.2 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:#252525}
.gal-fin{width:clamp(280px,26vw,380px);padding-right:clamp(0px,8vw,120px)}
.gal-fin__t{font:500 clamp(1.8rem,1.2rem + 1.4vw,2.4rem)/1 var(--f-titre);letter-spacing:-.05em;color:#252525;margin-bottom:14px}
.gal-fin p{font-size:.875rem;color:#56615B}

/* ---------------------------------------------------------------- 8. HUG (particules WebGL + lettres-fenêtres) */
.s-hug{position:relative;background:var(--noir);color:var(--craie)}
.s-hug__scene{position:relative;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 var(--gout) clamp(40px,8vh,90px)}
.anim .s-hug{height:380vh}
.anim .s-hug__scene{position:sticky;top:0;height:100svh}
.s-hug__canvas{position:absolute;inset:0;width:100%;height:100%}
.s-hug__lueur{position:absolute;inset:-10%;opacity:0;background:radial-gradient(22% 30% at 34% 42%,#FF824D,transparent 70%),radial-gradient(26% 34% at 64% 40%,#CFE3D8,transparent 70%),radial-gradient(30% 40% at 50% 44%,#9CC7B4,transparent 72%),radial-gradient(60% 60% at 50% 45%,#2F6B55,transparent 80%);animation:lueur 7s ease-in-out infinite alternate}
@keyframes lueur{to{transform:translate3d(4%,-3%,0) rotate(8deg) scale(1.08)}}
.s-hug__repli{position:absolute;left:50%;top:38%;width:min(40vw,260px);transform:translate(-50%,-50%);opacity:0}
.s-hug__repli svg{width:100%;height:auto}
.sans-webgl .s-hug__repli{opacity:1}
.s-hug__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.s-hug__masque{opacity:0}
.s-hug__lettres{font:700 216px/1 var(--f-titre);font-stretch:75%;letter-spacing:.06em}
.s-hug__sur{font:500 22px/1 var(--f-texte);fill:#F3F0E8}
@media (max-width:760px){.s-hug__sur{font-size:40px}}
.s-hug__txt{position:relative;z-index:3;max-width:760px;text-align:center}
.s-hug__h{font:600 clamp(1.3rem,1rem + 1vw,1.75rem)/1.2 var(--f-titre);letter-spacing:-.02em}
.s-hug__h span{display:block;color:var(--sauge)}
.s-hug__p{margin:18px auto 24px;max-width:640px;font-size:.875rem;line-height:1.6;color:#AEB8B2}

/* ---------------------------------------------------------------- 9. UN AGENT AU QUOTIDIEN (onglets + maquettes) */
.s-quotidien{position:relative;background:linear-gradient(180deg,var(--noir) 0%,#0B1310 20%,#0F1A16 100%);color:var(--craie);padding:clamp(70px,8vw,120px) var(--gout) clamp(80px,8vw,120px)}
.s-quotidien__h{max-width:1320px;margin:0 auto 30px;font:600 clamp(2.4rem,1.3rem + 3.4vw,4.2rem)/1 var(--f-titre);font-stretch:94%;letter-spacing:-.055em}
.s-quotidien__note{max-width:1320px;margin:14px auto 0;font-size:.75rem;color:var(--texte-2)}
.qv{position:relative;max-width:1320px;height:clamp(540px,46vw,660px);margin:0 auto;border-radius:32px;background:#050807;overflow:hidden;box-shadow:inset 0 0 0 1px rgb(243 240 232 / .06)}
.qv__onglets{position:absolute;z-index:4;left:clamp(18px,2.6vw,36px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;width:min(310px,40%)}
.qt{align-self:flex-start;border-radius:20px;background:rgb(243 240 232 / .08);box-shadow:inset 0 0 0 1px rgb(243 240 232 / .1);transition:background-color .35s,border-radius .35s}
.qt__btn{display:flex;align-items:center;gap:10px;height:34px;padding:0 14px 0 8px;font:600 .75rem/1 var(--f-texte);color:var(--craie)}
.qt__plus{position:relative;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgb(243 240 232 / .7);transition:transform .4s var(--e-expo)}
.qt__plus::before,.qt__plus::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1.5px;margin:-.75px 0 0 -4px;background:currentColor}
.qt__plus::after{transform:rotate(90deg);transition:transform .4s var(--e-expo)}
.qt__txt{display:grid;grid-template-rows:0fr;overflow:hidden;font-size:.8125rem;line-height:1.5;color:#C9D3CD;padding:0 16px;max-width:300px;transition:grid-template-rows .5s var(--e-expo),padding .5s var(--e-expo),opacity .4s;opacity:0;max-height:0}
.qt.actif{background:rgb(243 240 232 / .12);border-radius:20px}
.qt.actif .qt__plus::after{transform:rotate(0)}
.qt.actif .qt__txt{opacity:1;max-height:220px;padding:0 16px 14px}
.qv__scene{position:absolute;inset:0}
.qv__mot{position:absolute;left:24%;top:50%;transform:translateY(-52%);font:700 clamp(8rem,22vw,20rem)/.8 var(--f-titre);font-stretch:75%;letter-spacing:.01em;
  background:linear-gradient(180deg,#9CC7B4 0%,#2F6B55 70%,#16352A);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9;white-space:nowrap}
.qv__media{position:absolute;top:8%;bottom:8%;right:3%;width:52%}
.qm{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateX(24px) scale(.98);transition:opacity .45s var(--e-sortie),transform .6s var(--e-expo),visibility 0s .45s}
.qm.actif{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--e-sortie) .08s,transform .7s var(--e-expo) .08s}
html:not(.js) .qm{position:relative;opacity:1;visibility:visible;transform:none;min-height:340px}
html:not(.js) .qv{height:auto}
html:not(.js) .qv__media{position:relative;width:auto;inset:auto;display:grid;gap:14px;padding:20px 20px 20px 360px}
html:not(.js) .qt__txt{opacity:1;max-height:none;padding:0 16px 12px}
/* maquettes */
.mq{position:relative;width:100%;height:100%;display:grid;place-items:center;color:var(--encre);font-family:var(--f-texte)}
.mq-titre{font:700 .6875rem/1 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--sauge-fonce);margin-bottom:14px}
.mq-btn{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;background:var(--gris);font:600 .75rem/1 var(--f-texte)}
.mq-btn--ok{background:var(--encre);color:var(--craie)}
.mq-connecter{color:var(--craie)}
.mq-liens{position:absolute;inset:0;width:100%;height:100%}
.mq-liens line{stroke:#9CC7B4;stroke-opacity:.6;stroke-width:1.5;stroke-dasharray:4 6}
.qm.actif .mq-liens line{animation:sc-onde 2.4s linear infinite}
.mq-noeud{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y)));padding:10px 14px;border-radius:999px;background:#16211C;box-shadow:inset 0 0 0 1px rgb(156 199 180 / .35);font:600 .75rem/1 var(--f-texte);color:var(--craie)}
.qm.actif .mq-noeud{animation:mq-pop .6s var(--e-ressort) both;animation-delay:calc(.15s + var(--i) * 90ms)}
@keyframes mq-pop{from{opacity:0;scale:.6}}
.mq-centre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:700 .75rem/1 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--sauge)}
.mq-centre svg{width:88px;height:88px;filter:drop-shadow(0 0 30px rgb(156 199 180 / .35))}
.mq-comprendre{grid-template-columns:1.1fr 1fr;gap:18px;padding:0 4%}
.mq-doc{background:var(--papier);border-radius:14px;padding:22px;box-shadow:0 30px 60px -30px rgb(0 0 0 / .8)}
.mq-doc__t{font:800 .75rem/1 var(--f-texte);letter-spacing:.08em;margin-bottom:12px}
.mq-champ{margin:8px 0;padding:6px 8px;border-radius:6px;font-size:.75rem;color:#34403A;transition:background-color .3s}
.mq-champ b{float:right;color:var(--encre)}
.qm.actif .mq-champ{animation:mq-surligne 5s ease-in-out infinite;animation-delay:calc(.5s + var(--i) * .5s)}
@keyframes mq-surligne{0%,8%{background:transparent}14%,70%{background:rgb(255 106 43 / .18)}90%,100%{background:transparent}}
.mq-fiche{background:#16211C;color:var(--craie);border-radius:14px;padding:18px;box-shadow:inset 0 0 0 1px rgb(156 199 180 / .3)}
.mq-fiche__t{font:700 .625rem/1 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--sauge);margin-bottom:12px}
.mq-fiche li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid rgb(243 240 232 / .08);font:600 .75rem/1.2 var(--f-texte)}
.mq-fiche li span{color:var(--texte-2);font-weight:500}
.qm.actif .mq-fiche li{animation:mq-entre .5s var(--e-expo) both;animation-delay:calc(.8s + var(--i) * .5s)}
@keyframes mq-entre{from{opacity:0;transform:translateX(-10px)}}
.mq-mail{width:min(100%,460px);background:var(--papier);border-radius:16px;padding:18px 20px;box-shadow:0 30px 60px -30px rgb(0 0 0 / .8)}
.mq-mail__l{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid rgb(12 20 17 / .08);font-size:.75rem}
.mq-mail__l span{width:44px;color:#7A857F}
.mq-mail__corps{min-height:120px;padding:14px 0;font-size:.875rem;line-height:1.55;color:#1F2A25}
.mq-mail__corps.ecrit::after{content:"";display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:-2px;background:var(--balise);animation:caret 1s steps(1) infinite}
.mq-mail__pied{display:flex;justify-content:space-between;align-items:center}
.mq-puce{font:600 .6875rem/1 var(--f-texte);color:var(--sauge-fonce)}
.mq-executer{align-content:center;justify-items:stretch;width:min(100%,460px);margin:0 auto;padding:22px;background:var(--papier);border-radius:18px;height:auto;box-shadow:0 30px 60px -30px rgb(0 0 0 / .8)}
.mq-executer ol{display:flex;flex-direction:column;gap:4px}
.mq-executer li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font:600 .8125rem/1.2 var(--f-texte);color:#56615B}
.mq-coche{flex:none;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #B8BFBB;position:relative}
.mq-coche::after{content:"";position:absolute;left:5px;top:3px;width:5px;height:9px;border:solid var(--papier);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .25s}
.qm.actif .mq-executer li{animation:mq-tache 6s linear infinite;animation-delay:calc(var(--i) * .8s)}
.qm.actif .mq-executer .mq-coche{animation:mq-coche 6s linear infinite;animation-delay:calc(var(--i) * .8s)}
@keyframes mq-tache{0%{background:transparent;color:#56615B}3%,12%{background:rgb(255 106 43 / .1);color:var(--encre)}14%,90%{background:transparent;color:var(--encre)}100%{color:#56615B}}
@keyframes mq-coche{0%,12%{background:transparent;box-shadow:inset 0 0 0 1.5px #B8BFBB}14%,90%{background:var(--sauge-fonce);box-shadow:none}100%{background:transparent}}
.mq-prog{height:5px;border-radius:5px;background:#DAD4C6;margin-top:14px;overflow:hidden}
.mq-prog span{display:block;height:100%;background:var(--balise);transform-origin:0 50%;transform:scaleX(0)}
.qm.actif .mq-prog span{animation:mq-prog 6s linear infinite}
@keyframes mq-prog{0%{transform:scaleX(0)}75%,100%{transform:scaleX(1)}}
.mq-carte-v{position:relative;width:min(100%,430px);background:var(--papier);border-radius:18px;padding:22px;box-shadow:0 30px 60px -30px rgb(0 0 0 / .8)}
.mq-q{font:650 1.125rem/1.25 var(--f-titre);letter-spacing:-.02em;margin-bottom:12px}
.mq-carte-v ul{margin-bottom:16px}
.mq-carte-v li{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid rgb(12 20 17 / .08);font-size:.8125rem}
.mq-actions{display:flex;gap:8px}
.mq-curseur{position:absolute;left:62%;top:92%;width:18px;height:18px;border-radius:50%;background:rgb(255 106 43 / .35);box-shadow:0 0 0 2px var(--balise);opacity:0}
.qm.actif .mq-curseur{animation:mq-clic 5s var(--e-doux) infinite}
@keyframes mq-clic{0%{opacity:0;transform:translate(120px,40px)}20%{opacity:1}45%{transform:translate(-178px,-52px)}50%{transform:translate(-178px,-52px) scale(.7)}55%{transform:translate(-178px,-52px)}85%{opacity:1}100%{opacity:0;transform:translate(-178px,-52px)}}
.mq-fait{margin-top:12px;font:700 .75rem/1 var(--f-texte);color:var(--sauge-fonce);opacity:0}
.qm.actif .mq-fait{animation:mq-fait 5s ease infinite}
@keyframes mq-fait{0%,52%{opacity:0}58%,92%{opacity:1}100%{opacity:0}}
.mq-securiser,.mq-evoluer{align-content:center;justify-items:stretch;width:min(100%,470px);margin:0 auto;height:auto;padding:22px;background:#16211C;color:var(--craie);border-radius:18px;box-shadow:inset 0 0 0 1px rgb(156 199 180 / .3)}
.mq-securiser .mq-titre,.mq-evoluer .mq-titre{color:var(--sauge)}
.mq-securiser li{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid rgb(243 240 232 / .08);font-size:.8125rem}
.mq-securiser time{font:600 .75rem/1 var(--f-texte);color:var(--texte-2);font-variant-numeric:tabular-nums}
.mq-securiser em{font:700 .5625rem/1 var(--f-texte);font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:5px 7px;border-radius:5px;background:rgb(156 199 180 / .14);color:var(--sauge)}
.qm.actif .mq-securiser li{animation:mq-entre .5s var(--e-expo) both;animation-delay:calc(.2s + var(--i) * .35s)}
.mq-droits{margin-top:12px;font-size:.6875rem;color:var(--texte-2)}
.mq-evoluer li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgb(243 240 232 / .08);font-size:.8125rem}
.mq-bascule{flex:none;position:relative;width:34px;height:20px;border-radius:20px;background:rgb(243 240 232 / .18);transition:background-color .3s}
.mq-bascule::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--craie);transition:transform .3s var(--e-sortie)}
.mq-bascule.on{background:var(--sauge-fonce)}
.mq-bascule.on::after{transform:translateX(14px)}
.qm.actif .mq-evoluer li:last-child .mq-bascule{animation:mq-bascule 4s ease infinite}
.qm.actif .mq-evoluer li:last-child .mq-bascule::after{animation:mq-bascule-b 4s var(--e-sortie) infinite}
@keyframes mq-bascule{0%,40%{background:rgb(243 240 232 / .18)}50%,90%{background:var(--balise)}}
@keyframes mq-bascule-b{0%,40%{transform:none}50%,90%{transform:translateX(14px)}}
.mq-ajout{margin-top:12px;font:600 .75rem/1 var(--f-texte);color:var(--sauge)}

/* ---------------------------------------------------------------- 10. ÉVENTAIL D'AGENTS (ex « Votre équipe ») */
.s-equipe{position:relative;background:#0F1A16;color:var(--craie);padding:clamp(60px,7vw,110px) var(--gout) clamp(60px,7vw,100px);text-align:center;overflow:hidden}
.s-equipe__h{font:600 clamp(2.6rem,1.2rem + 4.6vw,6rem)/1.02 var(--f-titre);font-stretch:94%;letter-spacing:-.01em}
.s-equipe__p{max-width:560px;margin:18px auto 0;font-size:.875rem;color:var(--texte-2)}
.eventail{--ouv:1;position:relative;height:clamp(420px,40vw,560px);margin-top:clamp(30px,4vw,60px)}
.eventail__cartes{position:absolute;left:50%;bottom:0;width:0;height:100%}
.ag-carte{--d:calc(var(--i) - 3);position:absolute;left:0;bottom:0;width:clamp(200px,17vw,250px);height:clamp(300px,25vw,360px);margin-left:calc(clamp(200px,17vw,250px) / -2);
  transform-origin:50% 140%;transform:translateX(calc(var(--d) * var(--ouv) * clamp(70px,9vw,130px))) rotate(calc(var(--d) * var(--ouv) * 8deg));
  z-index:calc(10 - var(--ad,0))}
.ag-carte__in{height:100%;display:flex;flex-direction:column;text-align:left;padding:20px 18px;border-radius:22px;color:var(--encre);
  background:linear-gradient(165deg,#E4EFE8 0%,#9CC7B4 48%,#3C7E64 100%);box-shadow:0 30px 60px -24px rgb(0 0 0 / .8),inset 0 0 0 1px rgb(255 255 255 / .35)}
.ag-carte:nth-child(odd) .ag-carte__in{background:linear-gradient(165deg,#F3E7DC 0%,#E9B89A 45%,#9C4A22 100%)}
.ag-carte:nth-child(4) .ag-carte__in{background:linear-gradient(165deg,#FBFAF6 0%,#CFE3D8 45%,#2F6B55 100%)}
.ag-carte__sur{font:700 .625rem/1 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.ag-carte__t{margin-top:6px;font:650 1.5rem/1 var(--f-titre);font-stretch:92%;letter-spacing:-.04em}
.ag-carte__txt{margin:8px 0 12px;font-size:.75rem;line-height:1.4;color:#1F2A25}
.ag-carte ul{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.ag-carte ul li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:rgb(251 250 246 / .72);font:600 .6875rem/1.2 var(--f-texte)}
.ag-carte ul li span{width:8px;height:8px;border-radius:50%;background:var(--sauge-fonce)}
.ag-carte ul li:last-child span{background:var(--balise)}
.ag-carte__pied{display:flex;align-items:center;gap:8px;margin-top:10px;font:700 .5625rem/1 var(--f-texte);letter-spacing:.08em;text-transform:uppercase;color:var(--craie)}
.ag-pt{width:7px;height:7px;border-radius:50%;background:#7CCB9B;animation:pulse 2s infinite}

/* ---------------------------------------------------------------- 11. CFA (ex « App Store / Play Store ») */
.s-cfa{position:relative;background:var(--encre);color:var(--craie);padding:clamp(70px,8vw,120px) var(--gout) clamp(110px,10vw,160px);overflow:hidden;text-align:center}
.s-cfa__cote{position:absolute;top:50%;width:clamp(180px,26vw,420px);transform:translateY(-50%);opacity:.95}
.s-cfa__cote svg{width:100%;height:auto}
.s-cfa__cote--g{left:clamp(-160px,-8vw,-60px)}
.s-cfa__cote--d{right:clamp(-160px,-8vw,-60px)}
.s-cfa__in{position:relative;z-index:2;max-width:760px;margin:0 auto}
.s-cfa__paraphe{position:absolute;left:50%;top:-18px;width:min(380px,70%);transform:translateX(-50%) rotate(-6deg);color:var(--sauge);z-index:3}
.s-cfa__h{display:flex;justify-content:center;gap:clamp(20px,4vw,56px)}
.s-cfa__col{display:flex;flex-direction:column;align-items:center}
.s-cfa__petit{font:400 clamp(.875rem,.6rem + .9vw,1.4rem)/1.2 var(--f-titre);letter-spacing:.08em}
.s-cfa__grand{font:700 clamp(2rem,1rem + 3.5vw,4.4rem)/.9 var(--f-titre);font-stretch:88%;letter-spacing:-.01em}
.s-cfa__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px);margin-top:26px}
.s-cfa__cols p{font-size:.8125rem;line-height:1.45;color:#C3CCC7;margin-bottom:14px}

/* ---------------------------------------------------------------- 12. TOUT COMMENCE ICI (bandes collantes) */
.s-etapes{position:relative;background:var(--papier);padding:clamp(60px,7vw,110px) var(--gout) clamp(80px,8vw,140px);text-align:center}
.s-etapes__h{font:600 clamp(2.9rem,1.4rem + 5vw,7rem)/1 var(--f-titre);font-stretch:94%;letter-spacing:-.03em;padding-bottom:.06em}
.s-etapes__h--moyen{font-size:clamp(2.2rem,1.2rem + 3vw,4.4rem)}
.s-etapes__symb{display:flex;justify-content:center;margin:26px 0}
.s-etapes__symb .symbole{width:56px;color:var(--encre);border-radius:14px;box-shadow:0 12px 30px -12px rgb(12 20 17 / .5)}
.s-etapes__sous{font:500 clamp(1.8rem,1.1rem + 2.2vw,3.25rem)/1.04 var(--f-titre);font-stretch:94%;letter-spacing:-.015em;color:#1D1D1F}
.s-etapes__sous span{font-family:var(--f-accent);font-style:italic;font-weight:400;background:linear-gradient(180deg,#16352A 40%,#3C7E64 92%);-webkit-background-clip:text;background-clip:text;color:transparent}
.s-etapes .centre{margin-top:24px}
.bandes{max-width:1360px;margin:clamp(40px,5vw,70px) auto 0;text-align:left}
.bande{position:sticky;top:calc(12vh + var(--i) * clamp(56px,6vw,84px));z-index:calc(1 + var(--i))}
.bande__in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:clamp(56px,6vw,84px);padding:0 clamp(16px,2.4vw,34px);overflow:hidden}
.bande:nth-child(1) .bande__in{background:#ECEAE3}
.bande:nth-child(2) .bande__in{background:#CFE3D8}
.bande:nth-child(3) .bande__in{background:#6FA38E;color:#fff}
.bande:nth-child(4) .bande__in{background:#2F6B55;color:#fff}
.bande:nth-child(5) .bande__in{background:#16352A;color:#fff}
.bande__t{font:500 clamp(1.1rem,.8rem + 1.2vw,2.25rem)/1 var(--f-titre);letter-spacing:-.02em;flex:none}
.bande__txt{flex:1;max-width:520px;font-size:.8125rem;line-height:1.4;opacity:.8;text-align:right;padding-right:clamp(80px,9vw,140px)}
.bande__n{position:absolute;right:clamp(12px,2vw,28px);top:50%;transform:translateY(-44%);font:500 clamp(3.4rem,2rem + 4vw,6.1rem)/.9 var(--f-titre);font-stretch:75%;letter-spacing:-.03em;color:rgb(12 20 17 / .15)}
.bande:nth-child(n+3) .bande__n{color:rgb(255 255 255 / .45)}
.bande:last-child{margin-bottom:0}

/* ---------------------------------------------------------------- PIED (carte sombre, encoche, mot géant) */
.pied{background:linear-gradient(180deg,var(--papier) 0%,var(--papier) 40%,#CFE3D8 100%);padding:0 clamp(8px,1.2vw,16px) clamp(8px,1.2vw,16px)}
.pied__carte{position:relative;overflow:hidden;border-radius:clamp(20px,2.4vw,32px);background:var(--pied-fond);color:var(--craie);padding:clamp(80px,9vw,120px) clamp(20px,3vw,44px) 20px;text-align:center}
.pied__encoche{--encoche:var(--papier)}
.pied__marque{position:relative;display:inline-block;margin:0 auto}
.pied__paraphe{position:absolute;left:18%;top:-36%;width:62%;color:var(--sauge);z-index:2}
.pied__mot{display:flex;flex-direction:column;align-items:center;font:700 clamp(2.6rem,1.2rem + 4.2vw,5.4rem)/.86 var(--f-titre);font-stretch:100%;letter-spacing:-.01em}
.pied__mot-l+.pied__mot-l{color:var(--sauge)}
.pied__ia{color:var(--balise)}
.anim .pied__mot-l{clip-path:inset(0 100% 0 0);transition:clip-path 1.3s var(--e-expo)}
.anim .pied__mot-l+.pied__mot-l{transition-delay:.18s}
.anim .pied__marque.vu .pied__mot-l{clip-path:inset(0)}
.pied__colonnes{display:grid;grid-template-columns:1fr minmax(160px,300px) 1fr;align-items:end;gap:20px;max-width:1000px;margin:clamp(30px,4vw,50px) auto 0}
.pied__colonnes h2{font:700 .5625rem/1 var(--f-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--texte-2);margin-bottom:10px}
.pied__colonnes li a{display:inline-block;font:800 clamp(.875rem,.7rem + .4vw,1.125rem)/1.15 var(--f-titre);letter-spacing:.01em;text-transform:uppercase;text-decoration:none}
.pied__hug{max-width:250px;margin:0 auto}
.pied__hug svg{width:100%;height:auto;transform:translateY(30%)}
.pied__hug .oeil{transform-box:fill-box;transform-origin:center;animation:cligne 7s 1s infinite}
.roule{display:inline-block;height:1.15em;overflow:hidden;vertical-align:top}
.roule__piste{display:flex;flex-direction:column;transition:transform .72s var(--e-roule)}
.roule__piste span{display:block;height:1.15em}
a:hover .roule__piste,a:focus-visible .roule__piste{transform:translateY(-50%)}
.pied__contact{position:relative;z-index:3;display:inline-flex;align-items:center;gap:8px;margin-top:-8px;height:38px;padding:0 20px;border-radius:999px;background:var(--sauge);color:var(--encre);font:800 .6875rem/1 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:transform .2s var(--e-sortie)}
.pied__contact:hover{transform:translateY(-2px)}
.pied__defile{display:flex;overflow:hidden;margin:26px -44px 0;padding:16px 0;border-top:1px solid rgb(243 240 232 / .08);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.pied__defile .defile{animation-duration:32s;gap:48px;padding-right:48px}
.pied__defile li{font:700 .6875rem/1 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--craie);opacity:.5;white-space:nowrap}
.pied__bas{padding-top:14px;border-top:1px solid rgb(243 240 232 / .08);font-size:.6875rem;line-height:1.6;color:var(--texte-2)}
.pied__bas a{color:var(--craie)}

/* ---------------------------------------------------------------- paraphe (tracé) */
.paraphe{overflow:visible}
.paraphe__trait{stroke-dasharray:1;stroke-dashoffset:0}
.paraphe__balise{transform-box:fill-box;transform-origin:center}
.anim .paraphe:not(.s-fin__paraphe) .paraphe__trait{stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.45,0,.55,1) .2s}
.anim .paraphe:not(.s-fin__paraphe) .paraphe__balise{transform:scale(0);transition:transform .4s var(--e-ressort) 1.9s}
.anim .paraphe.vu .paraphe__trait{stroke-dashoffset:0}
.anim .paraphe.vu .paraphe__balise{transform:none}

/* ---------------------------------------------------------------- barre HUG flottante (bureau) + pastille (mobile) */
.barre-hug{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:55;width:min(560px,calc(100% - 48px));transform:translate(-50%,20px);opacity:0;visibility:hidden;
  transition:opacity .45s var(--e-sortie),transform .6s var(--e-expo),visibility 0s .45s}
.barre-hug.visible{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .45s var(--e-sortie),transform .6s var(--e-expo)}
.barre-hug .demande{margin:0;width:100%}
.barre-hug .demande__panneau{height:50px;background:linear-gradient(180deg,#1A2621,#101915);box-shadow:inset 0 1px rgb(255 255 255 / .07),0 20px 48px -20px rgb(0 0 0 / .8)}
.barre-hug .demande__envoi{width:34px;height:34px}
html:not(.js) .barre-hug{display:none}
.hug-ouvert .barre-hug{opacity:0;visibility:hidden}
@media (max-width:760px){.barre-hug{display:none}}

/* ---------------------------------------------------------------- PAGES INTÉRIEURES */
.fil{display:flex;flex-wrap:wrap;gap:8px;font:600 .75rem/1 var(--f-texte);color:var(--texte-2);margin-bottom:22px}
.fil li+li::before{content:"/";margin-right:8px;opacity:.5}
.fil a{text-decoration:none}
.fil a:hover{text-decoration:underline}
.fil--clair{color:var(--texte-2c)}
.h-page{position:relative;background:radial-gradient(110% 90% at 50% 0%,#15231D,var(--encre) 60%);color:var(--craie);padding:clamp(130px,16vh,170px) var(--gout) clamp(90px,9vw,130px)}
.h-page__in{max-width:1100px;margin:0 auto}
.h-page .surtitre{color:var(--sauge)}
.h-page__h{font:600 clamp(2.6rem,1.3rem + 4.4vw,5.6rem)/1 var(--f-titre);font-stretch:94%;letter-spacing:-.04em}
.h-page__chapo{max-width:640px;margin-top:22px;font-size:clamp(1rem,.9rem + .3vw,1.1875rem);color:#C9D3CD}
.h-page__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
/* Visuels photo des parcours (assets/img/parcours/*.webp, 16:9) : posés par-dessus la composition générative,
   qui reste le repli tant que le fichier n'existe pas. */
.visuel{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;background:#131D19}
.cp__code,.gal-carte__code,.gal-carte__nom,.cp__img--cfa span{z-index:2}
.cp__img--cfa span{position:relative;text-shadow:0 4px 30px rgb(0 0 0 / .4)}
.h-page__visuel{position:relative;margin:36px 0 0;aspect-ratio:16/9;max-width:760px;border-radius:18px;overflow:hidden}
.annonce{display:inline-flex;gap:10px;align-items:center;margin-top:22px;padding:12px 18px;border-radius:14px;background:rgb(255 106 43 / .12);box-shadow:inset 0 0 0 1px rgb(255 106 43 / .35);font-size:.875rem}
.s-clair{background:var(--craie);padding:clamp(60px,7vw,110px) var(--gout)}
.s-form{background:var(--craie);padding:clamp(50px,6vw,90px) var(--gout) clamp(70px,8vw,120px)}
.etroit{max-width:900px;margin:0 auto}
.s-form .annonce{background:rgb(255 106 43 / .1);color:var(--encre);margin:0 0 20px}
.deux-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(30px,5vw,80px);max-width:1240px;margin:0 auto;align-items:start}
.deux-col--form{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.h2-clair{font:600 clamp(2rem,1.3rem + 2.4vw,3.3rem)/1.02 var(--f-titre);font-stretch:94%;letter-spacing:-.04em}
.chapo-clair{font-size:1.0625rem;color:#34403A;margin-top:16px}
.objectifs{margin-top:22px;display:grid;gap:10px}
.objectifs li{position:relative;padding-left:26px;font-size:.9375rem}
.objectifs li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--balise)}
.modalites{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1240px;margin:clamp(40px,5vw,70px) auto 0}
.modalite{padding:24px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06)}
.modalite h3{font:650 1.25rem/1.1 var(--f-titre);letter-spacing:-.02em;margin-bottom:10px}
.modalite p{font-size:.875rem;color:#34403A}
.s-etapes--cfa{padding-top:clamp(60px,6vw,90px)}
.bloc-form{background:#fff;border-radius:24px;padding:clamp(22px,3vw,40px);box-shadow:0 0 0 1px rgb(12 20 17 / .06),0 30px 60px -40px rgb(12 20 17 / .35)}
.bloc-form__h{font:650 1.6rem/1.1 var(--f-titre);letter-spacing:-.03em;margin-bottom:22px}
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.champ{display:flex;flex-direction:column;gap:6px}
.champ--large,.formulaire .alerte,.formulaire__bas{grid-column:1/-1}
.champ label,.champ legend{font:600 .8125rem/1.3 var(--f-texte)}
.facultatif{font-weight:400;color:var(--texte-2c)}
.champ input,.champ select,.champ textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid rgb(12 20 17 / .16);background:var(--papier);font-size:1rem;transition:border-color .2s,box-shadow .2s}
.champ textarea{min-height:130px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--sauge-fonce);box-shadow:0 0 0 3px rgb(47 107 85 / .18)}
.champ [aria-invalid=true]{border-color:#B3261E;box-shadow:0 0 0 3px rgb(179 38 30 / .12)}
.erreur{font-size:.8125rem;color:#B3261E}
.choix{border:0;padding:0;margin:0;flex-direction:row;flex-wrap:wrap;gap:10px 22px}
.choix legend{width:100%;margin-bottom:6px}
.choix label{display:flex;gap:8px;align-items:center;font-weight:500}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.8125rem;line-height:1.45;color:#34403A}
.consent input{width:20px;height:20px;min-height:0;flex:none;margin-top:1px;accent-color:var(--sauge-fonce)}
.alerte{padding:12px 14px;border-radius:12px;background:#FBE9E7;color:#8C1D18;font-size:.875rem}
.formulaire__bas{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:6px}
.coord{display:grid;gap:22px;align-content:start}
.coord h3{font:700 .6875rem/1 var(--f-texte);letter-spacing:.14em;text-transform:uppercase;color:var(--sauge-fonce);margin-bottom:6px}
.coord .gros{font:650 1.75rem/1 var(--f-titre);letter-spacing:-.02em;text-decoration:none}
.legal{max-width:820px;margin:0 auto}
.legal h2{font:650 1.5rem/1.15 var(--f-titre);letter-spacing:-.02em;margin:34px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{font-size:.9375rem;color:#26312C;margin-bottom:10px}
.legal ul{list-style:disc;padding-left:20px}
.legal dl{display:grid;grid-template-columns:220px 1fr;gap:8px 20px;font-size:.9375rem}
.legal dt{font-weight:700}

/* catalogue */
.p-formations{background:#F7F5F0}
.h-cat{position:relative;padding:clamp(110px,14vh,140px) var(--gout) clamp(50px,6vw,80px);overflow:hidden;background:linear-gradient(180deg,#EEF1EA 0%,#F7F5F0 100%)}
.h-cat__fond{position:absolute;inset:0;background:radial-gradient(40% 50% at 18% 30%,rgb(156 199 180 / .45),transparent 70%),radial-gradient(35% 45% at 80% 20%,rgb(255 106 43 / .16),transparent 70%),radial-gradient(40% 50% at 60% 80%,rgb(207 227 216 / .7),transparent 70%)}
.h-cat__mot{position:relative;text-align:center;font:500 clamp(4rem,1rem + 12.4vw,13.5rem)/.86 var(--f-titre);font-stretch:92%;letter-spacing:-.045em;
  background:linear-gradient(90deg,#3C7E64,#9CC7B4 40%,#FF824D 75%,#AE3E0C);-webkit-background-clip:text;background-clip:text;color:transparent}
.h-cat__bas{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;max-width:1340px;margin:clamp(50px,8vw,120px) auto 0}
.h-cat__h{font:500 clamp(2rem,1.2rem + 2.6vw,3.4rem)/1 var(--f-titre);font-stretch:94%;letter-spacing:-.045em}
.h-cat__p{max-width:440px;margin-top:14px;font-size:.9375rem;color:#34403A}
.h-cat__btns{display:flex;gap:10px}
.s-cat{max-width:1340px;margin:0 auto;padding:clamp(40px,5vw,70px) var(--gout) clamp(60px,6vw,90px)}
.s-cat__h{font:600 clamp(1.8rem,1.3rem + 1.4vw,2.5rem)/1 var(--f-titre);letter-spacing:-.04em;margin-bottom:18px}
.filtres{display:flex;flex-wrap:wrap;gap:4px;padding:5px;border-radius:999px;background:#E6E3DC;width:max-content;max-width:100%;margin-bottom:36px}
.filtre{height:38px;padding:0 16px;border-radius:999px;font:600 .75rem/1 var(--f-texte);color:#34403A;transition:background-color .25s,color .25s}
.filtre[aria-pressed=true]{background:var(--encre);color:var(--craie)}
.cat-filiere{margin-bottom:clamp(40px,5vw,64px)}
.cat-filiere[hidden]{display:none}
.cat-filiere__tete{max-width:760px;margin-bottom:22px}
.cat-filiere__t{font:620 clamp(1.6rem,1.2rem + 1.2vw,2.3rem)/1.05 var(--f-titre);letter-spacing:-.04em;margin-bottom:8px}
.cat-filiere__t em{font-family:var(--f-accent);font-weight:400;color:var(--balise-texte)}
.cat-filiere__tete>p:not(.surtitre){font-size:.9375rem;color:#34403A}
.grille-cp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cp{display:flex;flex-direction:column;padding:12px 12px 20px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .05),0 24px 50px -36px rgb(12 20 17 / .45)}
.cp.masque{display:none}
.cp__img{position:relative;display:block;aspect-ratio:16/9;border-radius:16px;overflow:hidden}
.cp__img svg,.cp__img .visuel{width:100%;height:100%;transition:transform 1s var(--e-expo)}
.cp:hover .cp__img svg,.cp:hover .cp__img .visuel{transform:scale(1.04)}
.cp__code{position:absolute;left:14px;bottom:10px;font:420 3.2rem/.9 var(--f-titre);letter-spacing:-.05em;color:#fff}
.cp__img--cfa{display:grid;place-items:center;background:linear-gradient(135deg,#16352A,#0C1411)}
.cp__img--cfa span{font:300 4rem/1 var(--f-titre);letter-spacing:.1em;color:var(--craie)}
.cp__sur{margin:16px 8px 6px;font:700 .625rem/1 var(--f-texte);letter-spacing:.12em;color:var(--sauge-fonce)}
.cp__t{margin:0 8px;font:620 1.25rem/1.15 var(--f-titre);letter-spacing:-.02em}
.cp__t a{text-decoration:none}
.cp__accroche{margin:8px 8px 0;font-size:.875rem;color:#34403A}
.cp__accroche em{font-family:var(--f-accent);font-size:1.1em;color:var(--balise-texte)}
.cp__meta{margin:10px 8px 16px;font:600 .75rem/1.3 var(--f-texte);color:var(--texte-2c)}
.cp__btn{margin:auto 8px 0;align-self:flex-start;display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;background:var(--encre);color:var(--craie);font:600 .75rem/1 var(--f-texte);text-decoration:none}
.s-cat__mention{font-size:.75rem;color:var(--texte-2c);max-width:900px}
.s-niveaux,.s-methode{padding:clamp(60px,7vw,110px) var(--gout);background:#F7F5F0}
.s-niveaux__h,.s-methode__h{text-align:center;font:500 clamp(2.4rem,1.4rem + 3vw,4.2rem)/1 var(--f-titre);font-stretch:94%;letter-spacing:-.045em;margin-bottom:clamp(30px,4vw,50px)}
.niveaux,.promesses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1200px;margin:0 auto clamp(50px,6vw,90px)}
.niveaux li,.promesse{padding:26px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .05)}
.niveaux li p:not(.surtitre){font-size:.9375rem;color:#34403A}
.promesse h3{font:620 1.5rem/1.05 var(--f-titre);letter-spacing:-.03em;color:var(--sauge-fonce);margin-bottom:10px}
.promesse p{font-size:.875rem;color:#34403A}
.promesse span{display:inline-block;margin-top:14px;font:700 .625rem/1 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--balise-texte)}
.s-methode{background:#fff}
.tl{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1200px;margin:0 auto}
.tl::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:linear-gradient(90deg,var(--sauge),var(--balise))}
.tl li{position:relative;padding-top:34px;text-align:center}
.tl__pt{position:absolute;left:50%;top:0;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:var(--sauge-fonce);box-shadow:0 0 0 5px #fff}
.tl li:last-child .tl__pt{background:var(--balise)}
.tl h3{font:620 1.1rem/1.15 var(--f-titre);letter-spacing:-.02em;margin-bottom:8px}
.tl p{font-size:.8125rem;color:#56615B}
.s-faq{padding:clamp(60px,7vw,110px) var(--gout);background:#F7F5F0}
.s-faq__h{max-width:900px;margin:0 auto 30px;font:600 clamp(2rem,1.3rem + 2.4vw,3.3rem)/1 var(--f-titre);letter-spacing:-.045em}
.faq{max-width:900px;margin:0 auto}
.faq__q{border-top:1px solid rgb(12 20 17 / .12)}
.faq__q:last-child{border-bottom:1px solid rgb(12 20 17 / .12)}
.faq__q summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font:600 1.0625rem/1.3 var(--f-titre);letter-spacing:-.01em}
.faq__q summary::-webkit-details-marker{display:none}
.faq__q summary span{position:relative;flex:none;width:24px;height:24px;border-radius:50%;background:var(--encre)}
.faq__q summary span::before,.faq__q summary span::after{content:"";position:absolute;left:7px;top:11px;width:10px;height:2px;background:var(--craie);transition:transform .3s var(--e-sortie)}
.faq__q summary span::after{transform:rotate(90deg)}
.faq__q[open] summary span::after{transform:rotate(0)}
.faq__q p{padding:0 50px 22px 0;font-size:.9375rem;color:#34403A}
.s-appel{padding:clamp(70px,8vw,120px) var(--gout);text-align:center;background:#fff}
.s-appel__h{font:500 clamp(2.2rem,1.3rem + 2.8vw,3.9rem)/1.02 var(--f-titre);font-stretch:94%;letter-spacing:-.045em}
.s-appel>p{max-width:520px;margin:16px auto 0;font-size:.9375rem;color:#34403A}
.s-appel__btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}
.s-appel__btns .pilule--blanche,.p-mesure .pilule--blanche{background:var(--gris)}

/* page parcours */
.h-parc{position:relative;min-height:max(100svh,700px);color:var(--craie);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(110px,14vh,140px) var(--gout) clamp(36px,5vw,60px);overflow:hidden;background:var(--encre)}
.h-parc__fond{position:absolute;inset:0}
.h-parc__fond svg{width:100%;height:100%}
.h-parc__fond .visuel{object-position:50% 35%}
.h-parc__fond::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgb(12 20 17 / .72),rgb(12 20 17 / .38) 38%,rgb(12 20 17 / .45) 62%,rgb(12 20 17 / .9))}
.h-parc__in,.h-parc__bas{position:relative;z-index:2;max-width:1340px;width:100%;margin:0 auto}
.h-parc__in{text-align:center}
.h-parc__in .fil{justify-content:center}
.h-parc__nom{font:700 clamp(3.4rem,1rem + 9vw,9.5rem)/.9 var(--f-titre);font-stretch:78%;letter-spacing:-.02em;background:linear-gradient(180deg,#fff 10%,#CFE3D8 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.h-parc__code{-webkit-text-fill-color:var(--balise);color:var(--balise)}
.h-parc__pub{margin-top:12px;font:500 .9375rem/1.3 var(--f-texte);color:#DDE4E0}
.h-parc__bas{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:30px}
.h-parc__acc{font:500 clamp(1.8rem,1.2rem + 1.6vw,2.6rem)/1.05 var(--f-titre);letter-spacing:-.03em}
.h-parc__acc span{font-family:var(--f-accent);font-style:italic;font-weight:400;color:var(--sauge)}
.h-parc__res{max-width:460px;font-size:.875rem;color:#DDE4E0}
.p-parcours{background:#F5F4EF}
.p-intro{max-width:1100px;margin:0 auto;padding:clamp(60px,7vw,100px) var(--gout) clamp(40px,4vw,60px)}
.p-intro__pour{display:flex;align-items:center;gap:12px;font-size:.8125rem;color:#56615B;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgb(12 20 17 / .12)}
.p-intro__pour span{width:6px;height:6px;border-radius:50%;background:var(--encre)}
.p-intro__h{font:500 clamp(1.5rem,1.1rem + 1.2vw,2.2rem)/1.2 var(--f-titre);letter-spacing:-.025em;max-width:880px}
.modules{max-width:1340px;margin:0 auto;padding:0 var(--gout)}
.module{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,6vw,110px);align-items:start;padding:clamp(50px,6vw,90px) 0;border-top:1px solid rgb(12 20 17 / .1)}
.module--inverse .module__visu{order:-1}
.module__txt{position:sticky;top:90px;max-width:540px}
.module__n{display:flex;align-items:center;gap:12px;font:700 .625rem/1 var(--f-texte);letter-spacing:.14em;color:#34403A;margin-bottom:22px}
.module__n::after{content:"";flex:1;height:1px;background:rgb(12 20 17 / .2)}
.module__t{font:700 clamp(2.2rem,1.2rem + 3vw,4rem)/.92 var(--f-titre);font-stretch:75%;letter-spacing:-.01em;color:#131313}
.module__p{margin-top:20px;font-size:.9375rem;line-height:1.65;color:#26312C}
.module__fin{margin-top:26px;padding:18px 20px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06)}
.module__fin-t{font:700 .625rem/1 var(--f-texte);letter-spacing:.14em;color:var(--balise-texte);margin-bottom:8px}
.module__fin p:last-child{font:600 .9375rem/1.45 var(--f-texte)}
.module__visu{position:relative;aspect-ratio:7/8;border-radius:6px;overflow:hidden;box-shadow:0 40px 70px -40px rgb(12 20 17 / .6)}
.module__visu svg{width:100%;height:100%}
.module__visu-n{position:absolute;right:20px;bottom:6px;font:700 clamp(5rem,3rem + 5vw,9rem)/1 var(--f-titre);font-stretch:75%;color:rgb(243 240 232 / .9)}
.anim .module__visu{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--e-expo)}
.anim .module__visu.vu{clip-path:inset(0)}
.p-infos{max-width:1340px;margin:0 auto;padding:clamp(60px,7vw,100px) var(--gout);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px)}
.p-infos__h{font:600 clamp(1.9rem,1.3rem + 1.8vw,3rem)/1.02 var(--f-titre);letter-spacing:-.04em}
.infos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.infos div{padding:18px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06)}
.infos dt{font:700 .625rem/1 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--sauge-fonce);margin-bottom:8px}
.infos dd{font-size:.875rem;color:#26312C}
.p-mesure{max-width:1100px;margin:0 auto;padding:clamp(40px,5vw,80px) var(--gout) clamp(80px,8vw,120px)}
.p-mesure .module__p{max-width:680px}
.p-mesure__suite{display:grid;gap:8px;margin:26px 0}
.p-mesure__suite a{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06);text-decoration:none;font:600 1rem/1.2 var(--f-titre)}
.p-mesure__suite a span{font:700 .75rem/1 var(--f-texte);color:var(--balise-texte);letter-spacing:.08em}
.p-mesure__suite .fleche{margin-left:auto}
.p-mesure .s-appel__btns{justify-content:flex-start}

/* HUG plein écran */
.page-hug{background:var(--encre)}
.h-hug{background:radial-gradient(110% 90% at 50% 0%,#15231D,var(--encre) 60%);color:var(--craie);padding:clamp(100px,13vh,130px) var(--gout) 60px;min-height:100svh}
.hug-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,70px);max-width:1280px;margin:0 auto;align-items:start}
.h-hug .surtitre{color:var(--sauge)}
.h-hug__h{font:600 clamp(2.6rem,1.3rem + 4vw,5rem)/1 var(--f-titre);font-stretch:94%;letter-spacing:-.04em}
.hug-page__sait{display:grid;gap:10px;margin-top:26px}
.hug-page__sait li{padding:14px 16px;border-radius:14px;background:rgb(243 240 232 / .05);box-shadow:inset 0 0 0 1px rgb(243 240 232 / .08);font-size:.875rem;color:#C9D3CD}
.hug-page__sait b{display:block;color:var(--craie);font:650 1rem/1.2 var(--f-titre);margin-bottom:2px}
.h-hug .mention{color:var(--texte-2)}
.hug-page__chat{position:sticky; top:clamp(84px, 11vh, 110px); height:clamp(480px, calc(100vh - 150px), 820px); height:clamp(480px, calc(100dvh - 150px), 820px)}
.hug-sansjs{padding:24px;border-radius:20px;background:rgb(243 240 232 / .06)}
.hug-sansjs a{color:var(--craie)}

/* espace stagiaire */
.p-espace{background:#F5F4EF}
.bandeau-demo{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;padding:84px var(--gout) 12px;background:#F3D9C6;font:600 .75rem/1.3 var(--f-texte);color:#5A2A12;text-align:center}
.s-espace{max-width:1240px;margin:0 auto;padding:clamp(30px,4vw,60px) var(--gout) clamp(70px,8vw,120px)}
.esp-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}
.esp-tete h1{font:600 clamp(2.4rem,1.4rem + 3vw,4rem)/1 var(--f-titre);letter-spacing:-.04em}
.esp-tete .texte{margin-top:8px;color:#34403A}
.esp-id{font-size:.8125rem;color:#56615B;text-align:right}
.suivi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px}
.suivi li{padding:18px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06)}
.suivi li.fait{background:#CFE3D8}
.suivi li.encours{background:var(--encre);color:var(--craie)}
.suivi__etat{display:inline-block;font:700 .5625rem/1 var(--f-texte);letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border-radius:6px;background:rgb(12 20 17 / .08);margin-bottom:12px}
.suivi li.encours .suivi__etat{background:var(--balise);color:var(--encre)}
.suivi h3{font:650 1.25rem/1.1 var(--f-titre);letter-spacing:-.02em}
.suivi p{font-size:.8125rem;margin-top:4px;opacity:.8}
.esp-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.esp-carte{padding:26px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06)}
.esp-carte h2{font:650 1.5rem/1.1 var(--f-titre);letter-spacing:-.02em;margin-bottom:12px}
.esp-carte p{font-size:.9375rem;color:#34403A}
.esp-carte--action{background:var(--encre);color:var(--craie)}
.esp-carte--action .surtitre{color:var(--sauge)}
.esp-carte--action p{color:#C9D3CD}
.esp-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hug-rapide{display:grid;gap:8px}
.hug-rapide button{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:14px;background:var(--gris);font:600 .875rem/1.2 var(--f-texte);text-align:left;transition:background-color .2s}
.hug-rapide button:hover{background:#E4E0D6}
.docs{display:grid;gap:2px;margin-top:10px}
.docs li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid rgb(12 20 17 / .08);font-size:.875rem}
.docs li span:last-child{color:#56615B;text-align:right}
.docs .dispo{color:var(--sauge-fonce)!important;font-weight:700}

/* ---------------------------------------------------------------- MOBILE */
@media (max-width:980px){
  .s-fin__cartes{grid-template-columns:1fr;max-width:560px}
  .fin-carte{min-height:0}
  .anim .s-fin__cartes{margin-top:-40vh}
  .grille-cp,.niveaux,.promesses,.modalites{grid-template-columns:1fr 1fr}
  .tl{grid-template-columns:1fr 1fr;row-gap:40px}
  .tl::before{display:none}
  .qv{height:auto;padding:16px 16px 20px}
  .qv__onglets{position:relative;left:auto;top:auto;transform:none;width:auto;flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:6px;padding-bottom:6px}
  .qv__onglets::-webkit-scrollbar{display:none}
  .qt{flex:none}
  .qt__txt{display:none}
  .qv__scene{position:relative;inset:auto;height:auto}
  .qv__mot{left:50%;top:30%;transform:translate(-50%,-50%);font-size:clamp(6rem,30vw,11rem);opacity:.35}
  .qv__media{position:relative;right:auto;top:auto;bottom:auto;width:100%;height:clamp(360px,90vw,440px);margin-top:12px}
  .qv__desc{display:block}
  .h-parc__bas{grid-template-columns:1fr}
  .module{grid-template-columns:1fr}
  .module--inverse .module__visu{order:0}
  .module__txt{position:relative;top:auto}
  .module__visu{aspect-ratio:4/3}
  .p-infos{grid-template-columns:1fr}
  .hug-page,.deux-col,.deux-col--form{grid-template-columns:1fr}
  .hug-page__chat{position:relative; top:auto; height:calc(100svh - var(--entete) - 24px); min-height:460px; max-height:760px; scroll-margin-top:calc(var(--entete) + 12px)}
}
.qv__desc{display:none;margin:14px 4px 0;font-size:.875rem;line-height:1.5;color:#C9D3CD;min-height:4.5em}
@media (max-width:760px){
  :root{--entete:60px}
  .s-heros{padding-top:100px;min-height:100svh}
  .s-heros__nom{font-size:clamp(2.4rem,11.6vw,3.6rem);white-space:normal;display:flex;flex-direction:column}
  .publics{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .publics::-webkit-scrollbar{display:none}
  .onglet{padding:0 14px;flex:none}
  .cf{height:520px}
  .cf-carte{width:min(310px,82vw);margin-left:calc(min(310px,82vw) / -2)}
  .cf-carte[data-pos="-1"],.cf-carte[data-pos="1"]{filter:none;opacity:.55}
  .cf-carte[data-pos="-1"]{transform:translateX(-86%) scale(.84)}
  .cf-carte[data-pos="1"]{transform:translateX(86%) scale(.84)}
  .cf__fl{top:auto;bottom:-52px;margin:0}
  .cf__fl--g{left:calc(50% - 46px)}
  .cf__fl--d{right:calc(50% - 46px)}
  .s-metiers .centre{margin-top:70px}
  .certif__grille{grid-template-columns:1fr}
  .certif__carte{flex-direction:column;align-items:flex-start}
  .certif__logo{border-right:0;border-bottom:1px solid rgb(12 20 17 / .1);padding:0 0 12px}
  .anim .s-fin__scene{height:240vh}
  .s-fin__rang{font-size:clamp(2.6rem,13vw,4rem)}
  .s-fin__h{font-size:clamp(2.2rem,10.5vw,3.2rem)}
  .anim .s-fin__cartes{margin-top:-30vh}
  .liasse{height:40px}
  .format{height:auto;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end}
  .format::after,.format--droite::after{background:linear-gradient(0deg,rgb(12 20 17 / .96) 0%,rgb(12 20 17 / .75) 42%,rgb(12 20 17 / 0) 70%)}
  .format__txt,.format--droite .format__txt{position:relative;left:auto;right:auto;top:auto;transform:none;padding:0 22px 58px;text-align:left;align-items:flex-start}
  .sc-grille{width:88%;margin:0 auto 38%}
  .sc-barre{left:50%;bottom:auto;top:38%}
  .sc-moniteur{width:88%;margin:0 auto 42%}
  .sc-pied{display:none}
  .gal-carte:nth-child(even),.gal-carte:nth-child(odd){margin:0}
  .gal-carte{width:82vw}
  .gal-intro,.gal-fin{width:82vw;padding:0}
  .s-galerie{background-image:none}
  .s-galerie__piste{min-height:0;padding:70px 9vw;gap:22px;scroll-padding:0 9vw}
  .anim .s-hug{height:300vh}
  .qv__mot{display:none}
  .eventail{height:420px}
  .ag-carte{transform:translateX(calc(var(--d) * var(--ouv) * 38px)) rotate(calc(var(--d) * var(--ouv) * 7deg))}
  .s-cfa__cote{width:120px;top:auto;bottom:40px;transform:none;opacity:.35}
  .s-cfa__h{flex-direction:column;gap:18px}
  .s-cfa__cols{grid-template-columns:1fr}
  .s-cfa__paraphe{top:-40px}
  .bande__txt{display:none}
  .pied__colonnes{grid-template-columns:1fr 1fr}
  .pied__hug{grid-column:1/-1;grid-row:2;width:190px;margin:0 auto}
  .pied__bas{text-align:left}
  .grille-cp,.niveaux,.promesses,.modalites,.infos,.esp-grille,.suivi,.tl{grid-template-columns:1fr}
  .formulaire{grid-template-columns:1fr}
  .h-cat__btns{flex-wrap:wrap}
  .filtres{border-radius:22px}
  /* trois filtres sur une seule ligne, même à 360 px */
  .filtres{display:flex;flex-wrap:nowrap;width:100%;border-radius:999px}
  .filtre{flex:1 1 auto;padding:0 8px;white-space:nowrap;font-size:.6875rem}
  .legal dl{grid-template-columns:1fr}
  .esp-id{text-align:left}
}

/* ---------------------------------------------------------------- mouvement réduit */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
  .defile{animation:none!important}
  .s-heros__defile,.pied__defile{overflow-x:auto}
  .s-usages__defile{overflow-x:auto}
  .tape__curseur{display:none}
}

/* HUG : état statique (sans JS ou mouvement réduit) */
html:not(.anim) .s-hug__plein{display:none}
html:not(.js) .s-hug__repli{opacity:1}
@media (max-width:760px){.mq-connecter{transform:scale(.72)} .mq-comprendre{grid-template-columns:1fr;gap:10px;transform:scale(.92)} .mq-doc{padding:14px}}

/* ==========================================================================
   ESPACE CONNECTÉ (2026-09-28) : connexion, espace stagiaire, administration.
   Mouvement : seulement ce qui informe (profil choisi, mot de passe visible, envoi
   en cours, erreur). L'administration reste sèche et rapide : pas d'apparitions.
   ========================================================================== */
/* ---- page de connexion (inspirée du panneau « Se connecter » de LUAF) */
.p-connexion{background:var(--papier)}
.s-cnx{position:relative;overflow:hidden;background:radial-gradient(110% 90% at 30% 0%,#15231D,var(--encre) 62%);color:var(--craie);
  padding:clamp(110px,14vh,150px) var(--gout) clamp(110px,11vw,160px)}
.s-cnx__fond{position:absolute;inset:0;pointer-events:none}
.s-cnx__lueur{position:absolute;right:-12%;top:-20%;width:70vw;height:70vw;max-width:980px;max-height:980px;border-radius:50%;
  background:radial-gradient(closest-side,rgb(156 199 180 / .16),rgb(255 106 43 / .06) 55%,transparent)}
.s-cnx__hug{position:absolute;left:-6vw;bottom:-8vw;width:min(42vw,560px);opacity:.05}
.s-cnx__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(36px,6vw,110px);align-items:center;max-width:1240px;margin:0 auto}
.s-cnx .surtitre{color:var(--sauge)}
.s-cnx .h-page__h{font-size:clamp(2.6rem,1.2rem + 4vw,5.2rem)}
.cnx-points{display:grid;gap:14px;margin-top:34px;max-width:520px}
.cnx-points li{position:relative;padding-left:30px;color:#C9D3CD;font-size:.9375rem}
.cnx-points li::before{content:"";position:absolute;left:0;top:.35em;width:14px;height:14px;border-radius:4px;background:var(--balise);box-shadow:0 0 0 4px rgb(255 106 43 / .14)}
.cnx-points b{display:block;color:var(--craie);font:650 1.0625rem/1.2 var(--f-titre);letter-spacing:-.01em;margin-bottom:2px}
.cnx-carte{background:var(--papier);color:var(--encre);border-radius:28px;padding:clamp(22px,3vw,36px);
  box-shadow:0 1px 0 rgb(255 255 255 / .7) inset,0 40px 80px -30px rgb(0 0 0 / .6),0 0 0 1px rgb(243 240 232 / .06)}
.cnx-form{display:flex;flex-direction:column;gap:16px}
.cnx-sur{margin:6px 0 -8px}
.cnx-h{font:650 clamp(2rem,1.6rem + 1.2vw,2.6rem)/1 var(--f-titre);letter-spacing:-.045em}
.cnx-sous{color:var(--texte-2c);font-size:.9375rem;margin-top:-6px}
/* Textes qui changent avec le profil : empilés dans la même case, fondu court + léger flou */
.cnx-sur,.cnx-sous,.oubli__txt{display:grid}
[data-si]{grid-area:1/1;transition:opacity .2s ease,filter .2s ease,transform .25s var(--e-sortie)}
[data-si=admin]{opacity:0;visibility:hidden;filter:blur(2px);transform:translateY(4px)}
.cnx-form:has(#p-admin:checked) [data-si=admin]{opacity:1;visibility:visible;filter:none;transform:none}
.cnx-form:has(#p-admin:checked) [data-si=stagiaire]{opacity:0;visibility:hidden;filter:blur(2px);transform:translateY(-4px)}
/* Sélecteur de profil : deux boutons radio, curseur qui glisse (fonctionne sans JavaScript) */
.cnx-profil{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:0;padding:4px;border:0;border-radius:999px;background:var(--gris);box-shadow:inset 0 0 0 1px rgb(12 20 17 / .06)}
.cnx-profil input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.cnx-profil label{position:relative;z-index:2;display:grid;place-items:center;height:42px;border-radius:999px;cursor:pointer;
  font:600 .8125rem/1 var(--f-texte);letter-spacing:.01em;color:var(--texte-2c);transition:color .25s ease;-webkit-user-select:none;user-select:none}
.cnx-profil input:checked+label{color:var(--craie)}
.cnx-profil input:focus-visible+label{outline:2px solid var(--balise);outline-offset:2px}
.cnx-profil label:active{transform:scale(.97)}
.cnx-profil__curseur{position:absolute;z-index:1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--encre);
  box-shadow:0 6px 16px -8px rgb(12 20 17 / .6);transition:transform .32s var(--e-expo)}
.cnx-profil:has(#p-admin:checked) .cnx-profil__curseur{transform:translateX(100%)}
/* Mot de passe + œil */
.mdp{position:relative}
.mdp input{padding-right:52px}
.mdp__oeil{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:var(--texte-2c);transition:color .2s,background-color .2s}
.mdp__oeil:hover{color:var(--encre);background:rgb(12 20 17 / .05)}
.mdp__oeil:active{transform:translateY(-50%) scale(.94)}
.mdp__oeil svg{width:20px;height:20px}
.oeil__barre{stroke-dasharray:23;stroke-dashoffset:23;transition:stroke-dashoffset .22s var(--e-sortie)}
.mdp__oeil[aria-pressed=true] .oeil__barre{stroke-dashoffset:0}
/* Mot de passe oublié : panneau natif <details>, ouverture animée là où c'est pris en charge */
.oubli{margin-top:-6px;font-size:.8125rem}
.oubli summary{display:inline-flex;cursor:pointer;list-style:none;font-weight:600;color:var(--balise-texte);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.oubli summary::-webkit-details-marker{display:none}
.oubli__txt{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--gris);color:#34403A;line-height:1.5}
@supports (interpolate-size:allow-keywords){
  .oubli{interpolate-size:allow-keywords}
  .oubli::details-content{height:0;overflow:clip;opacity:0;transition:height .28s var(--e-sortie),opacity .2s ease,content-visibility .28s allow-discrete}
  .oubli[open]::details-content{height:auto;opacity:1}
}
/* Bouton d'envoi : état « en cours » (les trois points remplacent la flèche) */
.cnx-envoi{position:relative;width:100%;margin-top:4px}
.cnx-envoi .fleche{transition:transform .25s var(--e-sortie),opacity .2s}
@media (hover:hover) and (pointer:fine){.cnx-envoi:hover .fleche{transform:translateX(3px)}}
.cnx-envoi__points{position:absolute;right:22px;display:flex;gap:4px;opacity:0;transition:opacity .15s}
.cnx-envoi__points i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:cnx-point 1s ease-in-out infinite}
.cnx-envoi__points i:nth-child(2){animation-delay:.15s}.cnx-envoi__points i:nth-child(3){animation-delay:.3s}
.cnx-envoi.en-cours{pointer-events:none}
.cnx-envoi.en-cours .fleche{opacity:0}
.cnx-envoi.en-cours .cnx-envoi__points{opacity:1}
.cnx-envoi:disabled{opacity:.5;cursor:not-allowed}
@keyframes cnx-point{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.cnx-aide{text-align:center;font-size:.8125rem;color:var(--texte-2c)}
/* Erreur renvoyée par le serveur : la carte « refuse » d'un petit mouvement (une fois) */
.anim .cnx-carte[data-erreur].vu{animation:cnx-refus .42s var(--e-sortie) .35s}
@keyframes cnx-refus{0%,100%{transform:none}20%{transform:translateX(-7px)}45%{transform:translateX(6px)}70%{transform:translateX(-3px)}}
.alerte{animation:alerte-entre .3s var(--e-sortie)}
@keyframes alerte-entre{from{opacity:0;transform:translateY(-4px)}}
.flash{padding:12px 14px;border-radius:12px;font-size:.875rem;background:var(--sauge-clair);color:#16352A;animation:alerte-entre .3s var(--e-sortie)}

/* ---- en-tête des pages connectées */
.entete__qui{display:inline-flex;align-items:center;gap:8px;font:600 .8125rem/1 var(--f-texte);margin-right:4px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entete__initiale{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--encre);color:var(--balise);font:700 .8125rem/1 var(--f-titre)}
.entete__cta{align-items:center}
.deconnexion{display:inline-flex;margin:0}
.menu__actions .deconnexion{width:100%}

/* ---- espace stagiaire */
.p-espace .s-espace{padding-top:calc(var(--entete) + clamp(30px,4vw,56px))}
.esp-bonjour{font:600 clamp(2.4rem,1.4rem + 3vw,4rem)/1 var(--f-titre);letter-spacing:-.04em}
.suivi{position:relative;margin-bottom:10px}
.suivi li{position:relative;overflow:hidden}
.suivi__n{position:absolute;right:16px;top:14px;font:700 1.75rem/1 var(--f-titre);letter-spacing:-.04em;opacity:.14;pointer-events:none}
.suivi li.encours .suivi__etat::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--encre);vertical-align:1px;animation:pouls 1.8s ease-in-out infinite}
@keyframes pouls{0%,100%{opacity:1}50%{opacity:.3}}
.suivi__resume{font-size:.875rem;color:var(--texte-2c);margin-bottom:22px}
.replier{margin-top:18px;border-top:1px solid rgb(12 20 17 / .08);padding-top:14px}
.replier summary{cursor:pointer;font:600 .875rem/1.3 var(--f-texte)}
.replier .formulaire{margin-top:14px}
.formulaire--compact{grid-template-columns:1fr 1fr;gap:12px 14px}
.s-refus{max-width:760px}
.s-refus h1{font:600 clamp(2rem,1.3rem + 2.4vw,3.2rem)/1.05 var(--f-titre);letter-spacing:-.04em;margin:8px 0 14px}

/* ---- administration (sobre : lisible d'abord, aucun effet d'apparition) */
.p-admin{background:#F5F4EF}
.adm{max-width:1240px;margin:0 auto;padding:calc(var(--entete) + clamp(24px,3vw,44px)) var(--gout) 40px}
.adm__tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:20px}
.adm__tete h1{font:600 clamp(2rem,1.4rem + 2vw,3rem)/1 var(--f-titre);letter-spacing:-.04em}
.adm__alerte{padding:10px 14px;border-radius:12px;background:#F3D9C6;color:#5A2A12;font-size:.8125rem;max-width:460px}
.adm__nav{display:flex;gap:4px;padding:4px;margin-bottom:22px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06);overflow-x:auto;scrollbar-width:none;width:fit-content;max-width:100%}
.adm__nav::-webkit-scrollbar{display:none}
.adm__nav a{flex:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border-radius:999px;font:600 .8125rem/1 var(--f-texte);text-decoration:none;color:var(--texte-2c);transition:background-color .15s,color .15s}
.adm__nav a:hover{color:var(--encre);background:var(--gris)}
.adm__nav a[aria-current=page]{background:var(--encre);color:var(--craie)}
.adm__badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--balise);color:var(--encre);font-size:.6875rem}
.adm__corps{display:grid;gap:16px}
.adm>.alerte,.adm>.flash,.mdp-unique{margin-bottom:16px}
.adm-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.adm-carte{padding:clamp(18px,2.2vw,26px);border-radius:20px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06);min-width:0}
.adm-carte--large{grid-column:1/-1}
.adm-carte h2{font:650 1.3rem/1.15 var(--f-titre);letter-spacing:-.02em;margin-bottom:12px}
.adm-carte .formulaire{margin-top:14px}
.adm-carte__tete{display:flex;justify-content:space-between;align-items:center;gap:10px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06);text-decoration:none;transition:box-shadow .15s}
a.kpi:hover{box-shadow:0 0 0 1px rgb(12 20 17 / .16)}
.kpi__n{font:650 clamp(1.6rem,1.2rem + 1vw,2.2rem)/1 var(--f-titre);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi__l{font-size:.8125rem;color:var(--texte-2c)}
.kpi--chaud{background:var(--encre);color:var(--craie)}
.kpi--chaud .kpi__l{color:#C9D3CD}
.kpi--chaud .kpi__n{color:var(--balise)}
.vide{color:var(--texte-2c);font-size:.9375rem;padding:6px 0}
.tableau-conteneur{overflow-x:auto;margin:0 -4px}
.tableau{width:100%;border-collapse:collapse;font-size:.875rem}
.tableau th{text-align:left;font:700 .6875rem/1.2 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--texte-2c);padding:10px 8px;border-bottom:1px solid rgb(12 20 17 / .1)}
.tableau td{padding:12px 8px;border-bottom:1px solid rgb(12 20 17 / .06);vertical-align:middle}
.tableau tr.inactif td{opacity:.55}
.tableau .actions{display:flex;flex-wrap:wrap;gap:6px}
.pilule--petite{height:32px;padding:0 14px;background:var(--gris);color:var(--encre);font-size:.75rem}
.pilule--petite:hover{background:#E4E0D6}
.pilule--danger{background:#FBE9E7;color:#8C1D18}
.pilule--petite.pilule--danger{background:#FBE9E7}
.etat{display:inline-block;padding:4px 9px;border-radius:999px;font:700 .6875rem/1 var(--f-texte);letter-spacing:.04em}
.etat--on{background:var(--sauge-clair);color:#16352A}
.etat--off{background:var(--gris);color:var(--texte-2c)}
.etat--chaud{background:var(--balise);color:var(--encre)}
.tag{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--gris);font:700 .6875rem/1.2 var(--f-texte);letter-spacing:.03em;white-space:nowrap}
.tag--devis{background:#F3D9C6;color:#5A2A12}
.tag--preinscription-cfa{background:var(--sauge-clair);color:#16352A}
.etape-mini{display:inline-flex;align-items:center;gap:3px}
.etape-mini i{width:14px;height:6px;border-radius:3px;background:var(--gris)}
.etape-mini i.on{background:var(--sauge-fonce)}
.etape-mini b{margin-left:6px;font-weight:600;font-size:.8125rem}
.barres{display:grid;gap:10px;margin-bottom:14px}
.barres li{display:grid;grid-template-columns:130px 1fr 28px;align-items:center;gap:10px;font-size:.8125rem}
.barres__piste{height:10px;border-radius:5px;background:var(--gris);overflow:hidden}
.barres__val{display:block;height:100%;width:100%;border-radius:5px;background:var(--sauge-fonce);transform-origin:left;transform:scaleX(var(--v))}
.barres b{text-align:right;font-variant-numeric:tabular-nums}
.liste-simple{display:grid}
.liste-simple li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:10px 0;border-top:1px solid rgb(12 20 17 / .06);font-size:.875rem}
.liste-simple li:first-child{border-top:0}
.liste-simple a{font-weight:600;text-decoration:none}
.liste-simple a:hover{text-decoration:underline}
.mdp-unique{padding:20px 22px;border-radius:18px;background:var(--encre);color:var(--craie);box-shadow:0 20px 50px -30px rgb(12 20 17 / .7)}
.mdp-unique .surtitre{color:var(--balise)}
.mdp-unique p+p{margin-top:8px}
.mdp-unique .petit{color:#A9B3AD;max-width:720px}
.mdp-unique__ligne{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.mdp-unique code{font:600 1.25rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;padding:8px 12px;border-radius:10px;background:rgb(243 240 232 / .08);color:#fff;-webkit-user-select:all;user-select:all}
.apercu-titre{margin-top:14px}
.suivi--mini{margin:8px 0 12px;gap:6px}
.suivi--mini li{padding:10px 12px;border-radius:12px}
.suivi--mini h3{font-size:.9375rem}
.apercu-action{font-size:.875rem}
.filtres-adm{display:flex;flex-wrap:wrap;gap:6px}
.filtres-adm a{height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .08);font:600 .8125rem/1 var(--f-texte);text-decoration:none}
.filtres-adm a[aria-current=page]{background:var(--encre);color:var(--craie)}
.demandes{display:grid;gap:8px}
.demande-adm{border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgb(12 20 17 / .06)}
.demande-adm--nouvelle{box-shadow:0 0 0 1px rgb(255 106 43 / .5)}
.demande-adm summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none}
.demande-adm summary::-webkit-details-marker{display:none}
.demande-adm__qui{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demande-adm__dl{display:grid;grid-template-columns:180px 1fr;gap:6px 16px;padding:4px 18px 14px;font-size:.875rem;border-top:1px solid rgb(12 20 17 / .06);padding-top:14px}
.demande-adm__dl dt{color:var(--texte-2c)}
.demande-adm form{padding:0 18px 16px}
.histo{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;align-items:end;height:180px;margin-top:10px}
.histo li{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;font-size:.6875rem;color:var(--texte-2c)}
.histo__barre{width:100%;max-width:28px;height:calc(var(--h) * 120px + 2px);border-radius:6px 6px 2px 2px;background:var(--sauge-fonce)}
.histo__n{font-variant-numeric:tabular-nums;color:var(--encre);font-weight:600}
.adm-pied{max-width:1240px;margin:0 auto;padding:10px var(--gout) 40px;font-size:.75rem;color:var(--texte-2c)}
.installation{max-width:720px;margin:0 auto;padding:60px 20px}
.installation h1{font:650 2.4rem/1.05 var(--f-titre);letter-spacing:-.04em;margin-bottom:16px}
.installation p{margin-top:12px}
.installation .tableau{margin:16px 0}

@media (max-width:980px){
  .s-cnx__in{grid-template-columns:1fr;gap:26px}
  .cnx-carte{max-width:560px;width:100%}
  .cnx-points,.s-cnx .h-page__chapo{display:none}
  .kpis{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .s-cnx{padding-top:84px}
  .s-cnx .surtitre{margin-bottom:8px}
  .s-cnx .h-page__h{font-size:clamp(2.1rem,9.4vw,2.8rem)}
  .s-cnx__in{gap:20px}
  .cnx-carte{border-radius:22px;padding:18px}
  .cnx-form{gap:12px}
  .cnx-sous{display:none}
  .adm-grille,.formulaire--compact{grid-template-columns:1fr}
  .adm__nav{width:auto;border-radius:16px;flex-wrap:wrap}
  .tableau thead{display:none}
  .tableau,.tableau tbody,.tableau tr,.tableau td{display:block;width:100%}
  .tableau tr{padding:10px 0;border-bottom:1px solid rgb(12 20 17 / .08)}
  .tableau td{border:0;padding:4px 0}
  .tableau td[data-l]::before{content:attr(data-l);display:block;font:700 .625rem/1.4 var(--f-texte);letter-spacing:.1em;text-transform:uppercase;color:var(--texte-2c)}
  .demande-adm summary{grid-template-columns:auto 1fr;row-gap:6px}
  .demande-adm__qui{white-space:normal;overflow-wrap:anywhere}
  .demande-adm__dl{grid-template-columns:1fr;gap:2px}
  .demande-adm__dl dd{margin-bottom:8px}
  .barres li{grid-template-columns:110px 1fr 24px}
  .histo{gap:3px}
  .histo__j{font-size:.5625rem;writing-mode:vertical-rl;transform:rotate(180deg)}
  .entete__qui{display:none}
}
@media (prefers-reduced-motion:reduce){
  [data-si]{filter:none!important;transform:none!important}
  .suivi li.encours .suivi__etat::before,.cnx-envoi__points i{animation:none}
}

.s-cnx-suite{background:var(--papier);padding:clamp(40px,5vw,70px) var(--gout) clamp(50px,6vw,90px)}
.s-cnx-suite__in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 30px;max-width:1240px;margin:0 auto}
.s-cnx-suite h2{font:600 clamp(1.6rem,1.2rem + 1.4vw,2.4rem)/1.05 var(--f-titre);letter-spacing:-.035em;max-width:640px}
.s-cnx-suite .h-page__btns{margin-top:0}
html:has(body.p-admin),html:has(body.p-espace){background:#F5F4EF}
.menu-ouvert .entete--clair .entete__logo img{content:url(../img/strat-ia-clair.svg)}
