/* Startseite (web/index.html). Farben wie die App (styles/main.css), hell und dunkel über Variablen.
   Schriftgrößen 13 / 17 / 20 / 34 px wie in der App. Einzige Ausnahme: die Hauptüberschrift am Desktop (48 px),
   damit die Seite neben dem App-Bild wie eine Website wirkt. Abstände 8 / 16 / 24 / 32 und Vielfache davon. */
:root{
  --bg:#F3F3EF; --surface:#FFFFFF; --band:#EAEAE4; --ink:#111111; --muted:#5F5F5F; --sep:rgba(17,17,17,.1); --fill:rgba(17,17,17,.06);
  --lime:#D6F25C; --on-lime:#111111; --link:#3F5A00; --dark:#111111; --on-dark:#FFFFFF;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",system-ui,sans-serif;
  --font-head:-apple-system,BlinkMacSystemFont,"SF Pro Display",system-ui,sans-serif;
  --r:16px; --wrap:1120px; --pad:16px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0D0D0C; --surface:#1A1A19; --band:#151514; --ink:#F2F2EE; --muted:#A6A6A0; --sep:rgba(255,255,255,.1); --fill:rgba(255,255,255,.08);
  --link:#D6F25C; --dark:#F2F2EE; --on-dark:#111111;
}}
:root[data-theme="dark"]{
  --bg:#0D0D0C; --surface:#1A1A19; --band:#151514; --ink:#F2F2EE; --muted:#A6A6A0; --sep:rgba(255,255,255,.1); --fill:rgba(255,255,255,.08);
  --link:#D6F25C; --dark:#F2F2EE; --on-dark:#111111;
}
@media (min-width:720px){ :root{ --pad:32px } }

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
a{color:var(--link)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(var(--pad),env(safe-area-inset-left,0px));padding-right:max(var(--pad),env(safe-area-inset-right,0px))}
.muted{color:var(--muted)}

/* Navigation */
.nav{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--sep);padding-top:env(safe-area-inset-top,0px)}
.nav-in{display:flex;align-items:center;gap:8px;min-height:64px}
@media (min-width:960px){ .nav-in{gap:32px} }
.brand{display:flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:-.02em;min-height:44px}
.links{display:none;gap:24px;margin-right:auto}
.links a{color:var(--muted);text-decoration:none;font-size:17px;min-height:44px;display:flex;align-items:center}
.auth{display:flex;align-items:center;gap:8px;margin-left:auto}
.link-btn{color:var(--ink);text-decoration:none;font-weight:600;padding:0 8px;min-height:44px;display:flex;align-items:center}
@media (min-width:960px){ .links{display:flex} .auth{margin-left:0} }
@media (hover:hover){ .links a:hover,.link-btn:hover{color:var(--ink);text-decoration:underline} }

/* Knöpfe */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:10px;font-size:17px;font-weight:600;text-decoration:none;white-space:nowrap;transition:opacity .15s}
.btn-lime{background:var(--lime);color:var(--on-lime)}
.btn-dark{background:var(--dark);color:var(--on-dark)}
.btn-ghost{background:var(--fill);color:var(--ink)}
.btn-on-lime{background:rgba(17,17,17,.1);color:var(--on-lime)}
.nav .btn{padding:0 16px}
@media (max-width:400px){ .nav .btn{padding:0 12px} .link-btn{padding:0 4px} .brand span{font-size:17px} }
@media (hover:hover){ .btn:hover{opacity:.85} }
a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}

/* Kopfbereich: Text links, App rechts */
.hero{padding:32px 0}
.hero-in{display:grid;gap:32px;align-items:center}
.hero-copy{display:grid;gap:16px;justify-items:start}
.eyebrow{font-size:13px;font-weight:600;color:var(--muted)}
h1{font-family:var(--font-head);font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.02em;max-width:12em}
.lead{font-size:17px;line-height:1.45;color:var(--muted);max-width:30em}
@media (min-width:720px){ .lead{font-size:20px} }
.actions{display:flex;flex-wrap:wrap;gap:8px}
/* iPhone-Rahmen, Vorderansicht. Maße in cqw (Prozent der Rahmenbreite), skaliert in jeder Größe gleich.
   Feste Gerätefarben, unabhängig von hell/dunkel. Statusleiste in der Farbe des App-Kopfs (Limette). */
.device{justify-self:center;width:min(100%,280px)}
.phone{--status-bg:#D6F25C;--status-ink:#111111;--home:rgba(0,0,0,.82);container-type:inline-size;position:relative;margin:0}
.phone-body{position:relative;aspect-ratio:433/882;border-radius:16.4cqw;background:#1C1C1E;padding:3.3cqw;
  box-shadow:inset 0 0 0 .55cqw #5E5E62,inset 0 0 0 .9cqw #2A2A2C,0 2px 4px rgba(0,0,0,.08),0 24px 48px -16px rgba(0,0,0,.28)}
.phone-screen{position:relative;width:100%;height:100%;border-radius:13.4cqw;overflow:hidden;background:var(--status-bg);display:flex;flex-direction:column}
.phone-status{flex:none;height:12.6cqw;display:flex;align-items:center;justify-content:space-between;padding:1.6cqw 7.5cqw 0 9.5cqw;color:var(--status-ink);font-weight:600;font-size:4.1cqw;letter-spacing:-.01em}
.phone-status svg{height:3.2cqw;width:auto;display:block}
.phone-ic{display:flex;gap:1.4cqw;align-items:center}
.phone-island{position:absolute;top:2.6cqw;left:50%;transform:translateX(-50%);width:29.5cqw;height:8.6cqw;border-radius:999px;background:#000;z-index:2}
.phone-screen picture{flex:1;min-height:0;display:block}
.phone-screen img{width:100%;height:100%;object-fit:cover;object-position:top}
.phone-home{position:absolute;bottom:2.2cqw;left:50%;transform:translateX(-50%);width:33cqw;height:1.25cqw;border-radius:999px;background:var(--home);z-index:2}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .phone{--home:rgba(255,255,255,.7)} }
:root[data-theme="dark"] .phone{--home:rgba(255,255,255,.7)}
.phone-btn{position:absolute;width:.9cqw;background:#3A3A3C;border-radius:.4cqw}
.phone-btn.l1{left:-.6cqw;top:19%;height:7%}
.phone-btn.l2{left:-.6cqw;top:28%;height:11%}
.phone-btn.l3{left:-.6cqw;top:41%;height:11%}
.phone-btn.r1{right:-.6cqw;top:31%;height:17%}
@media (min-width:900px){
  .hero{padding:64px 0}
  .hero-in{grid-template-columns:1fr 300px;gap:64px}
  h1{font-size:48px}
  .device{width:100%}
}

/* Abschnitte */
.section{padding:64px 0}
.band{background:var(--band)}
.head{display:grid;gap:8px;margin-bottom:32px;align-content:start}
h2{font-family:var(--font-head);font-size:34px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
h3{font-size:17px;font-weight:700;margin-bottom:8px}
.section p{color:var(--muted)}
.split{display:grid;gap:0}
@media (min-width:900px){ .split{grid-template-columns:5fr 7fr;gap:64px} .split .head{margin-bottom:0;position:sticky;top:96px} }

/* Konkrete Situationen statt Feature-Kacheln: Zeilen mit Trennlinie, Aussage links, Antwort rechts */
.cases{border-top:1px solid var(--sep)}
.cases > div{display:grid;gap:8px;padding:24px 0;border-bottom:1px solid var(--sep)}
.cases dt{font-size:20px;font-weight:600;letter-spacing:-.01em}
.cases dd{color:var(--muted);max-width:36em}
@media (min-width:900px){ .cases > div{grid-template-columns:5fr 7fr;gap:64px;align-items:baseline} }
.cols4{display:grid;gap:32px;border-top:1px solid var(--sep);padding-top:32px}
@media (min-width:720px){ .cols4{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1040px){ .cols4{grid-template-columns:repeat(4,1fr)} }
.features{display:grid;gap:32px;margin-top:48px}
@media (min-width:720px){ .features{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1040px){ .features{grid-template-columns:repeat(4,1fr)} }
.features h4{font-size:17px;font-weight:700;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.features ul{list-style:none}
.features li{padding:8px 0;border-bottom:1px solid var(--sep);color:var(--ink)}
.more{list-style:none;display:grid;gap:0;margin-top:32px;border-top:1px solid var(--sep)}
.more li{padding:16px 0;border-bottom:1px solid var(--sep);color:var(--ink)}
@media (min-width:720px){ .more{grid-template-columns:repeat(3,1fr);column-gap:32px} }

.steps{list-style:none;display:grid;gap:32px}
@media (min-width:720px){ .steps{grid-template-columns:repeat(3,1fr)} }
.step-n{display:block;font-size:13px;font-weight:600;color:var(--muted);padding-top:16px;margin-bottom:8px;border-top:1px solid var(--sep)}

.roadmap{list-style:none;display:grid;border-top:1px solid var(--sep)}
.roadmap li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--sep)}
.roadmap h3{margin-bottom:4px}
.tag{align-self:start;justify-self:start;font-size:13px;font-weight:600;padding:4px 8px;border-radius:999px;background:var(--fill);color:var(--ink);white-space:nowrap}
.tag-now{background:var(--lime);color:var(--on-lime)}
@media (max-width:420px){ .roadmap li{grid-template-columns:1fr;gap:8px} }

.about{display:grid;gap:32px}
.about > p{color:var(--ink);font-size:20px;line-height:1.45}
.values{display:grid;gap:24px}
@media (min-width:720px){ .values{grid-template-columns:1fr 1fr} }
.values dt{font-weight:700;margin-bottom:4px}
.values dd{color:var(--muted)}

.faq{border-top:1px solid var(--sep)}
.faq details{border-bottom:1px solid var(--sep);padding:16px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px;min-height:28px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;color:var(--muted)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-top:8px}

/* Abschluss in Limette */
.cta{background:var(--lime);color:var(--on-lime);padding:64px 0}
.cta-in{display:grid;gap:24px;justify-items:start}
.cta h2{max-width:16em}
.cta .btn-dark{background:#111111;color:#FFFFFF}
@media (min-width:900px){ .cta-in{grid-template-columns:1fr auto;align-items:center} }

/* Fuß */
.foot{border-top:1px solid var(--sep);padding:48px 0 calc(24px + env(safe-area-inset-bottom,0px));font-size:13px;color:var(--muted)}
.foot-in{display:grid;gap:32px}
@media (min-width:720px){ .foot-in{grid-template-columns:2fr 1fr 1fr 1fr} }
.foot-brand{display:grid;gap:8px;align-content:start}
.foot nav{display:grid;align-content:start}
.foot h4{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}
.foot nav a{color:var(--muted);text-decoration:none;min-height:32px;display:flex;align-items:center}
@media (hover:hover){ .foot nav a:hover{color:var(--ink);text-decoration:underline} }
.foot-base{margin-top:32px;padding-top:24px;border-top:1px solid var(--sep)}

/* Seiten /registrieren/ und /anmelden/: schmale Spalte, Felder als gruppierte Liste wie in iOS */
.konto{max-width:440px;margin:0 auto;padding:48px var(--pad) 64px;padding-left:max(var(--pad),env(safe-area-inset-left,0px));padding-right:max(var(--pad),env(safe-area-inset-right,0px))}
.konto h1{font-size:34px;margin-bottom:8px}
.konto .muted{margin-bottom:24px}
.konto form{display:grid;gap:16px}
.fields{background:var(--surface);border-radius:12px;overflow:hidden}
.field{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:8px;min-height:48px;padding:0 16px;border-top:1px solid var(--sep)}
.field:first-child{border-top:0}
.field span{font-size:17px}
.field input{font:inherit;font-size:17px;color:var(--ink);background:transparent;border:0;outline:0;min-height:48px;width:100%;min-width:0}
.field input::placeholder{color:var(--muted);opacity:.7}
.field:focus-within{box-shadow:inset 3px 0 0 var(--ink)}
#code{font-variant-numeric:tabular-nums;letter-spacing:.2em}
.check{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);cursor:pointer;min-height:44px;padding-top:8px}
.check input{width:20px;height:20px;margin:0;flex:none;accent-color:#111111}
.err{font-size:13px;color:#C42B23;min-height:0}
.err:empty{display:none}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .err{color:#FF6B5E} }
:root[data-theme="dark"] .err{color:#FF6B5E}
.btn-block{width:100%;border:0;font-family:inherit;cursor:pointer}
.btn[disabled]{opacity:.5;cursor:default}
.fine{font-size:13px;color:var(--muted)}
.row-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px}
.row-links .link-btn{background:none;border:0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;padding:0}
.konto-foot{display:flex;gap:24px;justify-content:center;padding:24px var(--pad) calc(24px + env(safe-area-inset-bottom,0px));font-size:13px}
.konto-foot a{color:var(--muted);text-decoration:none;min-height:44px;display:flex;align-items:center}

/* Ratgeberseiten: lesbare Zeilen, echte App-Vorschau und ausreichend große Textlinks. */
.guide{max-width:860px}.guide>p{margin:16px 0}.guide>h3{margin-top:32px}.guide .lead{max-width:36em}.guide .actions{margin-top:24px}.guide-image{margin:32px auto;max-width:280px}.guide-image img{border-radius:16px}.guide-image figcaption{font-size:13px;color:var(--muted);margin-top:16px}.cols4 h3 a{display:inline-flex;align-items:center;min-height:44px}.guide .steps+p{margin-top:32px}
