/* Zettelpilot Landing + Rechtsseiten - statisch via Caddy. Theme-aware, responsive, druckbar. */
:root{
  /* Exakt die Palette des Dashboards (dashboard/templates/base.html), damit Website und
     Kundenbereich wie EIN Produkt aussehen. Die Variablennamen bleiben aus der alten
     Amber-Fassung erhalten - nur die Werte sind neu. */
  --ink:#1f3b57; --ink-soft:#2b4a6b; --paper:#f7f8fa; --card:#ffffff; --line:#e3e8ee;
  --text:#1a2330; --muted:#6b7785; --amber:#1f3b57; --amber-deep:#1f3b57; --money:#1d7a3f;
  /* Auf dunklem Grund (Hero, Preisbox, CTA-Band) waere Marineblau unsichtbar - dort dieser
     helle Akzent. */
  --accent-light:#9dc0e4;
  --hero-text:#ffffff; --hero-muted:#cdd9e6; --radius:14px;
  --shadow:0 1px 2px rgba(27,36,48,.06),0 8px 24px rgba(27,36,48,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);line-height:1.6;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}
a{color:var(--amber-deep)}
h1,h2,h3{text-wrap:balance;line-height:1.15;letter-spacing:-.015em;margin:0}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-deep)}

/* Top bar */
.topbar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;letter-spacing:-.02em;color:var(--text);text-decoration:none}
.logo .mark{width:30px;height:30px;object-fit:contain;display:block}
.topbar .cta{background:var(--amber);color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;padding:9px 16px;border-radius:9px}
.topnav{display:flex;align-items:center;gap:10px}
/* Zurueckhaltender als der Probemonat-Knopf: bestehende Kunden suchen ihn gezielt. */
.topbar .login{color:var(--text);text-decoration:none;font-weight:700;font-size:.9rem;
  padding:8px 15px;border:1px solid var(--line);border-radius:9px;background:var(--card)}
.topbar .login:hover{border-color:var(--amber);color:var(--amber)}

/* Hero */
.hero{background:radial-gradient(120% 140% at 100% 0%, var(--ink-soft) 0%, var(--ink) 55%);color:var(--hero-text)}
.hero .wrap{padding:56px 20px 60px}
.hero h1{font-size:clamp(1.9rem,5vw,2.9rem);font-weight:800;margin-top:14px;max-width:20ch}
.hero h1 u{text-decoration:none;color:var(--accent-light);box-shadow:inset 0 -.3em 0 rgba(157,192,228,.20)}
.hero .eyebrow{color:var(--accent-light)}
.hero p.sub{color:var(--hero-muted);font-size:1.12rem;margin-top:18px;max-width:56ch}
.hero .actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:11px;font-size:1rem}
.btn.primary{background:#fff;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--hero-text);border:1px solid rgba(255,255,255,.28)}
/* Die vier Kernaussagen stehen direkt unter der Ueberschrift und tragen den Hero -
   deshalb gross und zweizeilig statt als kleine Fusszeile. */
.hero .trustline{margin-top:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hero .trustline span{display:flex;flex-direction:column;gap:2px;
  border-left:3px solid var(--accent-light);padding:2px 0 2px 14px}
.hero .trustline b{color:var(--hero-text);font-size:1.45rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.hero .trustline i{color:var(--hero-muted);font-style:normal;font-size:.9rem;line-height:1.35}

/* Sections */
section{padding:52px 0;border-bottom:1px solid var(--line)}
section h2{font-size:clamp(1.4rem,3.4vw,1.9rem);font-weight:800}
section .lead{color:var(--muted);margin-top:8px;max-width:60ch}
.kicker{color:var(--amber-deep);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}

/* Problem list */
.problems{margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.problems li{list-style:none;display:flex;gap:11px}
.problems li::before{content:"✗";color:var(--amber-deep);font-weight:800}

/* Steps */
.steps{margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;box-shadow:var(--shadow)}
.step .n{width:34px;height:34px;border-radius:9px;background:var(--amber);color:#fff;font-weight:800;display:grid;place-items:center;margin-bottom:12px}
.step h3{font-size:1.06rem;font-weight:750}
.step p{color:var(--muted);font-size:.94rem;margin:6px 0 0}
.callout{margin-top:20px;background:rgba(31,59,87,.09);border:1px solid rgba(31,59,87,.28);border-radius:12px;padding:16px 18px}
.callout b{color:var(--amber-deep)}
.channels{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.channel{flex:1;min-width:240px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.channel h3{font-size:1rem}.channel p{color:var(--muted);font-size:.92rem;margin:6px 0 0}
.channel code{background:var(--paper);border:1px solid var(--line);padding:2px 7px;border-radius:6px;font-size:.86rem}

/* Benefits + generic cards */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.benefit{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}
.benefit h3{font-size:1.03rem;font-weight:750}.benefit p{color:var(--muted);font-size:.92rem;margin:4px 0 0}
.what-stb{margin-top:22px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--money);border-radius:12px;padding:20px 22px;box-shadow:var(--shadow)}
.what-stb ul{margin:10px 0 0;padding-left:20px;color:var(--muted)}
.what-stb b{color:var(--text)}

/* Price */
.pricebox{margin-top:24px;display:flex;gap:22px;flex-wrap:wrap;align-items:center;background:radial-gradient(120% 130% at 0% 0%, var(--ink-soft) 0%, var(--ink) 60%);color:var(--hero-text);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.pricebox .amt{font-size:2.8rem;font-weight:800;letter-spacing:-.03em}
.pricebox .amt span{font-size:1rem;color:var(--hero-muted);font-weight:400}
.pricebox .amt.zweit{font-size:1.6rem;margin-top:6px;color:var(--accent-light)}
.pricebox ul{margin:0;padding:0;flex:1;min-width:240px;display:grid;gap:8px}
.pricebox li{list-style:none;display:flex;gap:10px}.pricebox li::before{content:"✓";color:var(--accent-light);font-weight:800}

/* FAQ */
.faq{margin-top:22px;display:grid;gap:12px}
.qa{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.qa h3{font-size:1rem;font-weight:750}.qa p{color:var(--muted);font-size:.93rem;margin:6px 0 0}

/* CTA band */
.ctaband{background:var(--ink);color:var(--hero-text);border:none}
.ctaband h2{color:#fff}.ctaband p{color:var(--hero-muted);margin-top:8px;max-width:56ch}
.ctaband .eyebrow{color:var(--accent-light)}
.ctaband .btn.dark{background:#fff;color:var(--ink);margin-top:18px}

/* Footer */
footer{background:var(--ink);color:var(--hero-muted);padding:34px 0}
footer .wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:center}
footer a{color:var(--hero-muted);text-decoration:none;margin-right:16px;font-size:.9rem}
footer a:hover{color:var(--hero-text)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chip{font-size:.78rem;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:600}

/* Legal prose pages */
.legal{padding:40px 0 60px}
.legal h1{font-size:1.9rem;margin-bottom:6px}
.legal .updated{color:var(--muted);font-size:.85rem;margin-bottom:26px}
.legal h2{font-size:1.2rem;margin:28px 0 8px}
.legal h3{font-size:1.02rem;margin:18px 0 6px}
.legal p,.legal li{color:var(--text);font-size:.96rem}
.legal .ph{background:rgba(31,59,87,.16);border-bottom:1px dashed var(--amber-deep);padding:0 4px;border-radius:3px;font-weight:600}
.legal .note{background:rgba(31,59,87,.09);border:1px solid rgba(31,59,87,.28);border-radius:10px;padding:12px 16px;margin:16px 0;font-size:.9rem}
.legal table{width:100%;border-collapse:collapse;margin:12px 0}
.legal th,.legal td{border:1px solid var(--line);padding:8px 10px;text-align:left;font-size:.9rem;vertical-align:top}
.legal a.back{display:inline-block;margin-bottom:20px;font-size:.9rem}

@media (max-width:640px){
  .problems,.steps,.grid2{grid-template-columns:1fr}
  /* Werbeknopf weg, Anmelden bleibt: Bestandskunden sind unterwegs und brauchen ihn. */
  .topbar .cta{display:none}
  /* Vier Spalten waeren auf dem Handy unlesbar schmal. */
  .hero .trustline{grid-template-columns:1fr 1fr;gap:12px}
  .hero .trustline b{font-size:1.2rem}
}
@media print{ .topbar,.ctaband,footer .chips{display:none} body{background:#fff} }

/* Interesse-Formular */
.leadform{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow);max-width:560px}
.leadform .row{display:grid;gap:6px;margin-bottom:14px}
.leadform label{font-size:.86rem;font-weight:700;color:var(--text)}
/* 16px verhindert, dass iOS beim Antippen ins Feld hineinzoomt */
.leadform input{font:inherit;font-size:16px;width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:10px;background:var(--paper);color:var(--text)}
.leadform input:focus{outline:2px solid var(--amber);outline-offset:1px}
.leadform button{font:inherit;font-size:1rem;font-weight:700;width:100%;cursor:pointer;border:none;
  background:var(--amber);color:#fff;padding:14px 24px;border-radius:11px}
.leadform .hint{color:var(--muted);font-size:.85rem;margin:12px 0 0}
/* Honigtopf: fuer Menschen unsichtbar, Bots fuellen ihn aus */
.leadform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formnote{margin:16px 0;padding:14px 16px;border-radius:10px;font-size:.94rem;
  background:rgba(31,59,87,.12);border:1px solid rgba(31,59,87,.4)}

/* Tarifauswahl und Zustimmung im Anmeldeformular */
.leadform .tarif{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin:0 0 8px;
  padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);
  font-weight:400}
.leadform .tarif:hover{border-color:var(--amber)}
/* :has faellt in alten Browsern still aus - dann fehlt nur die Hervorhebung, nichts bricht. */
.leadform .tarif:has(input:checked){border-color:var(--amber);background:#eef2f6;
  box-shadow:inset 0 0 0 1px var(--amber)}
.leadform .tarif input{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.leadform .tarif span{display:flex;flex-direction:column}
.leadform .tarif b{font-size:1rem;color:var(--text)}
.leadform .tarif i{font-style:normal;font-size:.85rem;color:var(--muted)}
.leadform .zustimmung{display:flex;align-items:flex-start;gap:10px;margin:14px 0 4px;
  font-size:.88rem;color:var(--muted);cursor:pointer}
.leadform .zustimmung input{width:18px;height:18px;margin:1px 0 0;flex:0 0 auto}
