/* SHOOTKAM v3 — « Shutoko de nuit » : noir profond, rouge néon, verre, vitesse. */
:root{
  --bg:#07070a;--bg2:#0d0d12;--g:rgba(24,24,32,.62);--g2:rgba(34,34,46,.7);--bd:rgba(255,255,255,.1);--bd2:rgba(255,255,255,.2);
  --ac:#ff2029;--ac2:#ff5a36;--ink:#f4f5f8;--mut:#a9aebb;--ok:#2bd96b;--dc:#5865F2;
  --disp:"Racing Sans One",Impact,"Arial Black",sans-serif;--lab:"Chakra Petch","Segoe UI",system-ui,sans-serif;--body:Barlow,"Segoe UI",system-ui,sans-serif;
  --w:min(1240px,92vw);--nav:72px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:500 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;font-family:var(--disp);letter-spacing:.01em;line-height:1.05;text-transform:uppercase}
p{margin:0}
::selection{background:var(--ac);color:#fff}
.w{width:var(--w);margin:0 auto}
/* fond commun : halos + grille */
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(900px 600px at 12% -5%,rgba(255,32,41,.22),transparent 60%),radial-gradient(800px 600px at 100% 30%,rgba(88,101,242,.12),transparent 60%),radial-gradient(700px 500px at 50% 110%,rgba(255,90,54,.14),transparent 60%),var(--bg)}
body::after{content:"";position:fixed;inset:0;z-index:-1;opacity:.5;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%)}

/* ---------- barre du haut ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:100;height:var(--nav);display:flex;align-items:center;transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.nav.fix{background:rgba(8,8,12,.78);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);border-color:var(--bd)}
.nav .w{display:flex;align-items:center;gap:22px}
.logo{display:flex;align-items:center;gap:10px}.logo img{width:40px;height:40px}.logo b{font:400 1.35rem var(--disp);letter-spacing:.05em}
.links{display:flex;align-items:center;gap:2px;margin:0 auto}
.links>a,.dd>button{position:relative;padding:10px 15px;border-radius:30px;background:none;border:0;cursor:pointer;font:600 .92rem var(--lab);letter-spacing:.05em;color:#c4c8d2;transition:color .25s,background .25s}
.links>a:hover,.dd>button:hover,.dd:focus-within>button{color:#fff;background:rgba(255,255,255,.07)}
.links>a.on,.dd.on>button{color:#fff}.links>a.on::after,.dd.on>button::after{content:"";position:absolute;left:16px;right:16px;bottom:3px;height:2px;border-radius:2px;background:var(--ac);box-shadow:0 0 12px var(--ac)}
.dd{position:relative}.dd>button i{font-style:normal;font-size:.65rem;margin-left:4px}
.dd .m{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%,8px);min-width:280px;padding:8px;border-radius:20px;background:rgba(14,14,20,.97);border:1px solid var(--bd);box-shadow:0 30px 70px #000a;opacity:0;pointer-events:none;transition:.25s}
.dd:hover .m,.dd:focus-within .m{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.dd .m a{display:block;padding:11px 14px;border-radius:13px}.dd .m a:hover{background:rgba(255,51,64,.16)}.dd .m b{display:block;font:600 .95rem var(--lab)}.dd .m small{color:var(--mut);font-size:.82rem}
.live{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;background:rgba(255,255,255,.06);border:1px solid var(--bd);font:600 .82rem var(--lab);white-space:nowrap}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok);animation:pl 2s infinite}@keyframes pl{50%{opacity:.35}}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--bd);background:rgba(255,255,255,.06);cursor:pointer}
.burger i,.burger i::before,.burger i::after{display:block;width:18px;height:2px;background:#fff;margin:auto;border-radius:2px;position:relative;transition:.3s}.burger i::before,.burger i::after{content:"";position:absolute;left:0}.burger i::before{top:-6px}.burger i::after{top:6px}
.nav.open .burger i{background:transparent}.nav.open .burger i::before{top:0;transform:rotate(45deg)}.nav.open .burger i::after{top:0;transform:rotate(-45deg)}

/* ---------- boutons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:40px;border:1px solid var(--bd2);background:rgba(255,255,255,.06);color:#fff;font:700 .95rem var(--lab);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}
.btn:hover{transform:translateY(-3px);border-color:#fff;background:rgba(255,255,255,.12)}
.btn.p{background:linear-gradient(135deg,#ff3340,#d4101a);border-color:transparent;box-shadow:0 14px 40px -12px var(--ac)}.btn.p:hover{box-shadow:0 20px 50px -10px var(--ac);background:linear-gradient(135deg,#ff4752,#e3121c)}
.btn.dc{background:linear-gradient(135deg,#6a76ff,#3a43b8);border-color:transparent;box-shadow:0 14px 40px -14px var(--dc)}
.btn.sm{padding:10px 20px;font-size:.8rem}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- sections ---------- */
main{padding-top:0}
section{position:relative;padding:clamp(56px,9vw,110px) 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.kick{display:flex;align-items:center;gap:12px;font:600 .8rem var(--lab);letter-spacing:.3em;text-transform:uppercase;color:var(--ac);margin-bottom:12px}.kick::before{content:"";width:34px;height:2px;background:var(--ac);box-shadow:0 0 10px var(--ac)}
.sh h2{font-size:clamp(2rem,5vw,3.6rem)}.sh h2 em,h1 em{font-style:normal;color:var(--ac);text-shadow:0 0 34px rgba(255,32,41,.5)}
.lead{color:var(--mut);max-width:60ch;font-size:1.1rem}
.more{font:700 .85rem var(--lab);letter-spacing:.08em;text-transform:uppercase;color:#fff;display:inline-flex;gap:8px;align-items:center;padding:10px 0;border-bottom:2px solid var(--ac)}.more:hover{gap:14px}

/* ---------- cartes ---------- */
.card{position:relative;border-radius:26px;background:var(--g);border:1px solid var(--bd);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}
.card.h:hover{transform:translateY(-6px);border-color:rgba(255,51,64,.6);box-shadow:0 30px 60px -30px rgba(255,32,41,.7)}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;align-items:center;padding:calc(var(--nav) + 40px) 0 90px;overflow:hidden}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,7,10,.86) 0%,rgba(7,7,10,.45) 55%,rgba(7,7,10,.15)),linear-gradient(0deg,var(--bg),transparent 30%)}
.hero .w{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:30px;background:rgba(0,0,0,.5);border:1px solid var(--bd);font:600 .82rem var(--lab);letter-spacing:.04em;margin-bottom:22px}
.hero h1{font-size:clamp(2.8rem,8.2vw,7rem);line-height:.95;margin-bottom:22px}
.hero h1 span{display:block;overflow:hidden}.hero h1 span i{display:block;font-style:normal;transform:translateY(105%);animation:up .9s cubic-bezier(.2,.8,.2,1) forwards}.hero h1 span:nth-child(2) i{animation-delay:.12s}.hero h1 span:nth-child(3) i{animation-delay:.24s}
@keyframes up{to{transform:none}}
.hero .lead{font-size:clamp(1.05rem,1.6vw,1.3rem);color:#cfd3dd;margin-bottom:28px}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:8px 16px;border-radius:30px;background:rgba(255,255,255,.07);border:1px solid var(--bd);font:600 .84rem var(--lab)}.chip.r{background:rgba(255,32,41,.18);border-color:rgba(255,32,41,.5)}
.stack{position:relative;height:min(520px,58vw)}
.stack .ph{position:absolute;border-radius:26px;overflow:hidden;border:1px solid var(--bd2);box-shadow:0 40px 90px -20px #000;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.stack .ph img{width:100%;height:100%;object-fit:cover}
.stack .a{right:0;top:0;width:78%;height:56%;transform:rotate(2deg)}.stack .b{left:0;top:30%;width:64%;height:50%;transform:rotate(-3deg);z-index:2}.stack .c{right:4%;bottom:0;width:58%;height:42%;transform:rotate(3deg);z-index:3}
.stack:hover .a{transform:rotate(3deg) translate(10px,-8px)}.stack:hover .b{transform:rotate(-4deg) translate(-10px,0)}.stack:hover .c{transform:rotate(4deg) translate(8px,8px)}
.badge{position:absolute;z-index:5;padding:11px 18px;border-radius:18px;background:rgba(12,12,16,.9);border:1px solid var(--bd2);backdrop-filter:blur(14px);font:700 .85rem var(--lab);box-shadow:0 20px 50px -10px #000;animation:fl 5s ease-in-out infinite}.badge small{display:block;color:var(--mut);font-weight:500}
.badge.t{right:-2%;top:46%}.badge.u{left:-3%;bottom:6%;animation-delay:-2.5s}@keyframes fl{50%{transform:translateY(-10px)}}

/* ---------- bande de chiffres ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-radius:28px;background:var(--g);border:1px solid var(--bd);backdrop-filter:blur(16px);overflow:hidden;margin-top:-70px;position:relative;z-index:5}
.st{padding:26px 28px;border-right:1px solid var(--bd)}.st:last-child{border:0}
.st b{display:block;font:400 clamp(2rem,4vw,3.2rem)/1 var(--disp);color:#fff}.st span{display:block;margin-top:6px;color:var(--mut);font:600 .8rem var(--lab);letter-spacing:.14em;text-transform:uppercase}.st.r b{color:var(--ac)}

/* ---------- bandeau defilant ---------- */
.mq{overflow:hidden;border-block:1px solid var(--bd);background:rgba(255,255,255,.03);padding:16px 0;margin:50px 0 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq .t{display:flex;gap:44px;width:max-content;animation:mq 50s linear infinite;font:600 1rem var(--lab);letter-spacing:.08em;text-transform:uppercase;color:#c8ccd7}.mq:hover .t{animation-play-state:paused}
.mq .t span{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.mq .t b{color:#fff}.mq .t em{font-style:normal;color:var(--ac)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- serveurs ---------- */
.srv{display:flex;flex-direction:column;min-height:100%}
.srv .im{position:relative;height:170px;overflow:hidden}.srv .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.srv:hover .im img{transform:scale(1.08)}
.srv .im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,8,12,.92))}
.srv .st2{position:absolute;left:16px;top:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;background:rgba(0,0,0,.65);font:700 .72rem var(--lab);letter-spacing:.1em;text-transform:uppercase}
.srv .st2.off{color:#ff7a82}.srv .st2.off .dot{background:#ff4752;box-shadow:0 0 10px #ff4752;animation:none}
.srv .bd{padding:18px 22px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.srv h3{font-size:1.5rem}.srv .sub{color:var(--mut);font-size:.9rem;margin-top:-6px}
.srv .nb{display:flex;align-items:baseline;gap:8px}.srv .nb b{font:400 2.4rem/1 var(--disp)}.srv .nb span{color:var(--mut)}
.bar{height:8px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#ff2029,#ff9a5a);box-shadow:0 0 16px var(--ac);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.srv .ft{margin-top:auto;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:6px}
.srv.big{grid-column:span 2}.srv.big .im{height:230px}

/* ---------- voitures ---------- */
.cars{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.car{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;border:1px solid var(--bd);background:#111;cursor:default;transition:transform .35s,border-color .3s,box-shadow .3s}
.car img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.car:hover{transform:translateY(-5px);border-color:rgba(255,51,64,.6);box-shadow:0 24px 50px -24px var(--ac)}.car:hover img{transform:scale(1.08)}
.car::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,5,8,.92))}
.car b{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;font:600 .95rem var(--lab);line-height:1.2}
.rail{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rail .t{display:flex;gap:16px;width:max-content;animation:mq 90s linear infinite}.rail:hover .t{animation-play-state:paused}.rail .car{width:270px;flex:none}
.tools{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}.inp{flex:1;min-width:220px;padding:14px 20px;border-radius:40px;background:var(--g);border:1px solid var(--bd);color:#fff;font:500 1rem var(--body);outline:0}.inp:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(255,32,41,.2)}
.tab{padding:12px 20px;border-radius:40px;background:var(--g);border:1px solid var(--bd);cursor:pointer;font:600 .88rem var(--lab);letter-spacing:.05em;color:#c4c8d2;transition:.25s}.tab:hover{color:#fff;border-color:var(--bd2)}.tab.on{background:var(--ac);border-color:var(--ac);color:#fff;box-shadow:0 10px 30px -10px var(--ac)}

/* ---------- classement ---------- */
.pod{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:end;margin-bottom:18px}
.pd{position:relative;padding:26px 24px;border-radius:26px;background:var(--g);border:1px solid var(--bd);overflow:hidden}.pd.n1{padding:36px 26px;border-color:#f0b232;background:linear-gradient(180deg,rgba(240,178,50,.16),var(--g));box-shadow:0 30px 70px -30px rgba(240,178,50,.6)}
.pd .rk{position:absolute;right:14px;top:-8px;font:400 6rem/1 var(--disp);color:rgba(255,255,255,.07)}
.pd small{color:var(--mut);font:600 .75rem var(--lab);letter-spacing:.12em;text-transform:uppercase}.pd h3{font-size:1.7rem;margin:6px 0 10px}.pd .sc{font:400 2.4rem/1 var(--disp);color:#ff6670}.pd.n1 .sc{color:#f0b232;font-size:3rem}.pd .mt{margin-top:10px;color:var(--mut);font-size:.9rem}
.crown{display:inline-block;margin-right:8px}
.rows{display:grid;gap:8px}.row{display:grid;grid-template-columns:44px 1.3fr 1.2fr 150px 130px;gap:16px;align-items:center;padding:14px 20px;border-radius:18px;background:var(--g);border:1px solid var(--bd);transition:.25s}.row:hover{border-color:rgba(255,51,64,.5);transform:translateX(4px)}
.row .n{font:400 1.2rem var(--disp);color:var(--ac)}.row .pn{font:700 1.02rem var(--lab)}.row .pn small{display:block;color:var(--mut);font:500 .8rem var(--body)}.row .v{font:400 1.25rem var(--disp);text-align:right}.row .b{height:8px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden}.row .b i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff2029,#ff9a5a);transition:width 1.4s}

/* ---------- discord ---------- */
.dsc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.ds{padding:22px;border-radius:24px;background:var(--g);border:1px solid var(--bd)}.ds b{display:block;font:400 clamp(2rem,4vw,3rem)/1 var(--disp)}.ds span{color:var(--mut);font:600 .78rem var(--lab);letter-spacing:.12em;text-transform:uppercase}
.ds.on{background:linear-gradient(135deg,#6a76ff,#2a2f8f);border-color:#8b97ff}.ds.on span{color:#e3e6ff}.ds.ac b{color:var(--ac)}
.dsc-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-bottom:18px}.box{padding:24px;border-radius:26px;background:var(--g);border:1px solid var(--bd)}.box h3{font:600 .8rem var(--lab);letter-spacing:.24em;color:var(--ac);margin-bottom:16px}
.vch{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);margin-bottom:10px}.vch>b{display:block;font:600 .95rem var(--lab);margin-bottom:8px}.vch.vide{opacity:.45}
.vm{display:inline-flex;align-items:center;gap:8px;margin:0 12px 6px 0;font-size:.9rem}.vm img{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 2px var(--ok)}
.gms{display:flex;flex-wrap:wrap;gap:8px}.gm{display:inline-flex;gap:8px;padding:9px 15px;border-radius:30px;background:rgba(255,255,255,.07);border:1px solid var(--bd);font-size:.9rem}.gm b{color:var(--ac)}.gm.ac{background:linear-gradient(135deg,rgba(255,51,64,.4),rgba(20,20,28,.8));border-color:var(--ac)}
.wall{display:flex;flex-wrap:wrap;gap:12px}.pw{position:relative;width:58px;height:58px}.pw img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#222;transition:transform .3s}.pw:hover img{transform:scale(1.2)}
.pw i{position:absolute;right:0;bottom:0;width:15px;height:15px;border-radius:50%;border:2px solid #0b0b0f;background:var(--ok)}.pw i.idle{background:#f0b232}.pw i.dnd{background:#f23f43}.pw.jeu::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--ac)}
.pw .tt{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;padding:6px 11px;border-radius:10px;background:#000d;font-size:.78rem;opacity:0;pointer-events:none;transition:.2s;z-index:4}.pw:hover .tt{opacity:1}

/* ---------- apps ---------- */
.app{display:flex;flex-direction:column}.app .im{aspect-ratio:16/10;overflow:hidden;background:#0a0a0e}.app .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.app:hover .im img{transform:scale(1.06)}
.app .bd{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}.app h3{font-size:1.5rem}.app p{color:var(--mut)}.app .ft{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;padding-top:8px}
.tag{display:inline-block;padding:4px 12px;border-radius:20px;background:rgba(255,32,41,.16);border:1px solid rgba(255,32,41,.4);font:700 .7rem var(--lab);letter-spacing:.12em;text-transform:uppercase;color:#ff8f96;width:max-content}

/* ---------- etapes ---------- */
.steps{counter-reset:s}.step{position:relative;padding:26px 24px 24px 24px}.step::before{counter-increment:s;content:counter(s);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#ff3340,#c40f18);font:400 1.5rem var(--disp);margin-bottom:16px;box-shadow:0 12px 30px -10px var(--ac)}
.step h3{font-size:1.35rem;margin-bottom:8px}.step p{color:var(--mut)}.step .tg{margin-top:12px}

/* ---------- reseaux / playlists ---------- */
.pl{display:flex;align-items:center;gap:22px;padding:26px;min-height:200px}.pl.sp{background:linear-gradient(140deg,#0b5a28,#17a84c 60%,#52e88a);border:0;box-shadow:0 40px 80px -40px rgba(29,185,84,.9)}.pl.yt{background:linear-gradient(140deg,#8a0c14,#e11d2c 60%,#ff7a45);border:0;box-shadow:0 40px 80px -40px rgba(255,51,64,.9)}
.vin{flex:none;width:130px;height:130px;border-radius:50%;background:repeating-radial-gradient(circle,#0c0c0f 0 2px,#1a1a20 3px 5px);box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 0 4px rgba(255,255,255,.22);animation:spin 6s linear infinite;display:flex;align-items:center;justify-content:center}.vin img{width:46px;height:46px;border-radius:50%;background:#fff}@keyframes spin{to{transform:rotate(360deg)}}
.pl h3{font-size:1.5rem;margin:4px 0 12px}.pl small{font:700 .75rem var(--lab);letter-spacing:.2em;opacity:.85}.pl .btn{background:#fff;color:#111;border:0}
.soc{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px}.so{display:flex;flex-direction:column;gap:6px;padding:22px 20px;border-radius:24px;border:1px solid var(--bd);background:var(--g);transition:.3s;position:relative;overflow:hidden}.so:hover{transform:translateY(-6px);border-color:var(--c);box-shadow:0 24px 50px -24px var(--c)}
.so .ic{width:46px;height:46px;border-radius:14px;background:var(--c);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:8px}.so .ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.so b{font:400 1.25rem var(--disp);text-transform:uppercase}.so span{color:var(--mut);font-size:.9rem}.so.tt .ic,.so.ki .ic{color:#04140a}

/* ---------- soutenir / faq ---------- */
.price{display:flex;align-items:baseline;gap:12px}.price b{font:400 2.4rem var(--disp)}.price s{color:var(--mut)}.price em{font-style:normal;padding:3px 10px;border-radius:8px;background:var(--ok);color:#04140a;font:700 .78rem var(--lab)}
.faq details{border-radius:20px;background:var(--g);border:1px solid var(--bd);margin-bottom:10px;overflow:hidden;transition:border-color .3s}.faq details[open]{border-color:rgba(255,51,64,.55)}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;gap:16px;font:600 1.05rem var(--lab)}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font:400 1.6rem/1 var(--disp);color:var(--ac);transition:transform .3s}.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 24px 22px;color:var(--mut)}.faq .a b{color:#fff}

/* ---------- page: entete interne ---------- */
.ph1{padding:calc(var(--nav) + 70px) 0 30px}.ph1 h1{font-size:clamp(2.6rem,7vw,5.4rem);margin-bottom:16px}.ph1 .lead{font-size:1.2rem}
.crumb{display:flex;gap:8px;font:600 .78rem var(--lab);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:18px}.crumb a:hover{color:#fff}
.frm{border-radius:26px;overflow:hidden;border:1px solid var(--bd);background:#050507}.frm iframe{display:block;width:100%;border:0;min-height:600px}
.note{padding:16px 20px;border-radius:18px;background:rgba(255,32,41,.1);border:1px solid rgba(255,32,41,.35);color:#ffd2d5}

/* ---------- pied ---------- */
footer{border-top:1px solid var(--bd);padding:60px 0 40px;background:rgba(5,5,8,.7)}
.ft4{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}.ft4 h4{font:700 .8rem var(--lab);letter-spacing:.22em;color:var(--ac);margin-bottom:16px}.ft4 a{display:block;padding:5px 0;color:#c4c8d2}.ft4 a:hover{color:#fff}.ft4 p{color:var(--mut);max-width:34ch;margin-top:14px}
.copy{margin-top:40px;padding-top:24px;border-top:1px solid var(--bd);color:var(--mut);font-size:.9rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ---------- apparition ---------- */
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}.rv.in{opacity:1;transform:none}
.noscript .rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.hero h1 span i{transform:none}}

/* ---------- mobile ---------- */
@media(max-width:1000px){
  .burger{display:block}.links{position:fixed;left:0;right:0;top:var(--nav);bottom:0;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:18px 5vw 40px;background:rgba(7,7,10,.97);backdrop-filter:blur(20px);overflow:auto;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s}
  .nav.open .links{opacity:1;pointer-events:auto;transform:none}.nav.open{background:rgba(8,8,12,.97)}
  .links>a,.dd>button{padding:16px 14px;font-size:1.05rem;text-align:left;width:100%;border-radius:16px}.links>a.on::after,.dd.on>button::after{display:none}.links>a.on{background:rgba(255,32,41,.18)}
  .dd .m{position:static;transform:none;opacity:1;pointer-events:auto;min-width:0;border:0;background:none;box-shadow:none;padding:0 0 6px 14px}.dd>button i{display:none}
  .nav .live{display:none}.nav .btn.dc{display:none}
  .hero .w{grid-template-columns:1fr}.stack{height:300px;margin-top:10px}.badge{display:none}
  .stats{grid-template-columns:repeat(2,1fr);margin-top:-40px}.st:nth-child(2){border-right:0}.st:nth-child(-n+2){border-bottom:1px solid var(--bd)}
  .g3,.g4{grid-template-columns:repeat(2,1fr)}.srv.big{grid-column:span 2}
  .pod{grid-template-columns:1fr}.row{grid-template-columns:34px 1fr auto;gap:10px}.row .b,.row .car2{display:none}
  .dsc-stats{grid-template-columns:repeat(2,1fr)}.dsc-cols{grid-template-columns:1fr}.soc{grid-template-columns:repeat(2,1fr)}
  .ft4{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .g2,.g3,.g4{grid-template-columns:1fr}.srv.big{grid-column:auto}.cars{grid-template-columns:repeat(2,1fr)}.rail .car{width:200px}
  .pl{flex-direction:column;align-items:flex-start}.vin{width:96px;height:96px}.soc{grid-template-columns:repeat(2,1fr)}.ft4{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2.4rem,13vw,3.6rem)}.btn{padding:13px 22px}
}

/* setup */
.spec{padding:28px}.spec h3{font-size:1.6rem;margin:14px 0 18px}.spec ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.spec li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--bd)}.spec li:last-child{border:0}.spec li span{color:var(--mut);font:600 .78rem var(--lab);letter-spacing:.12em;text-transform:uppercase}.spec li b{font:600 .95rem var(--lab);text-align:right}
/* partenaires : bien en vue, juste avant le pied */
.aff{padding:clamp(50px,7vw,90px) 0;background:linear-gradient(180deg,transparent,rgba(255,32,41,.1) 50%,transparent);border-top:1px solid rgba(255,32,41,.25)}
.aff1{display:flex;flex-direction:column;gap:12px;padding:30px;min-height:330px}.aff1 .lg{height:56px;width:auto;max-width:200px;object-fit:contain;margin:6px 0}.aff1 .lg.ph{height:90px;border-radius:14px;object-fit:cover;width:100%;max-width:none}.aff1 .heart{height:56px;font:400 3.2rem/1 var(--disp);color:var(--ac);text-shadow:0 0 30px var(--ac)}
.aff1 h3{font-size:1.5rem}.aff1 p{color:var(--mut);flex:1}.aff1 .btn{width:max-content}

.links>a,.dd>button{white-space:nowrap}@media(max-width:1180px){.links>a,.dd>button{padding:10px 11px;font-size:.84rem}.nav .w{gap:12px}}
.links .mob{display:none}@media(max-width:1000px){.links .mob{display:block;margin-top:10px;background:linear-gradient(135deg,#6a76ff,#3a43b8);text-align:center}}
