/* FINANZATELIER BAYERN — style.css
   Georgia + System-UI · Gold #c1a14c
   Sauber neu geschrieben — keine Konflikte */

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { overflow-x: hidden; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
main { display: block; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: 17px; line-height: 1.7; background: #fff; color: #222;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul, ol { list-style: none; }

/* ── Tokens ── */
:root {
  --sans:  -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
  --mono:  'SFMono-Regular', Consolas, Menlo, monospace;
  --gold:   #c1a14c;
  --gold-h: #d4b464;
  --gold-d: #7a6028;
  --gold-t: #faf6ee;
  --gold-l: #ecdcaa;
  --c-h:    #111;
  --c-body: #222;
  --c-m:    #444;
  --c-f:    #777;
  --ln:     #e4ddd5;
  --ln-s:   #f0ece8;
  --sp:     88px;
  --w:      1140px;
}

/* ── Utility ── */
.wrap { max-width: var(--w); margin: 0 auto; padding: 0 48px; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s, transform .6s; }
.reveal.visible { opacity: 1; transform: none; }
.eyebrow {
  font-family: var(--mono); font-size: 10px; letter-spacing: 3px;
  text-transform: uppercase; color: var(--gold-d); display: block; margin-bottom: 14px;
}
.t-gold-i { color: var(--gold); font-style: italic; }
.ta-c { text-align: center; }

/* ── Typography ── */
.hero-h1 {
  font-family: var(--serif); font-size: clamp(38px, 7vw, 86px);
  font-weight: 400; line-height: 1.02; letter-spacing: -2px; color: var(--c-h);
}
.t-xl {
  font-family: var(--serif); font-size: clamp(28px, 4.5vw, 58px);
  font-weight: 400; line-height: 1.08; letter-spacing: -1px; color: var(--c-h);
}
.t-lg {
  font-family: var(--serif); font-size: clamp(24px, 3.5vw, 44px);
  font-weight: 400; line-height: 1.1; color: var(--c-h);
}
.t-md {
  font-family: var(--serif); font-size: clamp(20px, 2.5vw, 32px);
  font-weight: 400; color: var(--c-h);
}
.t-card {
  font-family: var(--serif); font-size: 19px; font-weight: 400;
  color: var(--c-h); margin-bottom: 10px;
}
.t-lead { font-size: 18px; line-height: 1.75; color: var(--c-m); }
.t-body { font-size: 16px; line-height: 1.78; color: var(--c-body); }
.t-sm   { font-size: 14px; line-height: 1.7;  color: var(--c-m); }
.t-meta { font-family: var(--mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-f); }
.page-h1 {
  font-family: var(--serif); font-size: clamp(32px, 6vw, 64px);
  font-weight: 400; line-height: 1.06; letter-spacing: -1px; color: var(--c-h); margin-bottom: 20px;
}
.page-lead { font-size: 17px; line-height: 1.72; color: var(--c-m); max-width: 600px; margin-bottom: 28px; }
.breadcrumb { font-family: var(--mono); font-size: 10px; color: var(--c-f); margin-bottom: 28px; }
.breadcrumb a { color: var(--c-f); }
.breadcrumb a:hover { color: var(--gold); }

/* ── Buttons ── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  font-family: var(--sans); font-weight: 600; border: none; cursor: pointer;
  border-radius: 8px; padding: 13px 26px; font-size: 15px;
  text-decoration: none; white-space: nowrap; transition: all .2s;
}
.btn-gold { background: var(--gold); color: #fff; box-shadow: 0 2px 12px rgba(193,161,76,.25); }
.btn-gold:hover { background: var(--gold-h); transform: translateY(-1px); }
.btn-lg { padding: 16px 32px; font-size: 16px; }
.btn-ghost {
  background: transparent; color: var(--c-h);
  border: 1.5px solid var(--ln); padding: 12px 26px; font-size: 15px;
}
.btn-ghost:hover { border-color: var(--gold); color: var(--gold); }

/* ═══════════════════════════════════════════
   NAV
═══════════════════════════════════════════ */
#nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  height: 88px; display: flex; align-items: center;
  justify-content: space-between; padding: 0 48px;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--ln-s);
  transition: box-shadow .3s, border-color .3s;
}
#nav.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.08); }
.nav-logo img { height: 72px; width: auto; display: block; }
#nav.scrolled .nav-logo img { height: 64px; }

/* Desktop Nav Links */
.nav-main {
  display: flex; align-items: center; gap: 2px;
  position: absolute; left: 50%; transform: translateX(-50%);
}
.nav-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 9px 14px; font-family: var(--sans); font-size: 15px;
  font-weight: 500; color: var(--c-h); background: none; border: none;
  border-radius: 8px; cursor: pointer; white-space: nowrap;
  transition: background .15s, color .15s;
}
.nav-btn:hover, .nav-btn[aria-expanded="true"] { background: var(--gold-t); color: var(--gold); }
.nav-chevron { width: 14px; height: 14px; color: var(--c-f); transition: transform .2s, color .15s; flex-shrink: 0; }
.nav-btn:hover .nav-chevron, .nav-btn[aria-expanded="true"] .nav-chevron { color: var(--gold); }
.nav-btn[aria-expanded="true"] .nav-chevron { transform: rotate(180deg); }
.nav-plain {
  display: inline-flex; padding: 9px 14px; font-family: var(--sans);
  font-size: 15px; font-weight: 500; color: var(--c-h);
  text-decoration: none; border-radius: 8px; white-space: nowrap;
  transition: background .15s, color .15s;
}
.nav-plain:hover { background: var(--gold-t); color: var(--gold); }

/* Nav Right */
.nav-right { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.nav-phone {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 500; color: var(--c-m);
  text-decoration: none; white-space: nowrap; transition: color .15s;
}
.nav-phone svg { color: var(--gold); flex-shrink: 0; }
.nav-phone:hover { color: var(--gold); }
.nav-cta {
  display: inline-flex; align-items: center; padding: 10px 22px;
  background: var(--gold); color: #fff; font-family: var(--sans);
  font-size: 14px; font-weight: 600; border-radius: 8px;
  text-decoration: none; white-space: nowrap; transition: background .2s;
}
.nav-cta:hover { background: var(--gold-h); }

/* Burger — standardmäßig VERSTECKT */
.nav-burger {
  display: none;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  width: 40px; height: 40px; padding: 0;
  background: none; border: 1px solid var(--ln); border-radius: 8px;
  cursor: pointer; flex-shrink: 0; transition: background .2s, border-color .2s;
}
.nav-burger:hover { background: var(--gold-t); border-color: var(--gold-l); }
.nav-burger span {
  display: block; width: 18px; height: 1.5px;
  background: var(--c-h); border-radius: 2px;
  transition: transform .3s cubic-bezier(.4,0,.2,1), opacity .25s;
  transform-origin: center;
}
.nav-burger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity: 0; }
.nav-burger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Dropdown */
.nav-item { position: relative; }
.nav-drop {
  position: absolute; top: calc(100% + 12px); left: 50%;
  transform: translateX(-50%) translateY(-6px);
  background: #fff; border: 1px solid #e0ddd8;
  border-radius: 14px; box-shadow: 0 16px 48px rgba(0,0,0,.12);
  opacity: 0; pointer-events: none; z-index: 910; overflow: hidden;
  transition: opacity .2s, transform .2s;
}
.nav-drop.open { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.nav-drop-sm {
  left: 0; transform: translateX(0) translateY(-6px);
  min-width: 270px; padding: 8px;
}
.nav-drop-sm.open { transform: translateX(0) translateY(0); }
.drop-mega { display: grid; grid-template-columns: 1fr 1fr 1fr 190px; min-width: 820px; }
.drop-col { padding: 20px 8px; border-right: 1px solid #f0ece8; }
.drop-col-label {
  display: block; font-family: var(--mono); font-size: 10px;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--gold-d); padding: 0 12px 10px;
}
.drop-link {
  display: flex; align-items: center; gap: 11px;
  padding: 9px 12px; border-radius: 8px; text-decoration: none;
  transition: background .12s; margin-bottom: 2px;
}
.drop-link:hover { background: var(--gold-t); }
.drop-link-ico {
  width: 34px; height: 34px; background: var(--gold-t);
  border: 1px solid var(--gold-l); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: var(--gold); transition: background .12s;
}
.drop-link:hover .drop-link-ico { background: var(--gold); color: #fff; border-color: var(--gold); }
.drop-link-name { display: block; font-size: 13px; font-weight: 600; color: var(--c-h); margin-bottom: 1px; }
.drop-link-sub  { display: block; font-size: 11px; color: var(--c-f); }
.drop-cta-col {
  background: var(--gold-t); padding: 24px 18px;
  display: flex; flex-direction: column; gap: 10px;
}
.drop-cta-title { font-family: var(--serif); font-size: 16px; color: var(--c-h); line-height: 1.35; }
.drop-cta-text  { font-size: 13px; color: var(--c-m); line-height: 1.6; flex: 1; }
.drop-cta-btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gold); color: #fff; padding: 10px 16px;
  border-radius: 8px; font-size: 13px; font-weight: 600;
  text-decoration: none; transition: background .2s;
}
.drop-cta-btn:hover { background: var(--gold-h); }

/* ═══════════════════════════════════════════
   MOBILE BACKDROP
═══════════════════════════════════════════ */
#mm-backdrop {
  position: fixed; inset: 0; z-index: 920;
  background: rgba(0,0,0,.48); opacity: 0;
  transition: opacity .35s; pointer-events: none;
}
#mm-backdrop.open { opacity: 1; pointer-events: auto; }

/* ═══════════════════════════════════════════
   MOBILE MENU DRAWER
═══════════════════════════════════════════ */
#mmenu {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 930;
  width: min(360px, 92vw); background: #fff;
  display: flex; flex-direction: column; overflow: hidden;
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.4,0,.2,1);
  box-shadow: -4px 0 32px rgba(0,0,0,.12);
}
#mmenu.open { transform: translateX(0); }

.mm-close {
  position: absolute; top: 14px; right: 14px;
  width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  background: none; border: 1px solid var(--ln); border-radius: 8px;
  cursor: pointer; color: var(--c-h); z-index: 5;
  transition: background .2s, border-color .2s, color .2s;
}
.mm-close:hover { background: var(--gold-t); border-color: var(--gold-l); color: var(--gold); }

.mm-header {
  padding: 68px 24px 18px; border-bottom: 1px solid var(--ln-s); flex-shrink: 0;
}
.mm-greeting {
  font-family: var(--serif); font-size: 20px; font-weight: 400;
  color: var(--c-h); display: block;
}

.mm-nav { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.mm-nav a {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 24px; font-family: var(--serif); font-size: 20px; font-weight: 400;
  color: var(--c-h); text-decoration: none;
  border-bottom: 1px solid var(--ln-s); transition: background .15s, color .15s;
}
.mm-nav a:hover { background: var(--gold-t); color: var(--gold); }
.mm-nav a.mm-sub {
  padding-left: 40px; font-size: 16px; font-family: var(--sans);
  font-weight: 400; color: var(--c-m);
}
.mm-nav a.mm-sub:hover { color: var(--gold); background: var(--gold-t); }

.mm-quick { flex-shrink: 0; padding: 16px 24px; border-top: 1px solid var(--ln-s); }
.mm-ql {
  font-family: var(--mono); font-size: 10px; letter-spacing: 2.5px;
  text-transform: uppercase; color: var(--gold-d); margin-bottom: 10px; display: block;
}
.mm-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.mm-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 12px; font-size: 12px; font-weight: 500; color: var(--c-h);
  background: var(--gold-t); border: 1px solid var(--gold-l); border-radius: 10px;
  text-decoration: none; transition: border-color .15s;
}
.mm-chip:hover { border-color: var(--gold); }

.mm-cta-wrap { flex-shrink: 0; padding: 0 24px; }
.mm-cta {
  display: block; background: var(--gold); color: #fff;
  text-align: center; padding: 15px; border-radius: 10px;
  font-size: 14px; font-weight: 600; text-decoration: none;
  transition: background .2s; margin-bottom: 10px;
}
.mm-cta:hover { background: var(--gold-h); }

.mm-contacts { display: flex; gap: 8px; padding: 0 24px 24px; flex-shrink: 0; }
.mm-contact {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px;
  padding: 12px; font-size: 12px; font-weight: 500; color: var(--c-h);
  border: 1px solid var(--ln); border-radius: 10px; text-decoration: none;
  background: #fff; transition: border-color .15s;
}
.mm-contact:hover { border-color: var(--gold-l); }

/* ── Dark Mode Toggle ── */
.theme-btn {
  position: fixed; bottom: 24px; right: 24px; z-index: 800;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--gold); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 12px rgba(193,161,76,.3); transition: background .2s, transform .2s;
}
.theme-btn:hover { background: var(--gold-h); transform: scale(1.08); }
.theme-btn svg { width: 20px; height: 20px; }

/* ═══════════════════════════════════════════
   SECTIONS
═══════════════════════════════════════════ */
.sec      { padding: var(--sp) 0; background: #fff; }
.sec-warm { padding: var(--sp) 0; background: var(--gold-t); }
.sec-dark { padding: var(--sp) 0; background: #0e0a06; }
.sec-line { border-top: 1px solid var(--ln); }
.sh { margin-bottom: 52px; }
.sh .t-lead { margin-top: 14px; }

/* Hero */
#hero {
  min-height: 100dvh; padding: 128px 0 80px;
  display: flex; align-items: center;
  background: #fff; border-bottom: 1px solid var(--ln);
}
.hero-inner { padding: 0 48px; max-width: var(--w); margin: 0 auto; width: 100%; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--gold-t); border: 1px solid var(--gold-l);
  padding: 6px 14px; border-radius: 40px;
  font-family: var(--mono); font-size: 10px; color: var(--gold-d);
  letter-spacing: 2.5px; text-transform: uppercase; margin-bottom: 28px;
}
.badge-dot { width: 6px; height: 6px; background: var(--gold); border-radius: 50%; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }
.promise {
  font-size: 16px; line-height: 1.65; color: var(--c-body);
  border-left: 3px solid var(--gold); padding-left: 18px; margin: 20px 0 32px;
}
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }
.trust-bar { display: flex; gap: 24px; flex-wrap: wrap; padding-top: 28px; border-top: 1px solid var(--ln); }
.trust-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--c-m); }
.trust-check { width: 18px; height: 18px; background: var(--gold-t); border: 1px solid var(--gold-l); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 9px; color: var(--gold); }

/* Stats */
.stats-band { background: var(--gold-t); border-top: 1px solid var(--gold-l); border-bottom: 1px solid var(--gold-l); }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.stat-cell { padding: 40px 24px; text-align: center; border-right: 1px solid var(--gold-l); }
.stat-cell:last-child { border-right: none; }
.stat-num { font-family: var(--serif); font-size: 48px; font-weight: 400; color: var(--c-h); line-height: 1; margin-bottom: 8px; }
.stat-num .g { color: var(--gold); }
.stat-lbl { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--c-f); }

/* Grid Layouts */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }

/* Cards */
.card {
  background: #fff; border: 1px solid var(--ln); padding: 28px 24px;
  transition: border-color .2s, transform .2s, box-shadow .2s;
  text-decoration: none; display: block;
}
.card:hover { border-color: var(--gold-l); transform: translateY(-3px); box-shadow: 0 8px 28px rgba(193,161,76,.1); }
.card-num { font-family: var(--mono); font-size: 9px; color: #ccc; margin-bottom: 10px; }
.card-badge {
  display: inline-block; font-family: var(--mono); font-size: 9px;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold-d); background: var(--gold-t); border: 1px solid var(--gold-l);
  padding: 3px 10px; border-radius: 40px; margin-bottom: 12px;
}
.card-link { font-family: var(--mono); font-size: 11px; color: var(--gold); margin-top: 16px; display: block; }

/* Pain List */
.pain-item { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--ln); padding: 16px 18px; margin-bottom: 8px; }
.pain-item.good { border-color: var(--gold-l); background: var(--gold-t); }

/* Ansatz */
.ansatz-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ln); }
.ansatz-cell { padding: 36px 28px; border-right: 1px solid var(--ln); }
.ansatz-cell:last-child { border-right: none; }
.ansatz-title { font-family: var(--serif); font-size: 22px; color: var(--c-h); margin-bottom: 10px; margin-top: 16px; }

/* Versprechen */
.vp-list { border: 1px solid var(--ln); }
.vp-item { display: flex; gap: 20px; align-items: flex-start; padding: 22px 28px; border-bottom: 1px solid var(--ln); }
.vp-item:last-child { border-bottom: none; }
.vp-num { font-family: var(--serif); font-size: 26px; color: var(--gold-l); flex-shrink: 0; min-width: 30px; }
.vp-title { font-size: 15px; font-weight: 600; color: var(--c-h); margin-bottom: 4px; }
.vp-text  { font-size: 14px; color: var(--c-m); line-height: 1.6; }

/* Prozess */
.prozess { display: grid; grid-template-columns: 1fr 28px 1fr 28px 1fr; align-items: start; }
.prozess-step { background: #fff; border: 1px solid var(--ln); padding: 32px 24px; }
.prozess-arrow { display: flex; align-items: center; justify-content: center; padding-top: 36px; color: var(--gold-l); }
.ps-n { font-family: var(--serif); font-size: 40px; color: var(--gold-l); line-height: 1; margin-bottom: 12px; }
.ps-t { font-family: var(--serif); font-size: 19px; color: var(--c-h); margin-bottom: 8px; }
.ps-p { font-size: 14px; color: var(--c-m); line-height: 1.65; }

/* Fakten */
.fakten-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ln); }
.fakt-cell { padding: 40px 28px; text-align: center; border-right: 1px solid var(--ln); }
.fakt-cell:last-child { border-right: none; }
.fakt-num { font-family: var(--serif); font-size: 52px; color: var(--c-h); line-height: 1; margin-bottom: 10px; }
.fakt-num .g { color: var(--gold); }
.fakt-txt { font-size: 13px; color: var(--c-m); }
.fakt-cta { border: 1px solid var(--ln); border-top: 3px solid var(--gold); padding: 48px 40px; text-align: center; background: var(--gold-t); }

/* Erstgespräch Box */
.eg-box { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--ln); }
.eg-left { padding: 48px; border-right: 1px solid var(--ln); }
.eg-right { padding: 48px; background: var(--gold-t); }
.eg-h { font-family: var(--serif); font-size: clamp(22px,3vw,36px); color: var(--c-h); margin-bottom: 14px; line-height: 1.15; }
.eg-text { font-size: 15px; color: var(--c-m); line-height: 1.7; margin-bottom: 16px; }
.eg-list { margin-bottom: 20px; display: flex; flex-direction: column; gap: 8px; }
.eg-list li { font-size: 14px; color: var(--c-body); padding-left: 18px; position: relative; }
.eg-list li::before { content: '→'; position: absolute; left: 0; color: var(--gold); font-size: 12px; }
.eg-mode { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--gold-l); padding: 13px 16px; margin-bottom: 10px; font-size: 14px; color: var(--c-h); }
.eg-note { font-family: var(--mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-f); }

/* FAQ */
.faq-list { border: 1px solid var(--ln); }
.faq-item { padding: 24px 28px; border-bottom: 1px solid var(--ln); }
.faq-item:last-child { border-bottom: none; }
.faq-q { font-size: 16px; font-weight: 600; color: var(--c-h); margin-bottom: 10px; line-height: 1.45; }
.faq-a { font-size: 15px; line-height: 1.78; color: var(--c-m); }

/* Testimonials */
.review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.review-card { background: #fff; border: 1px solid var(--ln); padding: 28px 24px; }
.review-stars { color: var(--gold); font-size: 14px; letter-spacing: 3px; margin-bottom: 14px; }
.review-quote { font-family: var(--serif); font-size: 16px; font-style: italic; line-height: 1.65; color: var(--c-h); margin-bottom: 16px; }
.review-name { font-size: 14px; font-weight: 600; color: var(--c-h); }
.review-meta { font-family: var(--mono); font-size: 10px; color: var(--c-f); margin-top: 4px; }

/* Geo */
.geo-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ln); }
.geo-card { display: block; padding: 24px 20px; border-right: 1px solid var(--ln); border-bottom: 1px solid var(--ln); text-decoration: none; transition: background .15s; }
.geo-card:hover, .geo-card.active { background: var(--gold-t); }
.geo-city { font-family: var(--serif); font-size: 20px; color: var(--c-h); margin-bottom: 4px; }
.geo-reg  { font-family: var(--mono); font-size: 10px; color: var(--c-f); letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 12px; }
.geo-arr  { font-family: var(--mono); font-size: 11px; color: #ccc; }
.geo-card:hover .geo-arr, .geo-card.active .geo-arr { color: var(--gold); }

/* CTA Band */
.cta-band { padding: var(--sp) 0; background: #0e0a06; }
.cta-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 40px; }
.btn-white { background: #fff; color: var(--c-h); padding: 16px 36px; font-size: 16px; border-radius: 8px; }
.btn-white:hover { background: var(--gold-t); color: var(--gold-d); }
.t-white   { color: #fff; }
.t-white-m { color: rgba(255,255,255,.55); }

/* Formular */
.form-wrap { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; align-items: start; }
.form-box { border: 1px solid var(--ln); padding: 40px; background: #fff; }
.form-group { margin-bottom: 18px; }
.form-label { font-family: var(--mono); font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--c-f); display: block; margin-bottom: 7px; }
.form-input, .form-textarea, .form-select {
  width: 100%; padding: 12px 14px; background: #fafafa;
  border: 1px solid var(--ln); font-family: var(--sans);
  font-size: 16px; color: var(--c-h); outline: none;
  transition: border-color .2s, background .2s; border-radius: 0;
  -webkit-appearance: none;
}
.form-input:focus, .form-textarea:focus, .form-select:focus { border-color: var(--gold); background: var(--gold-t); }
.form-textarea { min-height: 110px; resize: vertical; }
.form-check { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 20px; }
.form-check input { margin-top: 3px; accent-color: var(--gold); flex-shrink: 0; }
.form-check-lbl { font-size: 13px; color: var(--c-m); line-height: 1.5; }
.form-check-lbl a { color: var(--gold); text-decoration: underline; }
.form-submit { width: 100%; padding: 15px; background: var(--gold); color: #fff; border: none; font-family: var(--sans); font-size: 15px; font-weight: 600; cursor: pointer; border-radius: 8px; transition: background .2s; }
.form-submit:hover { background: var(--gold-h); }
.form-status { display: none; padding: 13px 16px; border-radius: 4px; font-size: 14px; margin-top: 10px; }
.form-status.success { background: #f0fdf4; border: 1px solid #86efac; color: #166534; display: block; }
.form-status.error   { background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b; display: block; }

/* Kontakt */
.kontakt-form-wrap { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; align-items: start; }
.ci-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ln); }
.ci-block { display: flex; gap: 16px; align-items: flex-start; padding: 28px 24px; border-right: 1px solid var(--ln); }
.ci-block:last-child { border-right: none; }
.ci-ico-wrap { width: 38px; height: 38px; background: var(--gold-t); border: 1px solid var(--gold-l); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ci-label { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-d); display: block; margin-bottom: 6px; }
.ci-value { display: block; font-size: 15px; font-weight: 500; color: var(--c-h); margin-bottom: 6px; line-height: 1.5; }
.ci-value a { color: var(--c-h); }
.ci-value a:hover { color: var(--gold); }
.ci-note { font-size: 13px; color: var(--c-m); line-height: 1.5; }
.beratung-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 36px; }
.beratung-card { background: #fff; border: 1px solid var(--ln); padding: 28px 22px; display: flex; flex-direction: column; }
.beratung-featured { border-color: var(--gold-l); border-width: 1.5px; background: var(--gold-t); }
.beratung-ico { margin-bottom: 16px; }
.beratung-title { font-family: var(--serif); font-size: 18px; color: var(--c-h); margin-bottom: 8px; }
.beratung-text { font-size: 14px; color: var(--c-m); line-height: 1.65; flex: 1; }
.kontakt-trust { padding-top: 8px; }
.kontakt-vcard { display: flex; gap: 14px; align-items: center; padding: 18px; border: 1px solid var(--ln); background: #fff; margin-top: 24px; }
.vcard-photo { width: 60px; height: 60px; object-fit: cover; object-position: center top; border-radius: 50%; flex-shrink: 0; border: 2px solid var(--gold-l); }
.vcard-name { display: block; font-size: 14px; font-weight: 600; color: var(--c-h); }
.vcard-title { display: block; font-size: 12px; color: var(--c-m); }
.vcard-domain { display: block; font-size: 11px; color: var(--gold-d); font-family: var(--mono); }
.vcard-phone { display: block; font-size: 13px; font-weight: 500; color: var(--gold); text-decoration: none; }

/* Leistungen */
.leist-group { margin-bottom: 48px; }
.leist-group-h { font-family: var(--serif); font-size: 26px; color: var(--c-h); padding-bottom: 14px; border-bottom: 1px solid var(--ln); margin-bottom: 16px; display: flex; align-items: center; gap: 12px; }
.leist-items { display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--ln); }
.leist-item { padding: 18px 16px; border-right: 1px solid var(--ln); border-bottom: 1px solid var(--ln); display: flex; gap: 12px; align-items: flex-start; transition: background .15s; }
.leist-item:hover { background: var(--gold-t); }
.leist-dot { width: 7px; height: 7px; background: var(--gold); border-radius: 50%; flex-shrink: 0; margin-top: 6px; }
.leist-name { font-size: 14px; font-weight: 600; color: var(--c-h); margin-bottom: 3px; }
.leist-desc { font-size: 13px; color: var(--c-m); line-height: 1.5; }

/* Über mich */
.photo-box { aspect-ratio: 4/5; overflow: hidden; background: var(--gold-t); border: 1px solid var(--ln); }
.photo-box img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.wert-grid { display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--ln); }
.wert-item { padding: 22px 18px; border-right: 1px solid var(--ln); border-bottom: 1px solid var(--ln); }
.wert-title { font-family: var(--serif); font-size: 17px; color: var(--c-h); margin-bottom: 6px; margin-top: 10px; }

/* Preise */
.preise-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--ln); }
.preis-card { padding: 44px; border-right: 1px solid var(--ln); background: #fff; }
.preis-card:last-child { border-right: none; border: 2px solid var(--gold); margin: -1px; }
.preis-badge { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-d); display: block; margin-bottom: 12px; }
.preis-title { font-family: var(--serif); font-size: 30px; color: var(--c-h); margin-bottom: 6px; line-height: 1.1; }
.preis-price { font-size: 17px; font-weight: 600; color: var(--gold); margin-bottom: 20px; }
.preis-div { height: 1px; background: var(--ln); margin-bottom: 20px; }
.preis-features { display: flex; flex-direction: column; gap: 11px; margin-bottom: 24px; }
.preis-features li { display: flex; gap: 9px; font-size: 14px; color: var(--c-body); line-height: 1.5; }
.preis-note { font-size: 13px; color: var(--c-f); line-height: 1.6; }

/* Ratgeber */
.artikel-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--ln); }
.artikel-card { border-right: 1px solid var(--ln); display: flex; flex-direction: column; transition: background .15s; }
.artikel-card:hover { background: var(--gold-t); }
.artikel-img { height: 140px; border-bottom: 1px solid var(--ln); background: var(--gold-t); display: flex; align-items: center; justify-content: center; }
.artikel-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.artikel-cat { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-d); margin-bottom: 7px; }
.artikel-title { font-family: var(--serif); font-size: 17px; color: var(--c-h); margin-bottom: 7px; line-height: 1.3; }
.artikel-text { font-size: 13px; color: var(--c-m); line-height: 1.6; flex: 1; margin-bottom: 14px; }
.artikel-meta { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; border-top: 1px solid var(--ln-s); }
.artikel-date { font-family: var(--mono); font-size: 10px; color: var(--c-f); }
.artikel-link { font-family: var(--mono); font-size: 11px; color: var(--gold); }

/* Page Hero */
.page-hero { padding: 148px 0 64px; background: #fff; border-bottom: 2px solid var(--gold-l); }

/* Legal */
.legal-wrap { max-width: 740px; margin: 0 auto; }
.legal-wrap h2 { font-family: var(--serif); font-size: 24px; color: var(--c-h); margin: 36px 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--ln); }
.legal-wrap h2:first-child { margin-top: 0; }
.legal-wrap h3 { font-size: 16px; font-weight: 600; color: var(--c-h); margin: 22px 0 8px; }
.legal-wrap p  { font-size: 15px; line-height: 1.75; color: var(--c-body); margin-bottom: 12px; }
.legal-wrap a  { color: var(--gold); text-decoration: underline; }
.legal-wrap ul { margin: 0 0 12px 18px; }
.legal-wrap ul li { font-size: 15px; line-height: 1.75; color: var(--c-body); margin-bottom: 5px; }
.legal-wrap strong { color: var(--c-h); }
.legal-box { border: 1px solid var(--ln); padding: 22px 28px; margin-bottom: 14px; }

/* Footer */
#footer { background: #0e0a06; padding: 64px 0 28px; width: 100%; clear: both; }
.footer-grid { display: grid; grid-template-columns: 2.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.07); margin-bottom: 24px; width: 100%; }
.footer-logo { margin-bottom: 16px; }
.footer-logo img { height: 72px; width: auto; opacity: .9; filter: brightness(1.3); display: block; }
.footer-person { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 8px; }
.footer-tag { font-size: 13px; color: rgba(255,255,255,.28); line-height: 1.65; }
.footer-tag a { color: rgba(255,255,255,.25); text-decoration: none; }
.fc-title { font-family: var(--mono); font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; }
.fc-links { display: flex; flex-direction: column; gap: 8px; }
.fc-links a { font-size: 13px; color: rgba(255,255,255,.28); transition: color .2s; text-decoration: none; }
.fc-links a:hover { color: rgba(255,255,255,.75); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.footer-copy { font-family: var(--mono); font-size: 10px; color: rgba(255,255,255,.2); }
.footer-legal { display: flex; gap: 18px; }
.footer-legal a { font-family: var(--mono); font-size: 10px; color: rgba(255,255,255,.2); transition: color .2s; text-decoration: none; }
.footer-legal a:hover { color: rgba(255,255,255,.5); }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 1200px) {
  .nav-phone { display: none; }
  #nav { padding: 0 32px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 980px) {
  .nav-main { display: none; }
  .nav-drop { display: none !important; }
  .nav-cta { display: none; }
  .nav-burger { display: flex; }
  #nav { padding: 0 20px; height: 72px; }
  .nav-logo img { height: 52px; }
  #nav.scrolled .nav-logo img { height: 48px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
}
@media (max-width: 768px) {
  :root { --sp: 56px; }
  .wrap { padding: 0 20px; }
  #nav { padding: 0 16px; height: 68px; }
  .nav-logo img { height: 46px; }
  #hero { padding: 90px 0 52px; }
  .hero-inner { padding: 0 20px; }
  .hero-h1 { font-size: clamp(32px, 9.5vw, 54px); letter-spacing: -1px; }
  .cta-row { flex-direction: column; }
  .cta-row .btn { width: 100%; justify-content: center; }
  .trust-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .sec, .sec-warm, .sec-dark, .cta-band { padding-left: 20px; padding-right: 20px; }
  .page-hero { padding: 96px 20px 48px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; gap: 20px; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-cell { padding: 24px 14px; border-bottom: 1px solid var(--gold-l); }
  .stat-num { font-size: 34px; }
  .ansatz-grid { grid-template-columns: 1fr; }
  .ansatz-cell { border-right: none; border-bottom: 1px solid var(--ln); }
  .prozess { grid-template-columns: 1fr; }
  .prozess-arrow { display: none; }
  .fakten-grid { grid-template-columns: 1fr; }
  .fakt-cell { border-right: none; border-bottom: 1px solid var(--ln); }
  .eg-box { grid-template-columns: 1fr; }
  .eg-left { border-right: none; border-bottom: 1px solid var(--ln); padding: 28px 22px; }
  .eg-right { padding: 28px 22px; }
  .review-grid { grid-template-columns: 1fr; }
  .geo-grid { grid-template-columns: 1fr 1fr; }
  .form-wrap, .kontakt-form-wrap { grid-template-columns: 1fr; gap: 28px; }
  .form-box { padding: 24px 18px; }
  .ci-grid { grid-template-columns: 1fr; }
  .ci-block { border-right: none; border-bottom: 1px solid var(--ln); }
  .beratung-grid { grid-template-columns: 1fr; }
  .leist-items { grid-template-columns: 1fr; }
  .leist-item { border-right: none; }
  .wert-grid { grid-template-columns: 1fr; }
  .preise-grid { grid-template-columns: 1fr; }
  .preis-card { border-right: none; border-bottom: 1px solid var(--ln); margin: 0; padding: 28px 22px; }
  .preis-card:last-child { border: 1px solid var(--gold); border-top: none; }
  .artikel-grid { grid-template-columns: 1fr; }
  .artikel-card { border-right: none; border-bottom: 1px solid var(--ln); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .footer-logo img { height: 52px; }
  .cta-inner { flex-direction: column; align-items: flex-start; gap: 24px; }
  .cta-inner .btn-white { width: 100%; justify-content: center; }
  .drop-mega { min-width: unset; grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .nav-logo img { height: 40px; }
  #nav { height: 62px; padding: 0 14px; }
  .hero-h1 { font-size: clamp(28px, 9vw, 44px); letter-spacing: -0.5px; }
  .page-h1 { font-size: clamp(26px, 8.5vw, 40px); }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-num { font-size: 28px; }
  .geo-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-logo img { height: 44px; }
  .mm-chips { grid-template-columns: 1fr 1fr; }
  .form-input, .form-textarea, .form-select { font-size: 16px; }
  .faq-item { padding: 18px 16px; }
  .legal-box { padding: 16px; }
}

/* ═══════════════════════════════════════════
   DARK MODE
═══════════════════════════════════════════ */
@media (prefers-color-scheme: dark) {
  :root {
    --gold-d: #d4b46e; --gold-t: #1c1608; --gold-l: #3a2e14;
    --c-h: #f0ece4; --c-body: #d4cec6; --c-m: #9e9890; --c-f: #6e6860;
    --ln: #2e2820; --ln-s: #221e18;
  }
  body { background: #131008; color: #d4cec6; }
  #nav { background: rgba(19,16,8,.97); border-color: var(--ln); }
  .nav-btn, .nav-plain { color: var(--c-h); }
  .nav-btn:hover, .nav-plain:hover, .nav-btn[aria-expanded="true"] { background: var(--gold-t); color: var(--gold); }
  .nav-phone { color: var(--c-m); }
  .nav-burger span { background: var(--c-h); }
  .nav-burger { border-color: var(--ln); }
  .nav-burger:hover { background: var(--gold-t); }
  .nav-drop { background: #1e1a12; border-color: var(--ln); }
  .drop-col { border-right-color: var(--ln); }
  .drop-cta-col { background: #1a1608; }
  .drop-link-name { color: var(--c-h); }
  .drop-link-sub { color: var(--c-f); }
  .drop-link:hover { background: var(--gold-t); }
  .drop-link-ico { background: var(--gold-t); border-color: var(--gold-l); }
  .drop-cta-title { color: var(--c-h); }
  .drop-cta-text { color: var(--c-m); }
  #mm-backdrop { background: rgba(0,0,0,.55); }
  #mmenu { background: #1a1508; }
  .mm-close { border-color: var(--ln); color: var(--c-h); }
  .mm-close:hover { background: var(--gold-t); color: var(--gold); }
  .mm-header { border-bottom-color: var(--ln); }
  .mm-greeting { color: var(--c-h); }
  .mm-nav a { color: var(--c-h); border-bottom-color: var(--ln); }
  .mm-nav a:hover { background: var(--gold-t); color: var(--gold); }
  .mm-nav a.mm-sub { color: var(--c-m); }
  .mm-quick { border-top-color: var(--ln); }
  .mm-ql { color: var(--gold-d); }
  .mm-chip { background: var(--gold-t); border-color: var(--ln); color: var(--c-h); }
  .mm-chip:hover { border-color: var(--gold); }
  .mm-cta { background: var(--gold); color: #fff; }
  .mm-contact { background: var(--gold-t); border-color: var(--ln); color: var(--c-h); }
  .sec { background: #131008; }
  .sec-warm { background: #1a1508; }
  #hero, .page-hero { background: #131008; }
  .page-hero { border-bottom-color: var(--gold-l); }
  h1, h2, h3, h4, .hero-h1, .t-xl, .t-lg, .t-md, .t-card,
  .page-h1, .ansatz-title, .wert-title, .ps-t, .vp-title,
  .faq-q, .leist-name, .preis-title, .beratung-title, .ci-value,
  .review-quote, .review-name, .geo-city, .artikel-title,
  .vcard-name, .drop-cta-title, .eg-h, strong { color: var(--c-h); }
  p, .t-body { color: var(--c-body); }
  .t-lead, .t-sm, .page-lead, .faq-a, .vp-text, .ps-p,
  .leist-desc, .beratung-text, .artikel-text, .ci-note,
  .preis-features li, .eg-text { color: var(--c-m); }
  .eyebrow, .mm-ql, .drop-col-label { color: var(--gold-d); }
  .t-meta, .geo-arr, .card-num, .stat-lbl { color: var(--c-f); }
  .card, .pain-item, .prozess-step, .review-card, .form-box,
  .beratung-card, .preis-card, .kontakt-vcard, .mm-contact { background: #1a1508; border-color: var(--ln); }
  .card:hover { border-color: var(--gold); }
  .pain-item.good { background: var(--gold-t); border-color: var(--gold-l); }
  .stats-band { background: #1a1508; border-color: var(--gold-l); }
  .stat-cell { border-right-color: var(--gold-l); border-bottom-color: var(--gold-l); }
  .stat-num { color: var(--c-h); }
  .faq-list, .faq-item, .vp-list, .vp-item, .geo-grid, .geo-card,
  .leist-items, .leist-item, .preise-grid, .preis-card,
  .artikel-grid, .artikel-card, .ci-grid, .ci-block,
  .legal-box, .eg-box, .eg-left, .wert-grid, .wert-item,
  .ansatz-grid, .ansatz-cell { border-color: var(--ln); }
  .leist-item:hover, .geo-card:hover, .artikel-card:hover,
  .drop-link:hover { background: var(--gold-t); }
  .preis-card:last-child { border-color: var(--gold); }
  .form-input, .form-textarea, .form-select { background: #131008; border-color: var(--ln); color: var(--c-h); }
  .form-input::placeholder, .form-textarea::placeholder { color: var(--c-f); }
  .form-input:focus, .form-textarea:focus, .form-select:focus { border-color: var(--gold); background: var(--gold-t); }
  .form-check-lbl { color: var(--c-m); }
  .legal-wrap h2 { color: var(--c-h); border-color: var(--ln); }
  .legal-wrap h3, .legal-wrap strong { color: var(--c-h); }
  .legal-wrap p, .legal-wrap li { color: var(--c-body); }
  .legal-wrap a { color: var(--gold); }
  .legal-box { border-color: var(--ln); }
  .nav-logo img { filter: brightness(1.1); }
  .footer-logo img { filter: brightness(1.5) contrast(1.1); }
  .ci-ico-wrap { background: var(--gold-t); border-color: var(--gold-l); }
  .eg-right, .fakt-cta, .beratung-featured { background: var(--gold-t); }
  .eg-mode { background: #131008; border-color: var(--gold-l); }
  .ci-label { color: var(--gold-d); }
  .vcard-domain { color: var(--gold-d); }
  [style*="color:#111"], [style*="color: #111"] { color: var(--c-h) !important; }
  [style*="color:#222"], [style*="color: #222"] { color: var(--c-body) !important; }
  [style*="color:#333"], [style*="color: #333"] { color: var(--c-m) !important; }
  [style*="color:#444"], [style*="color: #444"] { color: var(--c-m) !important; }
  [style*="color:#555"], [style*="color: #555"] { color: var(--c-m) !important; }
  [style*="color:#666"], [style*="color: #666"] { color: var(--c-f) !important; }
  [style*="color:#777"], [style*="color: #777"] { color: var(--c-f) !important; }
}

/* data-theme Override (manueller Toggle) */
[data-theme="dark"] {
  color-scheme: dark;
  --gold-d: #d4b46e; --gold-t: #1c1608; --gold-l: #3a2e14;
  --c-h: #f0ece4; --c-body: #d4cec6; --c-m: #9e9890; --c-f: #6e6860;
  --ln: #2e2820; --ln-s: #221e18;
}
[data-theme="dark"] body { background: #131008; color: #d4cec6; }
[data-theme="dark"] #nav { background: rgba(19,16,8,.97); border-color: #2e2820; }
[data-theme="dark"] .nav-btn, [data-theme="dark"] .nav-plain { color: #f0ece4; }
[data-theme="dark"] .nav-btn:hover, [data-theme="dark"] .nav-plain:hover,
[data-theme="dark"] .nav-btn[aria-expanded="true"] { background: #1c1608; color: #c1a14c; }
[data-theme="dark"] .nav-phone { color: #9e9890; }
[data-theme="dark"] .nav-burger span { background: #f0ece4; }
[data-theme="dark"] .nav-burger { border-color: #2e2820; }
[data-theme="dark"] .nav-drop { background: #1e1a12; border-color: #2e2820; }
[data-theme="dark"] .drop-col { border-right-color: #2e2820; }
[data-theme="dark"] .drop-link-name { color: #f0ece4; }
[data-theme="dark"] .drop-link-sub  { color: #6e6860; }
[data-theme="dark"] .drop-cta-col   { background: #1a1608; }
[data-theme="dark"] .drop-cta-title { color: #f0ece4; }
[data-theme="dark"] .drop-cta-text  { color: #9e9890; }
[data-theme="dark"] #mm-backdrop { background: rgba(0,0,0,.55); }
[data-theme="dark"] #mmenu { background: #1a1508; }
[data-theme="dark"] .mm-close { border-color: #2e2820; color: #f0ece4; }
[data-theme="dark"] .mm-greeting { color: #f0ece4; }
[data-theme="dark"] .mm-header { border-bottom-color: #2e2820; }
[data-theme="dark"] .mm-nav a { color: #f0ece4; border-bottom-color: #2e2820; }
[data-theme="dark"] .mm-nav a:hover { background: #1c1608; color: #c1a14c; }
[data-theme="dark"] .mm-nav a.mm-sub { color: #9e9890; }
[data-theme="dark"] .mm-quick { border-top-color: #2e2820; }
[data-theme="dark"] .mm-ql { color: #d4b46e; }
[data-theme="dark"] .mm-chip { background: #1c1608; border-color: #2e2820; color: #f0ece4; }
[data-theme="dark"] .mm-cta { background: #c1a14c; color: #fff; }
[data-theme="dark"] .mm-contact { background: #1c1608; border-color: #2e2820; color: #f0ece4; }
[data-theme="dark"] .sec { background: #131008; }
[data-theme="dark"] .sec-warm { background: #1a1508; }
[data-theme="dark"] #hero, [data-theme="dark"] .page-hero { background: #131008; }
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] h4,
[data-theme="dark"] .hero-h1,[data-theme="dark"] .t-xl,[data-theme="dark"] .t-lg,
[data-theme="dark"] .t-md,[data-theme="dark"] .t-card,[data-theme="dark"] .page-h1,
[data-theme="dark"] .faq-q,[data-theme="dark"] .vp-title,[data-theme="dark"] .ps-t,
[data-theme="dark"] .ansatz-title,[data-theme="dark"] .leist-name,
[data-theme="dark"] .beratung-title,[data-theme="dark"] .preis-title,
[data-theme="dark"] .review-quote,[data-theme="dark"] .review-name,
[data-theme="dark"] .geo-city,[data-theme="dark"] .artikel-title,
[data-theme="dark"] .ci-value,[data-theme="dark"] .eg-h,
[data-theme="dark"] .vcard-name,[data-theme="dark"] .wert-title,
[data-theme="dark"] strong { color: #f0ece4; }
[data-theme="dark"] p, [data-theme="dark"] .t-body { color: #d4cec6; }
[data-theme="dark"] .t-lead,[data-theme="dark"] .t-sm,[data-theme="dark"] .page-lead,
[data-theme="dark"] .faq-a,[data-theme="dark"] .vp-text,[data-theme="dark"] .ps-p,
[data-theme="dark"] .leist-desc,[data-theme="dark"] .beratung-text,
[data-theme="dark"] .artikel-text,[data-theme="dark"] .ci-note,
[data-theme="dark"] .preis-features li { color: #9e9890; }
[data-theme="dark"] .eyebrow { color: #d4b46e; }
[data-theme="dark"] .card,[data-theme="dark"] .pain-item,[data-theme="dark"] .prozess-step,
[data-theme="dark"] .review-card,[data-theme="dark"] .form-box,
[data-theme="dark"] .beratung-card,[data-theme="dark"] .preis-card,
[data-theme="dark"] .kontakt-vcard { background: #1a1508; border-color: #2e2820; }
[data-theme="dark"] .card:hover { border-color: #c1a14c; }
[data-theme="dark"] .stats-band { background: #1a1508; border-color: #3a2e14; }
[data-theme="dark"] .stat-num { color: #f0ece4; }
[data-theme="dark"] .form-input,[data-theme="dark"] .form-textarea,
[data-theme="dark"] .form-select { background: #131008; border-color: #2e2820; color: #f0ece4; }
[data-theme="dark"] .form-input:focus,[data-theme="dark"] .form-textarea:focus,
[data-theme="dark"] .form-select:focus { border-color: #c1a14c; background: #1c1608; }
[data-theme="dark"] .form-input::placeholder,
[data-theme="dark"] .form-textarea::placeholder { color: #6e6860; }
[data-theme="dark"] .legal-wrap h2,[data-theme="dark"] .legal-wrap h3 { color: #f0ece4; border-color: #2e2820; }
[data-theme="dark"] .legal-wrap p,[data-theme="dark"] .legal-wrap li { color: #d4cec6; }
[data-theme="dark"] .legal-wrap a { color: #c1a14c; }
[data-theme="dark"] .legal-box { border-color: #2e2820; }
[data-theme="dark"] .nav-logo img { filter: brightness(1.1); }
[data-theme="dark"] .footer-logo img { filter: brightness(1.5) contrast(1.1); }
[data-theme="dark"] [style*="color:#111"],[data-theme="dark"] [style*="color: #111"] { color: #f0ece4 !important; }
[data-theme="dark"] [style*="color:#222"],[data-theme="dark"] [style*="color: #222"] { color: #d4cec6 !important; }
[data-theme="dark"] [style*="color:#333"],[data-theme="dark"] [style*="color: #333"] { color: #9e9890 !important; }
[data-theme="dark"] [style*="color:#444"],[data-theme="dark"] [style*="color: #444"] { color: #9e9890 !important; }
[data-theme="dark"] [style*="color:#555"],[data-theme="dark"] [style*="color: #555"] { color: #9e9890 !important; }
[data-theme="dark"] [style*="color:#666"],[data-theme="dark"] [style*="color: #666"] { color: #6e6860 !important; }

[data-theme="light"] { color-scheme: light; }
[data-theme="light"] body { background: #fff; color: #222; }
