:root{
  --bg:#0f0f0f;
  --panel:#141414;
  --panel2:#1d1d1d;
  --text:#f2f2f2;
  --muted:#cfcfcf;
  --red:#e63946;
  --red2:#ff4f5a;
  --line:rgba(255,255,255,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.8;
  font-size:18px;
}

a{color:inherit}

/* Scroll animations */
.reveal{opacity:0;transform:translateY(14px);transition:opacity 700ms ease,transform 700ms ease;will-change:opacity,transform;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal.delay-1{transition-delay:80ms;}
.reveal.delay-2{transition-delay:160ms;}
.reveal.delay-3{transition-delay:240ms;}
@media (prefers-reduced-motion: reduce){
  .reveal{transition:none;transform:none;}
}

/* Hero */
.hero{
  min-height:92vh;
  background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.62)),url("images/hero.png") center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 18px;
}
.hero-overlay{width:100%;}
.hero-inner{max-width:980px;margin:0 auto;text-align:center;}
.brand-pill{
  display:inline-block;padding:8px 14px;border:1px solid rgba(255,255,255,.25);
  border-radius:999px;color:var(--muted);font-weight:800;letter-spacing:.3px;margin-bottom:16px;
  backdrop-filter: blur(4px);
}
.hero h1{margin:0 0 8px 0;font-size:52px;color:var(--text);}
.hero-slogan{margin:10px auto 18px auto;max-width:900px;font-size:22px;font-weight:900;color:var(--red);text-align:center;}
.hero-subtitle{margin:0 auto 22px auto;max-width:820px;font-size:22px;color:var(--muted);}
.hero-note{margin-top:18px;color:var(--text);font-weight:900;opacity:.95;}

/* Buttons */
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:10px;}
.btn-primary{
  display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:900;
  padding:14px 22px;border-radius:999px;transition:transform .2s,background .2s;
}
.btn-primary:hover{background:var(--red2);transform:translateY(-2px);}
.btn-secondary{
  display:inline-block;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  color:#fff;text-decoration:none;font-weight:900;padding:14px 22px;border-radius:999px;
  transition:transform .2s,background .2s;
}
.btn-secondary:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}

/* Nav */
.nav{
  position:sticky;top:0;z-index:50;display:flex;justify-content:center;flex-wrap:wrap;gap:18px;
  padding:14px 10px;background:rgba(17,17,17,.96);border-bottom:1px solid var(--line);
}
.nav a{text-decoration:none;font-weight:900;color:var(--text);opacity:.92;}
.nav a:hover{color:var(--red);}

/* Sections */
.section{padding:86px 18px;}
.section.dark{background:var(--panel);}
.section.cta{background:linear-gradient(180deg,rgba(230,57,70,.92),rgba(230,57,70,.75));text-align:center;}
.container{max-width:1100px;margin:0 auto;}
h2{margin:0 0 18px 0;font-size:38px;color:var(--red);text-align:center;}
.center{text-align:center;color:var(--muted);font-size:20px;max-width:900px;margin:0 auto;}
.note-center{text-align:center;color:var(--muted);margin-top:22px;}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:18px;}
.card{
  background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:22px;
  transition:transform .2s, box-shadow .2s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.35);}
.card h3{margin:0 0 8px 0;color:var(--text);}
.card p{margin:0;color:var(--muted);}
.card.quote{font-style:italic;color:var(--text);}

/* Mission + highlight */
.mission{max-width:900px;margin:0 auto 24px auto;text-align:center;font-size:20px;color:var(--muted);line-height:1.7;}
.highlight-quote{margin:32px auto 48px auto;max-width:900px;text-align:center;font-size:22px;font-weight:900;color:var(--red);}

/* Trainers */
.trainers{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:20px;}
.trainer-card{background:var(--panel2);border:1px solid var(--line);border-radius:18px;padding:24px;}
.trainer-card img{width:100%;border-radius:14px;margin-bottom:16px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.35);}
.trainer-card h3{margin:10px 0 12px 0;color:var(--red);}
.trainer-card p{color:var(--muted);font-size:18px;margin:0 0 12px 0;}

/* Science */
.science-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;}
.science-copy p{color:var(--muted);font-size:20px;text-align:left;max-width:none;}
.bullets{margin:18px 0 0 18px;color:var(--text);}
.bullets li{margin:8px 0;}
.science-media img{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.35);}

/* Prices */
.subhead{margin-top:38px;margin-bottom:12px;text-align:left;color:var(--text);}
.prijzen{width:100%;border-collapse:collapse;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.18);}
.prijzen th,.prijzen td{padding:14px 14px;border-bottom:1px solid var(--line);text-align:left;}
.prijzen th{background:rgba(230,57,70,.92);color:#fff;font-weight:900;}
.prijzen tr:last-child td{border-bottom:none;}
.gratis{margin:18px auto 26px auto;max-width:900px;padding:18px 18px;border-left:6px solid var(--red);background:rgba(255,255,255,.06);border-radius:12px;text-align:center;font-weight:900;}

/* Map */
.map-wrapper{margin-top:30px;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.35);}

/* FAQ */
.faq{max-width:900px;margin:0 auto;display:grid;gap:12px;}
details{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:14px 16px;}
summary{cursor:pointer;font-weight:900;color:var(--text);}
details p{margin:10px 0 0 0;color:var(--muted);}

/* CTA */
.cta-text{font-size:20px;color:rgba(255,255,255,.95);max-width:900px;margin:0 auto 14px auto;}
.cta-small{margin-top:14px;color:rgba(255,255,255,.9);}

/* Footer */
.footer{padding:34px 18px;text-align:center;background:#0b0b0b;border-top:1px solid var(--line);color:var(--muted);}

/* Floating buttons */
.whatsapp{position:fixed;bottom:20px;right:20px;z-index:99;background:#25D366;color:#fff;text-decoration:none;font-weight:900;padding:14px 18px;border-radius:999px;box-shadow:0 10px 22px rgba(0,0,0,.35);}
.scroll-top{position:fixed;bottom:76px;right:20px;z-index:99;display:none;background:var(--red);color:#fff;text-decoration:none;font-weight:900;padding:12px 16px;border-radius:999px;box-shadow:0 10px 22px rgba(0,0,0,.35);}
.scroll-top:hover{background:var(--red2);}

/* Responsive */
@media (max-width: 900px){
  .hero h1{font-size:40px;}
  .hero-slogan{font-size:20px;}
  .hero-subtitle{font-size:20px;}
  .science-grid{grid-template-columns:1fr;}
  .trainers{grid-template-columns:1fr;}
}
