:root{--paper:#fff;--ink:#101828;--muted:#5b6475;--border:#e7e9ee;--shadow:0 10px 30px rgba(16,24,40,.08)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#f6f7fb;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:18px 20px}
.topbar{position:sticky;top:0;background:rgba(246,247,251,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border);z-index:10}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.brand__name{font-weight:850;letter-spacing:.2px}
.pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.85rem;background:#fff;box-shadow:0 1px 0 rgba(16,24,40,.03)}
.muted{color:var(--muted)}
.nav{display:flex;gap:10px;flex-wrap:wrap}
.nav a{padding:8px 10px;border-radius:10px}
.nav a:hover{background:#fff;border:1px solid var(--border);padding:7px 9px}
.hero h1{font-size:2.25rem;line-height:1.15;margin:12px 0 8px}
.lead{color:var(--muted);margin:0 0 14px;font-size:1.05rem}
.grid{display:grid;grid-template-columns:1.55fr .85fr;gap:16px;align-items:start}
.card{background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.card h2{margin:0 0 10px;font-size:1.1rem}
.card p{margin:8px 0}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.kpi{border:1px solid var(--border);border-radius:14px;padding:10px;background:#fbfbfd}
.kpi__label{font-size:.8rem;color:var(--muted)}
.kpi__value{font-weight:750;margin-top:4px}
.section{margin:16px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tablewrap{overflow:auto;border:1px solid var(--border);border-radius:14px}
.table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.table thead th{background:#fbfbfd;font-size:.9rem;color:#3b465c}
.table tbody tr:hover{background:#fbfbff}
.footer{border-top:1px solid var(--border);background:#f6f7fb;margin-top:30px}
.footer__inner{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.footer__right a{padding:8px 10px;border-radius:10px}
.footer__right a:hover{background:#fff;border:1px solid var(--border);padding:7px 9px}
details{border-top:1px solid var(--border);padding:10px 0}
details summary{cursor:pointer;font-weight:650}
@media (max-width: 920px){
  .grid{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr}
}

/* Legal sections (Impressum/Datenschutz via includes) */
.legal-section{padding:32px 0;border-top:1px solid rgba(0,0,0,.08);background:#fff;}
.legal-section h2{font-size:1.25rem;margin:0 0 12px 0;}

/* Centered legal sections (Impressum/Datenschutz) */
#impressum,
#datenschutz{
  max-width:600px;
  margin:0 auto;
  padding:0 16px;
  text-align:center;
}
#impressum *,
#datenschutz *{
  text-align:center !important;
}
