/* =====================================================================
   Finanzsichtbar – gemeinsame Stildatei fuer alle Seiten
   Einbinden im <head> jeder Seite:
       <link rel="stylesheet" href="/stil.css">
   Farben zentral in :root aendern – wirkt sofort auf allen Seiten.
   Keine externen Ressourcen, keine Cookies.
   ===================================================================== */

/* ==========================================================================
   Finanzsichtbar – Startseite
   Keine externen Ressourcen: keine Google Fonts, kein CDN, kein Tracking.
   Dadurch bleibt die Seite ohne Cookie-Banner betreibbar.
   ========================================================================== */

:root {
  --ink:      #0c2c4e;
  --ink-soft: #4a6480;
  --paper:    #ffffff;
  --mist:     #f1f7f6;
  --line:     #d5e0e8;
  --signal:   #16c6a4;
  --signal-d: #0d8a74;

  --wrap: 68rem;
  --r: 12px;

  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation: none !important; transition: none !important; }
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 .6em; }
h1 { font-size: clamp(2rem, 5.5vw, 3.4rem); font-weight: 800; }
h2 { font-size: clamp(1.5rem, 3.4vw, 2.1rem); font-weight: 750; }
h3 { font-size: 1.15rem; font-weight: 700; }
p  { margin: 0 0 1rem; }

a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--signal);
  outline-offset: 2px;
  border-radius: 4px;
}

.wrap { width: min(100% - 2.5rem, var(--wrap)); margin-inline: auto; }
.section { padding: clamp(3rem, 8vw, 5.5rem) 0; }
.section--mist { background: var(--mist); }

.eyebrow {
  font-size: .78rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--signal-d);
  margin: 0 0 .8rem;
}
.lead { font-size: 1.1rem; color: var(--ink-soft); max-width: 44ch; }

.btn {
  display: inline-block; padding: .85rem 1.6rem;
  border-radius: 8px; font-weight: 650; font-size: 1rem;
  text-decoration: none; border: 2px solid var(--ink);
  background: var(--ink); color: var(--paper);
  cursor: pointer; transition: transform .15s ease, background .15s ease;
}
.btn:hover { background: var(--ink-soft); border-color: var(--ink-soft); }
.btn--ghost { background: transparent; color: var(--ink); }
.btn--ghost:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ---------- Kopfzeile ---------------------------------------------------- */
.skip {
  position: absolute; left: -9999px;
  background: var(--ink); color: var(--paper); padding: .75rem 1rem; z-index: 99;
}
.skip:focus { left: 1rem; top: 1rem; }

.site-head {
  position: sticky; top: 0; z-index: 20;
  background: rgba(255,255,255,.94);
  backdrop-filter: saturate(150%) blur(8px);
  border-bottom: 1px solid var(--line);
}
.head-in {
  display: flex; align-items: center; gap: 1.5rem;
  padding: .85rem 0; flex-wrap: wrap;
}
/* Wortmarke im Kopf – Bild liegt eingebettet in dieser Datei */
.brand {
  display: block; text-decoration: none;
  height: 2.3rem; aspect-ratio: 480 / 68;
  background: url("data:image/png;base64,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") left center / contain no-repeat;
}
@media (min-width: 48rem) { .brand { height: 2.7rem; } }

.site-nav {
  display: flex; gap: 1.25rem; margin-left: auto;
  overflow-x: auto; scrollbar-width: none;
}
.site-nav::-webkit-scrollbar { display: none; }
.site-nav a {
  text-decoration: none; font-size: .95rem; font-weight: 550;
  color: var(--ink-soft); white-space: nowrap; padding: .3rem 0;
  border-bottom: 2px solid transparent;
}
.site-nav a:hover { color: var(--ink); border-bottom-color: var(--signal); }
.head-cta { display: none; }
@media (min-width: 62rem) {
  .head-cta { display: inline-block; padding: .55rem 1.1rem; font-size: .95rem; }
}

/* ---------- Hero --------------------------------------------------------- */
.hero { padding: clamp(3rem, 8vw, 6rem) 0 clamp(3rem, 7vw, 5rem); }
.hero-grid { display: grid; gap: clamp(2.5rem, 5vw, 4rem); align-items: center; }
@media (min-width: 60rem) { .hero-grid { grid-template-columns: 1.05fr .95fr; } }

.mark {
  background: linear-gradient(transparent 62%, rgba(22,198,164,.45) 62%);
  padding-inline: .06em;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }
.hero-note { font-size: .9rem; color: var(--ink-soft); margin-top: 1.25rem; }

/* Signatur-Element: nachgebautes Suchergebnis */
.serp {
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r); padding: 1.25rem;
  box-shadow: 0 18px 45px -28px rgba(12,44,78,.5);
}
.serp-bar {
  display: flex; align-items: center; gap: .6rem;
  border: 1px solid var(--line); border-radius: 999px;
  padding: .55rem .95rem; font-size: .9rem; color: var(--ink-soft);
  margin-bottom: 1.1rem;
}
.serp-bar::before {
  content: ""; width: .85rem; height: .85rem; flex: none;
  border: 2px solid var(--ink-soft); border-radius: 50%;
}
.serp-item { padding: .8rem 0; border-top: 1px solid var(--line); }
.serp-item:first-of-type { border-top: 0; }
.serp-url { font-size: .8rem; color: var(--ink-soft); }
.serp-title { font-size: 1.02rem; font-weight: 650; margin: .15rem 0 .2rem; }
.serp-desc { font-size: .88rem; color: var(--ink-soft); margin: 0; }
.serp-item--you {
  background: rgba(22,198,164,.12);
  border-left: 3px solid var(--signal);
  padding-left: .9rem; border-radius: 0 6px 6px 0;
}
.serp-item--you .serp-title { color: var(--ink); }
.serp-flag {
  display: inline-block; font-size: .7rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--signal-d); margin-bottom: .2rem;
}
.serp-faded { opacity: .45; }

/* ---------- Karten-Raster ------------------------------------------------ */
.grid { display: grid; gap: 1.25rem; }
@media (min-width: 44rem) { .grid--2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 58rem) { .grid--4 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 58rem) { .grid--3 { grid-template-columns: repeat(3, 1fr); } }

.card {
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r); padding: 1.6rem;
}
.card h3 { margin-bottom: .4rem; }
.card p:last-child { margin-bottom: 0; }
.card-num {
  font-size: .78rem; font-weight: 700; color: var(--signal-d);
  letter-spacing: .1em; display: block; margin-bottom: .7rem;
}

/* ---------- Pakete ------------------------------------------------------- */
.plan {
  display: flex; flex-direction: column;
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r); padding: 1.75rem;
}
.plan--best { border: 2px solid var(--ink); box-shadow: 0 20px 50px -32px rgba(12,44,78,.55); }
.plan-flag {
  display: inline-block; align-self: flex-start;
  background: var(--signal); color: var(--ink);
  font-size: .72rem; font-weight: 750; letter-spacing: .08em;
  text-transform: uppercase; padding: .25rem .6rem;
  border-radius: 999px; margin-bottom: .8rem;
}
.plan-name { font-size: 1.25rem; font-weight: 750; margin: 0 0 .2rem; }
.plan-for { font-size: .9rem; color: var(--ink-soft); margin: 0 0 1.1rem; }
.plan-price { font-size: 2.1rem; font-weight: 800; letter-spacing: -.03em; }
.plan-price small { font-size: .95rem; font-weight: 550; color: var(--ink-soft); }
.plan-setup { font-size: .9rem; color: var(--ink-soft); margin: .35rem 0 1.25rem; }
.plan-setup strong { color: var(--signal-d); }
.plan ul { list-style: none; margin: 0 0 1.75rem; padding: 0; font-size: .95rem; }
.plan li { padding: .4rem 0 .4rem 1.5rem; position: relative; }
.plan li::before {
  content: ""; position: absolute; left: 0; top: .95em;
  width: .5rem; height: .5rem; background: var(--signal); border-radius: 50%;
}
.plan .btn { margin-top: auto; text-align: center; }
.price-note { font-size: .88rem; color: var(--ink-soft); margin-top: 1.5rem; }

/* ---------- FAQ ---------------------------------------------------------- */
.faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary {
  cursor: pointer; padding: 1.15rem 2rem 1.15rem 0;
  font-weight: 650; list-style: none; position: relative;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; position: absolute; right: .2rem; top: 1rem;
  font-size: 1.4rem; font-weight: 400; color: var(--signal-d);
}
.faq details[open] summary::after { content: "\2013"; }
.faq-body { padding: 0 0 1.25rem; color: var(--ink-soft); max-width: 62ch; }
.faq-body p:last-child { margin-bottom: 0; }

/* ---------- Kontaktformular --------------------------------------------- */
.contact-grid { display: grid; gap: clamp(2rem, 5vw, 3.5rem); }
@media (min-width: 60rem) { .contact-grid { grid-template-columns: .85fr 1.15fr; } }

.contact-facts { list-style: none; margin: 1.5rem 0 0; padding: 0; font-size: .98rem; }
.contact-facts li { padding: .45rem 0; border-bottom: 1px solid var(--line); }
.contact-facts span { display: block; font-size: .8rem; color: var(--ink-soft); }

.kontakt-form {
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--r); padding: clamp(1.5rem, 4vw, 2.25rem);
}
.field { margin-bottom: 1.1rem; }
.field label { display: block; font-size: .92rem; font-weight: 650; margin-bottom: .35rem; }
.field input, .field select, .field textarea {
  width: 100%; font: inherit; font-size: 1rem;
  padding: .75rem .9rem; color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--line); border-radius: 8px;
}
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--ink-soft); }
.field textarea { resize: vertical; min-height: 8rem; }
.field-row { display: grid; gap: 1.1rem; }
@media (min-width: 34rem) { .field-row { grid-template-columns: 1fr 1fr; } }

.consent {
  display: flex; gap: .7rem; align-items: flex-start;
  font-size: .88rem; color: var(--ink-soft);
  margin: 1.25rem 0 1.5rem;
}
.consent input { margin-top: .25rem; flex: none; width: 1.05rem; height: 1.05rem; }
.form-hint { font-size: .85rem; color: var(--ink-soft); margin: 1rem 0 0; }
.hp { position: absolute; left: -9999px; }

/* ---------- Fußzeile ----------------------------------------------------- */
.site-foot {
  background: var(--ink); color: #b9cbd8;
  padding: clamp(2.5rem, 6vw, 4rem) 0 2rem; font-size: .93rem;
}
.site-foot a { color: #ffffff; }
.foot-grid { display: grid; gap: 2rem; }
@media (min-width: 48rem) { .foot-grid { grid-template-columns: 1.4fr 1fr 1fr; } }
.foot-grid h3 { color: #ffffff; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
.foot-grid ul { list-style: none; margin: 0; padding: 0; }
.foot-grid li { padding: .28rem 0; }
/* Wortmarke im Fuss – weisse Variante */
.foot-brand {
  display: block; margin: 0 0 1rem;
  height: 2.2rem; aspect-ratio: 480 / 68; max-width: 100%;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAABECAMAAABu8BbrAAAAwFBMVEVu4dBd6LMgvZ5Up6ce0KE3bm4Vv39//3+q/6qZzMwd1cwAfwAAAAD///////////8VxaUA//8WxaUmyav///////////////8Af3////8vyq4TxqUA/wA10rJO1rcix6gAqqpJy7QQvqwMvJsIypku0LEA/39Q1MwU0Kd///+q//8A/6p8vb1T4sZ//78wvLIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANayXWAAAAMHRSTlMFBxkFEwQEAgMFCQIA2QTnRwEzLnGyjy8CUxcSARMLQwMOEA4KIgIKCwIDAwQJBAqjgeV8AAARS0lEQVR42u2diXbbuA5Aky6zPQrWLlm27KZt0jbd/v/vHgFwASnKllO3ddJwzpnKEvdLgCBIKVfqTOGqyilUO1Wo53Ax4epM+ewMXx1eKXju1ycGuFCeb16dke9jGCpw0e04kwRD6QHn188i/ORUdC8Bb9T2+IiYCX38/NLFd1EdT27J+Vr+uwAfUWjQZA2GrL5obQCqzY7XEdRax2pgLhpA0RdB/E63PuvO0vTfBBjWdTqssVW6K7IVh0sH3KyyVXscsG5JBkubogFj0x8xYAEwDo0DnGG4eMDtQsDZAcDxXISAddsfN+CGAcaBO+uPAkxPM/n0GfBFqejVOQCv/kTAOG9dPOC6bdv1M+DTATfmRv0E1tR/NuCUkSWXyTPl9dDDzIpDP+r7Y30DGOvUDtTL9L4Iq5SsI1aiB0gixIKLEwBP4kelHGlj8bsBr9pgkVTPqTsJ3LYq7FrdnPB3goTJwD1yfpV5z4tvorsW/pgEYBDx+gihLxhEdH7qC/SARVZRf8sMkj4Ve/u3A+4eoPF07buuAzX18QI90c8g1S22svjIRILFwqv/969nDofigc3dqKNAgqc1p6cqsUx6nY5v2vUSbDv7ZCdx0t8POCkxULdovtTagOkpvv2NTerqRmv2LGvWclqDbt02DSt9/f+mXQt+uo9NBjipw7rBaFlT23muV12b8rvo6La/sFQOnLXPVmidnqoeRbOAsRkNVa+pwbFva+qL1hYIDjDHz0z8gCK21ZbSKVk+VqgGn/QCJBgOOUJqY3St/O+a6BLIpjPt7l0KMbVnvltwwWomed19zcrmoI243jubko4XDIWCNrOZCw9bvEyCKF7W4pB1Etxl7lG2Nhm0ri6m/h6wWk/im7o2rhDTC/5ZzXnYTsouTYI9YLEOxt8m+jqwv1fW1OxdDGmS+wFAHgm612AXiDhM2Hgbplk0sr4OgnVuRI4OQujjZUYvG8A4hjI7CFcro5tmAa8gjC/WE2EhlBd4wFhpbC0/vsg5+ADgOlxfaYFkuysFOGPbJQJchyRXHXf0QcBUXT1etI6vWxKfFGBSA6xScT6gecQDbogyPmkMe22DaSB6WqEpxYTWSXCNkVBztwx07bQ0aSBTGUbsBzIBrrmoVqf87YDXJ0lwlkUczOA1gL1qDdbVAnACIdtaBwDzQ60OrJh0dZYA3LP8rho79eKsLSRY167l4dw1XglYI2vqi6Yi+QYJpJ6UDWE9YzsroGtXwUAmtpg7m2bdhTk6bL/NA86iubZxEszDGtdaZsyLOT4AHGTAoz+egyPAiLEBsS0A3cQXDUbOWxBrlTUI/a8Ho3lCjjo2q+eXSZSVuVXLEQF1JxdE9KxWHrApildZF+XoyIyf4yBgLSFdt/aSTN2kEWnF1PnFYb0KRFgC1paVzsD9piK09AXGs/SscW1XwsrpIbHZYOUc7OrMRTOAsSCxMLY5zjo6nFjiwp/GTqf6xGLbDD8J2BUF/WVJ8ALAJCHKRTDdVFhhcWJg51wjJx4wGmbKDHypxWXwbhgvcJ30GkGfkOAm2hWyC1aH3rs5KMf6CGBpOHdCTKV/hhbdvlwG7IfGj0gwbDH8asAYg5yMds4U1mUwi3e2gM5aq5m7AeT1skU0VlW64Pg2PIUSjnXYrzHgPmQw3RCUj+RBgTnAkpJJ0EDkuDMhW3l1UEdFPRSwQ1j8YsCd8VZ2WQjYs+XQBVaYBzwxu6JdgF4FfAvXuxmLaeD9FYBN13YwC7iTvFoxH80AlprFqF4XKfRBN0IdxLW4SpwoWBbGzWbzdjBFnmuz4RhgP9dMdoyBDgKxM2tiZgvAzo2ZBBzJb6+E3qu72MkdAG7ntoxSW/r1ccB1AJjHiHIuWOjW6JqjkIWAMbNCAO6F+3JxGOyLDAPl9QMS3Ihw1Ir28udiuDtdmyUM4Qiwa7y1N6O+ddw9XzNl8vp23UlPfjAHN47Zgg3BBYDlvgsuwYRZNm1rDFhIMOCCra27Ewhv1ehxjojzJ7gqZxwdacBgfHQJrR8BbiBcUATdkeTrVriZWYl5J7cHDOplNnd654GAO+F+LpQ3y9Afal1Y3pslAcu5+sq4ZoVb73gIX2S4V78Q8DoNuFf1nCMjBhzOagFgEJq8ke594b/OjJO7iAHDmQEHG/4CsJ1EaLvFKL7VAcDsXpN+3SVB8vyui//NgIUjKpbjEwBLvlm4fUNa0bn4V1YP/EzAcxLsLQJnCzSHAIN3+kSNWgp4cwGAfX7oxThgRR8ADODXxhNjydg17GB2xl4AuDk7YDkHg2mLuWrkkuEgYOnCaxYb05cFuJdWtt0xPRVwwDdRK7My6Xi7Q2RrrWg2stTPMrLMLb9g6t2C4iBg6b0/egD0QgELt8faeDGgW50K+DBf41uwPjC7RzFdJhXnAhwsk8Ask/rJUWzunAOAgwlr6SHGSwWcGYeioLUQcMj3tXUSFVNBFiveADD7l+ccHacDboJ1sC2TNUUtz2StV4sBh3rhMUpwB6+N+/g0FR3ynYhuOB07v0UAGLIsvRB+oBW96uS7lpmb7GPAvLs/CzjaQM+WLZYuFnBrcmhWJwHuhRle87k9DhBvIM0Bth29Dt1iCwGj6uljwK1wqNQ27/h9Nxt5FnB8wCFLqKXHY2TRRvdrELuJSyU4m93wB979Befet9vDMWDeIrB7Gb07VnkYsHdSTfaD2aDAk9id244yLTE7xb2t+YFlUuT2px2yR7dMUl5izSG11YmAm1XqzAgD7rK2C4+5BpZVsH2Bx+NcO9atONExK8G8/d9N94NdVnxUZC3mer9aaPi0yLyjo4vG7iJD6+IAd8GBDewB+/xkwFMJxtd1m3rN5wPXrTtRFQF2R7c45hoXVMcBW/27avAQlTiTRVljVrpEcc7PlJLRWaeupoQHHR2T00hLDK0LAzxxVWpN/WAJTgD2p63ZRWjOREaH7grlnYg2xRLAZmt6cmwW83b5OSdFb+TbqyqKOC/BMHXjHvdZ/jBg5yhfeC7a/paA+ZSP2WyAVpyk0vNMZ99PdIDlQWd7gth16dwb6U6C7fnk4JRyZPH0StYii47NzgHm4WUPLRnA2DMisxWdz3KH2109eNI/KMGJE4cLfJY/DLi1O4Qpqz1+u1D89oCj9w/xOLijsp56smp3rM/1sd2vBJnd5BQgvQnBfmhLoQa/mxR8oyPayMta83rM2hYTFC7OU6uuNq8qULSOxcw3CVskXl/oGl8E190D5jwCwDAxtI76LH8M8KJ3gcJXWeKv8Ey/w8Pbnvh6Sgcq8TLM5G2y6KjukZfPgPbXG85ezb18BubYgYvoY72eti8+u+XffLKF6ybVbc0tCrc+qIyady6DbogOb1zZM6eJ13TDHUL5z48D/gmfSYLk5XmyhkM/Uy7rlIfk4KnFZJ4w06IeFtXFnckKjNBFpvQvk+C534fu8L3ChPBIHsyVseDt0eSgnI7RVMTpUE69VhzWRhyt6xNbH6IIEM1UCQlOHeyPjJ9PVVViqK5/EeDncKZwFS0a0j7LT/4Ex47oPQN+bIAPGVrRp0bhGfDjA6z8QfDwrQ0OAnA+oqX1DPixAfYnB1OGVszzGfDjA6wO+SyfAT8BwId8ls+AnwTglM+Sp+FnwE8B8AFT+hnwkwA8b2g9KcAAf9KfHAhfH034LGnj89yAyaVdFO4S2KvoLznaVlxb16O/Vj6T4JbNWJ488jn1RVWpfGPjFEV0QEneAlFaMYm0ddXXEcH/CC64mK1owKSVUe5xWtlAGYOL3BaJNswDTnm0cOtQroMHtYXgxlfkKW/szjwIz6wPhkGVH5eMwEsK2/NIcGpzGJX0ID1ZW9188XZhpX8WQYwj3QNqV+IriZuN/vF3ie+fvkU/96sSn9LlwDHxuhpNso8lP8GmjlVVDa/wLmWCmdIt7otNiYN7816UuaHEO132SJFelS8wJhYwBPr6IxV5z0p8QzUqXpiSXbPevbA3inLDEfHHUF7z4Bht5E/ckoFbyvlsMOv3omVYt2FnB9ZYfue0PddsGLjPrnX7qg9cOrYMOOt3peivRYBjQwvPHQhfZXXDn8SQN0JvZnX8owE7rQYASNSHfFR3WuNj9SvMhy7pby+560G5HzrOFkeTvtjfoPoqS2KhBxzeqjD3O9QyWuuUjohNfI2396gehxwR3GGqvPomBHdDRaKaolQ0zPKSO7cIIlXo0nuDExRlT4P8he0LM8hHURWg6uu8wbfM1W2ff6B2iLRvRVrT5BLbrEv/iNntb03JOtwuBzzZHF5lr9EsGcxukuuMkW8M9/GNJQZMWeEr5EiuMu0VKKhjLD2lPpR6IID5QeGeegY/s2kBf+G/xvWSCr8rqxLHZAC4tFe3e0X9RfKn8agP7Hx17DDrCu/ZaiHEUH2/c7OQA6wT6Ez59su8yj+xPsh1VbayKhhna+oz+IaBbhJp4Sud9gOrr5ybUeEUvqMmq2GkKr7VQ/R+P7ouOkVF2zNmcqWkEjvox28cmuAqzYNFFus/BfzVdHBZ/K+gxgdNucoHSQ5wxrhSfX9nbuZDqYf0DOAqAFz2vdqXAeC/0CTS8QXgdxPAryLAFQ5UBoyZQ846+n2OBZmqbKHXFaVyLeBrBtyToEKY9q98pLTU+Cr3Rukm/w8v9sMDAUc+S3O4Y1tE5lpx9MYBwIO2zLSOqzQ8o2iGcRh3DHgY9Xz6yYknCQAN+nEcdjfYUVqNjV8k4LKS2efDkH+JVfQwjDdTwBtl+twDfokGaqX/8YArXaXddwkYa3stAJf3OhcGDFibigVSA0bypipbrS1I/5r6lGYi0oz+5QdbkxZ7/DM2AwgwqbyCbT+s4oj1MYBtz50AODSlz/Tne6JSdXfsxy/73U73CVUT/6OxusnL0s2BCJh7wMYhdfoFJ/zqi3kG1C29tnHK8grT6dQ6rwhwiflHgO/07Frmt7BVEWD9j1YJbg42awPwgLH8azEHlyhjBBg/bzHSCAYC/LcGYapSGFq2PvmNsvNxTvaTNj/1vRsuSgOGfWWSeMsV64ahzIeg504C7L9UccIbpSeFsrref1MVjdHpHAyDVdHUA1Vppirfivv/0BjZCgkucFLPLeAxh2Uqugx6R0jwFyHBb4P+Q8AfTa94wN/yAclQdcd33zlXDRjJc9VR0V6RYHNjPg2GUYlGHJgYL96NLK6fKS2kAG/IyBqEkXmaBLtTxvhV1Z/x5wOpE2gCJnWEPWm0O17i59VKM+3S33yzc7DzLtBZE2OelWzk03u5u70FrOftOSMrZyt69Co6NLK+FwVNiRJwOBclAeskLHqf2OdDSzUErMk7S1ibxaaVJX5DzhsX35ggiLQI+B+dlufg0jo6JoB1FxXbEwFj7fGj6FlwHPecgNHqJ0OaV9GxkaWkXVUJk9r6Gsl9agGDNTJHJ8FYQBrwSBMljgicrTfFG2PfSCtaWdlyEqyOSjDa9nqZhE37sNOBVMR7MpP2WBXQqncI6+Osx+KzTvWNKnfj0n72zeCxgcbnLiHB6nQJtp/8h+OnMh8YdrSuuMmtUUmruaG3l6WdmofqtqQPNfGDW72y0jh11NGo6BesxQc0hIYy/9cALkCq3mB0VDknRknKS70IF1ZWgYuTgdbhftz1WPBtNRwGTM6fHU8oZiXIgFHf4+OrHMVRB1b+A7byq5t7/tE1usMJ16X9bNJyM9CuHCpcGulMGXBl18G3zhm0HLD76xI/y/WG9pDWSOU9yw0tocvPWH1abn8wWHB62imwP0qacmAo9/uS3R8EWFO9qfb7qvpKAMrvuq+GMg1Y/VPle9Mj6IfyJioDpiIHI86U6g2Vyz54G+m9fR2pJMCvStLN2KaX1QCF/m9APfuXfoxVQY/FtWlAie4WanC1c/MxusEwB5G20KnurFMM9IVu4MC1ekd+k4FL5l6ZDf8HTWHVyVy6mxAAAAAASUVORK5CYII=") left center / contain no-repeat;
}
.foot-bottom {
  border-top: 1px solid rgba(255,255,255,.16);
  margin-top: 2.5rem; padding-top: 1.5rem;
  display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between;
  font-size: .85rem;
}
.foot-badge { color: var(--signal); font-weight: 600; }

/* ---------- In Entwicklung / Demnaechst -------------------------------- */
.soon {
  display: flex; flex-direction: column;
  background: var(--paper);
  border: 2px dashed var(--line); border-radius: var(--r);
  padding: 1.75rem;
}
.soon-flag {
  align-self: flex-start;
  background: rgba(22,198,164,.16); color: var(--signal-d);
  font-size: .72rem; font-weight: 750; letter-spacing: .08em;
  text-transform: uppercase; padding: .25rem .65rem;
  border-radius: 999px; margin-bottom: .9rem;
}
.soon h3 { font-size: 1.3rem; margin-bottom: .5rem; }
.soon > p { color: var(--ink-soft); }
.soon-list { list-style: none; margin: .5rem 0 1.25rem; padding: 0; font-size: .95rem; }
.soon-list li { padding: .35rem 0 .35rem 1.5rem; position: relative; }
.soon-list li::before {
  content: ""; position: absolute; left: 0; top: .95em;
  width: .5rem; height: .5rem; background: var(--signal); border-radius: 50%;
}
.soon-price {
  font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em;
  margin: 0 0 .35rem;
}
.soon-price small { font-size: .85rem; font-weight: 550; color: var(--ink-soft); }
.soon-note {
  font-size: .85rem; color: var(--ink-soft);
  border-top: 1px solid var(--line); padding-top: .9rem; margin-bottom: 1.5rem;
}
.soon .btn { margin-top: auto; text-align: center; }

/* ---------- Bausteine fuer Unterseiten -------------------------------- */

/* Fliesstext-Seiten wie Impressum, Datenschutz, AGB */
.textseite { padding: clamp(2.5rem, 7vw, 4.5rem) 0; }
.textseite .wrap { max-width: 48rem; }
.textseite h1 { font-size: clamp(1.8rem, 4.5vw, 2.6rem); margin-bottom: 1.5rem; }
.textseite h2 { font-size: 1.4rem; margin-top: 2.5rem; }
.textseite h3 { font-size: 1.1rem; margin-top: 1.75rem; }
.textseite p, .textseite li { max-width: 68ch; }
.textseite ul, .textseite ol { padding-left: 1.25rem; }
.textseite li { padding: .2rem 0; }
.textseite table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.textseite th, .textseite td {
  text-align: left; padding: .65rem .5rem;
  border-bottom: 1px solid var(--line); vertical-align: top;
}
.textseite th { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.textseite hr { border: 0; border-top: 1px solid var(--line); margin: 2.5rem 0; }
.textseite .stand { font-size: .9rem; color: var(--ink-soft); }

/* Nur fuer Screenreader sichtbar */
.vh {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* Nummerierte Vertragsabsaetze (AGB) */
.textseite .cl { margin-bottom: .55rem; }
.textseite .cl b { color: var(--ink); margin-right: .15rem; }

/* Gelber Merkkasten im Fliesstext */
.textseite .hinweis {
  display: inline; background: #fff8e1; border: 1px solid #f2dd97;
  color: #7a6200; padding: .1em .35em; border-radius: 4px;
}

/* Zurueck-Link oben auf Unterseiten */
.seitenkopf {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 1rem; flex-wrap: wrap; margin-bottom: .5rem;
}
.seitenkopf a { font-size: .92rem; color: var(--ink-soft); text-decoration: none; }
.seitenkopf a:hover { color: var(--ink); text-decoration: underline; }

/* Zentrierte Box, z. B. Login */
.boxseite {
  min-height: 60vh; display: flex; align-items: center; justify-content: center;
  padding: clamp(2rem, 6vw, 4rem) 0;
}
.box {
  width: 100%; max-width: 26rem; background: #fff;
  border: 1px solid var(--line); border-radius: var(--r);
  padding: clamp(1.75rem, 4vw, 2.25rem); text-align: center;
}
.box h1 { font-size: 1.4rem; margin-bottom: .3rem; }
.box .sub { color: var(--ink-soft); font-size: .95rem; margin-bottom: 1.5rem; }
.box label { display: block; text-align: left; font-size: .9rem; font-weight: 650; margin-bottom: .35rem; }
.box input {
  width: 100%; font: inherit; font-size: 1rem; padding: .75rem .9rem;
  border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink);
}
.box .btn { width: 100%; margin-top: 1rem; }
.box .err { color: #b3261e; font-size: .9rem; margin-top: .75rem; min-height: 1.2rem; }
.box .hint {
  margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line);
  font-size: .88rem; color: var(--ink-soft);
}
