:root{
  --bleu-nuit:#0D1B2A;
  --cyan:#00E5FF;
  --violet:#6C63FF;
  --rouge:#FF3366;
  --blanc:#FFFFFF;
  --gris:#E0E0E0;
  --card-bg:rgba(255,255,255,0.035);
  --card-border:rgba(255,255,255,0.08);
  --text:#d9e6f2;
  --muted:#93a7ba;
  --shadow:0 10px 40px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bleu-nuit);color:var(--text);font-family:'Lato',system-ui,-apple-system,Segoe UI,Roboto;line-height:1.6}
.container{max-width:1080px;margin:0 auto;padding:0 20px}
.hero{padding:46px 20px 14px;text-align:center}
.brand{display:flex;flex-direction:column;align-items:center;gap:10px}
.logo{width:150px;height:auto;display:block;margin:0 auto 4px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
h1{font-family:'Montserrat',sans-serif;font-weight:800;margin:0 0 8px;font-size:clamp(26px,4vw,40px);letter-spacing:.5px}
.baseline{margin:0;font-size:clamp(16px,2.2vw,18px);color:var(--muted)}
.baseline.sub{margin-top:6px;opacity:.9}
main{padding:8px 0 44px}
.center-all{text-align:center}
/* Center all section headings */
.card h2,.card h3{ text-align:center; }
.strong-center p,.strong-center-list li{ text-align:center; list-style-position:inside; }
.card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow);border-radius:18px;padding:22px;margin:14px auto 16px;backdrop-filter:blur(8px)}
.card h2{font-family:'Montserrat',sans-serif;font-weight:700;margin-top:0;font-size:clamp(22px,2.6vw,27px)}
.grid.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.center-grid .dom{text-align:center}
.dom{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px}
@media (max-width:820px){.grid.two-col{grid-template-columns:1fr}}
/* Carousel (normal size) */
.slider{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--card-border);background:#071421;margin:0 auto;max-width:1080px}
.slides{display:flex;transition:transform .5s ease;will-change:transform}
.slide{min-width:100%;aspect-ratio:16/9;position:relative}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.caption{position:absolute;left:18px;bottom:12px;background:rgba(0,0,0,.45);padding:6px 10px;border-radius:10px;font-size:12px}
.dots{display:flex;gap:8px;justify-content:center;margin-top:8px}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:#3b5166;opacity:.75;cursor:pointer}
.dots button.active{background:var(--cyan);opacity:1;box-shadow:0 0 0 3px rgba(0,229,255,.25)}
.nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.35);color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer}
.nav:hover{background:rgba(0,0,0,.5)}
.prev{left:8px}.next{right:8px}
/* Buttons */
.btn{display:inline-block;padding:10px 18px;border-radius:12px;text-decoration:none;font-weight:700;font-family:'Montserrat',sans-serif}
.btn.insta{background:linear-gradient(90deg,var(--violet),var(--cyan));color:#00131d;border:1px solid rgba(255,255,255,.15)}
.btn.insta:hover{filter:brightness(1.05)}
.cta-wrap{text-align:center;margin:10px 0 0}
/* Footer */
.footer{border-top:1px solid rgba(255,255,255,.08);padding:16px 0;margin-top:18px;background:rgba(0,0,0,.15);color:var(--muted);font-size:14px}
.footer .container{display:flex;gap:10px;justify-content:center;align-items:center;text-align:center}
.footer-logo{width:18px;height:18px;opacity:.9;vertical-align:middle}

/* === FIX NUMEROS DANS LA LISTE D'ACTIVITÉS === */
.activities{ counter-reset: item; padding-left:0; margin:0 auto; max-width:920px; }
.activities li{ list-style: none; position:relative; text-align:center; margin:22px 0; }
.activities li::before{
  counter-increment: item;
  content: counter(item) ". ";
  font-weight:700;
  margin-right:6px;
}
