
:root{
  --noir:#0E0F14; --graphite:#2A2C36; --gris:#A4A7B5; --blanc:#F2F2F4;
  --or:#FFCE1F; --ambre:#FFB21F; --lueur:#FFD84A;
  --line:rgba(242,242,244,.10); --line2:rgba(242,242,244,.18);
  --f-title:'Anton',Impact,sans-serif; --f-label:'Chakra Petch',system-ui,sans-serif; --f-body:'Manrope',system-ui,sans-serif;
  --wrap:1240px; --pad:clamp(20px,5vw,64px);
  --cut:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  --cut-s:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
  --bar-h:4px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--noir);color:var(--blanc);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--or);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}

/* Trame Seyès : lignes blanches 4 %, marge or */
.seyes{position:relative;isolation:isolate}
.seyes::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
   linear-gradient(90deg,transparent calc(var(--margin,7vw) - 1px),rgba(255,206,31,.38) calc(var(--margin,7vw) - 1px),rgba(255,206,31,.38) var(--margin,7vw),transparent var(--margin,7vw)),
   repeating-linear-gradient(0deg,rgba(242,242,244,.045) 0 1px,transparent 1px 32px),
   repeating-linear-gradient(0deg,rgba(242,242,244,.018) 0 1px,transparent 1px 8px),
   repeating-linear-gradient(90deg,rgba(242,242,244,.03) 0 1px,transparent 1px 32px);
  -webkit-mask:linear-gradient(180deg,#000 60%,transparent);mask:linear-gradient(180deg,#000 60%,transparent)}

/* Typo */
.h1,.h2,.h3{font-family:var(--f-title);font-weight:400;text-transform:uppercase;line-height:.98;letter-spacing:.005em;margin:0}
.h1{font-size:clamp(50px,6.6vw,96px)}
.h2{font-size:clamp(36px,5.4vw,78px);overflow-wrap:break-word}
.h3{font-size:clamp(26px,2.6vw,36px);line-height:1.05}
.label{font:600 12px/1.3 var(--f-label);letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.label.muted{color:var(--gris)}
.lead{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--blanc);max-width:40ch}
.body{color:#C9CBD4;max-width:62ch}
.body p{margin:0 0 1em}
.filet{width:88px;height:2px;background:var(--or);border:0;margin:24px 0}

/* Surligneur : bloc or à coins coupés, 1 à 3 mots */
mark{background:none;color:var(--noir);position:relative;z-index:0;padding:0 .1em;margin:0 -.02em;white-space:nowrap;box-decoration-break:clone;-webkit-box-decoration-break:clone}
mark::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:.04em;bottom:.02em;background:var(--or);
  clip-path:polygon(0 0,calc(100% - .16em) 0,100% .16em,100% 100%,.16em 100%,0 calc(100% - .16em));transform-origin:left;transition:transform .7s cubic-bezier(.7,0,.2,1)}
.hl-wait mark::before{transform:scaleX(0)}
.hl-wait mark{color:var(--blanc);transition:color .2s .45s}
.hl-on mark{color:var(--noir)}
.hl-on mark::before{transform:scaleX(1)}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:15px 24px 14px;font:700 13px/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:0;clip-path:var(--cut);transition:background .2s,color .2s,transform .2s}
.btn-or{background:var(--or);color:var(--noir)}
.btn-or:hover{background:var(--lueur);transform:translateY(-2px)}
.btn-ghost{background:rgba(242,242,244,.07);color:var(--blanc);box-shadow:inset 0 0 0 1px var(--line2)}
.btn-ghost:hover{background:rgba(242,242,244,.14)}
.btn .ar{font-family:var(--f-body);font-weight:700;letter-spacing:0}

/* Coins de cadrage */
.cadre{position:relative}
.cadre::before,.cadre::after{content:"";position:absolute;width:18px;height:18px;pointer-events:none}
.cadre::before{top:-1px;left:-1px;border-top:2px solid var(--or);border-left:2px solid var(--or)}
.cadre::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--or);border-right:2px solid var(--or)}

/* ===== Header + barre de progression ===== */
.top{position:fixed;inset:0 0 auto;z-index:50;background:rgba(14,15,20,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{flex:none;display:block;width:160px}
.brand img{width:160px;height:auto}
.nav{display:flex;gap:18px;margin-left:auto}
.nav a,.top .btn{white-space:nowrap}
.nav a{font:600 12px/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--gris);padding:8px 0;transition:color .2s}
.nav a:hover,.nav a[aria-current="true"]{color:var(--blanc)}
.langs{display:flex;gap:2px;font:600 12px/1 var(--f-label);letter-spacing:.12em}
.langs button{background:none;border:0;padding:8px 7px;color:var(--gris)}
.langs button[aria-pressed="true"]{color:var(--noir);background:var(--blanc);clip-path:var(--cut-s)}
.top .btn{padding:12px 16px 11px;font-size:12px}
.burger{display:none;background:none;border:0;width:40px;height:40px;margin-left:auto;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:9px;right:9px;height:2px;background:var(--blanc);content:"";transition:transform .2s}
.burger span{top:19px}.burger span::before{top:-7px;left:0;right:0}.burger span::after{top:7px;left:0;right:0}

.xp{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0 var(--pad);max-width:var(--wrap);margin:0 auto;height:22px;align-items:start}
.xp-seg{position:relative;height:var(--bar-h);background:var(--graphite);clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%)}
.xp-seg i{position:absolute;inset:0;background:var(--or);transform-origin:left;transform:scaleX(var(--p,0))}
.xp-seg b{position:absolute;top:7px;left:0;font:600 9.5px/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gris);white-space:nowrap;transition:color .3s}
.xp-seg.on b{color:var(--or)}
.top{padding-bottom:0}

/* Toast de niveau */
.toast{visibility:hidden;position:fixed;left:var(--pad);bottom:24px;z-index:60;display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;background:var(--noir);box-shadow:inset 0 0 0 1px rgba(255,206,31,.55);clip-path:var(--cut);transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.9,.2,1.2)}
.toast.show{transform:none;visibility:visible}
.toast svg{width:30px;height:auto}
.toast strong{display:block;font:400 20px/1 var(--f-title);text-transform:uppercase}
.toast small{font:600 10px/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--or)}

/* ===== Sections ===== */
.sec{padding:clamp(88px,11vw,150px) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.sec-head .label{margin-bottom:22px;display:block}

/* Hero */
.hero{padding:clamp(150px,16vw,200px) 0 0;--margin:max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad) - 28px))}
.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,4vw,64px);align-items:center}
.hero .h1{margin:18px 0 28px}
.hero .lead{font-family:var(--f-label);font-weight:600;letter-spacing:.02em;font-size:clamp(20px,1.8vw,25px);color:var(--blanc)}
.hero .body{margin:14px 0 34px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(24px,4vw,56px);margin-top:clamp(44px,5vw,64px);padding-top:28px;border-top:1px solid var(--line)}
.stat b{display:block;white-space:nowrap;font:700 clamp(36px,3.6vw,52px)/1 var(--f-label);color:var(--or)}
.stat span{display:block;margin-top:8px;font:600 11px/1.35 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gris);max-width:16ch}

.hero-visual{position:relative;padding:18px 0 60px}
.demo-tag{position:absolute;left:0;bottom:16px;font:600 10px/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}

/* Fenêtre type navigateur */
.win{background:#13141B;box-shadow:0 0 0 1px var(--line2),0 40px 80px -30px rgba(0,0,0,.8);clip-path:var(--cut)}
.win-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-bottom:1px solid var(--line)}
.win-bar i{width:8px;height:8px;background:var(--graphite);clip-path:var(--cut-s)}
.win-bar span{margin-left:10px;font:500 10px/1 var(--f-label);letter-spacing:.12em;color:var(--gris)}

/* Écran LMS : tableau de bord */
.lms{display:grid;grid-template-columns:150px 1fr;min-height:330px;font-size:13px}
.lms-side{border-right:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;gap:6px}
.lms-side img{width:96px;margin-bottom:18px}
.lms-side a{font:600 10px/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--gris);text-decoration:none;padding:8px 0}
.lms-side a.on{color:var(--or)}
.lms-side a.on::before{content:"◆ "}
.lms-main{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.lms-hi{display:flex;justify-content:space-between;align-items:center}
.lms-hi strong{font:400 24px/1 var(--f-title);text-transform:uppercase}
.mini-badge{width:44px}
.lms-card{border:1px solid var(--line2);padding:12px 14px;clip-path:var(--cut-s)}
.lms-card .label{font-size:9px}
.lms-card p{margin:6px 0 10px;font-weight:700;font-size:13px}
.lms-card.locked{opacity:.55}
.segs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.segs i{height:6px;background:var(--graphite);clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%)}
.segs i.f{background:var(--or)}
.lms .btn{align-self:flex-start;padding:10px 14px 9px;font-size:10px;margin-top:4px}

/* Téléphone */
.phone{position:absolute;right:-6px;bottom:0;width:min(42%,190px);padding:10px;background:#0A0B0F;border-radius:26px;box-shadow:0 0 0 1px var(--line2),0 30px 60px -20px rgba(0,0,0,.9)}
.phone-in{border-radius:18px;overflow:hidden;background:#13141B;padding:26px 14px 18px;text-align:center}
.phone-in .label{font-size:8.5px}
.phone-in .badge{width:78%;margin:14px auto 12px}
.phone-in strong{display:block;font:400 15px/1.05 var(--f-title);text-transform:uppercase}

/* Badges CSS (traduisibles) */
.badge{--b:var(--or);aspect-ratio:1;background:var(--b);padding:3%;clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%)}
.badge-in{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5%;text-align:center;background:var(--noir);
  background-image:repeating-linear-gradient(0deg,rgba(242,242,244,.04) 0 1px,transparent 1px 12.5%),repeating-linear-gradient(90deg,rgba(242,242,244,.04) 0 1px,transparent 1px 12.5%);
  clip-path:polygon(0 0,87.5% 0,100% 12.5%,100% 100%,12.5% 100%,0 87.5%);container-type:inline-size}
.badge-in svg{width:13cqw}
.badge-in .lv{font:600 6.4cqw/1 var(--f-label);letter-spacing:.24em;color:var(--or);text-transform:uppercase}
.badge-in .nm{font:400 17cqw/.9 var(--f-title);text-transform:uppercase;color:var(--blanc)}
.badge-in .segs{width:56%;gap:2cqw}
.badge-in .segs i{height:2.4cqw}
.badge-in .ft{font:600 3.4cqw/1 var(--f-label);letter-spacing:.2em;color:var(--gris);text-transform:uppercase}
.badge.legende .badge-in{background:linear-gradient(100deg,var(--ambre),var(--lueur))}
.badge.legende .lv,.badge.legende .nm,.badge.legende .ft{color:var(--noir)}
.badge.legende .segs i{background:var(--noir)}
.badge.legende svg polygon{fill:var(--noir)}
.badge.lock{--b:var(--graphite)}
.badge.lock .badge-in>*{opacity:.28}

/* Ticker */
.ticker{border-block:1px solid var(--line);overflow:hidden;padding:18px 0;margin-top:clamp(56px,7vw,96px)}
.ticker-track{display:flex;width:max-content;animation:tick 40s linear infinite}
.ticker span{font:400 clamp(26px,3vw,40px)/1 var(--f-title);text-transform:uppercase;padding:0 28px;color:var(--blanc);display:flex;align-items:center;gap:56px}
.ticker span::after{content:"✳";color:var(--or);font-family:var(--f-label);font-size:.7em}
@keyframes tick{to{transform:translateX(-50%)}}

/* Équation 70 + 40 = 110 */
.eq{display:grid;grid-template-columns:1fr auto 1.15fr auto 1fr;align-items:stretch;gap:0}
.eq-op{display:flex;align-items:center;justify-content:center;padding:0 clamp(10px,2vw,26px);font:400 clamp(40px,5vw,72px)/1 var(--f-title);color:var(--gris)}
.eq-b{padding:clamp(22px,2.6vw,34px);border:1px solid var(--line2);clip-path:var(--cut);display:flex;flex-direction:column;gap:10px;background:rgba(242,242,244,.02)}
.eq-b b{font:700 clamp(54px,6vw,92px)/.9 var(--f-label);letter-spacing:-.01em}
.eq-b b small{font-size:.42em;margin-left:.08em}
.eq-b strong{font:400 26px/1 var(--f-title);text-transform:uppercase}
.eq-b p{margin:0;color:var(--gris);font-size:15px}
.eq-b.key{border-color:var(--or);background:rgba(255,206,31,.06);box-shadow:inset 0 0 0 1px var(--or)}
.eq-b.key b{color:var(--or)}
.eq-note{margin-top:20px;font:600 12px/1.4 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}

/* Tronc commun : 8 programmes */
.tronc{margin-top:clamp(72px,9vw,120px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px)}
.prog{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.prog li{display:flex;align-items:baseline;gap:18px;padding:18px 8px 18px 0;border-bottom:1px solid var(--line)}
.prog li:nth-child(odd){padding-right:24px}
.num{font:400 44px/1 var(--f-title);color:transparent;-webkit-text-stroke:1px var(--or);min-width:1.4em;transition:color .25s}
.prog li:hover .num,.prog li.on .num{color:var(--or)}
.prog span{font-weight:700;font-size:16px;line-height:1.35}

/* Sur-mesure */
.custom{--margin:calc(100% - 1px)}
.aud{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.aud button{background:rgba(242,242,244,.05);border:0;padding:14px 20px 13px;font:700 13px/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--gris);clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2);transition:color .2s,background .2s}
.aud button:hover{color:var(--blanc)}
.aud button[aria-selected="true"]{color:var(--noir);background:var(--blanc);box-shadow:none}
.aud-cap{min-height:1.6em;color:#C9CBD4;margin:0 0 22px}
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0;padding:0}
.mod{position:relative;padding:22px 22px 24px;min-height:178px;background:#13141B;clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2);display:flex;flex-direction:column;gap:14px;transition:box-shadow .25s,transform .25s}
.mod:hover{box-shadow:inset 0 0 0 1px var(--or);transform:translateY(-3px)}
.mod-top{display:flex;justify-content:space-between;align-items:center}
.mod .num{font-size:38px}
.mod h4{margin:0;font:400 23px/1.08 var(--f-title);text-transform:uppercase;overflow-wrap:break-word}
.mod .dur{font:600 11px/1 var(--f-label);letter-spacing:.2em;color:var(--gris);text-transform:uppercase}
.mod.todo h4{color:var(--gris)}
.todo-tag{display:inline-block;font:700 9.5px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--ambre);border:1px dashed var(--ambre);padding:5px 7px}
.mods-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:22px;align-items:center}
.mods-foot p{margin:0;color:var(--gris);font-size:15px}
.sum{display:flex;align-items:center;gap:14px;font:600 12px/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.sum .segs{width:150px;grid-template-columns:repeat(6,1fr)}

/* Plateforme */
.screens-tabs{display:flex;gap:4px;margin-bottom:14px}
.screens-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 4px;margin-right:18px;font:600 12px/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.screens-tabs button[aria-selected="true"]{color:var(--blanc);border-color:var(--or)}
.plat-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(28px,4vw,56px);align-items:start}
.screen-cap{margin-top:14px;font-size:13px;color:var(--gris);max-width:70ch}
.slide{aspect-ratio:16/9;padding:7% 8%;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.slide .num{position:absolute;right:7%;top:9%;font-size:clamp(40px,6vw,80px)}
.slide .h3{font-size:clamp(22px,3vw,40px);max-width:17ch;margin-top:12px}
.slide-foot{display:flex;justify-content:space-between;align-items:center}
.slide-foot img{width:120px}
.slide-foot .segs{width:110px}
.bdg-screen{padding:24px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:center;min-height:330px;align-content:center}
.bdg-screen p{grid-column:1/-1;margin:0 0 6px}

.feats{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.feat{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px 1fr;gap:16px}
.feat-ico{width:44px;height:44px;display:grid;place-items:center;font:700 16px/1 var(--f-label);color:var(--or);box-shadow:inset 0 0 0 1px rgba(255,206,31,.5);clip-path:var(--cut-s)}
.feat h3{margin:2px 0 6px;font:400 22px/1.05 var(--f-title);text-transform:uppercase}
.feat p{margin:0;color:#C9CBD4;font-size:15.5px}

.specs{display:grid;grid-template-columns:repeat(6,1fr);margin-top:clamp(56px,7vw,88px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec{padding:26px 18px 24px 0;border-right:1px solid var(--line)}
.spec+.spec{padding-left:18px}
.spec:last-child{border-right:0}
.spec b{display:block;font:700 30px/1 var(--f-label);color:var(--blanc)}
.spec span{display:block;margin-top:10px;font-size:14px;color:var(--gris);line-height:1.4}

.deploy{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:14px;margin-top:14px}
.dep{padding:26px;background:#13141B;clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2)}
.dep h3{margin:10px 0 8px;font:400 24px/1.05 var(--f-title);text-transform:uppercase}
.dep p{margin:0;color:#C9CBD4;font-size:15.5px}
.vol{background:rgba(255,206,31,.06);box-shadow:inset 0 0 0 1px rgba(255,206,31,.55)}
.vol output{display:block;font:700 40px/1 var(--f-label);color:var(--or);margin:12px 0 4px}
.vol input[type=range]{width:100%;margin:14px 0 6px;accent-color:var(--or)}
.vol-ticks{display:flex;justify-content:space-between;font:600 10px/1 var(--f-label);letter-spacing:.12em;color:var(--gris)}
.vol .btn{margin-top:18px}

/* Badges section */
.levels{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.6vw,22px);margin-top:8px}
.levels button{background:none;border:0;padding:0;text-align:left}
.levels .badge{transition:transform .35s cubic-bezier(.2,.9,.2,1.3)}
.levels button:hover .badge{transform:translateY(-6px) rotate(-1.5deg)}
.levels .cap{display:block;margin-top:14px;font:600 11px/1.3 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.levels button[aria-pressed="true"] .cap{color:var(--or)}
.disclaimer{margin-top:28px;font-size:13.5px;color:var(--gris);max-width:70ch;padding-left:14px;border-left:2px solid var(--graphite)}
@keyframes unlock{0%{transform:scale(.92);filter:brightness(2)}60%{transform:scale(1.04)}100%{transform:none;filter:none}}
.badge.pop{animation:unlock .6s ease-out}

/* Formation */
.promise{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px)}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0}
.chips li{padding:10px 14px 9px;font:600 12px/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line2);clip-path:var(--cut-s)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin-top:40px}
.facts h3{margin:0 0 8px}
.facts p{margin:0;color:#C9CBD4;font-size:15.5px}
.traits{display:flex;flex-direction:column;gap:14px}
.trait{padding:24px 26px;border:1px solid var(--line2)}
.trait h3{margin:0 0 6px;font:400 30px/1 var(--f-title);text-transform:uppercase}
.trait p{margin:0;color:#C9CBD4;font-size:15.5px}

/* Expérience : modes */
.modes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.modes li{list-style:none;padding:34px 18px 30px;border-right:1px solid var(--line);font:400 clamp(24px,2.4vw,34px)/1 var(--f-title);text-transform:uppercase;position:relative;transition:background .25s}
.modes li:last-child{border-right:0}
.modes li:hover{background:rgba(242,242,244,.04)}
.modes li small{display:block;margin-bottom:22px;font:600 10px/1 var(--f-label);letter-spacing:.22em;color:var(--gris)}
.modes{padding:0;margin:0}

/* Références */
.refs{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.refs li{flex:1 1 220px;padding:28px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:700 15px/1.25 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:#C9CBD4;display:flex;align-items:center;min-height:96px;transition:color .2s,background .2s}
.refs li:hover{color:var(--or);background:rgba(242,242,244,.03)}
.refs-note{margin-top:16px;font-size:13.5px;color:var(--gris)}
.matches{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(48px,6vw,72px)}
.match{padding:26px;background:#13141B;clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2)}
.match .label{color:var(--gris)}
.match h3{margin:10px 0 8px;font:400 26px/1.05 var(--f-title);text-transform:uppercase}
.match p{margin:0;color:#C9CBD4;font-size:15.5px}
.match-head{display:flex;justify-content:space-between;align-items:center}
.match-head em{font:700 11px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:var(--noir);background:var(--blanc);padding:5px 8px;clip-path:var(--cut-s)}

/* STAKRN : la bande du bas */
.band-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:center}
.s-wrap{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:40px;border:1px solid var(--line2)}
.s-big{width:clamp(140px,18vw,230px)}
.s-big .b1,.s-big .b2{fill:#3A3C48}
.s-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:180px}
.s-legend li{font:600 11px/1.3 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gris);display:flex;align-items:center;gap:12px}
.s-legend li::before{content:"";width:28px;height:1px;background:var(--line2)}
.s-legend li.on{color:var(--or)}
.s-legend li.on::before{background:var(--or)}
.s-legend li.on small{display:block;color:var(--gris);letter-spacing:.16em;margin-top:4px;font-size:10px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;border-top:1px solid var(--line)}
.kpi{padding:20px 10px 0 0}
.kpi b{display:block;font:700 34px/1 var(--f-label)}
.kpi span{display:block;margin-top:8px;font:600 10.5px/1.35 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.link-out{display:inline-flex;gap:8px;margin-top:30px;font:700 13px/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--or);padding-bottom:6px}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 0;font:400 clamp(22px,2.2vw,30px)/1.1 var(--f-title);text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:36px;height:36px;display:grid;place-items:center;font:500 22px/1 var(--f-label);box-shadow:inset 0 0 0 1px var(--line2);clip-path:var(--cut-s);transition:transform .25s,background .2s,color .2s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--or);color:var(--noir)}
.faq details p{margin:0 0 26px;color:#C9CBD4;max-width:70ch}

/* Contact */
.contact{--margin:max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad) - 28px))}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px)}
.mail{display:inline-block;margin-top:24px;font:700 clamp(20px,2vw,26px)/1 var(--f-label);text-decoration:none;border-bottom:2px solid var(--or);padding-bottom:6px}
.form{padding:clamp(24px,3vw,40px);background:#13141B;clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.field label,.field legend{font:600 11px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.field input,.field select,.field textarea{width:100%;background:var(--noir);border:0;box-shadow:inset 0 0 0 1px var(--line2);color:var(--blanc);font:500 16px/1.4 var(--f-body);padding:13px 14px;border-radius:0;transition:box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;box-shadow:inset 0 0 0 2px var(--or)}
.field textarea{min-height:120px;resize:vertical}
fieldset.field{border:0;padding:0;margin:0 0 16px}
.radios{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.radios label{cursor:pointer;position:relative}
.radios input{position:absolute;opacity:0;left:0;top:0;width:1px;height:1px}
.radios span{display:inline-block;padding:11px 14px 10px;font:600 12px/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:#C9CBD4;box-shadow:inset 0 0 0 1px var(--line2);clip-path:var(--cut-s)}
.radios input:checked+span{background:var(--blanc);color:var(--noir);box-shadow:none}
.radios input:focus-visible+span{outline:2px solid var(--or);outline-offset:2px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--gris);margin:6px 0 20px}
.consent input{margin-top:4px;accent-color:var(--or)}
.form-msg{margin-top:16px;font-size:14.5px;min-height:1.4em}
.form-msg.ok{color:var(--or)}
.form-msg.err{color:#FF8A7A}
.hp{display:none}

/* Footer */
.foot{border-top:1px solid var(--line);padding:48px 0 40px;font-size:14px;color:var(--gris)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;align-items:start}
.foot img{width:160px;margin-bottom:18px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--blanc)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.foot-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font:600 11px/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase}

/* Placeholders visibles du prototype */
.todo-note{color:var(--ambre)!important}

/* Responsive */
@media (max-width:1320px){
  .nav{display:none}
  .burger{display:block}
  .top .btn{display:none}
  .langs{margin-left:auto}
  .burger{margin-left:8px}
  .nav.open{display:flex;position:fixed;top:94px;left:0;right:0;flex-direction:column;gap:0;background:var(--noir);border-bottom:1px solid var(--line);padding:8px var(--pad) 20px}
  .nav.open a{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}
}
@media (max-width:1080px){
  .hero-grid,.sec-head,.tronc,.plat-grid,.promise,.band-grid,.contact-grid{grid-template-columns:1fr}
  .specs{grid-template-columns:repeat(3,1fr)}
  .spec:nth-child(3){border-right:0}
  .spec:nth-child(n+4){border-top:1px solid var(--line)}
  .spec:nth-child(4){padding-left:0}
  .deploy{grid-template-columns:1fr 1fr}
  .vol{grid-column:1/-1}
  .modes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .modes li:nth-child(3){border-right:0}
  .modes li:nth-child(n+4){border-top:1px solid var(--line)}
}
@media (max-width:760px){
  body{font-size:16px}
  .h1{font-size:clamp(44px,13vw,64px)}
  .h2{font-size:clamp(32px,9.6vw,48px)}
  .sec-head{margin-bottom:36px}
  .xp-seg b{font-size:8px;letter-spacing:.14em}
  .eq{grid-template-columns:1fr}
  .eq-op{padding:8px 0;font-size:40px}
  .prog{grid-template-columns:1fr}
  .prog li:nth-child(odd){padding-right:8px}
  .mods{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(3,1fr);gap:16px}
  .levels{grid-template-columns:repeat(3,1fr)}
  .specs{grid-template-columns:1fr 1fr}
  .spec{border-right:0!important;padding-left:0!important;border-top:1px solid var(--line)}
  .spec:nth-child(odd){border-right:1px solid var(--line)!important;padding-right:14px}
  .spec:nth-child(even){padding-left:14px!important}
  .deploy,.matches,.facts{grid-template-columns:1fr}
  .modes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .modes li{border-right:0!important;border-top:1px solid var(--line);font-size:22px;overflow-wrap:anywhere;padding:26px 14px 22px}
  .lms{grid-template-columns:1fr}
  .lms-side{display:none}
  .phone{width:44%}
  .bdg-screen{grid-template-columns:repeat(3,1fr)}
  .f-row{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr;gap:12px 0}
  .s-wrap{grid-template-columns:1fr;padding:28px}
  .foot-grid{grid-template-columns:1fr}
  .brand,.brand img{width:140px}
}
@media (max-width:460px){.mods{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hl-wait mark::before{transform:none}.hl-wait mark{color:var(--noir)}
}

/* =================== V2 : appareils et écrans LMS =================== */
.dev{position:relative}
.phone2{position:relative;width:300px;padding:9px;background:#050608;border-radius:44px;box-shadow:0 0 0 1px #2E3040,0 0 0 4px #0A0B0F,0 50px 90px -30px rgba(0,0,0,.95)}
.scr{position:relative;border-radius:36px;overflow:hidden;background:#121319;height:610px;display:flex;flex-direction:column;font-size:11px;line-height:1.4}
.sb{display:flex;justify-content:space-between;align-items:center;padding:14px 26px 6px;font:600 12px/1 var(--f-body)}
.sb i{width:84px;height:22px;background:#000;border-radius:14px;position:absolute;left:50%;top:10px;transform:translateX(-50%)}
.sb b{letter-spacing:2px;font-size:9px}
.app{flex:1;padding:10px 16px 0;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.app-top{display:flex;align-items:center;gap:10px}
.app-back{width:26px;height:26px;border-radius:50%;background:#1E2029;display:grid;place-items:center;font-size:12px;flex:none}
.app-top .lb{font:600 8px/1.2 var(--f-label);letter-spacing:.18em;color:var(--or);text-transform:uppercase}
.app-top .tt{font-weight:700;font-size:11.5px}
.app-lang{margin-left:auto;font:600 9px/1 var(--f-label);padding:5px 7px;border-radius:12px;background:#1E2029}
.app-logo{height:14px;width:auto}
.prog6{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.prog6 i{height:4px;border-radius:2px;background:#2A2C36}
.prog6 i.f{background:var(--or)}
.prog6 i.h{background:linear-gradient(90deg,var(--or) 50%,#2A2C36 50%)}
.meta{display:flex;justify-content:space-between;color:var(--gris);font-size:9.5px}
.meta b{color:var(--blanc)}
.app h5{margin:2px 0 0;font:700 19px/1.12 var(--f-body);letter-spacing:-.01em}
.app h5 em{font-style:normal;color:var(--or)}
.app .sub{color:var(--gris);font-size:10.5px;margin:0}
.lb2{font:600 8px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.lb2.or{color:var(--or)}
.card2{background:#1A1B23;border-radius:16px;padding:11px 12px}
.chain{position:relative;height:150px;margin-top:4px}
.chain::before{content:"";position:absolute;left:50%;top:50%;width:150px;height:110px;transform:translate(-50%,-50%);border:1px dashed rgba(242,242,244,.12);border-radius:50%}
.hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:var(--or);color:var(--noir);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 7px rgba(255,206,31,.14),0 0 30px rgba(255,206,31,.35)}
.hub small{font:700 6.5px/1 var(--f-label);letter-spacing:.18em}
.hub b{font-weight:800;font-size:11px}
.node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;color:#D5D7DE;transform:translate(-50%,-50%)}
.node i{width:24px;height:24px;border-radius:50%;background:#262833;display:grid;place-items:center;font-style:normal;font-size:10px;color:var(--or)}
.q h6{margin:5px 0 7px;font:700 11.5px/1.3 var(--f-body)}
.opt{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:10px;background:#22242E;margin-bottom:6px;font-size:10.5px}
.opt i{width:16px;height:16px;border-radius:50%;background:#2E3040;display:grid;place-items:center;font:700 8px/1 var(--f-label);font-style:normal;flex:none}
.opt.ok{box-shadow:inset 0 0 0 1.5px var(--or);background:rgba(255,206,31,.08)}
.opt.ok i{background:var(--or);color:var(--noir)}
.opt.ok::after{content:"✓";margin-left:auto;color:var(--or);font-weight:700}
.opt.sel{box-shadow:inset 0 0 0 1.5px var(--or)}
.opt .rd{margin-left:auto;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #555866}
.opt.sel .rd{background:var(--or);box-shadow:none}
.exact{font-size:9.5px;color:var(--gris)}
.exact b{color:var(--or)}
.ask{position:absolute;right:14px;bottom:62px;display:flex;align-items:center;gap:7px;background:var(--blanc);color:var(--noir);font-weight:700;font-size:10.5px;padding:7px 12px 7px 7px;border-radius:20px;box-shadow:0 10px 24px rgba(0,0,0,.5)}
.ask i{width:20px;height:20px;border-radius:50%;background:var(--noir);color:var(--or);display:grid;place-items:center;font-style:normal;font-size:9px}
.tabbar{display:grid;grid-template-columns:repeat(4,1fr);padding:9px 8px 20px;border-top:1px solid rgba(242,242,244,.06);margin-top:auto;background:#121319}
.tabbar span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:8.5px;color:#7D8090}
.tabbar span::before{content:"";width:15px;height:15px;border-radius:5px;box-shadow:inset 0 0 0 1.5px currentColor}
.tabbar span.on{color:var(--or)}
.ring{--v:72;width:54px;height:54px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--or) calc(var(--v)*1%),#2A2C36 0);position:relative;font:700 12px/1 var(--f-label)}
.ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:inherit;background:#1A1B23}
.ring span{position:relative}
.steps2{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.steps2 li{display:flex;align-items:center;gap:8px;font-size:10.5px}
.steps2 li i{width:15px;height:15px;border-radius:4px;display:grid;place-items:center;font-style:normal;font-size:8px;font-weight:800;flex:none;background:#2E3040;color:var(--gris)}
.steps2 li.ok i{background:var(--or);color:var(--noir)}
.steps2 li.cur i{background:none;box-shadow:inset 0 0 0 1.5px var(--or);color:var(--or)}
.steps2 li.mut{color:var(--gris)}
.tag2{margin-left:auto;font:700 7px/1 var(--f-label);letter-spacing:.1em;padding:4px 6px;border-radius:8px;background:rgba(255,206,31,.16);color:var(--or)}
.tag2.n{background:#2E3040;color:#C9CBD4}
.chat{display:flex;flex-direction:column;gap:9px;flex:1}
.bub{max-width:84%;padding:9px 11px;border-radius:14px;font-size:10.5px}
.bub.me{align-self:flex-end;background:var(--or);color:var(--noir);border-bottom-right-radius:4px;font-weight:500}
.bub.ai{background:#1F2029;border-bottom-left-radius:4px}
.bub.ai small{display:block;font:700 7.5px/1 var(--f-label);letter-spacing:.18em;color:var(--or);margin-bottom:5px}
.dots{display:flex;gap:4px;padding:10px 12px;background:#1F2029;border-radius:14px;align-self:flex-start}
.dots i{width:5px;height:5px;border-radius:50%;background:var(--gris)}
.inp{display:flex;align-items:center;justify-content:space-between;padding:9px 9px 9px 13px;border-radius:14px;background:#1A1B23;color:#7D8090;font-size:10px;margin-bottom:8px}
.inp i{width:20px;height:20px;border-radius:7px;background:var(--or)}
.coach-h{display:flex;align-items:center;gap:9px}
.coach-h i{width:28px;height:28px;border-radius:9px;background:var(--or);color:var(--noir);display:grid;place-items:center;font:800 10px/1 var(--f-label);font-style:normal}
.coach-h b{display:block;font-size:12px}
.coach-h small{color:var(--or);font-size:9px}
.src{font-size:8.5px;color:#7D8090;text-align:center}
.mbadge{align-self:center;width:150px;margin:6px 0 2px}
.mbadge .badge-in .nm{font-size:22cqw}
.btn-app{display:block;text-align:center;padding:10px;border-radius:12px;background:#22242E;font-weight:700;font-size:10.5px}
.btn-app.or{background:var(--or);color:var(--noir)}
.plus{font:700 8px/1 var(--f-label);padding:4px 7px;border-radius:9px;background:var(--or);color:var(--noir)}

/* Cartes flottantes du hero */
.hero-comp{position:relative;height:660px}
.hero-comp .phone2{position:absolute;left:50%;top:0;transform:translateX(-50%)}
.fl{position:absolute;z-index:2;background:rgba(22,23,30,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:16px;padding:13px 15px;box-shadow:0 0 0 1px rgba(242,242,244,.1),0 24px 50px -20px rgba(0,0,0,.9);font-size:11px;line-height:1.4}
.fl h6{margin:6px 0 9px;font:700 12.5px/1.3 var(--f-body);max-width:24ch}
.fl-a{left:-74px;top:64px;width:196px}
.fl-b{left:-66px;top:400px;width:190px;display:flex;gap:12px;align-items:center}
.fl-c{right:-86px;top:40px;width:200px}
.fl-d{right:-80px;top:430px;width:196px;display:flex;gap:12px;align-items:center}
.fl-e{right:-40px;bottom:40px;display:flex;gap:5px;padding:8px}
.fl-e span{font:700 9.5px/1 var(--f-label);padding:6px 8px;border-radius:12px;background:#262833}
.fl-e span.on{background:var(--or);color:var(--noir)}
.fl-e span.mut{background:none;color:var(--gris);font-weight:500}
.fl-b strong,.fl-d strong{display:block;font-size:12px;margin:4px 0 2px}
.fl-b p,.fl-d p{margin:0;color:var(--gris);font-size:9.5px}
.hexb{width:46px;height:46px;flex:none;clip-path:polygon(0 0,80% 0,100% 20%,100% 100%,20% 100%,0 80%);background:var(--or);display:grid;place-items:center}
.hexb span{width:40px;height:40px;clip-path:inherit;background:#16171E;display:grid;place-items:center;color:var(--or);font-weight:800;font-size:16px}
.fl .bub{font-size:10px;max-width:92%}
.fl .chat{gap:7px}
.demo-note{position:absolute;left:0;bottom:0;font:600 10px/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}

/* Onglets écrans plateforme */
.scr-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,4vw,44px)}
.scr-tabs button{background:rgba(242,242,244,.05);border:0;padding:14px 18px 13px;font:700 12.5px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--gris);clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2)}
.scr-tabs button[aria-selected="true"]{background:var(--blanc);color:var(--noir);box-shadow:none}
.scr-tabs button .n{color:var(--or);margin-right:8px}
.scr-tabs button[aria-selected="true"] .n{color:var(--noir)}
.scr-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;min-height:660px}
.scr-panel .dev{display:flex;justify-content:center}
.scr-txt h3{margin:0 0 14px;font:400 clamp(30px,3.2vw,46px)/1 var(--f-title);text-transform:uppercase}
.scr-txt .lead{margin:0 0 26px}
.ticks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ticks li{padding:16px 0 16px 30px;border-bottom:1px solid var(--line);position:relative;color:#C9CBD4;font-size:15.5px}
.ticks li::before{content:"";position:absolute;left:0;top:22px;width:12px;height:12px;background:var(--or);clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,30% 100%,0 70%)}
.ticks li b{color:var(--blanc);display:block;margin-bottom:2px}
.scr-txt .demo{margin-top:18px;font:600 10px/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}

/* Laptop + tableau de bord */
.laptop{width:100%;max-width:640px}
.lap-scr{background:#050608;border-radius:16px 16px 0 0;padding:10px 10px 0;box-shadow:0 0 0 1px #2E3040}
.lap-in{background:#121319;border-radius:8px 8px 0 0;display:grid;grid-template-columns:118px 1fr;min-height:330px;font-size:10px}
.lap-base{height:14px;background:linear-gradient(#3A3C48,#22242E);border-radius:0 0 14px 14px;margin:0 -24px;position:relative}
.lap-base::after{content:"";position:absolute;left:50%;top:0;width:90px;height:5px;transform:translateX(-50%);background:#16171E;border-radius:0 0 6px 6px}
.lap-side{border-right:1px solid rgba(242,242,244,.06);padding:12px 9px;display:flex;flex-direction:column;gap:5px}
.lap-side .logo{border:1px dashed #3A3C48;border-radius:6px;padding:9px 4px;text-align:center;font:700 7px/1 var(--f-label);letter-spacing:.16em;color:var(--gris);margin-bottom:10px}
.lap-side span{padding:6px 7px;border-radius:6px;color:#B5B8C4;font-size:9px}
.lap-side span.on{background:var(--or);color:var(--noir);font-weight:700}
.lap-main{padding:13px 14px;display:flex;flex-direction:column;gap:9px}
.lap-head{display:flex;justify-content:space-between;align-items:flex-start}
.lap-head strong{display:block;font-size:14px;margin-top:3px}
.lap-head .x{font-weight:700;font-size:8.5px;background:var(--or);color:var(--noir);padding:6px 9px;border-radius:9px}
.kpi4{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.kpi4 div{background:#1A1B23;border-radius:9px;padding:8px 9px}
.kpi4 div.on{background:var(--or);color:var(--noir)}
.kpi4 div.on .lb2{color:var(--noir)}
.kpi4 b{display:block;font:700 18px/1 var(--f-label);margin-top:5px}
.lap-row{display:grid;grid-template-columns:1.5fr 1fr;gap:8px}
.tbl{background:#1A1B23;border-radius:9px;padding:8px 10px}
.tr{display:grid;grid-template-columns:1fr 1.2fr .5fr .9fr;gap:6px;align-items:center;padding:4px 0;border-bottom:1px solid rgba(242,242,244,.05);font-size:8.5px}
.tr.h{color:var(--gris);font:600 6.5px/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase}
.bar{height:3px;border-radius:2px;background:#2E3040;position:relative}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--or);border-radius:2px}
.st{font:700 6px/1 var(--f-label);letter-spacing:.08em;padding:3px 5px;border-radius:6px;background:#2E3040;justify-self:start;text-transform:uppercase}
.st.b{background:var(--or);color:var(--noir)}
.st.r{background:rgba(255,178,31,.2);color:var(--ambre)}
.chart{background:#1A1B23;border-radius:9px;padding:8px 10px;display:flex;flex-direction:column}
.chart strong{font-size:9.5px}
.bars{display:flex;align-items:flex-end;gap:5px;height:84px;margin-top:auto}
.bars i{flex:1;background:#3A3C48;border-radius:2px 2px 0 0}
.bars i:last-child{background:var(--or)}

/* Bande RGPD + qualité */
.rgpd{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;margin-top:clamp(40px,5vw,64px);padding:18px 22px;box-shadow:inset 0 0 0 1px rgba(255,206,31,.5);clip-path:var(--cut);background:rgba(255,206,31,.05)}
.rgpd strong{font:700 13px/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
.rgpd span{font-size:14.5px;color:#C9CBD4}
.quality{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(56px,7vw,88px);border-top:1px solid var(--line)}
.quality>div{padding:24px 22px 0 0}
.quality h4{margin:12px 0 8px;font:400 22px/1.05 var(--f-title);text-transform:uppercase}
.quality p{margin:0;color:#C9CBD4;font-size:15px}
.quality .num{font-size:34px}
.q-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:clamp(72px,9vw,120px)}

/* Process sur-mesure */
.process{list-style:none;margin:0 0 clamp(48px,6vw,72px);padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.process li{padding:24px 24px 26px;border-top:2px solid var(--or);background:rgba(242,242,244,.03)}
.process .num{font-size:40px}
.process h4{margin:12px 0 8px;font:400 24px/1.05 var(--f-title);text-transform:uppercase}
.process p{margin:0;color:#C9CBD4;font-size:15.5px}
.ask-q{font:400 clamp(24px,2.4vw,32px)/1.05 var(--f-title);text-transform:uppercase;margin:0 0 18px}
.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.themes div{padding:14px 16px 14px 0}
.themes b{display:block;font:600 11px/1.3 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--or);margin-bottom:5px}
.themes span{font-size:14.5px;color:#C9CBD4}
.value{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px 28px;background:var(--blanc);color:var(--noir);clip-path:var(--cut)}
.value p{margin:0;font-size:17px;line-height:1.5;font-weight:500;max-width:70ch}
.value p strong{font-weight:800}
.value .btn{background:var(--noir);color:var(--blanc)}
.value .btn:hover{background:var(--graphite)}

/* Échelle d'évaluation */
.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(40px,5vw,56px)}
.ladder>div{padding:22px 24px;background:#13141B;clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2)}
.ladder>div.lad-top{background:rgba(255,206,31,.06);box-shadow:inset 0 0 0 1px var(--or)}
.ladder h4{margin:10px 0 6px;font:400 24px/1.05 var(--f-title);text-transform:uppercase}
.ladder p{margin:0;color:#C9CBD4;font-size:15px}

/* Logos : bandeau défilant + mosaïque */
.logo-strip{border-block:1px solid var(--line);overflow:hidden;padding:48px 0 28px;margin-top:clamp(56px,7vw,96px);position:relative}
.logo-strip::before,.logo-strip::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:1;pointer-events:none}
.logo-strip::before{left:0;background:linear-gradient(90deg,var(--noir),transparent)}
.logo-strip::after{right:0;background:linear-gradient(-90deg,var(--noir),transparent)}
.logo-strip .cap{position:absolute;left:max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)));top:16px;z-index:2}
.strip-track{display:flex;align-items:center;width:max-content;animation:tick 55s linear infinite}
.logo-strip:hover .strip-track{animation-play-state:paused}
.lg{flex:none;display:flex;align-items:center;justify-content:center;height:44px;padding:0 34px}
.lg img{max-height:40px;max-width:150px;width:auto;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.75;transition:filter .25s,opacity .25s}
.lg:hover img{filter:none;opacity:1}
.lg .wm{font:700 15px/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:#C9CBD4;white-space:nowrap}
.mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.mosaic li{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;transition:background .2s}
.mosaic li:hover{background:rgba(242,242,244,.04)}
.mosaic img{max-width:78%;max-height:54px;object-fit:contain;filter:grayscale(1) brightness(1.8);opacity:.8;transition:filter .25s,opacity .25s}
.mosaic li:hover img{filter:none;opacity:1}
.mosaic .wm{overflow-wrap:break-word;max-width:100%;font:700 13px/1.3 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:#C9CBD4}

/* Pages légales */
.legal{padding:clamp(140px,14vw,180px) 0 100px}
.legal .wrap{max-width:900px}
.legal h1{margin:16px 0 40px}
.legal h2{font:400 28px/1.05 var(--f-title);text-transform:uppercase;margin:44px 0 14px;padding-top:24px;border-top:1px solid var(--line)}
.legal p,.legal li{color:#C9CBD4;max-width:72ch}
.legal ul{padding-left:20px}
.legal dl{display:grid;grid-template-columns:220px 1fr;gap:8px 20px;margin:0}
.legal dt{font:600 11px/1.6 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.legal dd{margin:0;color:var(--blanc)}
.legal .upd{margin-top:48px;font:600 11px/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
[data-lang-block]{display:none}
[data-lang-block].on{display:block}

@media (max-width:1400px){
  .fl-a,.fl-b{left:-44px}.fl-c,.fl-d{right:-40px}.fl-e{right:-10px}
}
@media (max-width:1180px){
  .hero-comp{height:640px;max-width:560px;margin:0 auto}
  .fl-a,.fl-b{left:-10px}.fl-c,.fl-d{right:-10px}.fl-e{right:10px}
}
@media (max-width:1080px){
  .scr-panel{grid-template-columns:1fr;min-height:0}
  .quality{grid-template-columns:1fr 1fr;gap:0 24px}
  .themes{grid-template-columns:1fr 1fr}
  .mosaic{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  .hero-comp{height:auto;display:flex;justify-content:center;padding-bottom:30px}
  .hero-comp .phone2{position:relative;left:auto;transform:none}
  .fl-a,.fl-c,.fl-b,.fl-e{display:none}
  .fl-d{right:-6px;top:auto;bottom:70px;width:200px}
  .phone2{width:280px}
  .scr{height:580px}
  .process,.ladder{grid-template-columns:1fr}
  .quality{grid-template-columns:1fr}
  .themes{grid-template-columns:1fr}
  .value{grid-template-columns:1fr}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mosaic .wm{font-size:11.5px;overflow-wrap:anywhere}
  mark{white-space:normal;background:var(--or);color:var(--noir)!important}
  mark::before{display:none}
  .lap-in{grid-template-columns:1fr}
  .lap-side{display:none}
  .kpi4{grid-template-columns:1fr 1fr}
  .lap-row{grid-template-columns:1fr}
  .legal dl{grid-template-columns:1fr}
  .legal dd{margin-bottom:10px}
}
@media (prefers-reduced-motion:reduce){.strip-track{flex-wrap:wrap;width:auto;justify-content:center}}

/* =================== V3 : palette enrichie + univers gaming =================== */
/* Or = Education (action, niveau atteint). Violet = jeu vidéo et esport. Rose = influence.
   Ni cyan Agency ni cramoisi Innovation. */
:root{--vio:#7C5CFF;--vio-d:#4B33C9;--vio-l:#B4A6FF;--rose:#FF5FA2;--rose-l:#FF9CC6;--ink:#0B0C11}
.label{color:var(--vio-l)}
.label.muted{color:var(--gris)}
.num{-webkit-text-stroke:1px var(--vio-l)}
.prog li:hover .num,.prog li.on .num{color:var(--vio-l)}
.seyes::before{background:
   linear-gradient(90deg,transparent calc(var(--margin,7vw) - 1px),rgba(124,92,255,.45) calc(var(--margin,7vw) - 1px),rgba(124,92,255,.45) var(--margin,7vw),transparent var(--margin,7vw)),
   repeating-linear-gradient(0deg,rgba(242,242,244,.045) 0 1px,transparent 1px 32px),
   repeating-linear-gradient(0deg,rgba(242,242,244,.018) 0 1px,transparent 1px 8px),
   repeating-linear-gradient(90deg,rgba(242,242,244,.03) 0 1px,transparent 1px 32px)}
.xp-seg.on b{color:var(--blanc)}
.toast{box-shadow:inset 0 0 0 1px rgba(124,92,255,.7)}
.toast small{color:var(--vio-l)}
.feat-ico{color:var(--vio-l);box-shadow:inset 0 0 0 1px rgba(124,92,255,.6);background:rgba(124,92,255,.08)}
.ticks li::before{background:var(--vio)}
.process li{border-top-color:var(--vio)}
.process li:nth-child(3){border-top-color:var(--or)}
.rgpd{box-shadow:inset 0 0 0 1px rgba(124,92,255,.55);background:rgba(124,92,255,.07)}
.rgpd strong{color:var(--vio-l)}
.vol{background:rgba(124,92,255,.08);box-shadow:inset 0 0 0 1px rgba(124,92,255,.55)}
.vol output{color:var(--blanc)}
.vol input[type=range]{accent-color:var(--vio)}
.mod:hover{box-shadow:inset 0 0 0 1px var(--vio)}
.scr-tabs button .n{color:var(--vio-l)}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:inset 0 0 0 2px var(--vio)}
.consent input{accent-color:var(--vio)}
.faq details[open] summary::after{background:var(--vio);color:#fff}
.match-head em{background:var(--rose);color:var(--noir)}
.refs li:hover,.mosaic li:hover{background:rgba(124,92,255,.08)}
.value{background:linear-gradient(110deg,var(--vio-d),#3A2496 70%);color:#fff}
.value p strong{color:#fff}
.value .btn{background:var(--or);color:var(--noir)}
.value .btn:hover{background:var(--lueur)}
.link-out{border-bottom-color:var(--vio)}
.mail{border-bottom-color:var(--vio)}
.dep h3,.ladder h4{color:var(--blanc)}
.ladder>div:first-child .label{color:var(--rose-l)}
.lap-side span.on{background:var(--vio);color:#fff}
.kpi4 div.on{background:var(--vio);color:#fff}
.kpi4 div.on .lb2{color:#E2DCFF}
.st.b{background:var(--vio);color:#fff}
.bub.me{background:var(--vio);color:#fff}
.tag2{background:rgba(124,92,255,.2);color:var(--vio-l)}
.lb2.or{color:var(--vio-l)}
.app-top .lb{color:var(--vio-l)}
.fl .lb2.or{color:var(--vio-l)}
.ring{background:conic-gradient(var(--vio) calc(var(--v)*1%),#2A2C36 0)}
.hexb{background:var(--or)}
.coach-h i{background:var(--vio);color:#fff}
.coach-h small{color:var(--vio-l)}
.inp i{background:var(--vio)}
.btn-app.or{background:var(--vio);color:#fff}
.plus{background:var(--rose);color:var(--noir)}
.opt.sel{box-shadow:inset 0 0 0 1.5px var(--vio)}
.opt.sel .rd{background:var(--vio)}
.steps2 li.ok i{background:var(--vio);color:#fff}
.steps2 li.cur i{box-shadow:inset 0 0 0 1.5px var(--vio-l);color:var(--vio-l)}
.bars i:last-child{background:var(--vio)}
.bar i{background:var(--vio)}
.prog6 i.f{background:var(--vio)}
.prog6 i.h{background:linear-gradient(90deg,var(--vio) 50%,#2A2C36 50%)}
.exact b{color:var(--vio-l)}
.ask i{color:var(--vio-l)}
.chain::before{border-color:rgba(124,92,255,.3)}
.node i{color:var(--vio-l)}

/* Titre du hero : trois industries, trois couleurs */
.hero .h1{font-size:clamp(42px,5.5vw,86px);line-height:1}
.u{position:relative;white-space:nowrap;display:inline-block}
.u::after{content:"";position:absolute;left:.02em;right:.02em;bottom:.02em;height:.13em;transform-origin:left;transform:scaleX(0);transition:transform .7s cubic-bezier(.7,0,.2,1);clip-path:polygon(0 0,100% 0,calc(100% - .1em) 100%,0 100%)}
.u1::after{background:var(--or)}
.u2::after{background:var(--vio);transition-delay:.18s}
.u3::after{background:var(--rose);transition-delay:.36s}
.hl-on .u::after{transform:scaleX(1)}

/* Couches de fond (décor, derrière le contenu) */
.has-bg{position:relative;isolation:isolate;overflow:hidden}
.bg-layer{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero .bg-layer.grid{top:auto;height:62%;opacity:.9}
.glow{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.5}
.glow.v{background:var(--vio)}
.glow.r{background:var(--rose)}
.hero .glow.v{width:520px;height:420px;right:-120px;top:120px;opacity:.28}
.hero .glow.r{width:320px;height:260px;right:30%;bottom:-120px;opacity:.16}
#plateforme .glow.v{width:640px;height:520px;left:-260px;top:160px;opacity:.18}
#contact .glow.v{width:560px;height:440px;right:-160px;bottom:-140px;opacity:.22}
#contact .bg-layer.grid{top:auto;height:55%;opacity:.7}

/* Projecteur qui suit le curseur : trame de points (plateforme) et de pixels (références) */
.spot{--mx:50%;--my:30%}
.spot .bg-layer.dots{background-image:radial-gradient(rgba(180,166,255,.55) 1px,transparent 1.4px);background-size:22px 22px;
  -webkit-mask:radial-gradient(380px 300px at var(--mx) var(--my),#000,transparent 70%);mask:radial-gradient(380px 300px at var(--mx) var(--my),#000,transparent 70%)}
.spot .bg-layer.pix{background-image:linear-gradient(rgba(124,92,255,.32) 0 0);background-size:14px 14px;
  background-image:repeating-linear-gradient(90deg,transparent 0 10px,rgba(14,15,20,1) 10px 14px),repeating-linear-gradient(0deg,rgba(124,92,255,.35) 0 10px,transparent 10px 14px);
  -webkit-mask:radial-gradient(300px 240px at var(--mx) var(--my),#000,transparent 72%);mask:radial-gradient(300px 240px at var(--mx) var(--my),#000,transparent 72%)}

/* Grand 40H en contour, en parallaxe */
.big40{position:absolute;z-index:-1;right:-2vw;top:40px;font:400 clamp(220px,34vw,520px)/.8 var(--f-title);color:transparent;-webkit-text-stroke:1.5px rgba(124,92,255,.35);pointer-events:none;letter-spacing:-.02em;transform:translateY(var(--py,0))}
.big40 span{-webkit-text-stroke:0;color:rgba(255,206,31,.10)}

/* Égaliseur de stream (influence) */
.eqz{position:absolute;left:0;right:0;bottom:0;height:46%;z-index:-1;display:flex;align-items:flex-end;gap:5px;padding:0 var(--pad);opacity:.35;pointer-events:none;
  -webkit-mask:linear-gradient(0deg,#000,transparent);mask:linear-gradient(0deg,#000,transparent)}
.eqz i{flex:1;height:30%;background:linear-gradient(0deg,var(--vio),var(--rose));border-radius:2px 2px 0 0;transform-origin:bottom;animation:eq 1.6s ease-in-out infinite alternate}
@keyframes eq{0%{transform:scaleY(.25)}100%{transform:scaleY(1.9)}}
.live{display:inline-flex;align-items:center;gap:7px;margin-right:12px;padding:5px 9px 4px;font:700 10px/1 var(--f-label);letter-spacing:.2em;color:var(--noir);background:var(--rose);clip-path:var(--cut-s);vertical-align:middle}
.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--noir);animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:.15}}

/* Modes d'expérience : cartes type sélection de mode de jeu */
.modes{gap:12px;border:0}
.modes li{border:0!important;padding:30px 20px 26px;background:linear-gradient(160deg,rgba(124,92,255,.14),rgba(14,15,20,.4) 60%);clip-path:var(--cut);box-shadow:inset 0 0 0 1px rgba(180,166,255,.18);transition:transform .25s,box-shadow .25s}
.modes li:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--vio-l);background:linear-gradient(160deg,rgba(124,92,255,.26),rgba(14,15,20,.4) 60%)}
.modes li:nth-child(even){background:linear-gradient(160deg,rgba(255,95,162,.12),rgba(14,15,20,.4) 60%)}
.modes li:nth-child(even):hover{box-shadow:inset 0 0 0 1px var(--rose-l)}
.modes li small{color:var(--vio-l)}
.modes li:nth-child(even) small{color:var(--rose-l)}

/* Badges : inclinaison 3D au survol */
.levels button{perspective:700px}
.levels .badge{transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .15s ease-out}
.levels button:hover .badge{transform:rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-4px)}

/* Mosaïque : case « votre école » */
.mosaic li.you{background:rgba(124,92,255,.10)}
.mosaic li.you a{font:700 12px/1.35 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--vio-l);text-decoration:none}
.mosaic li.you a b{display:block;font:400 26px/1 var(--f-title);color:var(--blanc);letter-spacing:0;margin-bottom:6px}

/* Ticker : un mot sur deux en violet */
.ticker span:nth-child(even){color:var(--vio-l)}
.ticker span::after{color:var(--rose)}

@media (max-width:760px){
  .hero .h1{font-size:clamp(34px,10.4vw,52px)}
  .u{white-space:normal}
  .big40{top:auto;bottom:-20px;right:-10px;font-size:46vw}
  .eqz{gap:3px}
  .hero .glow.v{width:300px;height:300px;right:-140px}
}
@media (prefers-reduced-motion:reduce){.u::after{transform:none}.eqz i{animation:none}.live::before{animation:none}}

.modes li{overflow-wrap:break-word}
.hero .bg-layer.grid,#contact .bg-layer.grid{-webkit-mask:linear-gradient(180deg,transparent,#000 35%);mask:linear-gradient(180deg,transparent,#000 35%)}
.nw{white-space:nowrap}
.themes b{color:var(--vio-l)}
.sum .segs i.f{background:var(--vio)}
.spot{--mx:72%;--my:180px}
@media (max-width:1080px){.modes li:nth-child(n+4){border-top:0}}

/* Surligneur décliné : or (Education), violet (jeu vidéo, esport), rose (influence) */
.hl-v mark::before{background:var(--vio)}
.hl-v.hl-on mark,.hl-v mark{color:#fff}
.hl-r mark::before{background:var(--rose)}
@media (max-width:760px){
  .hl-v mark{background:var(--vio);color:#fff!important}
  .hl-r mark{background:var(--rose)}
  .fl-d{display:none}
  .eqz{opacity:.2}
}

.h2{line-height:1.04}
mark::before{top:.13em;bottom:.03em}
@media (max-width:760px){mark{padding:.02em .1em 0}}

.modes li{font-size:clamp(20px,1.9vw,30px)}
@media (max-width:760px){
  mark,.hl-v mark,.hl-r mark{background:linear-gradient(transparent 14%,var(--mk,var(--or)) 14%,var(--mk,var(--or)) 98%,transparent 98%)}
  .hl-v mark{--mk:var(--vio)} .hl-r mark{--mk:var(--rose)}
}

/* =================== V4 =================== */
/* Ligne d'appel à l'action */
.cta-line{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:clamp(48px,6vw,72px);padding:24px 28px;background:rgba(242,242,244,.03);box-shadow:inset 0 0 0 1px var(--line2);clip-path:var(--cut)}
.cta-line p{margin:0;font:600 clamp(17px,1.5vw,20px)/1.4 var(--f-label);max-width:52ch}

/* Fiche technique */
.spec-sheet{position:relative;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,2.25fr);margin-top:clamp(56px,7vw,88px);background:linear-gradient(135deg,rgba(124,92,255,.10),rgba(14,15,20,0) 55%),#111219;box-shadow:inset 0 0 0 1px rgba(180,166,255,.22);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.ss-head{padding:32px 30px;border-right:1px solid rgba(180,166,255,.16);display:flex;flex-direction:column;gap:10px}
.ss-head .h3{font-size:clamp(28px,2.6vw,38px)}
.seal{position:relative;width:132px;height:132px;margin-top:auto;align-self:flex-start}
.seal svg{width:100%;height:100%;animation:spin 28s linear infinite}
.seal text{font:600 13.5px var(--f-label);letter-spacing:2.6px;fill:var(--vio-l)}
.seal span{position:absolute;inset:30px;border-radius:50%;display:grid;place-items:center;font:700 15px/1 var(--f-label);letter-spacing:.14em;color:var(--noir);background:var(--vio-l);box-shadow:0 0 0 6px rgba(124,92,255,.18)}
@keyframes spin{to{transform:rotate(360deg)}}
.ss-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.ss-grid>div{padding:26px 26px 28px;border-left:1px solid rgba(180,166,255,.10);border-bottom:1px solid rgba(180,166,255,.10);position:relative;transition:background .25s}
.ss-grid>div:nth-child(3n+1){border-left:0}
.ss-grid>div:nth-child(n+4){border-bottom:0}
.ss-grid>div:hover{background:rgba(124,92,255,.07)}
.ss-grid>div::before{content:"";position:absolute;left:26px;top:0;width:28px;height:2px;background:var(--vio)}
.ss-grid>div:nth-child(n+4)::before{background:var(--rose)}
.ss-grid dt{font:600 10.5px/1.3 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
.ss-grid dd{margin:12px 0 0}
.ss-grid dd b{display:block;font:700 34px/1 var(--f-label);color:var(--blanc);margin-bottom:10px}
.ss-grid dd span{display:block;font-size:14.5px;line-height:1.5;color:#C9CBD4}

/* Employabilité */
#competences .glow.r{width:520px;height:420px;right:-200px;top:30%;opacity:.12}
.emp{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.emp-card{padding:clamp(26px,3vw,40px);background:linear-gradient(160deg,rgba(255,206,31,.07),rgba(14,15,20,0) 50%),#13141B;clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2)}
.emp-card.alt{background:linear-gradient(160deg,rgba(124,92,255,.14),rgba(14,15,20,0) 50%),#13141B}
.emp-tag{display:inline-block;padding:6px 10px 5px;font:700 10.5px/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:var(--noir);background:var(--or);clip-path:var(--cut-s)}
.emp-card.alt .emp-tag{background:var(--vio);color:#fff}
.emp-card h3{margin:18px 0 22px;font:400 clamp(26px,2.4vw,34px)/1.05 var(--f-title);text-transform:uppercase}
.emp-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.emp-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.emp-list b{display:block;font-weight:700;margin-bottom:3px}
.emp-list span{color:#C9CBD4;font-size:15.5px}
.emp-k{margin:22px 0 0;font:600 11px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.emp .chips{margin-top:12px}
.emp .chips li{font-size:11px}

/* Section STAKRN simplifiée */
#stakrn{padding:clamp(56px,7vw,88px) 0}
.parent{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.parent p{margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:#C9CBD4;max-width:60ch}
.parent p strong{color:var(--blanc)}

/* Égaliseur discret */
.eq-row{display:flex;align-items:center;gap:28px;margin-top:28px}
.eq-row .eqz{position:relative;flex:1;height:34px;padding:0;opacity:.55;gap:3px;inset:auto;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);z-index:0}
.eq-row .eqz i{height:40%;border-radius:1px}
.eq-row .btn{flex:none}

/* CTA flottant */
.float-cta{position:fixed;right:var(--pad);bottom:24px;z-index:55;box-shadow:0 18px 40px -12px rgba(0,0,0,.8);transform:translateY(160%);transition:transform .35s cubic-bezier(.2,.9,.2,1.1)}
.float-cta.show{transform:none}

@media (max-width:1080px){
  .spec-sheet{grid-template-columns:1fr}
  .ss-head{border-right:0;border-bottom:1px solid rgba(180,166,255,.16);flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .seal{margin-top:0;width:110px;height:110px}
  .seal span{inset:26px;font-size:13px}
  .emp{grid-template-columns:1fr}
  .quality{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .ss-grid{grid-template-columns:1fr 1fr}
  .ss-grid>div{border-left:0!important;border-bottom:1px solid rgba(180,166,255,.10)!important;padding:22px 18px}
  .ss-grid>div:nth-child(odd){border-right:1px solid rgba(180,166,255,.10)}
  .ss-grid>div::before{left:18px}
  .ss-grid dd b{font-size:28px}
  .ss-head>div{width:100%}
  .quality{grid-template-columns:1fr}
  .eq-row{flex-direction:column;align-items:stretch}
  .eq-row .btn{justify-content:center}
  .cta-line{padding:22px 20px}
  .cta-line .btn{width:100%;justify-content:center}
  .float-cta{right:12px;bottom:12px;padding:13px 16px 12px;font-size:11.5px}
  .toast{bottom:76px}
}
@media (prefers-reduced-motion:reduce){.seal svg{animation:none}}
@media (max-width:1080px){.eq-row{flex-direction:column;align-items:flex-start}.eq-row .eqz{width:100%;flex:none}}
.btn{max-width:100%}
.btn span{white-space:normal}
.quality{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.quality{grid-template-columns:1fr}}
.spot{--mx:-999px;--my:-999px}
.contact .label{display:block;margin-bottom:20px}

/* =================== V5 =================== */
/* Pictos pixel */
.px{display:inline-block;line-height:0}
.px svg{width:100%;height:auto;image-rendering:pixelated}
.label.has-px::before{content:"";display:inline-block;width:15px;height:13px;margin-right:10px;vertical-align:-2px;background:var(--ico) no-repeat center/contain}
.ticker span::after{content:"";width:26px;height:24px;background:var(--ico) no-repeat center/contain;font-size:0}
.press{display:flex;align-items:center;gap:10px;margin:22px 0 0;font:700 11px/1 var(--f-label);letter-spacing:.32em;color:var(--gris);animation:blink 1.4s steps(2) infinite}
.press .px{width:20px}
.pix-float{position:absolute;z-index:-1;opacity:.5;pointer-events:none;animation:bob 4s ease-in-out infinite}
.pix-float .px{width:100%}
.pf1{width:120px;right:6%;top:70px}
.pf2{width:70px;left:3%;bottom:90px;animation-delay:-1.3s;opacity:.35}
.pf3{width:54px;right:22%;bottom:60px;animation-delay:-2.6s;opacity:.35}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* Chiffres clés */
#pourquoi{padding-top:clamp(72px,8vw,110px)}
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fig{position:relative;padding:26px 26px 28px;background:#13141B;clip-path:var(--cut);box-shadow:inset 0 0 0 1px var(--line2);display:flex;flex-direction:column;gap:12px;transition:transform .25s,box-shadow .25s,background .25s}
.fig::after{content:"";position:absolute;left:0;top:0;height:3px;width:56px;background:var(--c)}
.fig.k0{--c:var(--or)}.fig.k1{--c:var(--vio)}.fig.k2{--c:var(--rose)}
.fig:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--c);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 14%,transparent),#13141B 60%)}
.fig-cat{display:flex;align-items:center;gap:8px;font:600 10.5px/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.fig-cat .px{width:16px}
.fig-n{font:700 clamp(38px,4vw,56px)/1 var(--f-label);color:var(--blanc);font-variant-numeric:tabular-nums;white-space:nowrap}
.fig-l{color:#C9CBD4;font-size:15px;line-height:1.45}
.figs-src{margin:18px 0 0;font-size:12.5px;color:var(--gris);max-width:none}

/* Employabilité : effets au survol */
#competences .sec-head h2 mark{overflow:hidden}
#competences .sec-head h2:hover mark::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);animation:shine .8s ease-out}
@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.emp-card{position:relative;transition:transform .3s cubic-bezier(.2,.9,.2,1.1),box-shadow .3s}
.emp-card:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px var(--or),0 30px 60px -30px rgba(255,206,31,.35)}
.emp-card.alt:hover{box-shadow:inset 0 0 0 1px var(--vio),0 30px 60px -30px rgba(124,92,255,.5)}
.emp-px{position:absolute;right:26px;top:24px;width:34px;transition:transform .4s}
.emp-px .px{width:100%}
.emp-card:hover .emp-px{animation:hop .6s ease-out}
@keyframes hop{0%{transform:translateY(0)}35%{transform:translateY(-12px) rotate(-6deg)}70%{transform:translateY(2px)}100%{transform:none}}
.emp-list li{position:relative;transition:padding-left .25s,background .25s}
.emp-list li::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--or);transform:scaleY(0);transition:transform .25s}
.emp-card.alt .emp-list li::before{background:var(--vio)}
.emp-list li:hover{padding-left:16px;background:rgba(242,242,244,.03)}
.emp-list li:hover::before{transform:scaleY(1)}
.emp .chips li{transition:background .2s,color .2s,transform .2s}
.emp .chips li:hover{background:var(--or);color:var(--noir);transform:translateY(-2px)}
.emp-tag{transition:letter-spacing .25s}
.emp-card:hover .emp-tag{letter-spacing:.24em}
.em-note{margin:18px 0 0;font-size:13.5px;color:var(--gris)}

/* Formation : titre pédagogie */
.ped-title{font-size:clamp(24px,2.2vw,30px);margin:0 0 4px}

/* +10 XP */
.xpf{position:fixed;z-index:80;pointer-events:none;transform:translate(-50%,-50%);font:700 15px/1 var(--f-label);letter-spacing:.06em;color:var(--or);text-shadow:0 0 12px rgba(255,206,31,.6);animation:xpup .9s ease-out forwards}
@keyframes xpup{to{transform:translate(-50%,-260%);opacity:0}}

/* Version chinoise */
.zh-only{display:none}
:lang(zh) .zh-only{display:block}
:lang(zh) .not-zh{display:none}
:lang(zh) body,:lang(zh){--f-body:'Manrope',"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;--f-title:'Anton',"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",Impact,sans-serif;--f-label:'Chakra Petch',"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif}
:lang(zh) .h1,:lang(zh) .h2,:lang(zh) .h3,:lang(zh) .emp-card h3,:lang(zh) .faq summary,:lang(zh) .mod h4,:lang(zh) .modes li,:lang(zh) .trait h3,:lang(zh) .process h4,:lang(zh) .quality h4,:lang(zh) .dep h3,:lang(zh) .match h3,:lang(zh) .scr-txt h3,:lang(zh) .eq-b strong,:lang(zh) .ladder h4{font-weight:800;letter-spacing:.02em;line-height:1.2}
:lang(zh) .label,:lang(zh) .fig-cat,:lang(zh) .emp-tag,:lang(zh) .chips li,:lang(zh) .btn{letter-spacing:.08em}
:lang(zh) .hero .h1{font-size:clamp(38px,4.6vw,70px);line-height:1.15}
.wechat{margin-top:28px;padding:22px 24px;background:#13141B;box-shadow:inset 0 0 0 1px rgba(124,92,255,.5);clip-path:var(--cut);max-width:380px}
.wechat b{display:block;font:700 34px/1.1 var(--f-label);margin:8px 0 6px}
.wechat p{margin:0 0 16px;color:#C9CBD4;font-size:14.5px}
:lang(zh) .contact-grid{grid-template-columns:1fr}

@media (max-width:1080px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}.pf1{width:80px}}
@media (max-width:760px){
  .figs{grid-template-columns:1fr 1fr;gap:10px}
  .fig{padding:20px 16px 22px}
  .fig-n{font-size:clamp(26px,8vw,36px)}
  .fig-l{font-size:13.5px}
  .pf1{width:64px;top:30px;right:4%;opacity:.3}.pf2,.pf3{display:none}
  .emp-px{width:26px;right:18px;top:18px}
}
@media (max-width:420px){.figs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.press,.pix-float{animation:none}}

.fig-n small{font-size:.6em;margin-left:.04em;font-weight:600}
.fig-n{font-size:clamp(34px,3.4vw,50px)}
:lang(zh) .fig-n small{font-size:.5em;margin-left:.08em}
:lang(zh) .hero .h1{font-size:clamp(34px,3.9vw,58px)}
@media (max-width:760px){:lang(zh) .hero .h1{font-size:clamp(30px,9vw,42px)}.fig-n{font-size:clamp(26px,8vw,36px)}}
.langs button,.langs a{white-space:nowrap}
@media (max-width:400px){.langs button,.langs a{padding:8px 5px}.brand,.brand img{width:120px}}
.emp-tag{max-width:calc(100% - 44px)}

.langs a{display:inline-block;padding:8px 7px;color:var(--gris);text-decoration:none}
.langs a:hover{color:var(--blanc)}
.langs a[aria-current="true"]{color:var(--noir);background:var(--blanc);clip-path:var(--cut-s)}
