:root{
  --bg:#0C0E12;
  --panel:#12151C;
  --line:rgba(237,239,244,.1);
  --text:#EDEFF4;
  --muted:#8A8F9C;
  --red:#E8442E;
  --red-soft:#FF6A55;
  --mx:50vw; --my:50vh;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Space Grotesk',sans-serif;background:var(--bg);color:var(--text);
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit}
::selection{background:var(--red);color:#fff}

/* Hintergrund-Effekte (wie Startseite) */
.grid-layer{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(237,239,244,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(237,239,244,.05) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(340px circle at var(--mx) var(--my),black 0%,transparent 75%);
  -webkit-mask-image:radial-gradient(340px circle at var(--mx) var(--my),black 0%,transparent 75%);
}
.glow-layer{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(480px circle at var(--mx) var(--my),rgba(232,68,46,.07),transparent 70%);
}
main,header,footer{position:relative;z-index:1}
@media(hover:none){
  .grid-layer{mask-image:none;-webkit-mask-image:none;opacity:.5}
  .glow-layer{display:none}
}

/* Header */
header{position:fixed;top:0;left:0;right:0;z-index:90;transition:.35s;border-bottom:1px solid transparent}
header.scrolled{background:rgba(12,14,18,.82);backdrop-filter:blur(12px);border-color:var(--line)}
.nav{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 24px}
.logo{font-weight:700;font-size:1.06rem;text-decoration:none;letter-spacing:.02em;display:flex;align-items:center;gap:10px}
.logo .dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 14px var(--red)}
.nav-links{display:flex;gap:30px;align-items:center;list-style:none}
.nav-links a{text-decoration:none;font-size:.88rem;color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--text)}
.btn{
  display:inline-block;background:var(--red);color:#fff;padding:13px 26px;border-radius:8px;
  text-decoration:none;font-weight:700;font-size:.9rem;border:none;cursor:pointer;
  transition:transform .15s,box-shadow .25s,background .2s;
}
.btn:hover{background:var(--red-soft);transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(232,68,46,.55)}
@media(max-width:740px){.nav-links li:not(:last-child){display:none}}

/* Rechtstext-Bereich */
.legal-section{padding:150px 24px 90px;min-height:80vh}
.legal{max-width:840px;margin:0 auto}
.back{
  display:inline-flex;align-items:center;gap:8px;font-size:.86rem;color:var(--muted);
  text-decoration:none;margin-bottom:34px;transition:color .2s,padding-left .2s;
}
.back:hover{color:var(--red-soft);padding-left:4px}
.legal-card{
  border:1px solid var(--line);border-radius:14px;background:var(--panel);
  padding:clamp(24px,4vw,52px);
}
/* Snippet-Inhalt an den dunklen Look anpassen */
#jmdcontent{color:var(--text)}
#jmdcontent h1{font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
#jmdcontent h2{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}
#jmdcontent h3{font-size:1.12rem;font-weight:600}
#jmdcontent h4{font-size:1rem;font-weight:600;color:var(--text)}
#jmdcontent a{color:var(--red-soft);text-decoration:underline}
#jmdcontent a:hover{color:var(--red)}
#jmdcontent p,#jmdcontent li{color:var(--text)}
#jmdcontent hr{border:none;border-top:1px solid var(--line);margin:1.5em 0}

/* Footer */
footer{border-top:1px solid var(--line);padding:36px 24px}
.foot{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}
.foot a{text-decoration:none}
.foot a:hover{color:var(--text)}
.foot-links{display:flex;gap:24px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
