:root{
    --bg:#FFFFFF; --surface:#FAFAFB; --line:#E5E7EB;
    --text:#000000; --text-muted:#5B5F6B;
    --accent:#6366F1; --accent-dark:#4548D9; --accent-light:#EEF0FD;
    --radius:16px;
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
  h1,h2,h3{ font-family:'Inter',sans-serif; font-weight:800; letter-spacing:-0.02em; line-height:1.2; }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  .wrap{ max-width:720px; margin:0 auto; padding:0 24px; }
  section{ padding:60px 0; border-bottom:1px solid var(--line); }
  @media(max-width:640px){ section{ padding:44px 0; } }

  /* NAV */
  header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  nav{ max-width:1080px; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .logo{ display:flex; align-items:center; gap:9px; }
  .logo img{ height:24px; width:auto; }
  .logo-text{ font-weight:800; font-size:18px; letter-spacing:-0.01em; }
  .back-link{ font-size:14px; font-weight:600; color:var(--accent); }
  .back-link:hover{ color:var(--accent-dark); }

  /* HERO — dunkles Farbschema wie auf der Startseite */
  .vhero{
    position:relative; z-index:0; padding:68px 0 56px; text-align:center;
    background:linear-gradient(165deg, #0B0B14 0%, #14122A 45%, #1B1840 100%);
    border-bottom-color:transparent; overflow:hidden;
  }
  .vhero::before{
    content:""; position:absolute; inset:0; pointer-events:none; opacity:0.5;
    background-image:
      linear-gradient(rgba(99,102,241,0.12) 1px, transparent 1px),
      linear-gradient(90deg, rgba(99,102,241,0.12) 1px, transparent 1px);
    background-size:42px 42px;
    -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 35%, #000 0%, transparent 75%);
    mask-image:radial-gradient(ellipse 70% 70% at 50% 35%, #000 0%, transparent 75%);
  }
  .vhero .wrap{ position:relative; z-index:1; }
  .vbadge{
    display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,0.08); border:1px solid rgba(129,140,248,0.4);
    color:#fff; padding:10px 20px; border-radius:999px; font-weight:700; font-size:13px; letter-spacing:0.04em; margin-bottom:28px;
  }
  .vbadge .dot{ width:8px; height:8px; border-radius:50%; background:#818CF8; box-shadow:0 0 10px rgba(129,140,248,.9); }
  .vhero h1{ color:#fff; font-size:clamp(30px,5vw,44px); margin-bottom:18px; }
  .vhero .eyebrow{ font-size:14px; font-weight:700; letter-spacing:0.04em; color:#A5B4FC; margin-bottom:18px; }
  .vhero p{ color:#AEB0C8; font-size:16.5px; max-width:560px; margin:0 auto; }

  .eyebrow-s{ font-size:13px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }

  /* Info-Karte */
  .info-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
  .info-block{ padding:24px 28px; border-bottom:1px solid var(--line); }
  .info-block:last-child{ border-bottom:none; }
  .info-block h3{ font-size:12.5px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
  .info-block p{ color:var(--text); font-size:16px; margin-bottom:2px; }
  .info-block p.muted{ color:var(--text-muted); font-size:14.5px; margin-top:8px; }
  .info-block a.inline-link{ color:var(--accent-dark); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
  .info-block a.inline-link:hover{ color:var(--accent); }
  .ph{ background:var(--accent-light); color:var(--accent-dark); padding:1px 6px; border-radius:5px; font-weight:700; font-size:0.95em; }
  .hl{ color:var(--accent-dark); font-weight:700; }

  /* Abschluss */
  .closing-sec{ text-align:center; padding:72px 0 84px; border-bottom:none; }
  .closing-sec .eyebrow-s{ justify-content:center; display:flex; }
  .closing-sec h2{ font-size:clamp(24px,3.8vw,32px); margin-bottom:14px; }
  .closing-sec p{ color:var(--text-muted); font-size:15.5px; max-width:520px; margin:0 auto 30px; }
  .btn{ display:inline-flex; align-items:center; gap:10px; padding:16px 30px; background:var(--accent); color:#fff; font-weight:700; font-size:15.5px; border-radius:999px; border:none; cursor:pointer; transition:background .15s ease, transform .15s ease; }
  .btn:hover{ background:var(--accent-dark); transform:translateY(-1px); }

  footer{ padding:36px 0; }
  .footer-wrap{ max-width:1080px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
  .footer-wrap span{ font-size:13px; color:var(--text-muted); }
  .footer-wrap a{ font-size:13px; color:var(--text-muted); }
  .footer-wrap a:hover{ color:var(--accent); }

/* ehemals Inline-Styles */
.imp-s1{ color:#A5B4FC !important; }
