/* ==========================================
   Neuroklar Main Theme 1.1
   ========================================== */

:root{
  --bg:#0e1015;
  --bg2:#121826;

  --card:#171c27;
  --card-hover:#1d2331;

  --text:#eef2fb;
  --muted:#a4adc0;

  --border:rgba(255,255,255,.08);

  --brand:#7a5cff;
  --brand2:#5ea0ff;

  --radius:18px;
  --wrap:1100px;
}

/* Light Theme */

[data-theme="light"]{
  --bg:#f4f5f8;
  --bg2:#e7eaf2;

  --card:#ffffff;
  --card-hover:#f8f9fc;

  --text:#1d2433;
  --muted:#5c677d;

  --border:rgba(0,0,0,.10);
}

/* Reset */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  min-height:100vh;

  color:var(--text);

  font-family:
    system-ui,
    -apple-system,
    Segoe UI,
    Roboto,
    Arial,
    sans-serif;

  background:
    radial-gradient(
      circle at top right,
      rgba(122,92,255,.15),
      transparent 40%
    ),
    radial-gradient(
      circle at top left,
      rgba(94,160,255,.10),
      transparent 35%
    ),
    linear-gradient(
      180deg,
      var(--bg),
      var(--bg2)
    );
}

/* Banner */

.nk-banner{
  display:block;
  width:100%;
  max-height:170px;
  object-fit:contain;

  background:#47287b;

  border-bottom:1px solid var(--border);
}

/* Navigation */

.site-header{
  position:sticky;
  top:0;
  z-index:50;

  backdrop-filter:blur(12px);

  background:rgba(10,12,18,.65);

  border-bottom:1px solid var(--border);
}

[data-theme="light"] .site-header{
  background:rgba(255,255,255,.80);
}

.wrap{
  width:min(var(--wrap),95%);
  margin:auto;
}

.site-header .wrap{
  display:flex;
  justify-content:center;
  align-items:center;

  gap:10px;

  padding:12px;

  flex-wrap:wrap;
}

.site-header a{
  text-decoration:none;

  color:var(--text);

  font-size:.95rem;
  font-weight:600;

  padding:8px 14px;

  border-radius:12px;

  background:var(--card);

  border:1px solid var(--border);

  transition:.25s;
}

.site-header a:hover{
  border-color:var(--brand);
  transform:translateY(-1px);
}

/* Otter */

.menu-otter{
  height:60px;
  width:auto;

  transition:.25s;
}

.menu-otter:hover{
  transform:scale(1.05);
}

/* Theme Button */

.theme-toggle{
  border:none;

  background:var(--card);

  border:1px solid var(--border);

  color:var(--text);

  border-radius:12px;

  width:42px;
  height:42px;

  cursor:pointer;
}

/* Hero */

.hero-text{
  padding:60px 0;
}

.hero-text h1{
  text-align:center;

  font-size:clamp(3rem,6vw,5rem);

  margin-bottom:12px;
}

.nk-hero-sub{
  text-align:center;

  font-size:1.25rem;

  color:var(--muted);
}

.lead{
  text-align:center;

  margin-top:20px;

  font-size:1.2rem;

  font-weight:600;
}

/* Karten */

.intro-card,
.feature,
.quote-box{

  background:var(--card);

  border:1px solid var(--border);

  border-radius:var(--radius);

  box-shadow:
    0 15px 50px rgba(0,0,0,.25);

  padding:28px;
}

.intro-card{
  max-width:900px;
  margin:20px auto 50px;
}

.intro-card h2{
  text-align:center;
  margin-bottom:20px;
}

.intro-card p{
  color:var(--muted);
  margin-bottom:16px;
}

/* Buttons */

.hero-actions{
  display:flex;
  gap:16px;
  justify-content:center;
  margin-top:30px;
  flex-wrap:wrap;
}

.cta{
  padding:14px 22px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;

  background:
    linear-gradient(
      90deg,
      var(--brand),
      var(--brand2)
    );

  color:#fff;
}

.cta.secondary{
  background:var(--card);
  color:var(--text);
  border:1px solid var(--border);
}

/* Prinzipien */

.principles{
  display:grid;

  grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

  gap:16px;

  margin-top:24px;
}

.principle{
  background:rgba(255,255,255,.03);

  border:1px solid var(--border);

  border-radius:14px;

  padding:18px;
}

.principle strong{
  display:block;
  margin-bottom:8px;
}

/* Features */

.feature-grid{
  display:grid;

  grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

  gap:24px;

  margin:40px auto;

  width:min(var(--wrap),95%);
}

.feature{
  transition:.25s;
}

.feature:hover{
  transform:translateY(-4px);
  background:var(--card-hover);
}

.feature h3{
  margin-bottom:14px;
}

.feature p{
  color:var(--muted);
}

.feature a{
  display:inline-block;
  margin-top:14px;

  color:var(--brand2);

  text-decoration:none;
}

/* Audio */

audio{
  width:100%;
  margin-top:16px;
}

/* Zitat */

.quote-box{
  margin:50px auto;

  max-width:850px;

  text-align:center;

  font-size:1.25rem;

  color:var(--muted);
}

/* Footer */

.site-footer{
  text-align:center;

  margin-top:70px;

  padding:30px;

  color:var(--muted);

  border-top:1px solid var(--border);
}

.site-footer a{
  color:var(--brand2);
  text-decoration:none;
}

/* Mobile */

@media (max-width:768px){

  .hero-text{
    padding:40px 0;
  }

}