/* AB Auto 74 — « Néon Lab » : pages univers (hubs) et pages services */
body.u-t{--a:var(--g);--argb:57,255,136;--a2:#00c853}body.u-e{--a:var(--c);--argb:41,216,255;--a2:#5b6cff}
.tag{font:600 12px 'JetBrains Mono';letter-spacing:.25em;text-transform:uppercase;display:inline-flex;gap:10px;align-items:center;color:var(--a)}
.tag::before{content:"";width:28px;height:1px;background:currentColor}
em{font-style:normal;color:var(--a);text-shadow:0 0 30px rgba(var(--argb),.55)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:12px;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn.f{background:var(--a);color:#001016;box-shadow:0 0 30px rgba(var(--argb),.4)}.btn.f:hover{box-shadow:0 0 50px rgba(var(--argb),.75);transform:translateY(-2px)}
.btn.o{border-color:#ffffff30;color:#fff;background:#ffffff08;backdrop-filter:blur(8px)}.btn.o:hover{border-color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.rv{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}.rv.in{opacity:1;transform:none}
/* ---------- HERO service / hub ---------- */
.sh{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:140px 6vw 70px;overflow:hidden;isolation:isolate}
.sh .bgi{position:absolute;inset:-8% 0 0 0;background:#000 center/cover no-repeat;z-index:-3;animation:kb 22s ease-out both;will-change:transform}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
.sh .bgi.fit{left:36%;background-size:contain;background-position:right 45%}
.sh::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#050607 12%,#050607cc 38%,#05060700 72%),linear-gradient(0deg,#050607 0%,#05060700 38%),radial-gradient(ellipse at 80% 20%,rgba(var(--argb),.12),transparent 60%)}
.sh canvas.fx{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.sh .grid-bg{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(var(--argb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--argb),.07) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 70% 40%,#000 0,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 0,transparent 70%)}
.sh .ct{position:relative;max-width:760px;width:100%}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:12px 'JetBrains Mono';letter-spacing:.14em;color:#aab3b9;margin-bottom:22px;text-transform:uppercase}
.crumb a:hover{color:#fff}.crumb .s{opacity:.5}.crumb b{color:var(--a);font-weight:500}
.sh h1{font:800 clamp(42px,6.2vw,96px)/.98 Inter;letter-spacing:-.035em;margin:18px 0 22px}
.sh .lead{font-size:19px;line-height:1.65;color:#cdd4d8;max-width:600px;margin-bottom:32px}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px;max-width:720px}
.kpis div{padding:16px 18px;border-radius:16px;background:#00000080;border:1px solid #ffffff14;backdrop-filter:blur(10px);position:relative;overflow:hidden}
.kpis div::after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,var(--a),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.2s .3s}
.kpis.in div::after{transform:none}
.kpis b{display:block;font:900 clamp(18px,1.9vw,28px) Orbitron;color:var(--a);text-shadow:0 0 22px rgba(var(--argb),.45)}.kpis span{font-size:12.5px;color:#aab3b9}
.subs{margin-top:34px}.subs small{display:block;font:600 11px 'JetBrains Mono';letter-spacing:.25em;color:#aab3b9;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips a{padding:9px 15px;border-radius:30px;border:1px solid #ffffff22;background:#0008;font-size:13.5px;color:#dfe5e8;transition:.2s;backdrop-filter:blur(6px)}
.chips a:hover,.chips a.on{border-color:var(--a);color:var(--a);box-shadow:0 0 18px -6px var(--a)}
.cue{position:absolute;right:6vw;bottom:70px;writing-mode:vertical-rl;font:11px 'JetBrains Mono';letter-spacing:.3em;color:#8f989e;display:flex;align-items:center;gap:14px}
.cue::after{content:"";width:1px;height:70px;background:linear-gradient(var(--a),transparent);animation:cue 2s infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* sous-nav collante */
.snav{position:sticky;top:68px;z-index:40;display:flex;gap:8px;align-items:center;padding:12px 6vw;background:rgba(5,6,7,.82);backdrop-filter:blur(14px);border-bottom:1px solid #ffffff10;overflow-x:auto;scrollbar-width:none}
.snav::-webkit-scrollbar{display:none}
.snav span{font:600 11px 'JetBrains Mono';letter-spacing:.2em;color:var(--a);white-space:nowrap;margin-right:8px}
.snav a{white-space:nowrap;padding:8px 14px;border-radius:30px;font-size:13px;color:#c4ccd2;border:1px solid transparent;transition:.2s}
.snav a:hover,.snav a.on{color:#fff;border-color:rgba(var(--argb),.5);background:rgba(var(--argb),.08)}
.snav .go{margin-left:auto;background:var(--a);color:#000;font-weight:700}
/* sections */
.sec{position:relative;padding:120px 6vw}
.sh2{max-width:860px}.sh2 h2{font:800 clamp(30px,4.2vw,58px)/1.04 Inter;letter-spacing:-.025em;margin:14px 0 16px}.sh2 p{color:var(--mu);line-height:1.65;font-size:16.5px;max-width:640px}
.mq{overflow:hidden;white-space:nowrap;padding:22px 0;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;background:#030405}
.mq div{display:inline-block;animation:mqa 34s linear infinite;font:900 26px Orbitron;color:#ffffff1f;letter-spacing:.04em}.mq i{font-style:normal;color:var(--a);margin:0 28px;text-shadow:0 0 14px var(--a)}@keyframes mqa{to{transform:translateX(-50%)}}
/* bento sous-prestations */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px}
.of{position:relative;padding:30px;border-radius:22px;background:linear-gradient(160deg,#ffffff0d,#ffffff03);border:1px solid #ffffff14;overflow:hidden;transition:transform .35s,border-color .35s;isolation:isolate;display:flex;flex-direction:column;min-height:280px}
.of::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(var(--argb),.16),transparent 45%);opacity:0;transition:opacity .35s}
.of:hover{transform:translateY(-6px);border-color:rgba(var(--argb),.45)}.of:hover::before{opacity:1}
.of .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto}
.of .ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:var(--a);background:rgba(var(--argb),.08);border:1px solid rgba(var(--argb),.3);box-shadow:0 0 26px -8px var(--a)}.of .ic svg{width:26px;height:26px}
.of .nb{font:900 46px Orbitron;color:#ffffff0c;line-height:1}
.of .pl{display:inline-block;margin-top:26px;font:600 11px 'JetBrains Mono';letter-spacing:.14em;text-transform:uppercase;color:var(--a);padding:5px 10px;border:1px solid rgba(var(--argb),.4);border-radius:20px;align-self:flex-start}
.of h3{font-size:23px;margin:14px 0 10px;letter-spacing:-.015em}.of p{color:#b3bcc2;font-size:15px;line-height:1.6}
.of .more{margin-top:18px;font-weight:700;font-size:14px;color:var(--a);opacity:.85}.of .more:hover{opacity:1}
.of.big{grid-column:span 2;background-size:cover;background-position:center;min-height:340px}
.of.big h3{font-size:clamp(26px,2.6vw,36px)}.of.big p{max-width:440px;color:#d0d7db}
/* module signature */
.mod{margin-top:54px}
.pan{border:1px solid #ffffff14;background:#0a0d0e;border-radius:24px;padding:28px;position:relative;overflow:hidden}
.pan.glow{box-shadow:0 30px 100px -40px rgba(var(--argb),.5)}
.exl{display:inline-block;margin-left:10px;font:600 10px 'JetBrains Mono';letter-spacing:.15em;padding:4px 8px;border-radius:4px;background:rgba(var(--argb),.14);color:var(--a);vertical-align:middle}
.note{font-size:12.5px;color:#9aa4ab;margin-top:14px;font-style:italic}
/* dyno */
.dyno{display:grid;grid-template-columns:360px 1fr;gap:20px}
.dyno label{display:block;font:600 11px 'JetBrains Mono';letter-spacing:.2em;color:#aab3b9;margin:16px 0 8px;text-transform:uppercase}
.dyno select{width:100%;padding:14px;border-radius:12px;background:#000;color:#fff;border:1px solid #ffffff22;font:15px Inter;appearance:none}
.stg{display:flex;gap:8px;margin-top:20px}.stg button{flex:1;padding:12px;border-radius:12px;border:1px solid #ffffff22;background:none;color:#fff;font:700 13px Orbitron;cursor:pointer}
.stg button.on{background:var(--a);color:#000;border-color:var(--a);box-shadow:0 0 20px rgba(var(--argb),.5)}.stg button:disabled{opacity:.3;cursor:not-allowed}
.res{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.res div{background:#000;border:1px solid #ffffff12;border-radius:14px;padding:14px}.res b{font:900 30px Orbitron;color:var(--a)}.res small{display:block;color:#aab3b9;font-size:12px;margin-top:4px}
.dyno canvas{width:100%;height:440px;display:block}
.legend{display:flex;gap:18px;flex-wrap:wrap;font:12px 'JetBrains Mono';color:#aab3b9;margin-bottom:10px}.legend i{display:inline-block;width:18px;height:2px;vertical-align:middle;margin-right:6px}
/* table */
.tbw{overflow-x:auto;margin-top:34px;border-radius:20px;border:1px solid #ffffff12;background:#0a0d0e}
table.tb{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}.tb th,.tb td{padding:16px 18px;border-bottom:1px solid #ffffff0e;text-align:left}
.tb th{font:600 11px 'JetBrains Mono';letter-spacing:.18em;color:#aab3b9;text-transform:uppercase;background:#ffffff05}.tb td:not(:first-child){color:var(--a);font-weight:600}.tb tr:last-child td{border-bottom:0}
.tb tbody tr{transition:background .2s}.tb tbody tr:hover{background:rgba(var(--argb),.05)}
/* calculateur E85 */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.calc label{display:flex;justify-content:space-between;font:600 12px 'JetBrains Mono';letter-spacing:.1em;color:#aab3b9;margin:18px 0 8px}.calc label b{color:#fff}
.calc input[type=range]{width:100%;accent-color:var(--a)}
.calc .res2{display:flex;flex-direction:column;justify-content:center}.calc .res2>b{display:block;font:900 clamp(52px,6vw,96px)/1 Orbitron;color:var(--a);text-shadow:0 0 40px rgba(var(--argb),.5);margin:10px 0}
.calc .sm{display:flex;gap:30px;margin-top:16px}.calc .sm b{font:900 28px Orbitron;color:#fff;display:block}.calc .sm span{color:#aab3b9;font-size:13px}
.tank{height:14px;border-radius:10px;background:#ffffff10;overflow:hidden;margin-top:26px}.tank i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--a2),var(--a));box-shadow:0 0 18px var(--a);transition:width .6s}
/* boîte : illustration des passages */
.shift{display:grid;gap:18px}
.lane{display:grid;grid-template-columns:170px 1fr 70px;gap:16px;align-items:center}
.lane b{font-size:14px}.lane small{display:block;color:#aab3b9;font-size:12px}
.track{height:44px;border-radius:12px;background:#000;border:1px solid #ffffff12;position:relative;overflow:hidden;display:flex}
.track i{flex:1;border-right:1px solid #ffffff10;position:relative;font:700 12px Orbitron;color:#ffffff40;display:grid;place-items:center;font-style:normal}
.track .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,transparent,rgba(var(--argb),.35));border-right:2px solid var(--a);box-shadow:4px 0 20px -4px var(--a)}
.lane.org .fill{background:linear-gradient(90deg,transparent,#ffffff22);border-right-color:#fff;box-shadow:none}
.run .fill{animation:shiftrun var(--t) linear forwards}@keyframes shiftrun{to{width:100%}}
.gear{font:900 34px Orbitron;color:var(--a);text-align:center}
/* combiné + launch */
.cl{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
.dash{position:relative;height:400px;border-radius:30px;background:radial-gradient(ellipse at 50% 120%,rgba(var(--argb),.18),#000 70%),#020405;border:1px solid rgba(var(--argb),.25);overflow:hidden}
.dash canvas{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;touch-action:none}
.lights{display:flex;gap:12px;justify-content:center;margin:24px 0}.lights i{width:44px;height:44px;border-radius:50%;background:#1a0a0a;border:1px solid #ffffff18;transition:.15s}.lights i.r{background:#ff3b3b;box-shadow:0 0 24px #ff3b3b}.lights.go i{background:var(--a);box-shadow:0 0 24px var(--a)}
.lc-t{font:900 44px Orbitron;text-align:center;color:#fff}.lc-t small{font-size:14px;color:#aab3b9}
/* ECU 3D */
.ecu{display:grid;grid-template-columns:1fr 1.35fr;gap:30px;align-items:center}
.ecu3d{height:560px;position:relative;border-radius:24px;background:radial-gradient(circle at 50% 60%,rgba(var(--argb),.12),transparent 60%);cursor:grab;touch-action:pan-y}
.ecu3d .ld{position:absolute;inset:0;display:grid;place-items:center;font:12px 'JetBrains Mono';letter-spacing:.3em;color:var(--a)}
.meth{list-style:none;margin-top:20px}.meth li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #ffffff10;color:#aab3b9;transition:.3s;cursor:pointer}.meth li b{font:600 12px 'JetBrains Mono';color:#ffffff40}.meth li.on{color:#fff}.meth li.on b{color:var(--a)}
.rng{width:100%;accent-color:var(--a);margin-top:18px}
/* rayon X / hotspots */
.xr{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center}
.xim{position:relative;aspect-ratio:1;border-radius:24px;overflow:hidden;background:#000 center/contain no-repeat;border:1px solid #ffffff12}
.xim::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0,rgba(var(--argb),.16) 50%,transparent 52%);background-size:100% 220%;animation:scan 4.5s linear infinite;pointer-events:none}@keyframes scan{from{background-position:0 -120%}to{background-position:0 120%}}
.hs{position:absolute;width:24px;height:24px;border-radius:50%;background:var(--a);border:0;box-shadow:0 0 0 6px rgba(var(--argb),.25),0 0 20px var(--a);cursor:pointer;transform:translate(-50%,-50%);z-index:3}
.hs::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px solid var(--a);animation:pu 2s infinite}@keyframes pu{from{transform:scale(.5);opacity:1}to{transform:scale(1.7);opacity:0}}
.hs.on{background:#fff}
.xcard{padding:30px;border-radius:22px;border:1px solid rgba(var(--argb),.3);background:linear-gradient(140deg,rgba(var(--argb),.08),transparent);min-height:220px}
.xcard b{font:600 12px 'JetBrains Mono';letter-spacing:.25em;color:var(--a)}.xcard h4{font-size:26px;margin:12px 0}.xcard p{color:#c4ccd2;line-height:1.65}
.xnav{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.xnav button{padding:8px 14px;border-radius:30px;border:1px solid #ffffff22;background:none;color:#c4ccd2;cursor:pointer;font:13px Inter}.xnav button.on{border-color:var(--a);color:var(--a)}
/* codage : interrupteurs */
.tg{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sw{display:grid;grid-template-columns:44px 1fr 56px;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;background:#000;border:1px solid #ffffff10;margin-bottom:10px;cursor:pointer;transition:.25s}
.sw.on{border-color:rgba(var(--argb),.5);background:rgba(var(--argb),.05)}
.sw .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--a);background:rgba(var(--argb),.08)}.sw .ic svg{width:22px;height:22px}
.sw b{display:block;font-size:15px}.sw small{color:#aab3b9;font-size:12.5px}
.sw .k{width:52px;height:30px;border-radius:20px;background:#ffffff1a;position:relative;transition:.25s}.sw .k::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.25s}
.sw.on .k{background:var(--a);box-shadow:0 0 16px var(--a)}.sw.on .k::after{left:25px;background:#001016}
.scr{border-radius:24px;background:#000;border:1px solid #ffffff14;padding:26px;display:flex;flex-direction:column;justify-content:space-between;min-height:360px;background-image:linear-gradient(rgba(var(--argb),.05) 1px,transparent 1px);background-size:100% 6px}
.scr .big{font:900 72px Orbitron;color:var(--a);text-shadow:0 0 30px rgba(var(--argb),.5)}
.scr ul{list-style:none;display:grid;gap:6px;font:13px 'JetBrains Mono';color:#c4ccd2}.scr li::before{content:"▸ ";color:var(--a)}
/* dépollution : schéma */
.dp{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.flow{display:flex;align-items:center;gap:0;padding:40px 20px;border-radius:24px;background:#000;border:1px solid #ffffff12;overflow-x:auto}
.node{flex:0 0 auto;width:112px;text-align:center;cursor:pointer;background:none;border:0;color:#fff;font:inherit}
.node .c{width:76px;height:76px;margin:0 auto 12px;border-radius:22px;display:grid;place-items:center;border:1px solid #ffffff22;background:#0a0d0e;transition:.3s;position:relative}
.node .c svg{width:30px;height:30px;color:#aab3b9;transition:.3s}
.node b{font-size:13px;display:block}.node small{font:10px 'JetBrains Mono';letter-spacing:.12em;color:#8f989e}
.node.chk .c{border-color:#ffb020;box-shadow:0 0 22px -4px #ffb020}.node.chk small{color:#ffb020}
.node.ok .c{border-color:var(--a);box-shadow:0 0 22px -4px var(--a)}.node.ok .c svg{color:var(--a)}.node.ok small{color:var(--a)}
.node.sel .c{background:rgba(var(--argb),.12)}
.pipe{flex:1 0 34px;height:2px;background:#ffffff18;position:relative;overflow:hidden;margin-bottom:36px}.pipe::after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,var(--a),transparent);animation:pipe 1.8s linear infinite}@keyframes pipe{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
.legal{margin-top:16px;padding:16px 20px;border-radius:14px;border:1px solid #ff5a5a44;background:#ff3b3b0d;color:#ffd0d0;font-size:14px;line-height:1.6}
/* étapes */
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:60px;position:relative;counter-reset:s}
.tl::before,.tl::after{content:"";position:absolute;top:26px;left:26px;right:26px;height:2px;background:#ffffff12}.tl::after{background:linear-gradient(90deg,var(--a),var(--c));right:auto;width:calc((100% - 52px)*var(--p,0));box-shadow:0 0 14px var(--a);transition:width .2s linear}
.tl div{position:relative;z-index:2}.tl div::before{counter-increment:s;content:"0" counter(s);display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#050607;border:1px solid var(--a);color:var(--a);font:700 14px Orbitron;margin-bottom:20px;box-shadow:0 0 22px rgba(var(--argb),.5)}
.tl h4{font-size:18px;margin-bottom:8px}.tl p{font-size:14.5px;color:#aab3b9;line-height:1.6}
.notes{margin-top:60px;display:grid;gap:12px}.notes p{padding:18px 22px;border-left:3px solid var(--a);background:#ffffff06;border-radius:0 14px 14px 0;font-size:14.5px;line-height:1.65;color:#d0d7db}
.faq{margin-top:40px;max-width:920px}.faq details{border-bottom:1px solid #ffffff14;padding:20px 0}.faq summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::after{content:"+";color:var(--a);font-size:22px;line-height:1}.faq details[open] summary::after{content:"–"}.faq p{color:#aab3b9;margin-top:12px;line-height:1.65}
/* services liés */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.rc{position:relative;min-height:300px;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;border:1px solid #ffffff14;isolation:isolate;transition:.35s}
.rc .im{position:absolute;inset:0;background:#000 center/cover;z-index:-2;transition:transform 1s;opacity:.75}.rc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#050607 25%,#05060733)}
.rc:hover{border-color:var(--x);transform:translateY(-6px)}.rc:hover .im{transform:scale(1.07)}
.rc.t{--x:var(--g);--xr:57,255,136}.rc.e{--x:var(--c);--xr:41,216,255}
.rc .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--x);background:#000a;border:1px solid rgba(var(--xr),.4);margin-bottom:auto}.rc .ic svg{width:22px;height:22px}
.rc small{font:600 11px 'JetBrains Mono';letter-spacing:.2em;color:var(--x);text-transform:uppercase}.rc h3{font-size:22px;margin:8px 0}.rc p{color:#c4ccd2;font-size:14px;line-height:1.5}.rc span{margin-top:12px;font-weight:700;color:var(--x);font-size:14px}
/* CTA */
.ctab{margin:0 6vw 110px;padding:70px 5vw;border-radius:30px;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;background:radial-gradient(ellipse at 0% 0%,rgba(var(--argb),.25),transparent 60%),radial-gradient(ellipse at 100% 100%,rgba(41,216,255,.12),transparent 60%),#0a0d0e;border:1px solid rgba(var(--argb),.3)}
.ctab h2{font:800 clamp(28px,3.4vw,48px)/1.05 Inter;letter-spacing:-.02em;max-width:640px}.ctab p{color:#c4ccd2;margin-top:12px}.ctab p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* hub */
.hubg{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:54px}
.hc{grid-column:span 2;position:relative;min-height:440px;border-radius:26px;overflow:hidden;display:flex;flex-direction:column;padding:30px;border:1px solid #ffffff14;isolation:isolate;transition:border-color .35s,transform .35s}
.hc:nth-child(1),.hc:nth-child(2){grid-column:span 3;min-height:480px}
.hc .im{position:absolute;inset:0;background:#000 center/cover;z-index:-2;opacity:.6;transition:transform 1.2s,opacity .5s}.hc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#050607 35%,#05060722)}
.hc:hover{border-color:rgba(var(--argb),.55);transform:translateY(-6px)}.hc:hover .im{transform:scale(1.07);opacity:.8}
.hc .top{display:flex;justify-content:space-between;margin-bottom:auto}.hc .ic{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;color:var(--a);background:#000b;border:1px solid rgba(var(--argb),.4);box-shadow:0 0 26px -8px var(--a)}.hc .ic svg{width:28px;height:28px}
.hc .nb{font:900 54px Orbitron;color:#ffffff14}
.hc h3{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.02em;margin:10px 0}.hc h3 a::after{content:"";position:absolute;inset:0}.hc p{color:#c4ccd2;line-height:1.6;font-size:15px;max-width:520px}
.hc ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;position:relative;z-index:2}.hc li a{display:block;padding:6px 12px;border-radius:20px;border:1px solid #ffffff22;font-size:12.5px;background:#0009;color:#dfe5e8}.hc li a:hover{border-color:var(--a);color:var(--a)}
.hc .go{margin-top:18px;font-weight:700;color:var(--a);font-size:14px}
.other{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:30px;overflow:hidden;border:1px solid #ffffff14;margin-top:44px}
.other .im{min-height:380px;background:#000 center/cover}.other .tx{padding:50px;background:#0a0d0e;display:flex;flex-direction:column;justify-content:center;--a:var(--x)}
.other.t{--x:var(--g);--argb:57,255,136}.other.e{--x:var(--c);--argb:41,216,255}
.other h3{font:900 clamp(26px,3vw,42px) Orbitron;margin:14px 0}.other p{color:#c4ccd2;line-height:1.6;margin-bottom:24px}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}.why div{padding:26px;border-radius:20px;border:1px solid #ffffff12;background:#ffffff05}.why b{display:block;font:900 30px Orbitron;color:var(--a);margin-bottom:8px}.why span{color:#c4ccd2;font-size:14.5px;line-height:1.55}
/* légal */
.lg-page h2{font-size:clamp(20px,2.2vw,28px);margin:46px 0 12px}.lg-page p,.lg-page li{color:#d0d6da;line-height:1.75;max-width:860px}.lg-page ul{padding-left:20px}.ph2{color:var(--a);font-family:'JetBrains Mono',monospace;font-size:.92em}.lg-page a{text-decoration:underline}
/* responsive */
@media(max-width:1100px){.bento{grid-template-columns:1fr 1fr}.of.big{grid-column:span 2}.rel{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
 .sh{padding:120px 6vw 50px;min-height:92svh}.sh::before{background:linear-gradient(0deg,#050607 22%,#050607bb 55%,#05060755)}.sh .bgi.fit{left:0;background-position:center 25%;background-size:120%}.cue{display:none}
 .sec{padding:84px 6vw}.dyno,.calc,.cl,.ecu,.xr,.tg,.dp,.other{grid-template-columns:1fr}.ecu3d{height:420px}
 .tl{grid-template-columns:1fr 1fr;gap:30px}.tl::before,.tl::after{display:none}
 .hubg{grid-template-columns:1fr}.hc,.hc:nth-child(1),.hc:nth-child(2){grid-column:auto;min-height:400px}
 .snav{top:64px}.ctab{margin:0 5vw 80px;padding:44px 7vw}.other .im{min-height:240px}.other .tx{padding:34px}
}
@media(max-width:600px){
 .sh h1{font-size:clamp(36px,11vw,52px)}.sh .lead{font-size:16.5px}.kpis{grid-template-columns:1fr;gap:8px;margin-top:30px}.kpis div{display:flex;align-items:baseline;gap:12px;padding:12px 16px}
 .bento,.rel,.why{grid-template-columns:1fr}.of.big{grid-column:auto}.of{min-height:0}.of .pl{margin-top:20px}
 .tl{grid-template-columns:1fr}.dyno canvas{height:300px}.dash{height:250px}.ecu3d{height:340px}
 .lane{grid-template-columns:1fr;gap:6px}.lane .gear{text-align:left;font-size:22px}
 .pan{padding:20px}.lights i{width:34px;height:34px}.scr .big{font-size:54px}
 .flow{padding:26px 10px}.node{width:84px}.node .c{width:58px;height:58px;border-radius:16px}.node .c svg{width:24px;height:24px}
 .btn{padding:14px 20px;font-size:14px}
}
@media (prefers-reduced-motion: reduce){.sh .bgi{animation:none}.rv{opacity:1;transform:none}.mq div,.xim::after,.pipe::after,.hs::before,.cue::after{animation:none}}
/* fix mobile depol flow overflow */
.dp>*{min-width:0}
@media(max-width:600px){.flow{flex-wrap:wrap;justify-content:center;gap:14px 0;padding:22px 8px}.flow .node{flex:0 0 30%;min-width:0}.flow .pipe{display:none}.flow .node .c{width:42px;height:42px}.flow .node small{font-size:8px}}
