:root{--ink:#e9ecff;--bg:#05070f;--line:#2a3566;--panel:#0b1024;--gold:#ffc94d}*{box-sizing:border-box}
body{margin:0;font:16px/1.55 'Instrument Sans',system-ui,sans-serif;color:var(--ink);background:radial-gradient(800px 400px at 90% -5%,#1b2a7a77,transparent),radial-gradient(600px 400px at 0 20%,color-mix(in srgb,var(--nn) 16%,transparent),transparent),linear-gradient(#ffffff08 1px,transparent 1px) 0 0/100% 38px,var(--bg)}
.bn{background:#000;color:#fff;overflow:hidden;white-space:nowrap;padding:.5rem 0;border-bottom:1px solid var(--nn);box-shadow:0 0 14px var(--nn)}.bn div{display:inline-block;padding-left:100%;animation:m var(--sp) linear infinite}.bn span{margin-right:3rem}
@keyframes m{to{transform:translateX(-100%)}}@keyframes fl{0%,92%,100%{opacity:1}94%{opacity:.6}96%{opacity:1}98%{opacity:.7}}@keyframes fy{50%{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.bn div{animation:none;padding:0}.logo,.art i{animation:none!important}}
header,main,footer{max-width:1120px;margin:1rem auto;padding:0 1rem}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:18px;padding:.8rem 1.2rem;background:var(--panel);margin-top:1.2rem}
header nav{display:flex;gap:.5rem}header nav a{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:.4rem .9rem;transition:.2s}header nav a:hover{border-color:var(--nn);box-shadow:0 0 12px var(--nn)}
.logo{font:800 1.6rem Sora;color:#fff;text-decoration:none;letter-spacing:.04em;text-shadow:0 0 4px #fff,0 0 12px var(--nn),0 0 26px var(--nn),0 0 52px var(--nn);animation:fl 5s infinite}.logo.sm{font-size:1.1rem}
.hero,.cats,.g,.tu,.ok,.toc{border:1px solid var(--line);border-radius:26px;background:#0a0f24cc;padding:1.5rem;margin:1.2rem 0}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:center;box-shadow:inset 0 0 0 4px #05070f,inset 0 0 0 5px var(--line)}
h1{font:800 clamp(1.8rem,5vw,3.2rem)/1.08 Sora;margin:.5rem 0;letter-spacing:-.03em;text-shadow:0 0 28px color-mix(in srgb,var(--nn) 55%,transparent)}.sub{font-size:1.1rem;max-width:34em;opacity:.85}
.art{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;font-size:3rem;text-align:center}.art i{font-style:normal;border:2px solid var(--nn);border-radius:20px;padding:.8rem;background:#ffffff08;box-shadow:0 0 20px color-mix(in srgb,var(--nn) 45%,transparent);animation:fy 4s ease-in-out infinite}.art i:nth-child(2){animation-delay:-1s}.art i:nth-child(3){animation-delay:-2s}.art i:nth-child(4){animation-delay:-3s}
.hi{width:100%;border:2px solid var(--nn);border-radius:20px;box-shadow:0 0 26px var(--nn)}
.cats,.g{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.cats::before,.g::before{grid-column:1/-1;font:800 1.1rem Sora;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:.6rem}
.cats::before{content:"🎯 Au programme"}.g::before{content:"💎 Nos formules"}
.cats article{background:#10152e center/cover;border:2px solid var(--line);border-radius:20px;padding:1.5rem;transition:.25s}.cats article:hover{transform:translateY(-4px);border-color:var(--nn);box-shadow:0 0 26px color-mix(in srgb,var(--nn) 55%,transparent)}
.cats i{font-style:normal;font-size:2.8rem}.cats h2{font:800 1.5rem Sora;margin:.3rem 0;text-shadow:0 0 14px var(--nn)}.cats p{margin:0;opacity:.85}
.p{background:linear-gradient(180deg,#151b3d,#0d1230);border:2px solid var(--line);border-radius:20px;padding:1.4rem;display:flex;flex-direction:column}.p.hot{border-color:var(--ac);box-shadow:0 0 30px -4px var(--ac)}
.p h3{font:700 1.2rem Sora;margin:0}.pr{font:800 2.4rem Sora;margin:.5rem 0;text-shadow:0 0 18px var(--ac)}.pr small{font:400 1rem 'Instrument Sans';opacity:.6}
.p ul{padding:.4rem .9rem;list-style:none;margin:0 0 .8rem;flex:1;border:1px solid var(--line);border-radius:14px}.p li{padding:.3rem 0}.p li+li{border-top:1px dashed #ffffff22}
.op{display:block;margin:.3rem 0;padding:.5rem .8rem;border:1px solid var(--line);border-radius:12px;cursor:pointer}.op:hover{border-color:var(--nn)}.op em{opacity:.7;font-size:.9rem}
.tag{background:var(--gold);color:#000;font:700 .75rem Sora;padding:.2rem .7rem;border-radius:99px;align-self:flex-start;margin-bottom:.6rem}
input[type=email],input[type=tel],input[type=text],select,textarea{width:100%;padding:.85rem;border:2px solid var(--line);background:#070b1d;color:#fff;border-radius:12px;font:inherit;margin:.35rem 0 .7rem}input:focus,select:focus,textarea:focus{border-color:var(--nn);outline:0}
button,.btn{display:block;font:700 1rem Sora;color:#fff;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 55%,#000));border:2px solid color-mix(in srgb,var(--ac) 60%,#fff);border-radius:14px;padding:.85rem;cursor:pointer;width:100%;text-align:center;text-decoration:none;box-shadow:0 0 18px -2px var(--ac),inset 0 0 0 2px #05070f55;transition:.2s}
button:hover,.btn:hover{filter:brightness(1.2);transform:translateY(-1px)}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ok{border-left:6px solid #2bff88;box-shadow:0 0 24px #2bff8833}.ok.bad{border-left-color:#ff4d6d}.ok pre{white-space:pre-wrap;font:inherit;font-size:1.05rem;border:1px dashed var(--line);border-radius:12px;padding:.8rem}
footer{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:1rem 1.2rem;margin-bottom:6rem}footer .btn{width:auto;padding:.5rem 1rem;font-size:.9rem;background:#1a2147;border-color:var(--line);box-shadow:none}
.fab{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.6rem;z-index:5}.fab a{color:#fff;text-decoration:none;font:700 .95rem Sora;padding:.7rem 1.1rem;border-radius:14px;border:2px solid #ffffffaa;text-align:center}.wa{background:#128c4a;box-shadow:0 0 18px #25d366}.sc{background:#fffc00;color:#000!important;border-color:#000!important;box-shadow:0 0 18px #fffc00}
.wm{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:10;padding:1rem}.wm[hidden]{display:none}.wm div{background:#10152e;border:2px solid var(--nn);box-shadow:0 0 40px var(--nn);border-radius:22px;padding:2rem;max-width:420px;text-align:center}
.toc{display:flex;flex-wrap:wrap;gap:.6rem;padding:1rem}.toc a{color:#fff;border:1px solid var(--line);padding:.5rem 1rem;border-radius:12px;text-decoration:none}.toc a:hover{border-color:var(--nn)}
.tu h2{font:800 1.4rem Sora;text-shadow:0 0 12px var(--nn);margin-top:0}.tu img{max-width:100%;border:1px solid var(--line);border-radius:14px;margin:.6rem 0}.tu a{color:#8fb0ff}.tu li{margin-left:1.2rem;display:list-item}
@media(max-width:900px){.hero{grid-template-columns:1fr}.art{font-size:2.4rem}}
@media(max-width:640px){header,main,footer{padding:0 .6rem}header{flex-direction:column;gap:.6rem}.logo{font-size:1.4rem}.hero,.cats,.g,.tu,.ok{padding:1rem;border-radius:20px}.cats,.g{grid-template-columns:1fr}.pr{font-size:2.1rem}
 .fab{left:0;right:0;bottom:0;flex-direction:row;padding:.6rem;background:#05070fee;border-top:1px solid var(--line)}.fab a{flex:1;padding:.8rem .4rem}footer{flex-direction:column;gap:.7rem;margin-bottom:5rem}}
