:root{
  --violet:#aa50f0; --bleu:#50c8ff; --rose:#ff64c8; --jaune:#ffe63c;
  --fond:#0c061e; --fond2:#160b2e; --texte:#f3ecff; --gris:#b9a8d8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--fond);color:var(--texte);line-height:1.6;overflow-x:hidden}
h1,h2,h3{font-weight:800;letter-spacing:.5px;line-height:1.15}
a{color:inherit;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
.neon{color:var(--bleu);text-shadow:0 0 8px rgba(80,200,255,.7),0 0 20px rgba(80,200,255,.4)}
.neon-p{color:var(--rose);text-shadow:0 0 8px rgba(255,100,200,.7),0 0 20px rgba(255,100,200,.4)}

header{position:sticky;top:0;z-index:50;background:rgba(12,6,30,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(170,80,240,.25)}
nav{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;max-width:1100px;margin:0 auto}
nav .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem}
nav .brand img{width:38px;height:38px;border-radius:8px}
nav ul{display:flex;gap:24px;list-style:none;align-items:center}
nav ul a{color:var(--gris);font-weight:600;font-size:.95rem;transition:.2s}
nav ul a:hover,nav ul a.active{color:var(--bleu)}
.burger{display:none;background:none;border:0;color:var(--texte);font-size:1.6rem;cursor:pointer}

.hero{position:relative;text-align:center;padding:90px 0 80px;background:radial-gradient(circle at 50% 0%,rgba(170,80,240,.25),transparent 60%),var(--fond)}
.hero img.logo{width:200px;max-width:55vw;filter:drop-shadow(0 0 25px rgba(170,80,240,.6));margin-bottom:18px}
.hero h1{font-size:clamp(2rem,6vw,3.6rem);margin-bottom:14px}
.hero p.sub{font-size:clamp(1rem,2.5vw,1.35rem);color:var(--gris);max-width:660px;margin:0 auto 30px}
.badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.badge{border:1px solid rgba(80,200,255,.4);border-radius:30px;padding:7px 16px;font-size:.85rem;font-weight:600;color:var(--bleu)}
.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 28px;border-radius:12px;font-weight:700;font-size:1rem;transition:.2s;cursor:pointer}
.btn-1{background:linear-gradient(90deg,var(--violet),var(--rose));color:#fff;box-shadow:0 0 22px rgba(255,100,200,.45)}
.btn-1:hover{transform:translateY(-2px);box-shadow:0 0 32px rgba(255,100,200,.7)}
.btn-2{border:1.5px solid var(--bleu);color:var(--bleu)}
.btn-2:hover{background:rgba(80,200,255,.12)}

/* Hero compact pour pages internes */
.hero-sm{text-align:center;padding:70px 0 40px;background:radial-gradient(circle at 50% 0%,rgba(170,80,240,.22),transparent 60%),var(--fond)}
.hero-sm .ico{font-size:3.4rem;margin-bottom:10px}
.hero-sm h1{font-size:clamp(1.8rem,5vw,3rem);margin-bottom:14px}
.hero-sm p{color:var(--gris);max-width:640px;margin:0 auto 26px;font-size:1.1rem}
.breadcrumb{font-size:.85rem;color:var(--gris);text-align:center;padding-top:18px}
.breadcrumb a{color:var(--bleu)}

section{padding:60px 0}
section h2{font-size:clamp(1.5rem,4vw,2.2rem);text-align:center;margin-bottom:12px}
section .lead{text-align:center;color:var(--gris);max-width:660px;margin:0 auto 46px}
.alt{background:var(--fond2)}

/* Prose / articles */
.prose{max-width:780px;margin:0 auto;color:var(--texte)}
.prose h2{text-align:left;font-size:1.5rem;margin:34px 0 12px}
.prose p{color:#d8ccf0;margin-bottom:16px}
.prose ul{color:#d8ccf0;margin:0 0 18px 22px}
.prose li{margin-bottom:8px}
.prose strong{color:var(--texte)}

.loc{display:flex;gap:30px;align-items:center;flex-wrap:wrap;justify-content:center}
.loc-card{flex:1;min-width:280px;max-width:480px;background:rgba(170,80,240,.08);border:1px solid rgba(170,80,240,.3);border-radius:18px;padding:28px}
.loc-card .tag{display:inline-block;background:var(--jaune);color:#1a0a2e;font-weight:800;font-size:.72rem;padding:4px 12px;border-radius:20px;margin-bottom:14px;letter-spacing:.5px}
.loc-card h3{font-size:1.4rem;margin-bottom:6px}
.loc-card p{color:var(--gris)}
.loc-card .open{color:var(--bleu);font-weight:700;margin-top:12px}
.loc img{flex:1;min-width:240px;max-width:330px;border-radius:18px;box-shadow:0 0 30px rgba(80,200,255,.25)}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:26px;text-align:center;transition:.25s;display:block;color:inherit}
.card:hover{transform:translateY(-4px);border-color:var(--violet);box-shadow:0 0 26px rgba(170,80,240,.3)}
.card .ico{font-size:2.6rem;margin-bottom:12px}
.card h3{font-size:1.2rem;margin-bottom:6px}
.card p{color:var(--gris);font-size:.92rem}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px;margin-bottom:46px}
.step{text-align:center;position:relative}
.step .num{width:56px;height:56px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--violet),var(--bleu));box-shadow:0 0 20px rgba(80,200,255,.4)}
.step h3{font-size:1.1rem;margin-bottom:6px}
.step p{color:var(--gris);font-size:.92rem}
.how-imgs{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.how-imgs img{width:210px;border-radius:16px;box-shadow:0 0 26px rgba(255,100,200,.25)}

.faq{max-width:780px;margin:0 auto}
.faq details{background:rgba(255,255,255,.03);border:1px solid rgba(170,80,240,.25);border-radius:14px;padding:18px 22px;margin-bottom:14px}
.faq summary{font-weight:700;cursor:pointer;font-size:1.05rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--bleu);font-size:1.3rem}
.faq details[open] summary::after{content:"\2212"}
.faq p{color:var(--gris);margin-top:12px}

.contact{text-align:center}
.contact .box{background:rgba(170,80,240,.08);border:1px solid rgba(170,80,240,.3);border-radius:20px;padding:44px 28px;max-width:680px;margin:0 auto}
.contact .box h2{margin-bottom:10px}
.contact .box p{color:var(--gris);margin-bottom:26px}
.contact .links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

.cta-band{text-align:center;padding:54px 0}
.cta-band h2{margin-bottom:18px}

footer{background:#070310;padding:34px 0;text-align:center;color:var(--gris);font-size:.85rem;border-top:1px solid rgba(170,80,240,.2)}
footer .brand{font-weight:800;color:var(--texte);font-size:1.1rem;margin-bottom:6px}
footer a{color:var(--bleu)}
footer .fnav{margin:10px 0;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#160b2e;border-top:1px solid rgba(170,80,240,.4);padding:16px 22px;display:none;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;text-align:center;font-size:.9rem;color:var(--gris)}
#cookie-banner p{margin:0;max-width:620px}
#cookie-banner button{padding:9px 20px;border-radius:10px;font-weight:700;cursor:pointer;border:0;font-size:.9rem}
#cookie-accept{background:linear-gradient(90deg,var(--violet),var(--rose));color:#fff}
#cookie-refuse{background:transparent;border:1px solid var(--gris);color:var(--gris)}

@media(max-width:820px){
  nav ul{display:none;position:absolute;top:62px;left:0;right:0;flex-direction:column;gap:0;background:var(--fond2);padding:10px 0;border-bottom:1px solid rgba(170,80,240,.3)}
  nav ul.show{display:flex}
  nav ul li{padding:12px 22px}
  .burger{display:block}
}
