    :root{
      --bg:#ffffff;
      --surface:#f4f7fc;
      --surface2:#e8f0fb;

      --text:#0d1f2d;
      --muted:#64748b;

      --border:#e4eaf0;
      --border2:#cdd8e8;

      --accent:#004aad;
      --accent-light:#e8f0fb;
      --accent-dark:#0d2e5a;

      --btn:#004aad;
      --btn-light:rgba(0,74,173,.08);
      --btn-border:rgba(0,74,173,.3);
    }

    *{box-sizing:border-box;margin:0;padding:0}
    body{
      font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
      background: var(--bg);
      color:var(--text);
      line-height:1.6;
    }
    a{color:var(--text);text-decoration:none}
    .container{max-width:1060px;margin:0 auto;padding:40px 24px}
    section{margin-bottom:72px}
    p{color:var(--muted)}
    h1,h2,h3{line-height:1.2;font-weight:600;color:var(--text);letter-spacing:-.3px}
    h1{font-size:2.6rem;margin-bottom:14px}
    h2{font-size:1.8rem;margin-bottom:18px}
    h3{font-size:1.1rem;margin-bottom:8px}

    footer{
      border-top:0.5px solid var(--border);
      padding:22px 24px;
      color:var(--muted);
    }
    .footer-inner{
      max-width:1060px;margin:0 auto;
      display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    }
    .footer-links{display:flex;gap:16px}
    .footer-links a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:.88rem}
    .footer-links a:hover{color:var(--text)}

    /* NAV */
    .nav{
      display:flex;align-items:center;justify-content:space-between;
      padding:16px 24px;
      border-bottom:0.5px solid var(--border);
      position:sticky;top:0;z-index:50;
      background:rgba(255,255,255,.9);
      backdrop-filter: blur(12px);
      gap:12px;
    }
    .brand a{
      display:inline-block;
      font-weight:600;
      font-size:.95rem;
      color:var(--text);
      letter-spacing:-.2px;
    }
    .nav a{color:var(--muted);margin-left:20px;font-size:.9rem}
    .nav a:hover{color:var(--text)}
    .nav .cta{
      padding:8px 14px;border-radius:8px;
      background:var(--btn);
      border:none;
      color:#ffffff;
      font-weight:500;
      font-size:.88rem;
      margin-left:12px;
    }
    .nav .cta:hover{background:#003a8c}

    .nav-center{
      text-align:center;
      color:var(--muted);
      line-height:1.15;
      padding: 0 16px;
      max-width: 520px;
    }
    .nav-center-title{
      font-weight:600;
      color:var(--text);
      font-size:.88rem;
    }
    .nav-center-steps{
      font-size:.8rem;
      color:var(--muted);
      margin-top:3px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .nav-links{display:flex;align-items:center}
    .nav-right{display:flex;align-items:center;gap:8px}

    @media (max-width: 980px){
      .nav-center{display:none;}
    }

    /* Hamburger */
    .hamburger{
      display:none;
      flex-direction:column;
      justify-content:center;
      gap:5px;
      width:38px;height:38px;
      border:0.5px solid var(--border2);
      border-radius:8px;
      background:var(--surface);
      cursor:pointer;
      padding:8px;
      flex-shrink:0;
    }
    .hamburger span{
      display:block;
      height:2px;
      background:var(--text);
      border-radius:2px;
      transition:all .2s;
    }
    .mobile-menu{
      display:none;
      position:sticky;
      top:57px;
      left:0;right:0;
      background:rgba(255,255,255,.97);
      backdrop-filter:blur(12px);
      border-bottom:0.5px solid var(--border);
      padding:8px 24px 14px;
      flex-direction:column;
      gap:0;
      z-index:48;
    }
    .mobile-menu a{
      display:block;
      padding:12px 0;
      border-bottom:0.5px solid var(--border);
      color:var(--text);
      font-size:1rem;
      margin-left:0;
    }
    .mobile-menu a:last-child{border-bottom:none;padding-bottom:4px;}
    .mobile-menu.open{display:flex;}

    @media (max-width: 640px){
      .nav{padding:12px 16px;}
      .nav-links a:not(.cta){display:none;}
      .hamburger{display:flex;}
    }

    /* HERO */
    .hero{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:48px;
      align-items:center;
      padding-top:56px;
    }
    @media (max-width: 900px){ .hero{grid-template-columns:1fr} }

    .section-label{
      font-size:.75rem;
      font-weight:600;
      letter-spacing:.07em;
      text-transform:uppercase;
      color:var(--accent);
      margin-bottom:12px;
      display:block;
    }

    .badge{
      display:inline-flex;
      padding:5px 10px;
      border-radius:999px;
      background:var(--accent-light);
      border:0.5px solid var(--btn-border);
      font-size:.8rem;
      margin-bottom:12px;
      color:var(--accent);
      font-weight:600;
    }
    .lead{font-size:1.05rem;max-width:760px;color:var(--muted)}

    .hero-actions{
      margin-top:24px;
      display:flex;gap:10px;flex-wrap:wrap;
    }
    .btn{
      padding:11px 18px;border-radius:8px;
      border:0.5px solid var(--border2);
      background:var(--surface);
      color:var(--text);
      font-weight:500;
      font-size:.9rem;
      display:inline-block;
      transition:background .15s;
    }
    .btn:hover{background:var(--border)}
    .btn-primary{
      background: var(--btn);
      border:none;
      color:#ffffff;
    }
    .btn-primary:hover{background:#003a8c}

    /* HERO VISUAL */
    .hero-media{
      background:var(--surface);
      border:0.5px solid var(--border2);
      border-radius:16px;
      overflow:hidden;
      padding:20px;
    }
    .hero-media img{
      width:100%;
      display:block;
      object-fit:cover;
      border-radius:10px;
    }
    .media-caption{
      padding:10px 0 0;
      color:var(--muted);
      font-size:.85rem;
    }

    /* DARK BAND */
    .dark-band{
      background:var(--accent-dark);
      padding:36px 24px;
    }
    .dark-band-inner{
      max-width:1060px;
      margin:0 auto;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
    }
    .dark-card{
      border:0.5px solid rgba(255,255,255,.12);
      border-radius:12px;
      padding:18px;
    }
    .dark-label{font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:6px;}
    .dark-val{font-size:1.6rem;font-weight:600;color:#ffffff;}
    .dark-desc{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:4px;}
    @media(max-width:700px){
      .dark-band-inner{grid-template-columns:1fr 1fr}
    }

    /* GRID & CARDS */
    .grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
      gap:14px;
      margin-top:18px;
    }
    .card{
      background:var(--surface);
      border:0.5px solid var(--border2);
      border-radius:12px;
      padding:20px;
    }
    .card-icon{
      width:36px;height:36px;
      background:var(--accent-light);
      border-radius:8px;
      display:flex;align-items:center;justify-content:center;
      margin-bottom:12px;
      color:var(--accent);
      font-size:.9rem;
      font-weight:700;
    }

    /* FORM */
    #anfrage{ scroll-margin-top: 100px; }
    form{margin-top:18px}
    .form-wrap{
      background:var(--surface);
      border:0.5px solid var(--border2);
      border-radius:14px;
      padding:20px;
      max-width:820px;
    }
    .row{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
      margin-bottom:12px;
    }
    @media (max-width: 700px){ .row{grid-template-columns:1fr} }

    label{
      display:block;
      color:var(--text);
      font-weight:500;
      margin-bottom:6px;
      font-size:.9rem;
    }
    input[type="text"],
    input[type="email"],
    select,
    textarea{
      width:100%;
      padding:10px 12px;
      border-radius:8px;
      border:0.5px solid var(--border2);
      background:#fff;
      color:var(--text);
      outline:none;
      font-size:.9rem;
      font-family:inherit;
      transition:border-color .15s;
    }
    input:focus,select:focus,textarea:focus{border-color:var(--btn-border)}
    textarea{min-height:120px;resize:vertical}
    input::placeholder, textarea::placeholder{color: rgba(100,116,139,.6)}
    .help{font-size:.85rem;color:var(--muted);margin-top:5px}
    .checkgrid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
      gap:8px;
      margin-top:8px;
      margin-bottom:12px;
    }
    .check{
      display:flex;gap:10px;align-items:flex-start;
      padding:10px 12px;border-radius:8px;
      border:0.5px solid var(--border2);
      background:#fff;
      cursor:pointer;
      font-size:.88rem;
      color:var(--text);
      font-weight:400;
    }
    .check input{margin-top:3px;flex-shrink:0}
    .fineprint{
      margin-top:14px;
      font-size:.85rem;
      color:var(--muted);
    }

    button[type="submit"]{
      background: var(--btn);
      border:none;
      color:#ffffff;
      padding:11px 20px;
      border-radius:8px;
      font-size:.9rem;
      font-weight:500;
      cursor:pointer;
      transition:background .15s;
    }
    button[type="submit"]:hover{background:#003a8c}

    /* STATUS */
    .status{
      max-width: 820px;
      margin-top: 16px;
      margin-bottom: 12px;
      padding: 12px 14px;
      border-radius: 10px;
      border: 0.5px solid var(--border2);
      background: var(--surface);
      color: var(--text);
      font-size:.9rem;
    }
    .status.ok{
      border-color: rgba(0,74,173,.4);
      background: var(--accent-light);
    }
    .status.warn{
      border-color: rgba(0,74,173,.3);
      background: var(--accent-light);
    }
    .status.err{
      border-color: rgba(180,50,50,.3);
      background: rgba(180,50,50,.05);
    }

    /* PASST LIST */
    .passt-list{
      list-style:none;
      margin-top:14px;
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
      gap:10px;
      max-width:100%;
    }
    .passt-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      background:var(--surface);
      border:0.5px solid var(--border2);
      border-radius:10px;
      padding:12px 14px;
      font-size:.9rem;
      color:var(--muted);
    }
    .passt-list li::before{
      content:'✓';
      color:var(--accent);
      font-weight:700;
      flex-shrink:0;
      margin-top:1px;
      font-size:.85rem;
    }

    /* LEISTUNGEN PAGE */
    .section-label-block{
      font-size:.72rem;
      font-weight:600;
      letter-spacing:.07em;
      text-transform:uppercase;
      color:var(--muted);
      margin:48px 0 12px;
      padding-bottom:8px;
      border-bottom:0.5px solid var(--border);
    }
    .leistungs-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:14px;
      margin-top:18px;
    }
    @media(max-width:800px){
      .leistungs-grid{grid-template-columns:1fr}
    }
    .leistungs-card{
      background:var(--surface);
      border:0.5px solid var(--border2);
      border-radius:12px;
      padding:20px;
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .leistungs-card h3{font-size:1rem;margin-bottom:2px}
    .leistungs-card .ab{
      font-size:.85rem;
      color:var(--accent);
      font-weight:600;
      margin-top:auto;
      padding-top:10px;
    }

    /* ABLAUF STEPS */
    .steps{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
      margin-top:22px;
    }
    @media (max-width:700px){
      .steps{grid-template-columns:1fr}
      .container{padding:56px 18px}
      h1{font-size:2rem}
    }
    .step{
      display:flex;gap:16px;align-items:flex-start;
      padding:18px 20px;border-radius:12px;
      background:var(--surface);
      border:0.5px solid var(--border2);
    }
    .step-number{
      flex-shrink:0;width:36px;height:36px;border-radius:50%;
      background:var(--accent-light);
      border:0.5px solid var(--btn-border);
      display:flex;align-items:center;justify-content:center;
      font-weight:700;color:var(--accent);
      font-size:.9rem;
    }

    /* BOTTOM NOTE */
    .bottom-note{
      margin-top:48px;
      padding:16px 18px;
      background:var(--surface);
      border:0.5px solid var(--border2);
      border-radius:10px;
      font-size:.88rem;
      color:var(--muted);
      line-height:1.6;
    }
