/* Zeitdock Designsystem – Tokens (Standard hell, umschaltbar auf dunkel). Eigenständig, ruhig, professionell. */
@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('../fonts/inter-var.woff2') format('woff2');
}
:root {
  --zd-color-bg: #f7f8fa; --zd-color-surface: #ffffff; --zd-color-surface-alt: #eef1f5;
  --zd-color-text: #1a1f29; --zd-color-headline: #0f172a;
  --zd-color-muted: #5b6577; --zd-color-primary: #1f6feb; --zd-color-primary-hover: #1657bf;
  --zd-color-primary-to: #4c6ef5; --zd-color-primary-ink: #ffffff;
  --zd-color-accent: #0b7285; --zd-color-border: #e3e7ee; --zd-color-danger: #c0362c;
  --zd-color-success: #1a7f52; --zd-color-warning: #a8720a;
  --zd-color-icon-bg: #eaf1fe; --zd-color-glow: rgba(31,111,235,.16);
  --zd-color-cta-from: #0f172a; --zd-color-cta-to: #1e3a6e;
  --zd-radius-sm: 6px; --zd-radius-md: 10px; --zd-radius-lg: 16px; --zd-radius-xl: 20px;
  --zd-space-1: 4px; --zd-space-2: 8px; --zd-space-3: 12px; --zd-space-4: 16px;
  --zd-space-5: 24px; --zd-space-6: 32px; --zd-space-8: 48px;
  --zd-shadow-1: 0 1px 2px rgba(16,24,40,.06); --zd-shadow-2: 0 12px 32px rgba(16,24,40,.14);
  --zd-font: 'Inter',system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --zd-maxw: 1180px;
  color-scheme: light;
}
/* Standard ist IMMER hell, unabhängig vom Betriebssystem – dunkel nur nach explizitem Klick. */
[data-theme="dark"] {
  --zd-color-bg:#0d1117; --zd-color-surface:#161b22; --zd-color-surface-alt:#11161d;
  --zd-color-text:#e6edf3; --zd-color-headline:#f4f7fb;
  --zd-color-muted:#9aa4b2; --zd-color-primary:#4c8dff; --zd-color-primary-hover:#6ea2ff;
  --zd-color-primary-to:#7d9bff; --zd-color-border:#2a313c;
  --zd-color-icon-bg: rgba(76,141,255,.14); --zd-color-glow: rgba(76,141,255,.18);
  --zd-color-cta-from:#0d1117; --zd-color-cta-to:#173059;
  --zd-shadow-1: 0 1px 2px rgba(0,0,0,.3); --zd-shadow-2: 0 16px 40px rgba(0,0,0,.5);
  color-scheme: dark;
}
* { box-sizing: border-box; }
body { margin:0; font-family:var(--zd-font); background:var(--zd-color-bg); color:var(--zd-color-text);
  line-height:1.55; -webkit-font-smoothing:antialiased; transition:background .35s ease,color .35s ease; }
h1,h2,h3,h4,h5,h6 { color:var(--zd-color-headline); letter-spacing:-.02em; }
a { color:var(--zd-color-primary); text-decoration:none; }
a:hover { text-decoration:underline; }
.zd-container { max-width:var(--zd-maxw); margin:0 auto; padding:0 var(--zd-space-5); }
.zd-header { border-bottom:1px solid var(--zd-color-border); background:var(--zd-color-surface);
  position:sticky; top:0; z-index:20; transition:background .35s ease,border-color .35s ease; }
.zd-nav { display:flex; gap:var(--zd-space-5); align-items:center; height:68px; }
.zd-nav a { color:var(--zd-color-text); font-weight:500; font-size:.95rem; }
.zd-nav a.is-active { font-weight:700; color:var(--zd-color-primary); }
.zd-nav-links { display:contents; }
.zd-nav-toggle { display:none; background:transparent; border:0; font-size:22px; line-height:1;
  cursor:pointer; color:var(--zd-color-text); padding:4px 6px; }
.zd-brand { display:flex; align-items:center; margin-right:auto; }
.zd-logo { height:26px; width:auto; display:block; }
.zd-logo--dark { display:none; }
[data-theme="dark"] .zd-logo--light { display:none; }
[data-theme="dark"] .zd-logo--dark { display:block; }
.zd-btn { display:inline-block; background:var(--zd-color-primary); color:var(--zd-color-primary-ink);
  padding:10px 18px; border-radius:var(--zd-radius-md); font-weight:600; border:0; cursor:pointer; font-family:inherit; }
.zd-btn:hover { text-decoration:none; filter:brightness(.96); }
.zd-btn--ghost { background:transparent; color:var(--zd-color-text); border:1px solid var(--zd-color-border); }
.zd-btn--gradient { background:linear-gradient(135deg,var(--zd-color-primary),var(--zd-color-primary-to));
  box-shadow:var(--zd-shadow-2); }
.zd-theme-toggle { padding:8px 12px; font-size:.9rem; white-space:nowrap; }
.zd-hero { position:relative; overflow:hidden; padding:64px 0 48px; }
.zd-hero h1 { font-size:2.8rem; line-height:1.1; letter-spacing:-.03em; margin:0 0 var(--zd-space-4); }
.zd-eyebrow { font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--zd-color-primary); margin:0 0 var(--zd-space-3); }
.zd-lead { font-size:1.15rem; line-height:1.6; color:var(--zd-color-muted); max-width:46ch; }
.zd-glow { position:absolute; top:-160px; right:-160px; width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle,var(--zd-color-glow),transparent 70%); pointer-events:none; }
.zd-card { background:var(--zd-color-surface); border:1px solid var(--zd-color-border);
  border-radius:var(--zd-radius-lg); box-shadow:var(--zd-shadow-1); padding:var(--zd-space-5);
  transition:transform .25s ease,box-shadow .25s ease; }
.zd-card--interactive:hover { transform:translateY(-3px); box-shadow:var(--zd-shadow-2); }
.zd-grid { display:grid; gap:var(--zd-space-5); grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.zd-icon-box { width:44px; height:44px; border-radius:var(--zd-radius-md); background:var(--zd-color-icon-bg);
  display:flex; align-items:center; justify-content:center; color:var(--zd-color-primary); margin-bottom:var(--zd-space-4); }
.zd-icon-box svg { display:block; }
.zd-trust-bar { padding:20px 0; border-bottom:1px solid var(--zd-color-border); }
.zd-trust-bar .zd-container { display:flex; flex-wrap:wrap; gap:var(--zd-space-6); justify-content:space-between; align-items:center; }
.zd-trust-bar p { margin:0; font-size:.9rem; color:var(--zd-color-muted); font-weight:500; }
.zd-trust-bar strong { font-size:.95rem; font-weight:600; color:var(--zd-color-text); }
.zd-split { display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center; }
.zd-split--hero { grid-template-columns:1.05fr 0.95fr; }
.zd-split--reverse { grid-template-columns:0.9fr 1.1fr; }
.zd-section { padding:64px 0; }
.zd-section--alt { background:var(--zd-color-surface-alt); border-top:1px solid var(--zd-color-border);
  border-bottom:1px solid var(--zd-color-border); }
.zd-cta-banner { background:linear-gradient(135deg,var(--zd-color-cta-from),var(--zd-color-cta-to));
  border-radius:var(--zd-radius-xl); padding:56px 40px; text-align:center; color:#fff; }
.zd-cta-banner h2 { color:#fff; margin:0 0 var(--zd-space-3); }
.zd-cta-banner p { color:rgba(255,255,255,.85); margin:0 0 var(--zd-space-5); }
.zd-cta-banner .zd-btn { background:#fff; color:var(--zd-color-primary); font-weight:700; }
.zd-badge { display:inline-block; background:var(--zd-color-primary); color:#fff; font-size:12px;
  font-weight:700; padding:4px 12px; border-radius:999px; }
.zd-pill-toggle { display:inline-flex; align-items:center; gap:10px; background:var(--zd-color-surface);
  border:1px solid var(--zd-color-border); border-radius:999px; padding:6px; }
.zd-pill-toggle button { border:0; border-radius:999px; padding:9px 20px; font-weight:600; font-size:14px;
  cursor:pointer; font-family:inherit; background:transparent; color:var(--zd-color-text); }
.zd-pill-toggle button.is-active { background:var(--zd-color-primary); color:var(--zd-color-primary-ink); }
.zd-plan-card { background:var(--zd-color-surface); border:1px solid var(--zd-color-border);
  border-radius:var(--zd-radius-lg); box-shadow:var(--zd-shadow-1); padding:32px; display:flex;
  flex-direction:column; position:relative; }
.zd-plan-card--highlight { background:linear-gradient(160deg,var(--zd-color-cta-from),var(--zd-color-cta-to));
  border-color:transparent; box-shadow:var(--zd-shadow-2); color:#fff; }
.zd-plan-card--highlight h3, .zd-plan-card--highlight .zd-plan-price { color:#fff; }
.zd-plan-card--highlight .zd-plan-muted { color:rgba(255,255,255,.75); }
.zd-plan-card--highlight .zd-btn { background:#fff; color:var(--zd-color-primary); font-weight:700; }
.zd-plan-badge { position:absolute; top:-12px; left:28px; background:var(--zd-color-primary); color:#fff;
  font-size:12px; font-weight:700; padding:4px 12px; border-radius:999px; }
.zd-plan-price { font-size:2.4rem; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.zd-plan-muted { color:var(--zd-color-muted); }
.zd-solution-row { background:var(--zd-color-surface); border:1px solid var(--zd-color-border);
  border-radius:var(--zd-radius-lg); padding:32px; box-shadow:var(--zd-shadow-1);
  display:grid; grid-template-columns:1.3fr 1.7fr; gap:32px; align-items:center; }
.zd-solution-tag { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; color:var(--zd-color-primary); margin-bottom:8px; }
@media (max-width:720px) { .zd-solution-row { grid-template-columns:1fr; } }
.zd-field { display:block; margin-bottom:var(--zd-space-4); }
.zd-field label { display:block; font-weight:600; margin-bottom:var(--zd-space-1); }
.zd-input { width:100%; padding:11px 12px; border:1px solid var(--zd-color-border);
  border-radius:var(--zd-radius-md); background:var(--zd-color-surface); color:var(--zd-color-text); font-size:1rem; font-family:inherit; }
.zd-input:focus { outline:3px solid color-mix(in srgb,var(--zd-color-primary) 35%,transparent); border-color:var(--zd-color-primary); }
.zd-alert { padding:12px 14px; border-radius:var(--zd-radius-md); margin-bottom:var(--zd-space-4);
  border:1px solid var(--zd-color-border); }
.zd-alert--error { background:color-mix(in srgb,var(--zd-color-danger) 8%,transparent); border-color:var(--zd-color-danger); }
.zd-footer { border-top:1px solid var(--zd-color-border); color:var(--zd-color-muted); padding:var(--zd-space-6) 0; margin-top:var(--zd-space-8); }
.zd-footer .zd-container { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--zd-space-4); }
.legal-text h2 { font-size:1.15rem; margin:var(--zd-space-6) 0 var(--zd-space-2); }
.legal-text h2:first-of-type { margin-top:var(--zd-space-4); }
.zd-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.zd-table th, .zd-table td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--zd-color-border); vertical-align:top; }
.zd-table th { color:var(--zd-color-muted); font-weight:600; }
.zd-mock { border-radius:var(--zd-radius-lg); overflow:hidden; box-shadow:var(--zd-shadow-2); border:1px solid var(--zd-color-border); background:var(--zd-color-surface); }
.zd-mock__bar { display:flex; gap:6px; padding:12px 14px; border-bottom:1px solid var(--zd-color-border); background:var(--zd-color-surface-alt); }
.zd-mock__bar span { width:9px; height:9px; border-radius:50%; background:var(--zd-color-border); }
.zd-mock__body { padding:20px; display:flex; flex-direction:column; gap:12px; }
.zd-mock__row { display:flex; align-items:center; gap:10px; }
.zd-mock__row--head { margin-bottom:4px; }
.zd-mock__dot { width:8px; height:8px; border-radius:50%; background:var(--zd-color-success); flex-shrink:0; }
.zd-mock__pill { display:block; height:10px; border-radius:999px; background:var(--zd-color-border); }
.zd-mock__pill--accent { width:36%; background:var(--zd-color-primary); opacity:.5; height:12px; }
.zd-mock__pill--sm { width:16%; margin-left:auto; }
.zd-mock__chart { display:flex; align-items:flex-end; gap:8px; height:110px; }
.zd-mock__chart span { flex:1; background:linear-gradient(180deg,var(--zd-color-primary),var(--zd-color-primary-to)); border-radius:6px 6px 0 0; opacity:.85; }
.zd-fade { opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
.zd-fade.zd-in { opacity:1; transform:translateY(0); }
:focus-visible { outline:3px solid color-mix(in srgb,var(--zd-color-primary) 45%,transparent); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { * { animation:none !important; transition:none !important; } .zd-fade { opacity:1 !important; transform:none !important; } }
@media (max-width:900px){
  .zd-hero h1{font-size:2.2rem;} .zd-split{grid-template-columns:1fr;}
  .zd-nav { flex-wrap:wrap; height:auto; min-height:68px; padding:14px 0; }
  .zd-nav-toggle { display:inline-flex; order:1; margin-left:auto; }
  .zd-nav-links { display:none; order:5; width:100%; flex-direction:column; gap:2px;
    padding-top:12px; margin-top:8px; border-top:1px solid var(--zd-color-border); }
  .zd-nav-links.is-open { display:flex; }
  .zd-nav-links a { padding:10px 2px; }
}
@media (max-width:640px){ .zd-hero h1{font-size:1.9rem;} .zd-nav{gap:var(--zd-space-3);} }
