/**
 * ge-core.css - consolidated global core layer
 * Generated on 2026-04-25 to reduce base stylesheet sprawl in the optimized copy.
 * Source order: ge-base -> ge-sections -> ge-components -> ge-header -> ge-page
 */


/* ===== BEGIN ge-base.css ===== */

/**
 * ge-base.css — Gallium Estate v49.3
 * Design Tokens, Reset, Typografie-Skala
 * EINZIGE Quelle für alle CSS-Variablen
 */

/* ════════════════════════════════════════════
   DESIGN TOKENS — hier und nirgendwo sonst
════════════════════════════════════════════ */
:root {
  /* ── Farb-Tokens ───────────────────────────────────── */
  --gold:        #C9A86A;
  --gold-l:      #E8D090;
  --gold-d:      #9A7030;
  --gold-pale:   rgba(201,168,106,.07); /* D-17 v68: Token für subtile Gold-Tints statt hardgecodet */
  --navy:        #0A1A2F;
  --navy-m:      #0E2040;
  --navy-d:      #04080F;
  --warm:        #F8F7F4;
  --warm2:       #E0D8CC; /* D-02 v68: von #EDE8DE abgedunkelt — mehr Kontrast zu --warm */
  --text:        #1C2333;
  --muted:       #6B7280;
  --border:      #E2DDD4;
  --eyebrow-size: 12px;
  --eyebrow-spacing: .14em;
  --label-size: 13px;
  --label-size-sm: 12px;
  --label-spacing: .08em;
  --meta-size: 14px;
  --pill-radius: 40px;
  --chip-radius: 10px;
  --ui-soft-bg: rgba(201,168,106,.08);
  --ui-soft-border: rgba(201,168,106,.22);
  --ui-hover-border: rgba(154,112,48,.32);
  --action-shadow-gold: 0 4px 16px rgba(201,168,106,.3);

  /* ── Typografie ────────────────────────────────────── */
  --serif:       'Cormorant Garamond', Georgia, serif;
  --sans:        'Outfit', system-ui, -apple-system, sans-serif;

  /* ── Typografie-Skala ──────────────────────────────── */
  --h1:          clamp(30px, 3.5vw, 56px);
  --h2:          clamp(24px, 2.8vw, 42px);
  --h3:          clamp(17px, 1.6vw, 22px);
  --h2-hero:     clamp(28px, 3.5vw, 56px);

  /* ── Abstände ──────────────────────────────────────── */
  --section-pad: 72px;
  --container:   1240px;

  /* ── Karten ────────────────────────────────────────── */
  --card-radius: 14px;
  --card-shadow: 0 8px 24px rgba(0,0,0,.07);
  --card-shadow-hover: 0 12px 36px rgba(10,26,47,.12);
  --surface-card: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,250,252,.98));
  --surface-card-soft: linear-gradient(180deg, #fff, #fbfcfe);
  --surface-card-warm: linear-gradient(180deg, #fff, #fcfaf6);
  --shadow-soft: 0 10px 30px rgba(10,26,47,.05);
  --shadow-card: 0 18px 48px rgba(10,26,47,.08);
  --shadow-card-hover: 0 24px 60px rgba(10,26,47,.12);
  --shadow-float: 0 28px 70px rgba(4,8,15,.16);

  /* ── Übergänge ─────────────────────────────────────── */
  --ease:        cubic-bezier(.16,1,.3,1);
  --transition:  .25s var(--ease);
}

@media (max-width: 768px) {
  :root { --section-pad: 60px; }
}

/* ════════════════════════════════════════════
   @FONT-FACE — Lokale Fonts (DSGVO-konform)
   Dateien in assets/fonts/ ablegen.
   Anleitung: assets/fonts/FONTS-INSTALLIEREN.txt
════════════════════════════════════════════ */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style:  normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style:  italic;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-300italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style:  normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style:  italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-400italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Outfit';
  font-style:  normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/outfit-variable.woff2') format('woff2');
}

/* ════════════════════════════════════════════
   RESET
════════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  color-scheme: dark;
  overflow-x: clip;
}

body {
  font-family: var(--sans);
  background: var(--navy-d);
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  line-height: 1.6;
  overflow-x: clip;
}

/* ════════════════════════════════════════════
   TEXT SELECTION — Premium Gold-Akzent
════════════════════════════════════════════ */
::selection        { background: rgba(201,168,106,.42); color: var(--navy-d, #08111d); }
::-moz-selection   { background: rgba(201,168,106,.42); color: var(--navy-d, #08111d); }

/* ════════════════════════════════════════════
   SCROLLBAR — Subtil, markenkonform
════════════════════════════════════════════ */
::-webkit-scrollbar       { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--navy-d); }
::-webkit-scrollbar-thumb { background: rgba(201,168,106,.22); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(201,168,106,.42); }
* { scrollbar-width: thin; scrollbar-color: rgba(201,168,106,.22) var(--navy-d); }

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; }

/* ════════════════════════════════════════════
   TYPOGRAFIE-SKALA (verbindlich, einmalig)
════════════════════════════════════════════ */

/* H1 Hero */
.ge-hero-premium__h1 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 54px);
  font-weight: 300;
  line-height: 1.13; /* D-06 v68: 1.08 → 1.13 — verhindert Überlappung bei Descender-Zeichen */
  letter-spacing:0;
  color: #fff;
}
.ge-hero-premium__h1 em {
  font-style: italic;
  color: var(--gold-l);
}

/* H2 Section */
.ge-section-h2 {
  font-family: var(--serif);
  font-size: var(--h2);
  font-weight: 300;
  line-height: 1.12;
  color: #fff;
  margin-bottom: 16px;
}
.ge-section-h2 em {
  font-style: italic;
  color: var(--gold-l);
}
.ge-section--light .ge-section-h2,
.ge-section--white .ge-section-h2 {
  color: var(--navy);
}
.ge-section--light .ge-section-h2 em,
.ge-section--white .ge-section-h2 em {
  color: var(--gold-d);
}

/* H3 Card */
.ge-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.3;
}

/* Eyebrow / Tag */
.ge-section-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em; /* D-03 v68: von .2em → .12em — bei langen Labels nicht mehr gedehnt */
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
/* D-08 v68: Dekorative Linien vor/nach dem Tag-Text */
.ge-section-tag::before,
.ge-section-tag::after {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: currentColor;
  opacity: .45;
  flex-shrink: 0;
}
.ge-section--light .ge-section-tag,
.ge-section--white .ge-section-tag {
  color: var(--gold-d);
}

/* Section Sub */
.ge-section-sub {
  font-size: 14.5px;
  color: rgba(255,255,255,.72); /* war .5 — WCAG-Fail, jetzt lesbar */
  line-height: 1.7;
  max-width: 640px; /* D-07 v68: 560px → 640px — 65–75 Zeichen/Zeile für optimale Lesbarkeit */
  margin-top: 8px;
}
.ge-section--light .ge-section-sub,
.ge-section--white .ge-section-sub {
  color: var(--muted);
}

/* KPI */
.ge-kpi-val {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 300;
  color: var(--gold-l);
  line-height: 1;
}
.ge-kpi-lbl {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(255,255,255,.62); /* war .4 — erhöht auf .62 */
}

/* Meta */
.ge-meta {
  font-size: 12px;
  color: var(--muted);
}

/* ════════════════════════════════════════════
   LAYOUT
════════════════════════════════════════════ */
.ge-container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

@media (max-width: 640px) {
  .ge-container { padding: 0 20px; }
}

.ge-section-hd {
  margin-bottom: 48px;
}
.ge-section-hd--center {
  text-align: center;
  margin: 0 auto 48px;
  max-width: 680px;
}

/* ════════════════════════════════════════════
   UTILITY KLASSEN — ersetzt häufige inline-
   style="" Attribute (P7 v50)
════════════════════════════════════════════ */

/* Spacing — Kern-Utilities (mit !important für Overrides) */
.ge-mt-8  { margin-top:  8px !important; }
.ge-mt-20 { margin-top: 20px !important; }
.ge-mb-8  { margin-bottom:  8px !important; }
.ge-mb-16 { margin-bottom: 16px !important; }
.ge-mb-20 { margin-bottom: 20px !important; }
.ge-mb-36 { margin-bottom: 36px !important; }
.ge-mb-48 { margin-bottom: 48px !important; }
.ge-pb-48 { padding-bottom: 48px !important; }
/* .ge-mt-12 / .ge-mb-12 / .ge-mb-18 / .ge-mb-24 → konsolidiert in Margin-shortcuts-Block */

/* Layout */
.ge-flex-wrap { display: flex; gap: 12px; flex-wrap: wrap; }
.ge-text-center { text-align: center; }
.ge-nowrap { white-space: nowrap; }
.ge-hidden { display: none; }

/* Typografie */
.ge-label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-d);
  padding: 0 8px;
}
.ge-text-gold-d { color: var(--gold-d); }
.ge-text-muted  { color: var(--muted); }
.ge-text-navy   { color: var(--navy); }
.ge-text-white     { color: #fff; }
.ge-text-muted-inv { color: rgba(255,255,255,.65); } /* war .4 */
.ge-text-sub-inv   { color: rgba(255,255,255,.75); } /* war .55 */
.ge-text-gold      { color: var(--gold); }
.ge-text-center { text-align: center; }
.ge-title-sm {
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 8px;
}
.ge-subtitle-sm {
  font-size: 13.5px;
  color: var(--muted);
  margin: 0 0 24px;
}

/* Boxen */
.ge-box-gold {
  border: 1px solid rgba(201,168,106,.15);
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 16px;
}

/* Bilder */
.ge-img-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  display: block;
  pointer-events: none;
}
.ge-img-cover--dim-11 { opacity: .11; }
.ge-img-cover--dim-10 { opacity: .10; }
.ge-img-cover--dim-50 { opacity: .50; }  /* v2: 50% sichtbar — VIP & KVZ Hero */
.ge-img-cover--dim-78 { opacity: .78; }  /* v2: 78% sichtbar */

/* ═══════════════════════════════════════════════════════════════════
   FOCUS-VISIBLE — WCAG 2.1 AA (Fix v54)
   Globale :focus-visible Stile für alle interaktiven Elemente.
   Gilt für Buttons, Links, Inputs und alle tabbable Elemente
   die nicht durch komponentenspezifisches CSS abgedeckt sind.
═══════════════════════════════════════════════════════════════════ */

/* Basis-Reset: :focus ohne Tastatur nicht sichtbar machen */
:focus:not(:focus-visible) {
  outline: none;
}

/* Globaler :focus-visible Ring — Gold auf Navy, kontrastreich */
:focus-visible {
  outline: 2px solid rgba(201,168,106,.85);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Anpassung für Buttons mit eigenem Border-Radius */
.ge-btn:focus-visible,
button:focus-visible {
  outline: 2px solid rgba(201,168,106,.85);
  outline-offset: 4px;
  border-radius: 8px;
}

/* Anpassung für Links auf hellen Hintergründen */
.ge-section--light :focus-visible,
.ge-section--warm :focus-visible {
  outline-color: rgba(154,112,48,.9);
}

/* FAQ-Buttons */
.ge-faq-q:focus-visible {
  outline: 2px solid rgba(201,168,106,.7);
  outline-offset: 4px;
  border-radius: 4px;
}

/* Exit-Overlay: Close-Button */
.ge-exit-overlay__close:focus-visible {
  outline: 2px solid rgba(201,168,106,.85);
  outline-offset: 4px;
  border-radius: 50%;
}

/* ═══════════════════════════════════════════════════════════════════
   PREFERS-REDUCED-MOTION — Fix v55 (WCAG 2.1 Kriterium 2.3.3)
   Für Nutzer mit vestibulären Störungen oder Bewegungsempfindlichkeit.
   Deaktiviert alle CSS-Animationen und -Übergänge.
   Starfield-Canvas wird zusätzlich in ge-starfield.js gestoppt
   (dort bereits implementiert, s. Zeile 16).
═══════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Starfield-Canvas ausblenden (JS-Gate in ge-starfield.js greift parallel) */
  #ge-starfield {
    display: none !important;
  }

  /* Shine-Effekt auf CTA deaktivieren */
  .ge-header__cta::before {
    display: none !important;
  }

  /* Scroll-Progress-Bar: kein Übergang */
  .ge-progress {
    transition: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   D-20 v68: PREFERS-COLOR-SCHEME — BEWUSSTE DESIGN-ENTSCHEIDUNG
   ═══════════════════════════════════════════════════════════════════
   Das Gallium Estate Theme ist Dark-Only (color-scheme: dark).
   Navy/Gold als Markenidentität erfordert kontrollierten Dark-Hintergrund.

   KEIN @media (prefers-color-scheme: light) implementiert — absichtlich:
   • Light-Mode würde Navy-Backgrounds auf weiß kippen (Texte nicht lesbar)
   • Gold auf weiß hat zu wenig Kontrast (WCAG-kritisch: #C9A86A auf #fff = 2.3:1)
   • Markenwirkung (Luxus/Exklusivität) basiert auf dem dunklen Erscheinungsbild

   Falls Light-Mode in Zukunft gewünscht: neues Token-Set --navy-lm, --gold-lm
   und vollständige Alternativ-Paletten als ISSUE-OPEN-012 tracken.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Skip-to-Content Link (WCAG 2.4.1) ──────────────────────────────────────
   OPT-F-2: Sichtbarer Fokus für Tastaturnutzer und Screenreader              */
.ge-skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 9999;
  padding: 12px 24px;
  background: var(--navy, #0A1A2F);
  color: var(--gold, #C9A86A);
  font-family: var(--sans, 'Outfit', sans-serif);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border-bottom-right-radius: 8px;
  clip: rect(0 0 0 0);
  overflow: hidden;
  white-space: nowrap;
  transition: none;
}
.ge-skip-link:focus {
  position: fixed;
  top: 0;
  left: 0;
  clip: auto;
  overflow: visible;
  outline: 3px solid var(--gold, #C9A86A);
  outline-offset: 2px;
}


/* ══════════════════════════════════════════════════════════════
   UTILITY CLASSES (v73)
   Eliminieren die häufigsten style="" Patterns in PHP-Templates
   ══════════════════════════════════════════════════════════════ */

/* Layout */
.ge-text-center   { text-align: center; }
.ge-flex          { display: flex; }
.ge-flex-wrap     { display: flex; flex-wrap: wrap; }
.ge-flex-col      { display: flex; flex-direction: column; }
.ge-flex-center   { display: flex; align-items: center; justify-content: center; }
.ge-grid-auto     { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 28px; }
.ge-grid-auto-sm  { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.ge-gap-8         { gap: 8px; }
.ge-gap-12        { gap: 12px; }
.ge-gap-16        { gap: 16px; }
.ge-gap-24        { gap: 24px; }
.ge-gap-28        { gap: 28px; }

/* Margin shortcuts — konsolidiert (v74+, !important konsistent mit Z.281ff.) */
.ge-mt-12  { margin-top: 12px !important; }   /* war auch Z.282 — konsolidiert */
.ge-mt-16  { margin-top: 16px !important; }
.ge-mt-24  { margin-top: 24px !important; }
.ge-mt-28  { margin-top: 28px !important; }
.ge-mt-32  { margin-top: 32px !important; }
.ge-mt-36  { margin-top: 36px !important; }
.ge-mt-48  { margin-top: 48px !important; }
.ge-mb-12  { margin-bottom: 12px !important; } /* war auch Z.285 — konsolidiert */
.ge-mb-18  { margin-bottom: 18px !important; } /* war auch Z.287 — konsolidiert */
.ge-mb-24  { margin-bottom: 24px !important; } /* war auch Z.289 — konsolidiert */
.ge-mb-28  { margin-bottom: 28px !important; }
.ge-mb-30  { margin-bottom: 30px !important; }
.ge-mb-32  { margin-bottom: 32px !important; }
.ge-mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* Max-width containers */
.ge-mw-500 { max-width: 500px; }
.ge-mw-520 { max-width: 520px; }
.ge-mw-560 { max-width: 560px; }
.ge-mw-600 { max-width: 600px; }
.ge-mw-680 { max-width: 680px; }
.ge-mw-760 { max-width: 760px; }

/* Text utilities */
.ge-font-serif  { font-family: var(--serif); }
.ge-font-sans   { font-family: var(--sans); }
.ge-text-muted  { color: var(--muted); }
.ge-text-navy   { color: var(--navy); }
.ge-text-gold   { color: var(--gold); }
.ge-text-gold-d { color: var(--gold-d); }
.ge-text-white  { color: #fff; }
.ge-text-xs     { font-size: 12px; }
.ge-text-sm     { font-size: 13px; }
.ge-text-base   { font-size: 15px; }
.ge-lh-loose    { line-height: 1.75; }
.ge-lh-relaxed  { line-height: 1.85; }

/* Decorative */
.ge-order-1     { order: 1; }
.ge-order-2     { order: 2; }
.ge-sr-only     { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ge-honeypot    { position: absolute; left: -9999px; top: -9999px; }

/* v74 Ergänzungen */
.ge-pos-rel { position: relative; }
/* .ge-mb-16 + .ge-mt-28 entfernt — bereits in Utility-Block Z.286/500 definiert */

/* v74 weitere Utilities */
.ge-bc-section { background: var(--warm, #F8F7F4); padding: 40px 0 0; }
.ge-section-tag--block { display: block; margin-bottom: 10px; }
/* .ge-mt-20 entfernt — bereits in Utility-Block Z.283 mit !important definiert */

/* ── v75: Layout-Utilities ─────────────────────────────── */

/* Container mit begrenzter Breite (Intro-Sections) */
.ge-container.ge-lp-intro-wrap,
.ge-container.ge-lp-faq-wrap,
.ge-container.ge-lp-cta-wrap {
  max-width: 820px;
}

.ge-container.ge-lp-intro-wrap,
.ge-container.ge-lp-cta-wrap {
  text-align: center;
}

/* Sektions-H2 auf hellerm Hintergrund (navy) */
.ge-section-h2--navy {
  color: var(--navy, #0A1A2F);
}

/* Utility: flex-shrink:0 */
.ge-flex-shrink-0 { flex-shrink: 0; }

/* Utility: white-space:nowrap */
.ge-nowrap { white-space: nowrap; }

/* ════════════════════════════════════════════
   SCROLL PERFORMANCE
   content-visibility:auto → Browser rendert
   Sektionen außerhalb des Viewports NICHT.
   Spart bis zu 60% Paint-Zeit beim Scrollen.
   contain-intrinsic-size verhindert Layout-Shift.
════════════════════════════════════════════ */
.ge-section {
  content-visibility: visible;
}
/* Ausnahmen: Hero (immer sichtbar) + fixed Elemente */
.ge-hero-premium,
.ge-header,
.ge-sticky-cta {
  content-visibility: visible;
}

/* IDW Card hover */
#immobilie-der-woche a:hover .idw-thumb { transform: scale(1.04); }
@media(max-width:768px){
  #immobilie-der-woche [style*="grid-template-columns:1.15fr"] {
    grid-template-columns:1fr !important;
  }
  #immobilie-der-woche [style*="min-height:460px"] {
    min-height:260px !important;
  }
}

/* ===== END ge-base.css ===== */


/* ===== BEGIN ge-sections.css ===== */

/**
 * ge-sections.css — Gallium Estate v49.3
 * Sektions-Hintergründe, Rhythmus-System
 *
 * RHYTHMUS-GESETZ: dunkel → hell → dunkel → hell → CTA
 * VERBOTEN: --light direkt nach --light
 * VERBOTEN: --dark direkt nach --dark (außer padding-top:0)
 */

/* ════════════════════════════════════════════
   BASIS-SEKTION
════════════════════════════════════════════ */
.ge-section {
  padding: var(--section-pad) 0;
  position: relative;
}

/* ════════════════════════════════════════════
   HINTERGRÜNDE
════════════════════════════════════════════ */
.ge-section--dark {
  background: #060f1e;
  color: #fff;
}

.ge-section--navy {
  background: var(--navy-m);
  color: #fff;
}

.ge-section--light {
  background: var(--warm);
  color: var(--text);
  color-scheme: light;
}

.ge-section--white {
  background: #fff;
  color: var(--text);
  color-scheme: light;
}

.ge-section--warm2 {
  background: var(--warm2);
  color: var(--text);
  color-scheme: light;
}

/* ════════════════════════════════════════════
   TEXT AUF HELLEN SEKTIONEN
════════════════════════════════════════════ */
.ge-section--light h1,
.ge-section--light h2,
.ge-section--light h3,
.ge-section--light h4,
.ge-section--white h1,
.ge-section--white h2,
.ge-section--white h3,
.ge-section--white h4,
.ge-section--warm h1,
.ge-section--warm h2,
.ge-section--warm h3,
.ge-section--warm h4,
.ge-section--warm2 h1,
.ge-section--warm2 h2,
.ge-section--warm2 h3,
.ge-section--warm2 h4 {
  color: var(--navy);
}

/* .ge-section-h2 override für helle Sektionen (specificity-safe) */
.ge-section--light .ge-section-h2,
.ge-section--white .ge-section-h2,
.ge-section--warm .ge-section-h2,
.ge-section--warm2 .ge-section-h2 {
  color: var(--navy) !important;
}
.ge-section--light .ge-section-h2 em,
.ge-section--white .ge-section-h2 em,
.ge-section--warm .ge-section-h2 em,
.ge-section--warm2 .ge-section-h2 em {
  color: var(--gold-d) !important;
}

/* .ge-section-h2 auf dunklen Sektionen explizit weiß */
.ge-section--dark .ge-section-h2,
.ge-section--navy .ge-section-h2 {
  color: #fff !important;
}
.ge-section--dark .ge-section-h2 em,
.ge-section--navy .ge-section-h2 em {
  color: var(--gold-l) !important;
}

.ge-section--light p,
.ge-section--light li,
.ge-section--white p,
.ge-section--white li,
.ge-section--warm p,
.ge-section--warm li,
.ge-section--warm2 p,
.ge-section--warm2 li {
  color: var(--muted);
}

.ge-section--light em,
.ge-section--white em,
.ge-section--warm em,
.ge-section--warm2 em {
  color: var(--gold-d);
  font-style: italic;
}

/* Kontrast-Guard fuer helle Sektionen:
   haeufig genutzte Text-Utilities duerfen hier nicht versehentlich weiss erben. */
.ge-section--light .ge-lead,
.ge-section--light .ge-lead--dk,
.ge-section--light .ge-body-text,
.ge-section--light .ge-text-base,
.ge-section--light .ge-text-muted,
.ge-section--light blockquote,
.ge-section--white .ge-lead,
.ge-section--white .ge-lead--dk,
.ge-section--white .ge-body-text,
.ge-section--white .ge-text-base,
.ge-section--white .ge-text-muted,
.ge-section--white blockquote,
.ge-section--warm .ge-lead,
.ge-section--warm .ge-lead--dk,
.ge-section--warm .ge-body-text,
.ge-section--warm .ge-text-base,
.ge-section--warm .ge-text-muted,
.ge-section--warm blockquote,
.ge-section--warm2 .ge-lead,
.ge-section--warm2 .ge-lead--dk,
.ge-section--warm2 .ge-body-text,
.ge-section--warm2 .ge-text-base,
.ge-section--warm2 .ge-text-muted,
.ge-section--warm2 blockquote {
  color: var(--text) !important;
}

.ge-section--light .ge-text-muted,
.ge-section--white .ge-text-muted,
.ge-section--warm .ge-text-muted,
.ge-section--warm2 .ge-text-muted {
  color: var(--muted) !important;
}

/* Kontrast-Guard fuer dunkle Sektionen:
   Sekundaertexte duerfen dort nicht unter eine stabile Lesbarkeit absinken. */
.ge-section--dark,
.ge-sec--deep,
.ge-panel--dark,
.ge-hero-premium,
.ge-page-hero,
.gl-hero,
.gw-hero,
.kvz-hero,
.kar-hero,
.vip-hero {
  --ge-dark-body: rgba(255,255,255,.74);
  --ge-dark-muted: rgba(255,255,255,.66);
  --ge-dark-faint: rgba(255,255,255,.6);
}

.ge-section--dark .ge-lead,
.ge-section--dark .ge-body-text,
.ge-section--dark .ge-text-base,
.ge-section--dark .ge-section-sub,
.ge-section--dark blockquote,
.ge-sec--deep .ge-lead,
.ge-sec--deep .ge-body-text,
.ge-sec--deep .ge-text-base,
.ge-sec--deep .ge-section-sub,
.ge-sec--deep blockquote,
.ge-panel--dark .ge-lead,
.ge-panel--dark .ge-body-text,
.ge-panel--dark .ge-text-base,
.ge-panel--dark .ge-section-sub,
.ge-panel--dark blockquote {
  color: var(--ge-dark-body) !important;
}

.ge-section--dark .ge-text-muted,
.ge-section--dark .ge-text-muted-inv,
.ge-section--dark .ge-lead--lt,
.ge-sec--deep .ge-text-muted,
.ge-sec--deep .ge-text-muted-inv,
.ge-sec--deep .ge-lead--lt,
.ge-panel--dark .ge-text-muted,
.ge-panel--dark .ge-text-muted-inv,
.ge-panel--dark .ge-lead--lt {
  color: var(--ge-dark-muted) !important;
}

/* ════════════════════════════════════════════
   CTA-BAND (immer letzte Sektion, immer dunkel)
════════════════════════════════════════════ */
.ge-cta-band {
  background: linear-gradient(135deg, var(--navy-d), var(--navy-m));
  padding: 80px 0;
  text-align: center;
  border-top: 1px solid rgba(201,168,106,.12);
}

.ge-cta-band h2 {
  font-family: var(--serif);
  font-size: clamp(26px, 2.8vw, 44px);
  font-weight: 300;
  color: #fff;
  margin-bottom: 12px;
  line-height: 1.2;
  word-break: break-word;
  overflow-wrap: break-word;
}

.ge-cta-band h2 em {
  font-style: italic;
  color: var(--gold-l);
}

.ge-cta-band p {
  font-size: 15px;
  color: rgba(255,255,255,.75);
  margin-bottom: 32px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.7;
  max-width: 560px;
  text-align: center;
  white-space: normal;
}

/* D-15 v68: 680px → 860px — zwischen 680–860px war nowrap aktiv,
   schmaler Viewport + langer Text erzeugte horizontalen Scroll */
@media (max-width: 860px) {
  .ge-cta-band p { white-space: normal; }
}

.ge-cta-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}

/* Legacy alias */
.ge-cta-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  text-align: left;
}
.ge-cta-band__inner h2 { margin-bottom: 8px; }
.ge-cta-band__inner p  { margin-bottom: 0; }
.ge-cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .ge-cta-band__inner { flex-direction: column; text-align: center; }
  .ge-cta-actions { justify-content: center; }
}

/* ════════════════════════════════════════════
   COLOR-SCHEME PRO SEKTION
════════════════════════════════════════════ */
.ge-section--dark,
.ge-section--navy {
  color-scheme: dark;
}

/* ===== END ge-sections.css ===== */


/* ===== BEGIN ge-components.css ===== */

/**
 * ge-components.css — Gallium Estate v49.3
 * Cards, Buttons, Badges, Strips, FAQs, Reviews, Breadcrumb
 * EINZIGE Quelle für alle Basis-Komponenten
 */

/* ════════════════════════════════════════════
   BUTTONS — ge-btn System
════════════════════════════════════════════ */
.ge-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--sans);
  font-size: var(--label-size);
  font-weight: 700;
  letter-spacing: var(--label-spacing);
  text-transform: uppercase;
  border: none;
  border-radius: 10px;
  padding: 14px 28px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--transition), color var(--transition), opacity var(--transition), transform var(--transition), border-color var(--transition), box-shadow var(--transition);
  white-space: nowrap;
  line-height: 1;
}

/* D-12 v68: Shine-Sweep auf ge-btn--gold (wie header CTA) */
.ge-btn--gold {
  background: linear-gradient(135deg, var(--gold), var(--gold-d));
  color: var(--navy-d);
  box-shadow: var(--action-shadow-gold);
  position: relative;
  overflow: hidden;
}
.ge-btn--gold::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transition: left .42s var(--ease);
  pointer-events: none;
}
.ge-btn--gold:hover {
  box-shadow: 0 10px 32px rgba(201,168,106,.4);
  transform: translateY(-2px);
  color: var(--navy-d);
}
.ge-btn--gold:hover::before {
  left: 100%;
}

.ge-btn--outline {
  background: transparent;
  color: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.2);
}
.ge-btn--outline:hover {
  color: #fff;
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.05);
}

.ge-btn--outline-white {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}
.ge-btn--outline-white:hover {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.6);
}

.ge-btn--secondary {
  background: rgba(201,168,106,.1);
  color: var(--gold);
  border: 1px solid rgba(201,168,106,.25);
}
.ge-btn--secondary:hover {
  background: rgba(201,168,106,.18);
  border-color: var(--gold);
}

.ge-btn--primary {
  background: var(--navy-m);
  color: var(--gold-l);
  border: 1px solid rgba(201,168,106,.2);
}
.ge-btn--primary:hover {
  background: var(--navy);
  border-color: var(--gold);
}

.ge-btn--lg { padding: 16px 34px; font-size: 14px; }
.ge-btn--sm { padding: 10px 20px; font-size: var(--label-size-sm); }
.ge-btn--full { width: 100%; justify-content: center; }

.ge-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--sans);
  font-size: var(--label-size);
  font-weight: 700;
  letter-spacing: var(--label-spacing);
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.35;
  transition: color var(--transition), gap var(--transition), opacity var(--transition);
}
.ge-cta-link::after {
  content: '\2192';
  font-size: 1.05em;
}
.ge-cta-link:hover {
  gap: 10px;
}
.ge-cta-link--dark { color: var(--navy); }
.ge-cta-link--dark::after { color: var(--gold-d); }
.ge-cta-link--light { color: #fff; }
.ge-cta-link--light::after { color: var(--gold-l); }

/* Disabled-State — Accessibility (WCAG 1.4.3) */
.ge-btn:disabled,
.ge-btn[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}

/* Focus-visible für alle Button-Varianten (Fix v54 — WCAG 2.1 AA) */
.ge-btn:focus-visible {
  outline: 2px solid rgba(201,168,106,.85);
  outline-offset: 4px;
}
.ge-btn--gold:focus-visible {
  box-shadow: 0 0 0 4px rgba(201,168,106,.25);
}
.ge-btn--outline:focus-visible,
.ge-btn--outline-white:focus-visible {
  border-color: var(--gold);
  outline-color: rgba(201,168,106,.85);
}
.ge-btn--secondary:focus-visible,
.ge-btn--primary:focus-visible {
  outline-color: var(--gold-l);
}

/* ════════════════════════════════════════════
   BADGE / TAG
════════════════════════════════════════════ */
.ge-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 3px 10px;
  border: 1px solid;
}
.ge-badge--gold {
  background: rgba(201,168,106,.1);
  color: var(--gold);
  border-color: rgba(201,168,106,.25);
}
.ge-badge--green {
  background: rgba(22,163,74,.1);
  color: #4ade80;
  border-color: rgba(22,163,74,.25);
}
/* v119: Item 32 — Badge-Erweiterungen */
.ge-badge--navy {
  background: rgba(10,26,47,.08);
  color: var(--navy,#0A1A2F);
  border-color: rgba(10,26,47,.18);
}
.ge-badge--red {
  background: rgba(239,68,68,.08);
  color: #ef4444;
  border-color: rgba(239,68,68,.2);
}
.ge-badge--muted {
  background: rgba(0,0,0,.04);
  color: var(--muted,#6b7280);
  border-color: rgba(0,0,0,.1);
}
/* Schritt-Nummer — rund, gold */
.ge-step-number {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg,var(--gold,#C9A86A),var(--gold-d,#9A7030));
  font-family: var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size: 18px; font-weight: 300; color: #fff;
  box-shadow: 0 4px 14px rgba(201,168,106,.3);
}
.ge-step-number--sm { width: 28px; height: 28px; font-size: 13px; }
.ge-step-number--lg { width: 56px; height: 56px; font-size: 24px; }

/* ════════════════════════════════════════════
   KPI-STRIP — ge-strip System
════════════════════════════════════════════ */
.ge-strip {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
}
.ge-strip__item {
  flex: 1;
  min-width: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  border-right: 1px solid rgba(201,168,106,.1);
  text-align: center;
  gap: 4px;
}
.ge-strip__item:last-child { border-right: none; }
.ge-strip__val {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 300;
  color: var(--gold-l);
  line-height: 1;
}
.ge-strip__lbl {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
}

/* Strip Wrapper */
.ge-strip-wrap {
  background: var(--navy-m);
  border-bottom: 1px solid rgba(201,168,106,.1);
  border-top: 1px solid rgba(201,168,106,.06);
}

@media (max-width: 640px) {
  .ge-strip__item { min-width: 120px; padding: 16px 12px; }
  .ge-strip__val  { font-size: 18px; }
}

/* ════════════════════════════════════════════
   CARD — ge-card System
════════════════════════════════════════════ */
.ge-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
  padding: 24px;
  transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
  will-change: transform;
}
.ge-card:hover {
  /* D-11 v68: -2px → -4px + tieferer Shadow für spürbares Premium-Hover */
  box-shadow: 0 16px 48px rgba(10,26,47,.15);
  transform: translateY(-4px);
  border-color: rgba(201,168,106,.25);
}
.ge-card:active {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(10,26,47,.1);
  transition-duration: .1s;
}

.ge-card--dark {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.07);
  color: #fff;
}
.ge-card--dark:hover {
  border-color: rgba(201,168,106,.25);
  box-shadow: 0 16px 48px rgba(0,0,0,.3);
}

.ge-card--outlined {
  background: transparent;
  border-color: rgba(201,168,106,.2);
}

/* ════════════════════════════════════════════
   FAQ — ge-faq System
════════════════════════════════════════════ */
.ge-faq-item {
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ge-section--light .ge-faq-item,
.ge-section--white .ge-faq-item {
  border-bottom-color: var(--border);
}

.ge-faq-q {
  width: 100%;
  background: none;
  border: none;
  padding: 18px 0;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-family: inherit;
  line-height: 1.4;
}
.ge-section--light .ge-faq-q,
.ge-section--white .ge-faq-q {
  color: var(--navy);
}
.ge-faq-q::after {
  content: '+';
  font-size: 20px;
  font-weight: 300;
  color: var(--gold);
  flex-shrink: 0;
  transition: transform .25s;
}
.ge-faq-item.open .ge-faq-q::after { transform: rotate(45deg); }

.ge-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.ge-faq-item.open .ge-faq-a { max-height: 500px; }

.ge-faq-a-in {
  padding: 0 0 18px;
  font-size: 14px;
  color: rgba(255,255,255,.78);
  line-height: 1.75;
}
.ge-section--light .ge-faq-a-in,
.ge-section--white .ge-faq-a-in {
  color: var(--muted);
}

/* ════════════════════════════════════════════
   REVIEW / TESTIMONIAL
════════════════════════════════════════════ */
.ge-review {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
  padding: 24px;
  display: flex;
  flex-direction: column;
}
.ge-review--dark {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.07);
}
.ge-review-stars {
  display: flex;
  gap: 2px;
  margin-bottom: 14px;
}
.ge-review-quote {
  font-size: 14px;
  color: var(--text);
  line-height: 1.75;
  font-style: italic;
  flex: 1;
  margin-bottom: 18px;
}
.ge-review--dark .ge-review-quote { color: rgba(255,255,255,.6); }
.ge-review-author { display: flex; align-items: center; gap: 12px; }
.ge-review-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(201,168,106,.1);
  border: 1px solid rgba(201,168,106,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--serif);
  font-size: 16px;
  color: var(--gold);
  font-weight: 600;
  flex-shrink: 0;
}
.ge-review-name { font-size: 13px; font-weight: 700; color: var(--navy); }
.ge-review--dark .ge-review-name { color: #fff; }
.ge-review-meta { font-size: 11px; color: var(--muted); margin-top: 2px; }

/* ════════════════════════════════════════════
   BREADCRUMB
════════════════════════════════════════════ */
.ge-breadcrumb-premium {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 40px;
}
.ge-breadcrumb-premium a {
  color: rgba(255,255,255,.55);
  transition: color var(--transition);
}
.ge-breadcrumb-premium a:hover { color: var(--gold); }
.ge-breadcrumb-premium__sep { color: rgba(255,255,255,.15); }
.ge-breadcrumb-premium__current { color: rgba(255,255,255,.75); }

/* ════════════════════════════════════════════
   HERO PREMIUM — Basis-Struktur
════════════════════════════════════════════ */
.ge-hero-premium {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 160px 0 100px;
  background: var(--navy-d);
  z-index: 1;
}
/* Hintergrundbild — ersetzt inline-style (P7 v50) */
.ge-hero-premium__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* opacity: via inline style aus hero-premium.php (bg_opacity Parameter) */
  z-index: 0;
  display: block;
  pointer-events: none;
}
/* Inner-Wrapper — ersetzt style="position:relative;z-index:2;max-width:800px;" */
.ge-hero-premium__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 100px;
  padding: 7px 14px;
  margin-bottom: 24px;
}

.ge-hero-premium__sub {
  font-size: 16px;
  color: rgba(255,255,255,.75);
  line-height: 1.75;
  max-width: 520px;
  margin: 20px 0 36px;
}

.ge-hero-premium__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

/* Trust-Strip: horizontale Chip-Zeile */
.ge-hero-premium__trust {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.ge-hero-premium__trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 4px;
  white-space: nowrap;
}
.ge-hero-premium__trust-num {
  font-family: var(--sans, 'Outfit', sans-serif);
  font-size: 13px;
  font-weight: 600;
  color: var(--gold-l, #d4af72);
  line-height: 1;
  letter-spacing: .01em;
}
.ge-hero-premium__trust-lbl {
  font-size: 12px;
  font-weight: 400;
  color: rgba(255,255,255,.76);
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}
.ge-hero-premium__trust-num::after {
  content: ' ·';
  color: rgba(255,255,255,.20);
  font-weight: 300;
  margin-left: 2px;
}
/* Trennlinie zwischen alten Chips ausblenden */
.ge-hero-premium__trust-div { display: none; }

@media (max-width: 768px) {
  .ge-hero-premium { padding: 120px 0 80px; min-height: auto; }
  .ge-hero-premium__sub { font-size: 15px; }
}

/* ════════════════════════════════════════════
   TWO-COLUMN LAYOUT
════════════════════════════════════════════ */
.ge-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.ge-two-col--hero { gap: 56px; position: relative; z-index: 2; }
.ge-two-col--60-40 { grid-template-columns: 1.5fr 1fr; }
.ge-two-col--40-60 { grid-template-columns: 1fr 1.5fr; }

@media (max-width: 900px) {
  .ge-two-col { grid-template-columns: 1fr; gap: 40px; }
}

/* ════════════════════════════════════════════
   GRID UTILITIES
════════════════════════════════════════════ */
.ge-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.ge-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ge-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }

@media (max-width: 1024px) {
  .ge-grid-4 { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .ge-grid-3 { grid-template-columns: repeat(2,1fr); }
  .ge-grid-4 { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px) {
  .ge-grid-2, .ge-grid-3, .ge-grid-4 { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════
   TEMPLATE PARTS — reviews, faq, kpi-strip
   (Klassen für wiederverwendbare Parts v50)
════════════════════════════════════════════ */

/* — Reviews ——————————————————————————————— */
.ge-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}
@media (max-width: 1024px) { .ge-reviews-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .ge-reviews-grid { grid-template-columns: 1fr; } }

.ge-review-card {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--card-radius);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
  will-change: transform;
}
/* D-11 v68: Hover box-shadow verstärkt */
.ge-review-card:hover {
  border-color: rgba(201,168,106,.3);
  box-shadow: 0 16px 48px rgba(0,0,0,.28);
  transform: translateY(-3px);
}
.ge-review-card__stars { display: flex; gap: 3px; }
/* D-09 v68: font-size explizit auf 14.5px — kompakter bei langen Texten */
.ge-review-card__text {
  font-size: 14.5px;
  line-height: 1.75;
  color: rgba(255,255,255,.78); /* war .62 — erhöht für WCAG */
  flex: 1;
}
.ge-section--light .ge-review-card__text { color: var(--text); opacity: .82; }
.ge-review-card__author { display: flex; align-items: center; gap: 12px; margin-top: auto; }
/* D-04 v68: Avatar-Farben nicht mehr zufällige Hex — Gold-System-Palette via CSS.
   Inline-style background/border/color aus reviews.php wird von diesen Defaults überschrieben
   wenn kein Inline-Style gesetzt. Neue Template-Parts sollen CSS-Klassen statt Inline nutzen. */
.ge-review-card__avatar {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px;
  flex-shrink: 0;
  /* Gold-Palette Default — Template kann überschreiben */
  background: rgba(201,168,106,.15);
  border: 1px solid rgba(201,168,106,.3);
  color: var(--gold-l);
}
/* Varianten für gestaffelte Avatar-Töne (nth-child-Selektoren) */
.ge-reviews-grid .ge-review-card:nth-child(2) .ge-review-card__avatar {
  background: rgba(201,168,106,.10);
  border-color: rgba(201,168,106,.22);
  color: var(--gold);
}
.ge-reviews-grid .ge-review-card:nth-child(3) .ge-review-card__avatar {
  background: rgba(201,168,106,.20);
  border-color: rgba(201,168,106,.38);
  color: var(--gold-l);
}
.ge-reviews-grid .ge-review-card:nth-child(4) .ge-review-card__avatar {
  background: var(--gold-pale); /* D-17 */
  border-color: rgba(201,168,106,.18);
  color: var(--gold-d);
}
.ge-review-card__name { font-size: 13px; font-weight: 700; color: #fff; }
.ge-review-card__kat  { font-size: 12px; color: rgba(255,255,255,.65); }
.ge-section--light .ge-review-card__name { color: var(--navy); }
.ge-section--light .ge-review-card__kat  { color: var(--muted); }
.ge-reviews-all {
  text-align: center;
  padding-top: 16px;
}
.ge-reviews-all a {
  font-size: 14px;
  color: var(--gold);
  text-decoration: none;
  transition: color var(--transition);
}
.ge-reviews-all a:hover { color: var(--gold-l); }

/* — FAQ ——————————————————————————————————— */
.ge-faq-layout {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 64px;
  align-items: start;
}
@media (max-width: 900px) { .ge-faq-layout { grid-template-columns: 1fr; gap: 32px; } }

.ge-faq-list  { display: flex; flex-direction: column; gap: 0; }
.ge-faq-item  {
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ge-section--light .ge-faq-item { border-color: var(--border); }

.ge-faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  text-align: left;
  transition: color var(--transition);
}
.ge-section--light .ge-faq-q { color: var(--navy); }
.ge-faq-item.is-open .ge-faq-q { color: var(--gold); }
.ge-faq-q:hover { color: inherit; }

.ge-faq-icon {
  flex-shrink: 0;
  color: var(--gold);
  transition: transform .3s var(--ease);
}
.ge-faq-item.is-open .ge-faq-icon { transform: rotate(180deg); }

.ge-faq-a { overflow: hidden; }
.ge-faq-a[hidden] { display: none; }
.ge-faq-a-in {
  padding: 0 0 20px;
}
.ge-faq-a-in p {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,.80);
}
.ge-section--light .ge-faq-a-in p,
.ge-section--white .ge-faq-a-in p,
.ge-section--warm .ge-faq-a-in p,
.ge-section--warm2 .ge-faq-a-in p {
  color: #475569;
  opacity: 1;
}

.ge-section--light .ge-lead--dk,
.ge-section--white .ge-lead--dk,
.ge-section--warm .ge-lead--dk,
.ge-section--warm2 .ge-lead--dk {
  color: #475569;
}

.ge-section--light .ge-section-sub,
.ge-section--white .ge-section-sub,
.ge-section--warm .ge-section-sub,
.ge-section--warm2 .ge-section-sub,
.ge-section--light .ge-split__p,
.ge-section--white .ge-split__p,
.ge-section--warm .ge-split__p,
.ge-section--warm2 .ge-split__p {
  color: #475569;
}

/* — KPI Strip ———————————————————————————— */
.ge-section--kpi { padding: 56px 0; }
.ge-kpi-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 0;
}
.ge-kpi-strip--center { justify-content: center; }
.ge-kpi-item {
  flex: 1 1 180px;
  text-align: center;
  padding: 20px 16px;
  border-right: 1px solid rgba(255,255,255,.1);
}
.ge-section--light .ge-kpi-item { border-color: var(--border); }
.ge-kpi-item:last-child { border-right: none; }
.ge-kpi-item__val {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 6px;
}
.ge-kpi-item__lbl {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.ge-section--light .ge-kpi-item__lbl { color: var(--muted); }
@media (max-width: 640px) {
  .ge-kpi-strip { gap: 0; }
  .ge-kpi-item { flex-basis: 50%; border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .ge-section--light .ge-kpi-item { border-color: var(--border); }
}

/* ════════════════════════════════════════════
   EXIT-OVERLAY — D-19 v68: aus footer.php migriert
   Vorher als <style>-Tag inline — kein Caching, kein Minifying.
   Jetzt kanonisch hier: Browser-Cache + Minifier greifen.
════════════════════════════════════════════ */
.ge-exit-overlay {
  position: fixed; inset: 0; z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .35s cubic-bezier(.16,1,.3,1);
}
.ge-exit-overlay.ge-exit-overlay--visible {
  opacity: 1; pointer-events: all;
}
.ge-exit-overlay__backdrop {
  position: absolute; inset: 0;
  background: rgba(4,8,15,.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.ge-exit-overlay__card {
  position: relative; z-index: 1;
  background: linear-gradient(145deg, #0c1a30, #06101f);
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 28px; padding: 52px 48px 44px;
  max-width: 480px; width: calc(100% - 40px);
  text-align: center;
  box-shadow: 0 40px 100px rgba(0,0,0,.6);
  transform: translateY(24px) scale(.97);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.ge-exit-overlay--visible .ge-exit-overlay__card {
  transform: translateY(0) scale(1);
}
.ge-exit-overlay__close {
  position: absolute; top: 16px; right: 20px;
  background: none; border: none; color: rgba(255,255,255,.3);
  font-size: 24px; cursor: pointer; padding: 4px 8px;
  transition: color .2s;
}
.ge-exit-overlay__close:hover { color: rgba(255,255,255,.7); }
.ge-exit-overlay__eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: .15em;
  text-transform: uppercase; color: rgba(201,168,106,.6);
  margin-bottom: 16px;
}
.ge-exit-overlay__h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 4vw, 36px); font-weight: 300;
  color: #fff; line-height: 1.2; margin: 0 0 14px;
}
.ge-exit-overlay__h2 em { color: var(--gold-l); font-style: italic; }
.ge-exit-overlay__sub {
  font-size: 14px; color: rgba(255,255,255,.72);
  line-height: 1.65; margin: 0 0 24px;
}
.ge-exit-overlay__trust {
  display: flex; justify-content: center; gap: 10px;
  flex-wrap: wrap; margin-bottom: 28px;
}
.ge-exit-overlay__badge {
  font-size: 11px; font-weight: 600;
  padding: 5px 12px; border-radius: 20px;
  border: 1px solid rgba(201,168,106,.2);
  background: var(--gold-pale);
  color: rgba(201,168,106,.8);
}
.ge-exit-overlay__cta {
  display: block;
  background: linear-gradient(135deg, var(--gold), var(--gold-d));
  color: var(--navy-d); font-size: 15px; font-weight: 600;
  padding: 15px 32px; border-radius: 12px;
  text-decoration: none; margin-bottom: 14px;
  transition: opacity .2s, transform .2s;
  position: relative; overflow: hidden;
}
/* Shine-Sweep auch auf Exit-CTA (D-12 konsistent) */
.ge-exit-overlay__cta::before {
  content: '';
  position: absolute; top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transition: left .42s var(--ease);
  pointer-events: none;
}
.ge-exit-overlay__cta:hover { opacity: .95; transform: translateY(-2px); }
.ge-exit-overlay__cta:hover::before { left: 100%; }
.ge-exit-overlay__legal {
  font-size: 11px; color: rgba(255,255,255,.50); margin: 0;
}
@media (max-width: 480px) {
  .ge-exit-overlay__card { padding: 36px 24px 32px; }
}


/* ══ "AUCH INTERESSANT" — Premium Dark Section v70 (v122: !important bereinigt) ══
   Alle Overrides durch höhere Spezifität (.ge-topical-related *) ersetzt.    */
.ge-topical-related {
  background: linear-gradient(170deg, #030b1a 0%, #05101f 60%, #040d1c 100%);
  border-top: 1px solid rgba(201,168,106,.14);
  border-bottom: 1px solid rgba(255,255,255,.04);
  padding: 80px 0 96px;
  position: relative;
  overflow: hidden;
}
.ge-topical-related::before {
  content: '';
  position: absolute;
  top: -60%; left: 50%;
  transform: translateX(-50%);
  width: 70%; height: 100%;
  background: radial-gradient(ellipse at center top, rgba(201,168,106,.055) 0%, transparent 60%);
  pointer-events: none;
}
.ge-topical-related::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.022'/%3E%3C/svg%3E");
  pointer-events: none;
  opacity: .6;
}
.ge-topical-related__label {
  text-align: center;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  opacity: .7;
  position: relative;
  z-index: 2;
}
.ge-topical-related__label::before,
.ge-topical-related__label::after {
  content: '';
  flex: 1;
  max-width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,106,.45));
}
.ge-topical-related__label::after {
  background: linear-gradient(90deg, rgba(201,168,106,.45), transparent);
}
.ge-topical-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 2;
}
.ge-topical-related__item {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 30px 26px 26px;
  background: linear-gradient(145deg, rgba(14,32,64,.8) 0%, rgba(10,26,47,.95) 100%);
  border: 1px solid rgba(201,168,106,.13);
  border-top-color: rgba(201,168,106,.22);
  border-radius: 16px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: transform .38s cubic-bezier(.16,1,.3,1),
              box-shadow .38s cubic-bezier(.16,1,.3,1),
              border-color .3s ease;
}
.ge-topical-related__item::before {
  content: '';
  position: absolute;
  top: 0; left: 10%; right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,106,.5), transparent);
  opacity: .8;
  transition: opacity .3s;
}
.ge-topical-related__item::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-d), var(--gold-l), var(--gold-d));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .42s cubic-bezier(.16,1,.3,1);
}
.ge-topical-related__item:hover {
  transform: translateY(-6px);
  border-color: rgba(201,168,106,.32);
  box-shadow:
    0 24px 60px rgba(0,0,0,.55),
    0 0 0 1px rgba(201,168,106,.1),
    inset 0 1px 0 rgba(201,168,106,.12);
}
.ge-topical-related__item:hover::before { opacity: 1; }
.ge-topical-related__item:hover::after  { transform: scaleX(1); }

.ge-topical-related__item-label {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: rgba(255,255,255,.92);
  line-height: 1.26;
  letter-spacing:0;
  margin-bottom: 6px;
  transition: color .22s;
}
.ge-topical-related__item:hover .ge-topical-related__item-label {
  color: var(--gold-l);
}
.ge-topical-related__item-sub {
  font-size: 11.5px;
  font-family: var(--sans);
  color: rgba(255,255,255,.80);
  line-height: 1.5;
  letter-spacing: .02em;
  margin-bottom: 0;
}
.ge-topical-related__arrow {
  display: inline-flex;
  align-items: center;
  margin-top: 20px;
  font-size: 14px;
  color: var(--gold);
  opacity: .45;
  transition: transform .3s cubic-bezier(.16,1,.3,1), opacity .3s;
}
.ge-topical-related__item:hover .ge-topical-related__arrow {
  transform: translateX(8px);
  opacity: .95;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .ge-g2         { grid-template-columns: 1fr; gap: 48px; }
  .ge-g3         { grid-template-columns: 1fr 1fr; }
  .ge-g5         { grid-template-columns: repeat(3,1fr); gap: 16px; }
  .ge-panel.is-active { grid-template-columns: 1fr; gap: 44px; }
  .ge-panel--investment.is-active { padding: 32px 24px; }
  .ge-pline      { display: none; }
}
@media (max-width: 860px) {
  .ge-hero-split { grid-template-columns: 1fr; padding: 56px 24px 48px; }
  .ge-hero-proof-card { display: none; }
  .ge-hcerts { padding: 16px 24px 26px; gap: 16px; }
}
@media (max-width: 680px) {
  .ge-wrap, .ge-wrap--sm  { padding: 0 20px; }
  .ge-sec        { padding: 72px 0; }
  .ge-sec-hd     { margin-bottom: 52px; }
  .ge-g3         { grid-template-columns: 1fr; }
  .ge-g5         { grid-template-columns: 1fr 1fr; }
  .ge-g6         { grid-template-columns: 1fr 1fr; }
  .ge-ti         { flex-direction: column; }
  .ge-t          { border-right: none; border-bottom: 1px solid rgba(255,255,255,.04); }
  .ge-ci         { flex-direction: column; text-align: center; }
  .ge-cbs        { justify-content: center; }
  .ge-qi         { flex-direction: column; text-align: center; }
  .ge-qdots      { justify-content: center; }
  .ge-tabs       { width: 100%; border-radius: 16px; flex-direction: column; }
  .ge-tab        { font-size: 12px; padding: 10px 18px; border-radius: 12px; }
  .ge-topical-related__grid { padding: 0 20px !important; gap: 10px; }
  .ge-topical-related__item { padding: 24px 20px !important; }
  .ge-topical-related__item-label { font-size: 16px; }
}

/* ── Watchlist Empty State (v71: aus functions.php inline-styles) ─────────── */
.ge-watchlist-empty__text {
  font-family: var(--sans, 'Outfit', system-ui, sans-serif);
  font-size: 15px;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
  max-width: 440px;
  margin: 0 auto 28px;
}
.ge-watchlist-empty__note {
  font-family: var(--sans, 'Outfit', sans-serif);
  font-size: 12px;
  color: rgba(255,255,255,.52);
  margin-top: 14px;
}

/* .ge-btn--full: in Buttons-Block oben definiert (inkl. justify-content:center) */

/* v78: Referenzen auf warmem Hintergrund -- deutlich besser lesbar */
.ge-section--warm .ge-review-card {
  background: #ffffff;
  border: 1px solid rgba(10,26,47,.10);
  box-shadow: 0 4px 24px rgba(10,26,47,.07);
}
.ge-section--warm .ge-review-card:hover {
  border-color: rgba(201,168,106,.35);
  box-shadow: 0 12px 40px rgba(10,26,47,.12);
}
.ge-section--warm .ge-review-card__text {
  color: rgba(10,26,47,.78);
  opacity: 1;
  font-size: 15px;
  line-height: 1.72;
}
.ge-section--warm .ge-review-card__stars svg { filter: none; }
.ge-section--warm .ge-review-card__name { color: var(--navy); }
.ge-section--warm .ge-review-card__kat  { color: rgba(10,26,47,.45); }

/* ══════════════════════════════════════════════════════════
   v106 — Hero bg-img Basis (ersetzt v104 page-template-Selektoren)
   Overlay + Differenzierung läuft ausschließlich über extra_class
══════════════════════════════════════════════════════════ */
.ge-hero-premium__bg-img {
  object-fit: cover;
}

/* ══════════════════════════════════════════════════════════
   v106 — Hero Premium: Ed-Quote + Seiten-Differenzierung
══════════════════════════════════════════════════════════ */

/* Ed-Zitat im Hero */
.ge-hero-premium__quote {
  margin: 0 0 32px;
  padding: 14px 0 14px 20px;
  border-left: 2px solid var(--gold);
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 400;
  font-style: italic;
  color: rgba(255,255,255,.62);
  line-height: 1.6;
  max-width: 520px;
  letter-spacing:0;
}

/* Alle Varianten: background transparent — überschreibt ge-page.css navy-Gradient */
.ge-hero-premium--leistungen,
.ge-hero-premium--ankauf,
.ge-hero-premium--markt,
.ge-hero-premium--gewerbe {
  background: transparent !important;
}

/* Leistungen — etwas wärmerer Überlagerungston */
.ge-hero-premium--leistungen::after {
  content: '' !important;
  position: absolute !important; inset: 0 !important; z-index: 1 !important;
  background:
    linear-gradient(115deg, rgba(3,7,18,.78) 0%, rgba(5,12,26,.58) 40%, rgba(7,16,32,.34) 65%, rgba(4,10,20,.22) 100%),
    linear-gradient(to bottom, rgba(3,7,18,.32) 0%, transparent 25%, transparent 75%, rgba(3,7,18,.48) 100%) !important;
  pointer-events: none !important;
}
.ge-hero-premium--leistungen::before {
  content: '' !important;
  position: absolute !important; top: -10% !important; right: -4% !important;
  width: 52% !important; height: 70% !important;
  background: radial-gradient(ellipse at 68% 22%, rgba(201,168,106,.10) 0%, transparent 60%) !important;
  z-index: 1 !important; pointer-events: none !important;
}

/* Ankauf — tieferes Blau, schärfer links */
.ge-hero-premium--ankauf::after {
  content: '' !important;
  position: absolute !important; inset: 0 !important; z-index: 1 !important;
  background:
    linear-gradient(108deg, rgba(2,5,14,.74) 0%, rgba(4,9,20,.50) 32%, rgba(6,13,28,.20) 58%, rgba(3,8,18,.02) 100%),
    linear-gradient(to bottom, rgba(2,5,14,.18) 0%, transparent 28%, transparent 72%, rgba(2,5,14,.38) 100%) !important;
  pointer-events: none !important;
}
.ge-hero-premium--ankauf::before {
  content: '' !important;
  position: absolute !important; top: -6% !important; right: -1% !important;
  width: 55% !important; height: 72% !important;
  background: radial-gradient(ellipse at 75% 20%, rgba(201,168,106,.09) 0%, transparent 62%) !important;
  z-index: 1 !important; pointer-events: none !important;
}

/* Markt — neutraler, sachlicher Ton */
.ge-hero-premium--markt::after {
  content: '' !important;
  position: absolute !important; inset: 0 !important; z-index: 1 !important;
  background:
    linear-gradient(112deg, rgba(3,8,20,.70) 0%, rgba(5,11,24,.46) 36%, rgba(7,15,30,.16) 62%, rgba(4,9,18,.02) 100%),
    linear-gradient(to bottom, rgba(3,8,20,.14) 0%, transparent 28%, transparent 72%, rgba(3,8,20,.36) 100%) !important;
  pointer-events: none !important;
}
.ge-hero-premium--markt::before {
  content: '' !important;
  position: absolute !important; top: -12% !important; right: -3% !important;
  width: 60% !important; height: 78% !important;
  background: radial-gradient(ellipse at 70% 16%, rgba(201,168,106,.08) 0%, transparent 58%) !important;
  z-index: 1 !important; pointer-events: none !important;
}

/* Grain + Container z-index für alle Varianten */
.ge-hero-premium--leistungen .ge-hero-premium__grain,
.ge-hero-premium--ankauf .ge-hero-premium__grain,
.ge-hero-premium--markt .ge-hero-premium__grain {
  z-index: 2 !important; opacity: .26 !important;
}
.ge-hero-premium--leistungen .ge-container,
.ge-hero-premium--ankauf .ge-container,
.ge-hero-premium--markt .ge-container {
  z-index: 3 !important; position: relative !important;
}

/* Gewerbe — kühleres Blau, schärfer */
.ge-hero-premium--gewerbe::after {
  content: '' !important;
  position: absolute !important; inset: 0 !important; z-index: 1 !important;
  background:
    linear-gradient(106deg, rgba(2,4,12,.72) 0%, rgba(3,8,18,.48) 30%, rgba(5,12,26,.16) 56%, rgba(3,7,16,.02) 100%),
    linear-gradient(to bottom, rgba(2,4,12,.16) 0%, transparent 28%, transparent 72%, rgba(2,4,12,.36) 100%) !important;
  pointer-events: none !important;
}
.ge-hero-premium--gewerbe::before {
  content: '' !important;
  position: absolute !important; top: -8% !important; right: -2% !important;
  width: 50% !important; height: 68% !important;
  background: radial-gradient(ellipse at 74% 20%, rgba(201,168,106,.09) 0%, transparent 60%) !important;
  z-index: 1 !important; pointer-events: none !important;
}
.ge-hero-premium--gewerbe .ge-hero-premium__grain { z-index: 2 !important; opacity: .26 !important; }
.ge-hero-premium--gewerbe .ge-container { z-index: 3 !important; position: relative !important; }

/* Grain + Container auch für page-template Selektoren (Fallback v104) */
.page-template-page-gewerbe-php .ge-hero-premium__grain { z-index: 2 !important; }
.page-template-page-gewerbe-php .ge-container { z-index: 3 !important; position: relative !important; }

/* ══════════════════════════════════════════════════════════
   USP / Vertrauens-Strip (global — alle Seiten)
══════════════════════════════════════════════════════════ */
#ge-trust { background: #1a3a5c; border-top: 1px solid rgba(201,168,106,.18); border-bottom: 1px solid rgba(201,168,106,.18); }
.ge-ti { display: flex; justify-content: space-around; flex-wrap: wrap; }
.ge-t {
  flex: 1;
  min-width: 110px;
  padding: 28px 14px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.04);
  position: relative;
  transition: background .35s;
}
.ge-t:last-child { border-right: none; }
.ge-t::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 40px; height: 2px;
  background: linear-gradient(90deg, var(--gold-d), var(--gold-l));
  transition: transform .35s var(--ease);
}
.ge-t:hover { background: rgba(201,168,106,.025); }
.ge-t:hover::after { transform: translateX(-50%) scaleX(1); }
.ge-tv {
  display: block;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 300;
  color: var(--gold-l);
  line-height: 1;
  margin-bottom: 9px;
  letter-spacing:0;
  transition: transform .3s;
}
.ge-t:hover .ge-tv { transform: translateY(-2px); }
.ge-tl {
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  line-height: 1.4;
}
.ge-t--vertrauen { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 24px 20px; text-align: center; }
.ge-tv-icon { font-size: 22px; line-height: 1; margin-bottom: 6px; }
.ge-tv--sm { font-family: var(--serif, 'Cormorant Garamond', Georgia, serif); font-size: 17px; font-weight: 400; color: var(--gold-l, #E8D090); line-height: 1.25; }

@media (max-width: 640px) {
  .ge-ti { flex-direction: column; }
  .ge-t { border-right: none; border-bottom: 1px solid rgba(255,255,255,.04); }
  .ge-t:last-child { border-bottom: none; }
}

/* ════════════════════════════════════════════
   MASONRY GALERIE — CSS columns (Item 66)
════════════════════════════════════════════ */
.ge-masonry { columns: 3; column-gap: 20px; }
.ge-masonry--2 { columns: 2; }
.ge-masonry--4 { columns: 4; }
.ge-masonry__item { break-inside: avoid; margin-bottom: 20px; display: block; }
.ge-masonry__item img { width: 100%; display: block; border-radius: 10px; }
@media (max-width: 900px) { .ge-masonry, .ge-masonry--4 { columns: 2; } }
@media (max-width: 520px) { .ge-masonry, .ge-masonry--2, .ge-masonry--4 { columns: 1; } }

/* ════════════════════════════════════════════
   HORIZONTAL SCROLL ROW (Item 69)
════════════════════════════════════════════ */
.ge-scroll-row {
  display: flex; gap: 20px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
  padding-bottom: 12px; cursor: grab;
}
.ge-scroll-row:active { cursor: grabbing; }
.ge-scroll-row::-webkit-scrollbar { display: none; }
.ge-scroll-row__item {
  flex-shrink: 0; scroll-snap-align: start;
  width: clamp(260px, 30vw, 360px);
}

/* ════════════════════════════════════════════
   FLIP CARDS — rotateY hover (Item 70)
════════════════════════════════════════════ */
.ge-flip {
  perspective: 1100px;
  height: var(--flip-h, 260px);
}
.ge-flip__inner {
  position: relative; width: 100%; height: 100%;
  transition: transform .65s cubic-bezier(.4,0,.2,1);
  transform-style: preserve-3d;
}
.ge-flip:hover .ge-flip__inner,
.ge-flip.is-flipped .ge-flip__inner { transform: rotateY(180deg); }
.ge-flip__front,
.ge-flip__back {
  position: absolute; inset: 0;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  border-radius: 16px; overflow: hidden;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  padding: 28px;
}
.ge-flip__back { transform: rotateY(180deg); }
/* Standard-Farben — überschreibbar */
.ge-flip__front { background: var(--navy,#0A1A2F); border: 1px solid rgba(201,168,106,.15); }
.ge-flip__back  { background: linear-gradient(135deg, var(--gold-d,#9A7030), var(--gold,#C9A86A)); color: #fff; }

/* Portal-Strip / As Seen In (Item 67) */
.ge-portal-strip { padding: 36px 0; overflow: hidden; }
.ge-portal-strip__inner { display: flex; align-items: center; gap: 16px; width: max-content; animation: ge-marquee 28s linear infinite; }
.ge-portal-strip__inner:hover { animation-play-state: paused; }
.ge-portal-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 24px; border-radius: 100px;
  border: 1px solid rgba(201,168,106,.18);
  background: rgba(201,168,106,.04);
  font-size: 13px; font-weight: 600; color: var(--muted,#6b7280);
  white-space: nowrap; flex-shrink: 0;
  transition: color .25s, border-color .25s, background .25s;
  text-decoration: none;
}
.ge-portal-pill:hover { color: var(--gold-d,#9A7030); border-color: rgba(201,168,106,.4); background: rgba(201,168,106,.07); }
.ge-portal-pill__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold,#C9A86A); flex-shrink: 0; }

/* ════════════════════════════════════════════
   SPLIT-SCREEN — Asymmetrisches 55/45 Layout (Item 64)
════════════════════════════════════════════ */
.ge-split {
  display: grid;
  grid-template-columns: 55fr 45fr;
  min-height: auto; /* Fix: war 100svh → erzeugte Viewport-hohe Leerräume */
}
.ge-split--reverse { grid-template-columns: 45fr 55fr; }
.ge-split--equal   { grid-template-columns: 1fr 1fr; }
.ge-split__panel   { position: relative; overflow: hidden; }
.ge-split__panel--img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ge-split__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px,6vw,96px); }
@media (max-width: 860px) {
  .ge-split, .ge-split--reverse, .ge-split--equal { grid-template-columns: 1fr; min-height: auto; }
  .ge-split__panel--img { min-height: 300px; }
}

/* ════════════════════════════════════════════
   MARQUEE SLIDER — CSS-only Infinite Scroll (Item 76)
════════════════════════════════════════════ */
.ge-marquee-wrap {
  overflow: hidden;
  position: relative;
}
.ge-marquee-wrap::before,
.ge-marquee-wrap::after {
  content: '';
  position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2;
  pointer-events: none;
}
.ge-marquee-wrap::before { left: 0;  background: linear-gradient(90deg, var(--bg-fade,#fff), transparent); }
.ge-marquee-wrap::after  { right: 0; background: linear-gradient(270deg, var(--bg-fade,#fff), transparent); }
.ge-marquee {
  display: flex; gap: 24px; width: max-content;
  animation: ge-marquee 36s linear infinite;
}
.ge-marquee:hover { animation-play-state: paused; }
@keyframes ge-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ge-marquee--slow  { animation-duration: 54s; }
.ge-marquee--fast  { animation-duration: 20s; }
.ge-marquee--rtl   { animation-direction: reverse; }

/* ════════════════════════════════════════════
   CUSTOM CURSOR — DEAKTIVIERT (alte Klassen)
   Cursor läuft via functions.php — kein cursor:auto !important auf * mehr
════════════════════════════════════════════ */
.ge-cursor-dot, .ge-cursor-ring { display: none !important; }

/* ════════════════════════════════════════════
   DIVIDER — Gold-Gradient Design-Element (Item 78)
════════════════════════════════════════════ */
.ge-divider {
  border: none; margin: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--gold,#C9A86A) 40%, var(--gold,#C9A86A) 60%, transparent 100%);
  opacity: .35;
}
.ge-divider--center {
  max-width: 240px; margin-left: auto; margin-right: auto;
}
.ge-divider--wide {
  background: linear-gradient(90deg, transparent 0%, rgba(201,168,106,.5) 20%, rgba(201,168,106,.5) 80%, transparent 100%);
}
/* Ornamentale Variante mit Raute in der Mitte */
.ge-divider--ornament {
  position: relative; height: auto; background: none; border: none;
  display: flex; align-items: center; gap: 16px; opacity: 1;
}
.ge-divider--ornament::before,
.ge-divider--ornament::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,106,.35));
}
.ge-divider--ornament::after {
  background: linear-gradient(90deg, rgba(201,168,106,.35), transparent);
}
.ge-divider--ornament span {
  color: var(--gold,#C9A86A); font-size: 10px; opacity: .6; flex-shrink: 0;
}

/* ===== END ge-components.css ===== */


/* ===== BEGIN ge-header.css ===== */

/**
 * ge-header.css â€” Gallium Estate Child Theme v6.1 PREMIUM +++
 * â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
 * EIGENSTÃ„NDIGE HEADER-DATEI
 * Keine !important nÃ¶tig â€” eigene Klassen, kein Konflikt mit Parent
 *
 * Struktur (BEM):
 * .ge-header                    â†’ Header-Wrapper
 * .ge-header__topline           â†’ Goldene Linie oben
 * .ge-header__wrap              â†’ Flex-Container (Logo | Nav | Actions)
 * .ge-header__logo              â†’ Logo-Link
 * .ge-logo-text / .ge-logo-main / .ge-logo-sub â†’ Text-Logo
 * .ge-nav                       â†’ Desktop-Navigation
 * .ge-nav__list                 â†’ ul
 * .ge-nav__item                 â†’ li
 * .ge-nav__link                 â†’ a
 * .ge-nav__item--drop           â†’ li mit Dropdown
 * .ge-nav__link--drop           â†’ a mit Pfeil
 * .ge-dropdown                  â†’ Dropdown-Panel
 * .ge-dropdown__list            â†’ Dropdown-ul
 * .ge-dropdown__link            â†’ Dropdown-a
 * .ge-dropdown__icon            â†’ Icon-Wrapper
 * .ge-dropdown__text            â†’ Text-Wrapper (strong + span)
 * .ge-header__actions           â†’ Rechte Seite
 * .ge-header__phone             â†’ Telefon-Link
 * .ge-header__cta               â†’ CTA-Button
 * .ge-burger                    â†’ Burger-Button
 * .ge-mobile                    â†’ Mobile-Nav-Panel
 * .ge-mobile__list              â†’ Mobile-ul
 * .ge-mobile__ctas              â†’ Mobile CTA-Bereich
 * .ge-mobile__btn               â†’ Mobile Button
 * .ge-overlay                   â†’ Verdunkelungs-Overlay
 * .ge-progress                  â†’ Scroll-Fortschrittsbalken
 * â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
 */

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TOKENS â€” lokal fÃ¼r den Header
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
:root {
  --gh-bg:          rgba(6, 11, 22, 0.92);
  --gh-bg-scrolled: rgba(4, 7, 14, 0.97);
  --gh-border:      rgba(201, 168, 106, 0.18);
  --gh-gold:        var(--gold);
  --gh-gold-l:      var(--gold-l);
  --gh-gold-d:      var(--gold-d);
  --gh-navy:        var(--navy);
  --gh-text:        rgba(255, 255, 255, 0.80);
  --gh-text-hover:  var(--gold-l);
  --gh-height:          72px;   /* v10: 64 â†’ 72 â€” mehr Luft, echter Luxury-Feel */   /* v7: 56 â†’ 64 â€” Luxury breathing room */
  --gh-height-scrolled: 58px;   /* v10: 52 â†’ 58 */   /* v7: Shrink beim Scrollen */
  --gh-height-sm:       56px;   /* v10: 52 â†’ 56 */   /* v7: Mobile angepasst */
  --gh-ease:        cubic-bezier(0.16, 1, 0.3, 1);
  --gh-dur:         0.28s;
  --gh-font-nav:    var(--sans, 'Outfit', -apple-system, sans-serif); /* D-05 v68: Inter â†’ Outfit (Theme-Font) */
  --gh-font-logo:   'Cormorant Garamond', Georgia, 'Times New Roman', serif;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SCROLL PROGRESS BAR
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gh-gold-d), var(--gh-gold), var(--gh-gold-l));
  z-index: 10000;
  transition: width 0.1s linear;
  pointer-events: none;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HEADER WRAPPER
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 900;
  /* Eigene GPU-Compositing-Ebene â€” backdrop-filter im ::before isoliert */
  will-change: transform;
  transform: translateZ(0);
  /* Kein backdrop-filter hier â€” lÃ¤uft sonst auf Main-Thread beim Scrollen */
  background: var(--gh-bg);
  transition:
    background var(--gh-dur) ease,
    box-shadow var(--gh-dur) ease,
    height var(--gh-dur) ease;
}

/* backdrop-filter in eigenem Pseudo-Element â†’ isolierte Compositor-Ebene,
   blockiert beim Scrollen NICHT den Main-Thread */
.ge-header::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  pointer-events: none;
}

.ge-header.is-scrolled {
  background: var(--gh-bg-scrolled);
  box-shadow:
    0 1px 0 rgba(201, 168, 106, 0.18),
    0 4px 40px rgba(0, 0, 0, 0.55),
    0 0 80px rgba(201, 168, 106, 0.04); /* v7: ambientes Gold-Leuchten */
}

/* v7: Wrap schrumpft beim Scrollen â€” Signature-Interaktion */
.ge-header.is-scrolled .ge-header__wrap {
  height: var(--gh-height-scrolled);
}

/* v7: Shimmer-Keyframe fÃ¼r Topline */
@keyframes gh-topline-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* Goldene Linie oben â€” animierter Shimmer */
.ge-header__topline {
  height: 2px;  /* v10: zurÃ¼ck auf 2px â€” Luxus braucht PrÃ¤senz */
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--gh-gold-d) 15%,
    var(--gh-gold)   35%,
    var(--gh-gold-l) 50%,
    var(--gh-gold)   65%,
    var(--gh-gold-d) 85%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: gh-topline-shimmer 4s linear infinite;
  opacity: 1.0;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   INNER WRAP â€” Das entscheidende Flex-Layout
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-header__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--gh-height);
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 28px;
  gap: 12px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   LOGO
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-header__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin: auto 0; /* Align logo vertically within ge-header__wrap */
  text-decoration: none;
  transition: opacity .22s, transform .22s;
}

.ge-header__logo:hover {
  opacity: 1.0;
  transform: translateY(-1px);
}

.ge-header__logo img {
  display: block;
  height: 54px;  /* v7: 60 â†’ 54 â€” passt sauber in 64px Header */
  width: auto;
  max-width: 240px;
  /* Nr 5: JPG mit weiÃŸem Hintergrund â†’ auf dunklem Header transparent wirken lassen */
  mix-blend-mode: lighten;
  /* Sobald echtes PNG (transparent) hochgeladen â†’ mix-blend-mode: normal; setzen */
}

.ge-logo-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.ge-logo-main {
  font-family: var(--gh-font-logo);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.07em;
  color: #fff;
  line-height: 1.1;
  white-space: nowrap;
}

.ge-logo-sub {
  font-family: var(--gh-font-nav);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gh-gold);
  opacity: 0.88;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   DESKTOP NAVIGATION
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ge-nav__list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
  /* KRITISCH: kein flex-wrap, kein overflow hidden */
  flex-wrap: nowrap;
  overflow: visible;
}

.ge-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* â”€â”€ Nav-Link Basis â”€â”€ */
.ge-nav__link {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;          /* v7: 9px â†’ 10px */
  height: 34px;
  font-family: var(--gh-font-nav);
  font-size: 12.5px;            /* v10: 12 â†’ 12.5px */
  font-weight: 500;
  letter-spacing: 0.07em;      /* v10: 0.025 â†’ 0.07 â€” Tracking wie Luxusmarken */
  color: var(--gh-text);
  text-decoration: none;
  border-radius: 6px;
  transition:
    color var(--gh-dur),
    background var(--gh-dur);
  position: relative;
  white-space: nowrap;
}

/* Goldene Underline-Animation */
.ge-nav__link::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 15px;
  right: 15px;
  height: 1.5px;
  background: var(--gh-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--gh-ease);
  border-radius: 1px;
}

.ge-nav__link:hover {
  color: var(--gh-text-hover);
  background: rgba(201, 168, 106, 0.07);
}

.ge-nav__link:hover::after {
  transform: scaleX(1);
}

/* Aktiver Zustand */
.ge-nav__link[aria-current="page"] {
  color: var(--gh-gold);
}

.ge-nav__link[aria-current="page"]::after {
  transform: scaleX(1);
}

/* v7: VIP â€” Bordered Pill (signalisiert ExklusivitÃ¤t, hebt sich von Nav ab) */
.ge-nav__link--vip {
  color: var(--gh-gold);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 28px;
  padding: 0 12px;
  background: rgba(201, 168, 106, 0.08);
  border: 1px solid rgba(201, 168, 106, 0.40);
  border-radius: 100px;
  transition: background 0.22s, border-color 0.22s, color 0.22s, box-shadow 0.22s;
}

.ge-nav__link--vip:hover {
  color: #fff;
  background: rgba(201, 168, 106, 0.18);
  border-color: rgba(201, 168, 106, 0.70);
  box-shadow: 0 0 14px rgba(201, 168, 106, 0.20);
}

.ge-nav__link--vip::after {
  display: none; /* Pill braucht keinen Underline-Indikator */
}

/* Dropdown-Pfeil */
.ge-nav__link--drop svg {
  transition: transform 0.25s ease;
  flex-shrink: 0;
  opacity: 0.6;
}

.ge-nav__item--drop:hover .ge-nav__link--drop svg,
.ge-nav__item--drop:focus-within .ge-nav__link--drop svg {
  transform: rotate(180deg);
  opacity: 1;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   DROPDOWN PANEL
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px) scale(0.97); /* v7: scale-Entrance */
  min-width: 280px;
  background: rgba(5, 9, 20, 0.97);
  border: 1px solid rgba(201, 168, 106, 0.2);
  border-radius: 14px;
  padding: 10px;
  box-shadow:
    0 12px 20px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.03),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  opacity: 0;
  pointer-events: none;
  will-change: opacity, transform;
  transition:
    opacity 0.18s var(--gh-ease),
    transform 0.18s var(--gh-ease);
  z-index: 100;
}

/* Kleines Dreieck oben */
.ge-dropdown::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 11px;
  height: 11px;
  background: rgba(5, 9, 20, 0.97);
  border-top: 1px solid rgba(201, 168, 106, 0.2);
  border-left: 1px solid rgba(201, 168, 106, 0.2);
}

.ge-nav__item--drop:hover .ge-dropdown,
.ge-nav__item--drop:focus-within .ge-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}

.ge-dropdown__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ge-dropdown__link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 9px;
  text-decoration: none;
  transition: background 0.2s;
}

.ge-dropdown__link:hover {
  background: rgba(201, 168, 106, 0.08);
}

.ge-dropdown__icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(201, 168, 106, 0.1);
  border: 1px solid rgba(201, 168, 106, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gh-gold);
  flex-shrink: 0;
  transition: background 0.2s, border-color 0.2s;
}

.ge-dropdown__link:hover .ge-dropdown__icon {
  background: rgba(201, 168, 106, 0.18);
  border-color: rgba(201, 168, 106, 0.3);
}

.ge-dropdown__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ge-dropdown__text strong {
  font-family: var(--gh-font-nav);
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9) !important;
  line-height: 1.2;
}

.ge-dropdown__text span {
  font-family: var(--gh-font-nav);
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.38) !important;
  line-height: 1.2;
}

/* Ensure dropdown icon color is never overridden by parent theme */
.ge-dropdown__icon {
  color: var(--gh-gold) !important;
}

/* Ensure dropdown link text never inherits dark theme color */
.ge-dropdown .ge-dropdown__link {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   ACTIONS â€” Rechte Seite
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Telefon-Link */
.ge-header__phone {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--gh-font-nav);
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
}

.ge-header__phone:hover {
  color: var(--gh-gold);
}

.ge-header__phone svg {
  color: var(--gh-gold);
  opacity: 0.7;
  flex-shrink: 0;
}

/* CTA Button */
.ge-header__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;              /* v7: 6px 13px â†’ 0 18px + feste HÃ¶he */
  height: 36px;                 /* v7: explizite HÃ¶he fÃ¼r konsistentes Alignment */
  background: var(--gh-gold);
  color: #0a0a0a;               /* v7: #fff â†’ Fast-Schwarz fÃ¼r besseren Kontrast auf Gold */
  font-family: var(--gh-font-nav);
  font-size: 12.5px;            /* v10: 12 â†’ 12.5px */
  font-weight: 700;             /* v7: 600 â†’ 700 â€” markanter */
  letter-spacing: 0.03em;
  text-decoration: none;
  border-radius: 8px;           /* v7: 7 â†’ 8 */
  white-space: nowrap;
  transition:
    background 0.22s,
    transform 0.22s var(--gh-ease),
    box-shadow 0.22s;
  position: relative;
  overflow: hidden;
}

/* Outline-Variante â€” Immobilien Teal CTA */
.ge-header__cta--outline {
  background: transparent;
  color: #15B89E;
  border: 1.5px solid rgba(13,138,122,.45);
  font-weight: 700;
}
.ge-header__cta--outline:hover {
  background: rgba(255,255,255,.06) !important;
  color: var(--gh-gold) !important;
  border-color: rgba(201,168,106,.35) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Shine-Effekt */
.ge-header__cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.14), transparent);
  transition: left 0.4s;
}

.ge-header__cta:hover {
  background: var(--gh-gold-d);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(201, 168, 106, 0.38);
}

.ge-header__cta:hover::before {
  left: 100%;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   BURGER BUTTON
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: 7px;
  cursor: pointer;
  padding: 0;
  transition: border-color 0.2s, background 0.2s;
}

.ge-burger:hover {
  border-color: rgba(201, 168, 106, 0.45);
  background: rgba(201, 168, 106, 0.06);
}

.ge-burger span {
  display: block;
  width: 18px;
  height: 1.5px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2px;
  transition: transform 0.3s var(--gh-ease), opacity 0.2s, width 0.3s;
}

/* Burger â†’ X Transformation */
.ge-burger.is-open span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.ge-burger.is-open span:nth-child(2) {
  opacity: 0;
  width: 0;
}
.ge-burger.is-open span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MOBILE NAVIGATION PANEL
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-mobile {
  position: fixed;
  top: 0;
  right: 0;
  width: min(380px, 92vw);
  max-width: 100vw;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  background: rgba(4, 8, 16, 0.98);
  border-left: 1px solid rgba(201, 168, 106, 0.15);
  z-index: 950;
  overflow-y: auto;
  padding: calc(96px + env(safe-area-inset-top, 0px)) 28px calc(40px + env(safe-area-inset-bottom, 0px));
  transform: translateX(100%);
  transition: transform 0.35s var(--gh-ease);
  visibility: hidden;
  pointer-events: none;
  overscroll-behavior: contain;
}

.ge-mobile.is-open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}

.ge-mobile__list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.ge-mobile__list li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* GruppenÃ¼berschriften im Mobile-MenÃ¼ */
.ge-mobile__group-head {
  font-family: var(--gh-font-nav);
  font-size: 10px; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--gh-gold, var(--gold));
  padding: 22px 4px 10px;
  border-bottom: none !important;
}

.ge-mobile__list a {
  display: block;
  min-height: 48px;
  padding: 14px 4px;
  font-family: var(--gh-font-nav);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  transition: color 0.2s, padding-left 0.2s;
}

.ge-mobile__list a:hover {
  color: var(--gh-gold-l);
  padding-left: 8px;
}

.ge-mobile__list a[aria-current="page"] {
  color: #fff;
  font-weight: 600;
  border-left: 2px solid var(--gh-gold);
  padding-left: 10px;
  background: linear-gradient(90deg, rgba(201,168,106,.12), rgba(201,168,106,0));
}

.ge-mobile__vip {
  color: var(--gh-gold) !important;
  font-weight: 600 !important;
}

.ge-mobile__ctas {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: sticky;
  bottom: 0;
  margin: 14px -4px 0;
  padding: 12px 4px calc(4px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(to top, rgba(4,8,16,1), rgba(4,8,16,.92) 68%, rgba(4,8,16,0));
  backdrop-filter: blur(4px);
}

.ge-mobile__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 20px;
  border-radius: 9px;
  font-family: var(--gh-font-nav);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
}

.ge-mobile__btn--gold {
  background: var(--gh-gold);
  color: #fff;
}

.ge-mobile__btn--gold:hover {
  background: var(--gh-gold-d);
  transform: translateY(-1px);
}

.ge-mobile__btn--outline {
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  border: 1.5px solid rgba(255, 255, 255, 0.2);
}

.ge-mobile__btn--outline:hover {
  border-color: rgba(201, 168, 106, 0.4);
  color: var(--gh-gold-l);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   OVERLAY
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 940;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  backdrop-filter: blur(2px);
}

.ge-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   BODY: Offset fÃ¼r Fixed Header
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
body {
  padding-top: var(--gh-height);
}

/* Seiten mit Hero (kein Padding nÃ¶tig) */
body.has-hero,
body.home {
  padding-top: 0;
}

/* Admin-Bar-Kompensation (WP logged-in: +32px / mobile: +46px) */
body.admin-bar .ge-header {
  top: 32px;
}
body.admin-bar.has-hero,
body.admin-bar.home {
  padding-top: 0;
}
body.admin-bar .ge-mobile {
  top: calc(var(--gh-height) + 32px);
}
@media (max-width: 782px) {
  body.admin-bar .ge-header {
    top: 46px;
  }
  body.admin-bar .ge-mobile {
    top: calc(var(--gh-height-sm) + 46px);
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   RESPONSIVE â€” Breakpoints
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Tablet: Telefon verstecken, Navigation noch sichtbar */
@media (max-width: 1100px) {
  .ge-header__phone {
    display: none;
  }

  .ge-header__wrap {
    padding: 0 24px;
    gap: 14px;
  }

  .ge-nav__link {
    padding: 8px 10px;
    font-size: 11.5px;
  }
}

/* Mittel-Tablet: sekundÃ¤ren CTA ausblenden â†’ nur Hauptaktion sichtbar */
@media (max-width: 1060px) {
  .ge-header__cta--outline {
    display: none;
  }
}

/* Mobile: Navigation ausblenden, Burger einblenden */
@media (max-width: 900px) {
  .ge-nav {
    display: none;
  }

  .ge-header__cta {
    display: none;
  }

  .ge-header__phone {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.03) !important;
    color: var(--gh-gold) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
  }

  .ge-header__phone span:last-child {
    display: none !important;
  }

  .ge-header__phone svg {
    width: 15px !important;
    height: 15px !important;
    opacity: 1 !important;
    margin: 0 !important;
  }

  .ge-burger {
    display: flex;
    width: 42px;
    height: 42px;
    border-color: rgba(201, 168, 106, 0.28);
    background: rgba(255,255,255,.03);
  }

  .ge-header__wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
  }

  .ge-header__logo {
    position: static;
    left: auto;
    transform: none;
    max-width: calc(100% - 60px);
    flex: 1 1 auto;
    min-width: 0;
  }

  .ge-header__logo img {
    height: 42px;
    max-width: min(200px, 50vw);
  }

  .ge-header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
  }
}

/* Kleines Mobile */
@media (max-width: 480px) {
  .ge-header__wrap {
    padding: 0 14px;
    gap: 8px;
  }

  .ge-header__wrap {
    height: var(--gh-height-sm);
  }

  .ge-header__logo {
    max-width: calc(100% - 54px);
  }

  .ge-header__logo img {
    height: 36px;
    max-width: 46vw;
  }

  .ge-burger {
    width: 38px;
    height: 38px;
  }

  .ge-header__phone {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }

  .ge-mobile {
    width: 100vw;
    max-width: 100vw;
    border-left: none;
    padding: 88px 20px 32px;
  }
}

/* â”€â”€ Logo-Mark (Diamond) â”€â”€ */
.ge-logo-mark {
  width: 9px; height: 9px; background: var(--gold);
  transform: rotate(45deg); flex-shrink: 0;
}

/* â”€â”€ Dropdown-Trigger â”€â”€ */
.ge-nav__item--drop { position: relative; }
/* Ã–ffnen-Regel konsolidiert oben bei .ge-nav__item--drop:hover .ge-dropdown (Fix v55) */

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v28 â€” HEADER PERFORMANCE + ACCESSIBILITY IMPROVEMENTS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Hover-Gap-Fix: Invisible Bridge + Close-Delay â”€â”€ */

/* Bridge: Pseudo-Element Ã¼berbrÃ¼ckt den Spalt zwischen Nav-Link und Dropdown
   Ohne dies: Maus fÃ¤hrt durch 10px-LÃ¼cke â†’ hover verloren â†’ Dropdown schlieÃŸt */
.ge-nav__item--drop::after {
  content: '';
  position: absolute;
  top: 100%;
  left: -16px;
  right: -16px;
  height: 14px; /* muss >= top-Offset des Dropdowns sein */
  background: transparent;
  pointer-events: auto; /* fÃ¤ngt Mausbewegungen ab */
}

/* Dropdown direkt unter Bridge starten â€” kein Spalt mehr sichtbar */
.ge-dropdown {
  top: calc(100% + 12px); /* bleibt optisch gleich durch Bridge */
}

/* Close-Delay: 80ms war zu kurz â†’ 280ms â€” genug Zeit fÃ¼r Mausbewegung */
.ge-nav__item--drop .ge-dropdown {
  transition-delay: 0s; /* Ã–ffnen: sofort */
}
.ge-nav__item--drop:not(:hover):not(:focus-within) .ge-dropdown {
  transition-delay: 280ms; /* SchlieÃŸen: mit VerzÃ¶gerung */
}

/* Smooth header height transition on scroll */
.ge-header {
  will-change: background, box-shadow;
}

/* Focus-visible ring for keyboard users */
.ge-nav__link:focus-visible,
.ge-header__cta:focus-visible,
.ge-burger:focus-visible {
  outline: 2px solid rgba(201,168,106,.7);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .ge-mobile,
  .ge-mobile__list a,
  .ge-mobile__btn,
  .ge-burger span {
    transition: none !important;
  }
}

/* Logo hover: in primÃ¤rer .ge-header__logo-Regel konsolidiert (Fix v55) */

/* Phone link â€” don't show on very small screens even at 1100 */
@media (max-width: 1024px) and (min-width: 901px) {
  .ge-header__phone span:last-child {
    display: none;
  }
}

/* Dropdown item focus-visible */
.ge-dropdown__link:focus-visible {
  background: rgba(201,168,106,.1);
  outline: none;
}

/* Mobile nav close button area */
.ge-mobile::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 72px;
  background: rgba(255,255,255,.02);
  border-bottom: 1px solid rgba(255,255,255,.04);
  pointer-events: none;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v32 â€” IMMOBILIEN TOP-LEVEL FEATURED NAV ITEM
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Featured Nav Link â€” Immobilien */
.ge-nav__link--featured {
  color: var(--gh-gold-l);
  font-weight: 600;
}
.ge-nav__link--featured:hover {
  color: #fff;
  background: rgba(201,168,106,.12);
}
.ge-nav__link--featured::after {
  background: var(--gh-gold-l);
}

/* Wide Dropdown for Immobilien */
.ge-dropdown--wide {
  min-width: 320px;
}

/* Dropdown Featured Header */
.ge-dropdown__featured-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px 8px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(201,168,106,.12);
}
.ge-dropdown__featured-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gh-gold);
  opacity: 0.65;
}
.ge-dropdown__featured-all {
  font-size: 11px;
  font-weight: 600;
  color: var(--gh-gold);
  text-decoration: none;
  transition: color .2s;
}
.ge-dropdown__featured-all:hover {
  color: var(--gh-gold-l);
}

/* Mobile featured group head */
.ge-mobile__group-head--featured {
  color: var(--gh-gold-l) !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
}

/* â”€â”€ v79: Kontakt als Icon-Link â”€â”€ */
.ge-nav__item--icon-kontakt {
  align-items: center;
  display: flex;
}
.ge-nav__item--icon-kontakt .ge-nav__link--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 12px;          /* v7b: konsistent mit VIP-Pill */
  height: 28px;             /* v7b: gleiche HÃ¶he wie VIP-Pill */
  border-radius: 8px;       /* v7b: Rechteck statt Pill â€” kontrastiert visuell mit VIP */
  border: 1px solid rgba(201,168,106,.28);
  transition: border-color .25s, background .25s, color .25s;
  color: rgba(255,255,255,.75);
}
.ge-nav__item--icon-kontakt .ge-nav__link--icon:hover,
.ge-nav__item--icon-kontakt .ge-nav__link--icon.ge-active {
  border-color: var(--gold);
  background: rgba(201,168,106,.08);
  color: var(--gold-l);
}
.ge-nav__icon-label {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* â”€â”€ v117: Header Premium Upgrades â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Active-Page-Indikator â€” aktuell aktive Seite im Nav */
.ge-nav__link.is-active,
.ge-nav__link[aria-current="page"] {
  color: var(--gold-l);
}
.ge-nav__link.is-active::after,
.ge-nav__link[aria-current="page"]::after {
  transform: scaleX(1) !important;
  opacity: 1 !important;
}

/* CTA-Button active state */
.ge-header__cta:active {
  transform: translateY(1px);
  box-shadow: 0 2px 8px rgba(201,168,106,.2);
  transition-duration: .1s;
}

/* Mobile-Nav: Trennlinie zwischen Items schÃ¤rfer */
.ge-mobile__separator {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,106,.15), transparent);
  margin: 4px 0;
}

/* Dropdown: subtiler Enter-Effekt */
.ge-dropdown {
  transform-origin: top center;
}

/* v7: Topline-Override aus v117 entfernt â€” Shimmer-Regel oben ist maÃŸgeblich */
/* .ge-nav__link--kvz removed â€” Kurzzeitmiete uses standard .ge-nav__link */

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MEGA-DROPDOWN (Item 52b) â€” Breites Panel + Vorschau-Panel
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-dropdown--mega {
  min-width: 560px;
  padding: 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 172px;
}
.ge-dropdown--mega .ge-dropdown__list {
  padding: 10px;
}
.ge-mega-panel {
  border-left: 1px solid rgba(201,168,106,.12);
  background: linear-gradient(160deg, #0a1728 0%, #060e1e 100%);
  padding: 22px 18px;
  display: flex; flex-direction: column; justify-content: flex-end;
  position: relative; overflow: hidden;
  min-height: 220px;
}
.ge-mega-panel::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 120% 80% at 80% 120%, rgba(201,168,106,.12), transparent 60%);
  pointer-events: none;
}
.ge-mega-panel__eyebrow {
  font-size: 9px; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: rgba(201,168,106,.65);
  margin-bottom: 8px; position: relative; z-index: 1;
}
.ge-mega-panel__title {
  font-family: var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size: 16px; font-weight: 300; color: #fff; line-height: 1.4;
  position: relative; z-index: 1; margin-bottom: 14px;
}
.ge-mega-panel__cta {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 700; color: var(--gold,#C9A86A);
  text-decoration: none; position: relative; z-index: 1;
  letter-spacing: .04em;
}
.ge-mega-panel__cta svg { transition: transform .2s; }
.ge-mega-panel__cta:hover svg { transform: translateX(3px); }
.ge-mega-kpi {
  display: flex; flex-direction: column; gap: 6px;
  margin-bottom: 16px; position: relative; z-index: 1;
}
.ge-mega-kpi__item {
  display: flex; align-items: baseline; gap: 6px;
}
.ge-mega-kpi__val {
  font-family: var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size: 20px; font-weight: 300; color: var(--gold-l,#E8D090); line-height: 1;
}
.ge-mega-kpi__lbl {
  font-size: 10px; color: rgba(255,255,255,.45); line-height: 1.3;
}



/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v7.0 â€” TOP-1%-UPGRADE ADDITIONS
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Vertikaler Separator zwischen Telefon und CTA-Gruppe â”€â”€ */
.ge-header__sep {
  display: block;
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 1px;
  flex-shrink: 0;
  /* Nur sichtbar wenn Phone angezeigt wird */
}
@media (max-width: 1100px) {
  .ge-header__sep { display: none; }
}

/* â”€â”€ Actions-Gap verfeinert â”€â”€ */
.ge-header__actions {
  gap: 12px; /* v7: 10 â†’ 12px */
}

/* â”€â”€ Nav-Liste: minimaler Gap fÃ¼r Luftigkeit â”€â”€ */
.ge-nav__list {
  gap: 0px; /* v7b: zurÃ¼ck auf 0 â€” Pills und AbstÃ¤nde via padding geregelt */
}

/* â”€â”€ Phone: leicht heller fÃ¼r bessere Lesbarkeit â”€â”€ */
.ge-header__phone {
  color: rgba(255, 255, 255, 0.82); /* v10: 0.62 â†’ 0.82 */
  font-size: 13px;                  /* v10: bleibt 13px */
}

/* â”€â”€ CTA Outline: HÃ¶he angleichen â”€â”€ */
.ge-header__cta--outline {
  height: 36px; /* v7: explizit, matching Primary-CTA */
  padding: 0 16px;
}

/* â”€â”€ Dropdown transform-origin fÃ¼r scale-Entrance â”€â”€ */
.ge-dropdown {
  transform-origin: top center;
}

/* â”€â”€ VIP: kein Underline-Pseudo-Element beim Hover â”€â”€ */
.ge-nav__item:has(.ge-nav__link--vip):hover .ge-nav__link--vip::after,
.ge-nav__link--vip:hover::after {
  display: none;
}

/* â”€â”€ Scroll-Shrink: Logo skaliert mit â”€â”€ */
.ge-header.is-scrolled .ge-header__logo img {
  height: 44px;
  transition: height 0.28s var(--gh-ease);
}
.ge-header__logo img {
  transition: height 0.28s var(--gh-ease), opacity 0.22s, transform 0.22s;
}

/* â”€â”€ Scroll-Shrink: Logo-Text kleiner â”€â”€ */
.ge-header.is-scrolled .ge-logo-main {
  font-size: 18px;
  transition: font-size 0.28s var(--gh-ease);
}
.ge-logo-main {
  transition: font-size 0.28s var(--gh-ease);
}

/* â”€â”€ Mobile: Breakpoint an neue HÃ¶he anpassen â”€â”€ */
@media (max-width: 480px) {
  .ge-header__wrap {
    height: var(--gh-height-sm); /* 52px statt 48px */
  }
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v10.0 â€” PREMIUM+++ HEADER UPGRADE
   Ã„nderungen: HÃ¶he â†‘, Topline 2px, Tracking â†‘, Ghost-CTA,
   Kontakt-Badge, VIP-Glow, Phone-Pill, Nav-Underline schÃ¤rfer
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Objekte: Ghost-CTA (weiÃŸ/transparent â€” passt zu Navy+Gold) â”€â”€ */
.ge-header__cta--ghost {
  background: transparent;
  color: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-weight: 600;
  letter-spacing: 0.04em;
  gap: 6px;
  height: 36px;
  padding: 0 16px;
}
.ge-header__cta--ghost svg {
  color: rgba(201, 168, 106, 0.7);
  flex-shrink: 0;
  transition: color 0.22s;
}
.ge-header__cta--ghost:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--gh-gold-l) !important;
  border-color: rgba(201, 168, 106, 0.40) !important;
  box-shadow: none !important;
  transform: none !important;
}
.ge-header__cta--ghost:hover svg {
  color: var(--gh-gold);
}
.ge-header__cta--ghost::before { display: none; } /* kein Shine-Effekt */

/* â”€â”€ Kostenlose Bewertung CTA: subtiler Glow â”€â”€ */
.ge-header__cta:not(.ge-header__cta--ghost):not(.ge-header__cta--outline) {
  box-shadow: 0 2px 14px rgba(201, 168, 106, 0.18);
}
.ge-header__cta:not(.ge-header__cta--ghost):not(.ge-header__cta--outline):hover {
  box-shadow: 0 6px 24px rgba(201, 168, 106, 0.42);
}

/* â”€â”€ VIP: stÃ¤rkerer Glow beim Hover â”€â”€ */
.ge-nav__link--vip:hover {
  box-shadow:
    0 0 0 1px rgba(201, 168, 106, 0.35),
    0 0 20px rgba(201, 168, 106, 0.22),
    inset 0 0 8px rgba(201, 168, 106, 0.06);
}

/* â”€â”€ Kontakt Icon-Button: mehr Eigencharakter â”€â”€ */
.ge-nav__item--icon-kontakt .ge-nav__link--icon {
  background: rgba(201, 168, 106, 0.06);
  border-color: rgba(201, 168, 106, 0.32);
  color: var(--gh-gold);
  font-weight: 700;
  letter-spacing: 0.08em;
}
.ge-nav__item--icon-kontakt .ge-nav__link--icon:hover {
  background: rgba(201, 168, 106, 0.14);
  border-color: rgba(201, 168, 106, 0.65);
  color: #fff;
  box-shadow: 0 0 12px rgba(201, 168, 106, 0.18);
}

/* â”€â”€ Phone: elegante Pill-Fassung beim Hover â”€â”€ */
.ge-header__phone:hover {
  color: var(--gh-gold-l);
}
.ge-header__phone svg {
  opacity: 0.85;
  width: 14px;
  height: 14px;
}

/* â”€â”€ Nav-Underline: goldener, schÃ¤rfer â”€â”€ */
.ge-nav__link::after {
  height: 2px;
  background: linear-gradient(90deg, var(--gh-gold-d), var(--gh-gold), var(--gh-gold-l));
  border-radius: 2px;
}

/* â”€â”€ Header-Wrap: mehr Padding auf groÃŸen Screens â”€â”€ */
@media (min-width: 1280px) {
  .ge-header__wrap {
    padding: 0 40px;
  }
}

/* â”€â”€ Scrolled: etwas mehr Kontrast â”€â”€ */
.ge-header.is-scrolled {
  box-shadow:
    0 1px 0 rgba(201, 168, 106, 0.22),
    0 6px 48px rgba(0, 0, 0, 0.65),
    0 0 100px rgba(201, 168, 106, 0.05);
}

/* â”€â”€ Nav-Gap: minimaler Abstand fÃ¼r Luft â”€â”€ */
.ge-nav__list {
  gap: 1px;
}

/* â”€â”€ CTA-Gruppe: etwas mehr Abstand zum Separator â”€â”€ */
.ge-header__sep {
  height: 22px;
  background: rgba(255, 255, 255, 0.10);
}

/* â”€â”€ Header-Hintergrund: minimal wÃ¤rmer â”€â”€ */
:root {
  --gh-bg:          rgba(5, 9, 18, 0.93);
  --gh-bg-scrolled: rgba(3, 6, 12, 0.98);
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v10.1 â€” NAV REDESIGN: KONTAKT / VIP / UNDERLINE
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Philosophie:
   â€¢ KONTAKT = dezenter Textlink, Gold-Icon, kein Kasten
   â€¢ VIP = einziger echter Badge â€” filled Gold, Navy-Text, Stern
   â€¢ Underline = kein Balken mehr â†’ subtiler Gold-Dot unter Link
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Underline global ABSCHALTEN â€” ersetzt durch Dot â”€â”€ */
.ge-nav__link::after {
  /* Dot statt Balken: kleiner goldener Punkt, zentriert unten */
  bottom: 4px;
  left: 50%;
  right: auto;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gh-gold);
  transform: translateX(-50%) scale(0);
  transform-origin: center;
  transition: transform 0.25s var(--gh-ease), opacity 0.25s;
  opacity: 0;
}
.ge-nav__link:hover::after {
  transform: translateX(-50%) scale(1);
  opacity: 1;
}
.ge-nav__link[aria-current="page"]::after,
.ge-nav__link.is-active::after {
  transform: translateX(-50%) scale(1) !important;
  opacity: 1 !important;
}

/* â”€â”€ KONTAKT: Textlink mit dezent goldenem Icon â”€â”€ */
.ge-nav__item--kontakt {
  margin-left: 4px; /* etwas Abstand zur Nav */
}
.ge-nav__link--kontakt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  height: 34px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.07em;
  border-radius: 6px;
  text-transform: uppercase;
  transition: color 0.22s, background 0.22s;
}
.ge-nav__link--kontakt svg {
  color: var(--gh-gold);
  opacity: 0.75;
  flex-shrink: 0;
  transition: opacity 0.22s, transform 0.22s;
}
.ge-nav__link--kontakt:hover {
  color: rgba(255, 255, 255, 0.92);
  background: rgba(201, 168, 106, 0.06);
}
.ge-nav__link--kontakt:hover svg {
  opacity: 1;
  transform: translateY(-1px);
}
/* Kein Dot-Underline bei Kontakt */
.ge-nav__link--kontakt::after { display: none; }

/* â”€â”€ VIP: Premium Gold-Badge â€” filled, einzeilig garantiert â”€â”€ */
.ge-nav__item--vip-badge {
  margin-left: 8px; /* Abstand zu Kontakt */
  flex-shrink: 0;
}
.ge-nav__link--vip {
  /* Reset aller alten Regeln */
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  gap: 5px !important;

  /* Filled Gold-Badge */
  background: linear-gradient(135deg, #B8942E 0%, #D4A017 40%, #E8C84A 70%, #C9A040 100%) !important;
  color: #0A1520 !important;
  font-family: var(--gh-font-nav) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;

  /* GrÃ¶ÃŸe + Form */
  height: 28px !important;
  padding: 0 13px !important;
  border-radius: 100px !important;
  border: none !important;

  /* Glow */
  box-shadow:
    0 2px 12px rgba(201, 168, 106, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;

  /* Transition */
  transition: transform 0.22s var(--gh-ease), box-shadow 0.22s, filter 0.22s !important;
  position: relative;
  overflow: hidden;
}

/* Shine-Effekt auf VIP */
.ge-nav__link--vip::before {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
  transform: skewX(-20deg);
  transition: left 0.5s;
  pointer-events: none;
}
.ge-nav__link--vip:hover::before {
  left: 130%;
}

/* VIP Hover: heller + leicht hoch */
.ge-nav__link--vip:hover {
  filter: brightness(1.10);
  transform: translateY(-1px) !important;
  box-shadow:
    0 4px 20px rgba(201, 168, 106, 0.55),
    0 0 0 1px rgba(201, 168, 106, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

/* VIP: kein Dot-Underline */
.ge-nav__link--vip::after { display: none !important; }

/* VIP SVG-Stern: Navy-Farbe (auf Gold-Hintergrund) */
.ge-nav__link--vip svg {
  fill: #0A1520 !important;
  color: #0A1520 !important;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
}

/* â”€â”€ Alte icon-kontakt Regeln deaktivieren (falls noch gecacht) â”€â”€ */
.ge-nav__item--icon-kontakt { display: none !important; }


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v10.2 â€” KONTAKT EINZEILIG FIX + LOGO GRÃ–SSER + BALANCE
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ KONTAKT: Einzeilig erzwingen (Parent-Theme Override mÃ¶glich) â”€â”€ */
.ge-nav__item--kontakt .ge-nav__link--kontakt {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  gap: 6px !important;
}
.ge-nav__item--kontakt .ge-nav__link--kontakt svg {
  display: inline-block !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  width: 14px !important;
  height: 14px !important;
}

/* â”€â”€ Logo grÃ¶ÃŸer: war 54px â†’ 58px, max-width groÃŸzÃ¼giger â”€â”€ */
.ge-header__logo img {
  height: 58px !important;
  max-width: 260px !important;
}
.ge-header.is-scrolled .ge-header__logo img {
  height: 46px !important;
}

/* â”€â”€ Nav zentriert mit mehr Gewicht nach links â”€â”€ */
.ge-nav {
  flex: 1;
  justify-content: center;
  padding: 0 8px;
}

/* â”€â”€ Actions-Gruppe: engerer Abstand fÃ¼r Symmetrie â”€â”€ */
.ge-header__actions {
  gap: 10px;
}

/* â”€â”€ "Kostenlose Bewertung" CTA: etwas kompakter â”€â”€ */
.ge-header__cta:not(.ge-header__cta--ghost):not(.ge-header__cta--outline) {
  padding: 0 20px;
  font-size: 12px;
  letter-spacing: 0.03em;
}

/* â”€â”€ Phone: etwas mehr Gewicht â”€â”€ */
.ge-header__phone {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.75) !important;
  letter-spacing: 0.01em;
}

/* â”€â”€ VIP Margin feintuning â”€â”€ */
.ge-nav__item--vip-badge {
  margin-left: 10px;
}
.ge-nav__item--kontakt {
  margin-left: 6px;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v10.3 â€” LOGO GRÃ–SSER / NAV HÃ–HEN GLEICH / TELEFON RAHMEN
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ 1. Logo: deutlich grÃ¶ÃŸer â”€â”€ */
.ge-header__logo img {
  height: 62px !important;
  max-width: 280px !important;
}
.ge-header.is-scrolled .ge-header__logo img {
  height: 48px !important;
}

/* â”€â”€ 2. Nav-Items: alle auf gleiche visuelle HÃ¶he zentriert â”€â”€
   Problem: VIP-Badge + KONTAKT-Link hatten explizite height,
   die li-Elemente wuchsen dadurch ungleichmÃ¤ÃŸig mit.
   Fix: Nav-Liste streckt sich auf Header-HÃ¶he, alle Items
   hÃ¤ngen zentriert darin â€” kein Item kann â€žherauswachsen". â”€â”€ */
.ge-nav__list {
  height: var(--gh-height);
  align-items: center !important;
}
.ge-header.is-scrolled .ge-nav__list {
  height: var(--gh-height-scrolled);
}
.ge-nav__item {
  height: auto !important;   /* li wÃ¤chst nicht Ã¼ber den Inhalt hinaus */
  align-self: center !important;
}

/* â”€â”€ 3. Objekte als normaler Nav-Link (Gold-Akzent) â”€â”€ */
.ge-nav__item--objekte {
  margin-right: 2px;
}
.ge-nav__link--objekte {
  color: rgba(255, 255, 255, 0.75);
  font-weight: 500;
  letter-spacing: 0.07em;
  font-size: 12.5px;
  text-transform: uppercase;
}
.ge-nav__link--objekte:hover {
  color: var(--gh-gold-l);
  background: rgba(201, 168, 106, 0.07);
}

/* â”€â”€ 4. Telefonnummer in elegantem Rahmen â”€â”€ */
.ge-header__phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 8px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  white-space: nowrap !important;
  transition: border-color 0.22s, color 0.22s, background 0.22s !important;
}
.ge-header__phone:hover {
  border-color: rgba(201, 168, 106, 0.45) !important;
  color: var(--gh-gold) !important;
  background: rgba(201, 168, 106, 0.05) !important;
}
.ge-header__phone svg {
  color: var(--gh-gold) !important;
  opacity: 0.8 !important;
  flex-shrink: 0 !important;
  width: 13px !important;
  height: 13px !important;
}

/* â”€â”€ Separator zwischen Phone und CTAs entfernen da Phone jetzt Rahmen hat â”€â”€ */
.ge-header__sep {
  display: none !important;
}

/* â”€â”€ Actions-LÃ¼cke anpassen (Phone + CTA ohne Sep) â”€â”€ */
.ge-header__actions {
  gap: 8px !important;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v10.4 â€” NAV BALANCE / KONTAKT LEISER / LOGO RECHTECK READY
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ 1. Nav-Balance: weniger flex:1, Actions rÃ¼cken nÃ¤her â”€â”€ */
.ge-nav {
  flex: 0 1 auto !important;   /* wÃ¤chst nicht mehr unbegrenzt */
  margin: 0 auto !important;   /* bleibt zentriert zwischen Logo und Actions */
}

/* â”€â”€ 2. KONTAKT leiser: kein Uppercase, kleiner, normales Gewicht â”€â”€ */
.ge-nav__link--kontakt,
.ge-nav__item--kontakt .ge-nav__link--kontakt {
  text-transform: none !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  color: rgba(255, 255, 255, 0.55) !important;
}
.ge-nav__link--kontakt:hover,
.ge-nav__item--kontakt .ge-nav__link--kontakt:hover {
  color: rgba(255, 255, 255, 0.82) !important;
}
.ge-nav__link--kontakt svg {
  width: 13px !important;
  height: 13px !important;
  opacity: 0.55 !important;
}
.ge-nav__link--kontakt:hover svg {
  opacity: 0.85 !important;
}

/* â”€â”€ 3. Logo: Vorbereitung rechteckiges PNG â”€â”€
   mix-blend-mode: normal sobald transparentes PNG vorhanden
   max-height erhÃ¶ht damit ein breites Logo nicht abgeschnitten wird â”€â”€ */
.ge-header__logo img {
  height: auto !important;          /* HÃ¶he aus Bild-Proportionen */
  max-height: 52px !important;      /* Deckel fÃ¼r rechteckige Logos */
  max-width: 220px !important;      /* Breite fÃ¼r langen Schriftzug */
  width: auto !important;
  mix-blend-mode: normal !important; /* PNG transparent â†’ kein Lighten nÃ¶tig */
  object-fit: contain !important;
}
.ge-header.is-scrolled .ge-header__logo img {
  max-height: 42px !important;
}

/* â”€â”€ OBJEKTE: etwas dezenter als Hauptnavigation â”€â”€ */
.ge-nav__link--objekte {
  color: rgba(255, 255, 255, 0.70) !important;
  text-transform: uppercase;
  font-size: 12px !important;
}
.ge-nav__link--objekte:hover {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* ===== END ge-header.css ===== */


/* ===== BEGIN ge-page.css ===== */

/**
 * Gallium Estate Child Theme v9 â€” ge-page.css
 * Seitenspezifische Komponenten: Hero, Themen-Cards, Page-Hero,
 * Hausverwaltung, Gewerbe, Ãœber Uns, ROI, Leistungen-Grid
 */

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v40 â€” ISSUE-OPEN-012: color-scheme Deklaration
   D-18 v68: color-scheme:dark ist kanonisch in ge-base.css (html { color-scheme: dark }).
   Duplikat hier entfernt. Helle Sektionen behalten ihr color-scheme:light.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-sec--light,
.ge-sec--white,
.re-panel,
.ge-contact-layout {
  color-scheme: light;
}

/* â”€â”€ ge-sec--white: weiÃŸer Hintergrund mit dunklem Text â”€â”€ */
.ge-sec--white {
  background: #ffffff;
  color: var(--text, var(--text));
}
.ge-sec--white h1,
.ge-sec--white h2,
.ge-sec--white h3,
.ge-sec--white h4 {
  color: var(--navy, var(--navy));
}
.ge-sec--white p,
.ge-sec--white li {
  color: var(--text, var(--text));
}
.ge-sec--white em {
  color: var(--gold-d, var(--gold-d));
}
/* Media-Box auf weiÃŸem Hintergrund */
.ge-sec--white .ge-two-col__media-box,
.ge-sec--white .ge-two-col__media-box--light {
  background: var(--warm, #FAF8F4);
  border: 1px solid rgba(0,0,0,.07);
}
.ge-sec--white .ge-eyebrow { color: var(--gold-d, var(--gold-d)); }
.ge-sec--white .ge-eyebrow::before,
.ge-sec--white .ge-eyebrow::after { background: var(--gold-d, var(--gold-d)); }
.ge-sec--white .ak-step-num { border-color: rgba(154,112,48,.3); color: var(--gold-d,var(--gold-d)); }
.ge-sec--white .ak-step { border-bottom-color: rgba(0,0,0,.06); }
.ge-sec--white .ak-step-body p { color: var(--muted, var(--muted)); }



/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HOMEPAGE HERO
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 172px 0 112px;
  z-index: 1;
}
.ge-hero__bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 72% 82% at 18% 38%, rgba(14,32,64,.86), transparent),
              radial-gradient(ellipse 52% 62% at 82% 58%, rgba(4,8,15,.48), transparent),
              radial-gradient(ellipse 42% 50% at 50% 100%, rgba(201,168,106,.06), transparent),
              var(--navy-d);
  z-index: 0;
}
.ge-hero__grain {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  opacity: .4;
}
.ge-hero__inner {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
  position: relative; z-index: 1;
}
.ge-hero__badge {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(201,168,106,.08);
  border: 1px solid rgba(201,168,106,.22);
  border-radius: var(--pill-radius, 999px);
  padding: 8px 18px;
  font-size: 10px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 28px;
}
.ge-hero__pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  animation: ge-pulse 2s infinite;
  flex-shrink: 0;
}
@keyframes ge-pulse {
  0%,100% { opacity: 1; box-shadow: 0 0 0 0 rgba(201,168,106,.6); }
  50% { opacity: .7; box-shadow: 0 0 0 6px rgba(201,168,106,0); }
}
.ge-hero__h1 {
  font-family: var(--serif);
  font-size: clamp(42px, 5vw, 82px);
  font-weight: 300;
  line-height: 1.08;
  color: #fff;
  margin-bottom: 20px;
  max-width: 11ch;
  animation: ge-fadeUp .8s var(--ease) both;
}
.ge-hero__h1 em { font-style: italic; color: var(--gold-l); }
.ge-hero__sub {
  font-size: clamp(15px, 1.5vw, 17px);
  color: rgba(255,255,255,.72);
  line-height: 1.86;
  margin-bottom: 40px;
  max-width: 540px;
  animation: ge-fadeUp .9s .1s var(--ease) both;
}
.ge-hero__btns {
  display: flex; gap: 16px; flex-wrap: wrap;
  animation: ge-fadeUp 1s .2s var(--ease) both;
}

/* Hero Awards */
.ge-hero__awards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  animation: ge-fadeUp .9s .15s var(--ease) both;
}
.ge-award-card {
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 24px;
  display: flex; align-items: center; gap: 16px;
  transition: border-color .3s, box-shadow .3s, transform .3s;
  backdrop-filter: blur(14px);
}
.ge-award-card--featured {
  background: rgba(201,168,106,.07);
  border-color: rgba(201,168,106,.2);
  grid-column: 1 / -1;
}
.ge-award-card:hover {
  border-color: rgba(201,168,106,.3);
  transform: translateY(-4px);
}
.ge-award-card__icon { font-size: 28px; flex-shrink: 0; }
.ge-award-card__num {
  font-family: var(--serif);
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 300; color: var(--gold-l); line-height: 1;
}
.ge-award-card__label {
  font-size: 12px; color: rgba(255,255,255,.62); margin-top: 4px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PAGE HERO (Unterseiten)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-page-hero {
  position: relative;
  padding: 168px 0 92px;
  overflow: hidden;
  z-index: 1;
}
.ge-page-hero__bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 72% 82% at 15% 38%, rgba(14,32,64,.92), transparent),
              radial-gradient(ellipse 40% 50% at 72% 18%, rgba(201,168,106,.05), transparent),
              var(--navy-d);
  z-index: 0;
}
.ge-page-hero .ge-container { position: relative; z-index: 1; }
.ge-page-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
  margin-top: 28px;
}
.ge-page-hero__h1 {
  font-family: var(--serif);
  font-size: clamp(36px, 4.5vw, 70px);
  font-weight: 300;
  line-height: 1.08;
  color: #fff;
  margin-bottom: 16px;
  max-width: 11ch;
}
.ge-page-hero__h1 em { font-style: italic; color: var(--gold-l); }
.ge-page-hero__sub {
  font-size: 16px;
  color: rgba(255,255,255,.68);
  line-height: 1.8;
  max-width: 440px;
}

/* Breadcrumb */
.ge-breadcrumb {
  display: none !important;
}
.ge-breadcrumb a, .ge-breadcrumb span { display: none; }

/* Checklist Card */
.ge-hw-checklist {
  background: rgba(201,168,106,.06);
  border: 1px solid rgba(201,168,106,.18);
  border-radius: 20px;
  padding: 32px;
}
.ge-hw-checklist h3 {
  font-family: var(--serif);
  font-size: 20px; font-weight: 300;
  color: var(--gold-l);
  margin-bottom: 20px;
}
.ge-hw-checklist ul { list-style: none; }
.ge-hw-checklist ul li {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 15px; color: rgba(255,255,255,.7);
}
.ge-hw-checklist ul li:last-child { border-bottom: none; }
.ge-hw-check { color: var(--gold); font-size: 14px; font-weight: 600; flex-shrink: 0; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HAUSVERWALTUNG
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-hw-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ge-hw-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(201,168,106,.1);
  border-radius: 18px;
  padding: 40px;
  position: relative; overflow: hidden;
  transition: border-color .3s cubic-bezier(.16,1,.3,1), box-shadow .3s cubic-bezier(.16,1,.3,1), transform .3s cubic-bezier(.16,1,.3,1);
}
.ge-hw-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold, var(--gold)), transparent);
  transform: scaleX(0);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.ge-hw-card:hover {
  border-color: rgba(201,168,106,.28);
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.ge-hw-card:hover::before { transform: scaleX(1); }
.ge-hw-card__icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: rgba(201,168,106,.08);
  border: 1px solid rgba(201,168,106,.15);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; margin-bottom: 20px;
}
.ge-hw-card h3 {
  font-family: var(--serif);
  font-size: 24px; font-weight: 300;
  color: #fff; margin-bottom: 12px;
}
.ge-hw-card p { font-size: 14px; color: rgba(255,255,255,.78); line-height: 1.8; margin-bottom: 20px; }
.ge-hw-list { list-style: none; }
.ge-hw-list li {
  font-size: 13.5px; color: rgba(255,255,255,.55);
  padding: 6px 0 6px 18px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  position: relative;
}
.ge-hw-list li::before {
  content: 'â—†'; position: absolute; left: 0;
  font-size: 6px; color: var(--gold-d); top: 10px;
}
.ge-hw-list li:last-child { border-bottom: none; }

.ge-typ-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ge-typ-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 18px;
  padding: 36px; text-align: center;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.ge-typ-card:hover { border-color: rgba(201,168,106,.2); transform: translateY(-4px); }
.ge-typ-icon { font-size: 40px; margin-bottom: 14px; }
.ge-typ-card h3 {
  font-family: var(--serif); font-size: 21px; font-weight: 300;
  color: #fff; margin-bottom: 10px;
}
.ge-typ-card p { font-size: 14px; color: rgba(255,255,255,.72); line-height: 1.75; }

.ge-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
}
.ge-pricing-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  padding: 36px; position: relative;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.ge-pricing-card--featured {
  background: rgba(201,168,106,.06);
  border-color: rgba(201,168,106,.3);
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
}
.ge-pricing-card__badge {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: var(--gold); color: #fff;
  font-size: 11px; font-weight: 600; letter-spacing: .1em;
  padding: 4px 18px; border-radius: 20px;
}
.ge-pricing-card__name {
  font-size: 12px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
}
.ge-pricing-card__price {
  font-family: var(--serif); font-size: 44px; font-weight: 300;
  color: #fff; line-height: 1; margin-bottom: 16px;
}
.ge-pricing-card__price small {
  font-size: 13px; color: rgba(255,255,255,.55); display: block; margin-top: 4px;
}
.ge-pricing-card p { font-size: 14px; color: rgba(255,255,255,.65); margin-bottom: 20px; line-height: 1.7; }
.ge-pricing-card ul { list-style: none; }
.ge-pricing-card ul li {
  font-size: 14px; color: rgba(255,255,255,.75);
  padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.04);
}
.ge-pricing-card ul li:last-child { border-bottom: none; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   GEWERBE
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-gew-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ge-gew-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(201,168,106,.1);
  border-radius: 18px; padding: 36px;
  position: relative; overflow: hidden;
  transition: border-color .3s cubic-bezier(.16,1,.3,1), box-shadow .3s cubic-bezier(.16,1,.3,1), transform .3s cubic-bezier(.16,1,.3,1);
  text-decoration: none; color: inherit; display: block;
}
.ge-gew-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold, var(--gold)), transparent);
  transform: scaleX(0);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.ge-gew-card:hover {
  border-color: rgba(201,168,106,.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.ge-gew-card:hover::before { transform: scaleX(1); }
.ge-gew-card__icon { font-size: 38px; margin-bottom: 18px; display: block; }
.ge-gew-card__tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(201,168,106,.07);
  border: 1px solid rgba(201,168,106,.15);
  border-radius: 20px; padding: 4px 12px;
  font-size: 11px; color: var(--gold-l, var(--gold-l));
  letter-spacing: .08em; margin-top: 18px;
}
.ge-gew-card h3 {
  font-family: var(--serif); font-size: 22px; font-weight: 300;
  color: #fff; margin-bottom: 10px;
}
.ge-gew-card p { font-size: 14px; color: rgba(255,255,255,.68); line-height: 1.8; margin-bottom: 0; }

.ge-split {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center;
}
.ge-split__text h2 {
  font-family: var(--serif);
  font-size: clamp(30px, 3.5vw, 50px);
  font-weight: 300; color: #fff; line-height: 1.15; margin-bottom: 20px;
}
.ge-split__text h2 em { font-style: italic; color: var(--gold-l); }
.ge-split__text p { font-size: 15px; color: rgba(255,255,255,.78); line-height: 1.85; margin-bottom: 16px; }
.ge-split__list { list-style: none; margin: 20px 0; }
.ge-split__list li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 14.5px; color: rgba(255,255,255,.55);
  padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.04);
}
.ge-split__list li span { color: var(--gold); flex-shrink: 0; }
.ge-split__list li:last-child { border-bottom: none; }
.ge-split__img-frame {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(201,168,106,.1);
  border-radius: 20px;
  aspect-ratio: 4/3;
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.ge-split__img-placeholder { font-size: 80px; opacity: .2; }
.ge-split__img-badge {
  position: absolute; bottom: 20px; left: 20px;
  background: rgba(201,168,106,.1);
  border: 1px solid rgba(201,168,106,.3);
  border-radius: 40px; padding: 8px 18px;
  font-size: 12px; font-weight: 600; color: var(--gold-l);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   4 HAUPTTHEMEN GRID
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-themen-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
/* 5. Karte (Ankauf) zentriert in der untersten Reihe */
.ge-thema-card:nth-child(4) { grid-column: 1 / 2; }
.ge-thema-card:nth-child(5) { grid-column: 2 / 3; }
@media(max-width:900px) {
  .ge-themen-grid { grid-template-columns: repeat(2, 1fr); }
  .ge-thema-card:nth-child(4),
  .ge-thema-card:nth-child(5) { grid-column: auto; }
}
.ge-thema-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px; padding: 40px;
  text-decoration: none; color: inherit;
  position: relative; overflow: hidden;
  transition: border-color .35s, box-shadow .35s, transform .35s; display: block;
}
.ge-thema-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-d), var(--gold-l));
  transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--ease);
}
.ge-thema-card:hover {
  border-color: rgba(201,168,106,.2); transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
  background: rgba(201,168,106,.04);
}
.ge-thema-card:hover::before { transform: scaleX(1); }
.ge-thema-card__num {
  position: absolute; top: 20px; right: 30px;
  font-family: var(--serif); font-size: 100px; font-weight: 300;
  color: rgba(255,255,255,.04); line-height: 1; pointer-events: none;
}
.ge-thema-card__icon { font-size: 36px; margin-bottom: 12px; }
.ge-thema-card__tag {
  font-size: 10px; font-weight: 600; letter-spacing: .18em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 8px; display: block;
}
.ge-thema-card h3 {
  font-family: var(--serif); font-size: 28px; font-weight: 300;
  color: #fff; margin-bottom: 10px;
}
.ge-thema-card > p {
  font-size: 14.5px; color: rgba(255,255,255,.72); line-height: 1.75; margin-bottom: 20px;
}
.ge-thema-card__list { list-style: none; margin-bottom: 24px; }
.ge-thema-card__list li {
  font-size: 13.5px; color: rgba(255,255,255,.75);
  padding: 6px 0 6px 18px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  position: relative;
}
.ge-thema-card__list li::before {
  content: 'â—†'; position: absolute; left: 0;
  font-size: 6px; color: var(--gold-d); top: 11px;
}
.ge-thema-card__list li:last-child { border-bottom: none; }
.ge-thema-card__cta { font-size: 13px; font-weight: 600; color: var(--gold); letter-spacing: .05em; }

/* Investoren-Karte â€” goldener Akzent */
.ge-thema-card--accent {
  border-color: rgba(201,168,106,.2);
  background: rgba(201,168,106,.04);
}
.ge-thema-card--accent::before {
  background: linear-gradient(90deg, var(--gold,var(--gold)), var(--gold-l,var(--gold-l))) !important;
}
.ge-thema-card--accent .ge-thema-card__tag {
  background: rgba(201,168,106,.15);
  color: var(--gold-l,var(--gold-l));
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   LEISTUNGEN GRID (6-er)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-leist-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 16px; overflow: hidden;
}
.ge-leist-card {
  background: rgba(255,255,255,.025);
  padding: 32px; position: relative; transition: background .25s;
}
.ge-leist-card:hover { background: rgba(255,255,255,.045); }
.ge-leist-card__num {
  font-family: var(--serif); font-size: 64px; font-weight: 300;
  color: rgba(255,255,255,.05);
  position: absolute; top: 16px; right: 24px; line-height: 1;
}
.ge-leist-card h3 {
  font-family: var(--serif); font-size: 19px; font-weight: 300;
  color: #fff; margin-bottom: 10px;
}
.ge-leist-card p { font-size: 13px; color: rgba(255,255,255,.78); line-height: 1.75; margin-bottom: 16px; }
.ge-leist-link { font-size: 12px; font-weight: 600; color: var(--gold); text-decoration: none; }
.ge-leist-link:hover { color: var(--gold-l); }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   ÃœBER UNS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-ueber {
  display: grid; grid-template-columns: 1fr 2fr;
  gap: 80px; align-items: center;
}
.ge-ueber__visual { position: relative; }
.ge-portrait-frame {
  width: 100%; max-width: 300px; aspect-ratio: 4/5;
  border-radius: 20px; overflow: hidden;
  border: 1px solid rgba(14,32,64,.15); background: var(--warm2);
}
.ge-portrait-frame img { width: 100%; height: 100%; object-fit: cover; }
.ge-portrait-badge {
  position: absolute; bottom: -14px; right: -14px;
  background: var(--navy); border: 2px solid rgba(201,168,106,.3);
  border-radius: 14px; padding: 14px 18px; text-align: center;
  box-shadow: 0 14px 30px rgba(0,0,0,.4);
}
.ge-portrait-badge strong {
  font-family: var(--serif); font-size: 32px; font-weight: 300;
  color: var(--gold-l); display: block;
}
.ge-portrait-badge span { font-size: 11px; color: rgba(255,255,255,.62); }
.ge-ueber__text h2 {
  font-family: var(--serif); font-size: clamp(30px, 3.5vw, 48px);
  font-weight: 300; color: #fff !important; line-height: 1.15; margin-bottom: 18px;
}
.ge-ueber__text h2 em { font-style: italic; color: var(--gold-l); }
.ge-ueber__text p { font-size: 15px; color: rgba(255,255,255,.78); line-height: 1.8; margin-bottom: 18px; }
.ge-ueber__quote {
  border-left: 3px solid var(--gold); padding-left: 20px;
  font-family: var(--serif); font-size: 18px; font-style: italic;
  color: rgba(255,255,255,.72); margin: 24px 0; line-height: 1.7;
}
.ge-certs { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.ge-cert {
  display: flex; align-items: center; gap: 7px;
  font-size: 12.5px; color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.08); border: 1px solid rgba(201,168,106,.25);
  border-radius: 40px; padding: 7px 14px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   ROI RECHNER
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-roi-wrap {
  max-width: 700px; margin: 0 auto;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(201,168,106,.12);
  border-radius: 20px; padding: 48px;
}
.ge-roi-inputs {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 20px; margin-bottom: 32px;
}
.ge-roi-field label {
  display: block; font-size: 11px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.62); margin-bottom: 8px;
}
.ge-roi-field input {
  width: 100%; background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1); border-radius: 10px;
  padding: 14px 18px; font-family: var(--sans); font-size: 16px;
  color: #fff; transition: border-color .2s; outline: none;
}
.ge-roi-field input:focus,
.ge-roi-field input:focus-visible { border-color: var(--gold); }
.ge-roi-result {
  background: rgba(201,168,106,.06); border: 1px solid rgba(201,168,106,.2);
  border-radius: 14px; padding: 32px; text-align: center;
}
.ge-roi-val {
  font-family: var(--serif); font-size: 52px; font-weight: 300;
  color: var(--gold-l); display: block; line-height: 1; margin-bottom: 8px;
}
.ge-roi-label { font-size: 14px; color: rgba(255,255,255,.70); margin-bottom: 12px; }
.ge-roi-note { font-size: 12px; color: rgba(255,255,255,.72); line-height: 1.6; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HERO LAYOUT â€” LEFT / RIGHT COLUMNS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-hero__left, .ge-page-hero__left {
  display: flex; flex-direction: column; justify-content: center;
}
.ge-hero__right, .ge-page-hero__right {
  display: flex; align-items: center; justify-content: flex-end;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TRUST STRIP (Hausverwaltung / Gewerbe)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-trust-strip {
  background: rgba(201,168,106,.04);
  border-top: 1px solid rgba(201,168,106,.08);
  border-bottom: 1px solid rgba(201,168,106,.08);
  padding: 28px 0;
}
.ge-trust-strip__inner {
  display: flex; align-items: center; justify-content: space-around;
  flex-wrap: wrap; gap: 24px;
}
.ge-trust-item {
  text-align: center;
}
.ge-trust-item__num {
  font-family: var(--serif); font-size: 28px; font-weight: 300;
  color: var(--gold-l); display: block; line-height: 1;
  margin-bottom: 4px;
}
.ge-trust-item__lbl {
  font-size: 11px; color: rgba(255,255,255,.62);
  letter-spacing: .08em; text-transform: uppercase;
}
.ge-trust-divider {
  width: 1px; height: 40px;
  background: rgba(201,168,106,.12);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PROCESS STEPS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-process-wrap {
  max-width: 900px; margin: 0 auto;
}
.ge-process-steps {
  display: flex; flex-direction: column; gap: 0;
  position: relative;
}
.ge-process-steps::before {
  content: '';
  position: absolute; left: 32px; top: 64px; bottom: 64px;
  width: 1px;
  background: linear-gradient(to bottom, rgba(201,168,106,.3), rgba(201,168,106,.06));
}
.ge-process-step {
  display: grid; grid-template-columns: 64px 1fr;
  gap: 32px; align-items: flex-start;
  padding: 32px 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
  position: relative;
}
.ge-process-step:last-child { border-bottom: none; }
.ge-process-num {
  width: 64px; height: 64px; border-radius: 50%;
  background: rgba(201,168,106,.08);
  border: 1px solid rgba(201,168,106,.2);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 22px; font-weight: 300;
  color: var(--gold-l); flex-shrink: 0;
  position: relative; z-index: 1;
  transition: color .3s, transform .3s;
}
.ge-process-step:hover .ge-process-num {
  background: rgba(201,168,106,.15);
  box-shadow: 0 0 0 4px rgba(201,168,106,.1);
}
.ge-process-body { padding-top: 12px; }
.ge-process-body h3 {
  font-family: var(--serif); font-size: 22px; font-weight: 300;
  color: #fff; margin-bottom: 8px;
}
.ge-process-body p {
  font-size: 14.5px; color: rgba(255,255,255,.65); line-height: 1.8;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TESTIMONIALS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-testi-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ge-testi-card {
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px; padding: 28px;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.ge-testi-card:hover {
  border-color: rgba(201,168,106,.15);
  background: rgba(255,255,255,.035);
  transform: translateY(-4px);
}
.ge-testi-stars { color: var(--gold); font-size: 13px; margin-bottom: 14px; letter-spacing: 2px; }
.ge-testi-text {
  font-size: 14.5px; color: rgba(255,255,255,.5);
  line-height: 1.8; margin-bottom: 18px;
  font-style: italic;
}
.ge-testi-author {
  display: flex; align-items: center; gap: 12px;
  border-top: 1px solid rgba(255,255,255,.05); padding-top: 14px;
}
.ge-testi-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(201,168,106,.15);
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; flex-shrink: 0;
}
.ge-testi-name { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.82); }
.ge-testi-loc { font-size: 11px; color: rgba(255,255,255,.65); margin-top: 2px; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FAQ â€” ACCORDION
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-faq-wrap {
  max-width: 760px; margin: 0 auto;
}
.ge-faq-item {
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.ge-faq-q {
  width: 100%; background: none; border: none;
  text-align: left; padding: 22px 0;
  font-family: var(--sans); font-size: 15.5px; font-weight: 500;
  color: rgba(255,255,255,.72); cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; transition: color .2s;
}
.ge-faq-q:hover { color: #fff; }
.ge-faq-q::after {
  content: '+';
  font-size: 22px; font-weight: 300; color: var(--gold);
  flex-shrink: 0; transition: transform .3s var(--ease);
}
.ge-faq-item.open .ge-faq-q::after { transform: rotate(45deg); }
.ge-faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height .4s var(--ease), padding .4s var(--ease);
  font-size: 14.5px; color: rgba(255,255,255,.65); line-height: 1.85;
}
.ge-faq-item.open .ge-faq-a {
  max-height: 1200px;
  padding-bottom: 20px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   CTA BAND (Premium)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-cta-band {
  position: relative; overflow: hidden;
  padding: 88px 0;
  background: linear-gradient(135deg, rgba(14,32,64,.97) 0%, rgba(201,168,106,.05) 100%);
  border-top: 1px solid rgba(201,168,106,.1);
  border-bottom: 1px solid rgba(201,168,106,.08);
  text-align: center;
}
.ge-cta-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 52px;
  text-align: left;
}
@media (max-width: 768px) {
  .ge-cta-band__inner {
    flex-direction: column;
    text-align: center;
  }
}
.ge-cta-band::before {
  content: '';
  position: absolute; top: -60%; left: 50%; transform: translateX(-50%);
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,106,.06) 0%, transparent 70%);
  pointer-events: none;
}
.ge-cta-band h2 {
  font-family: var(--serif); font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 300; color: #fff; margin-bottom: 12px; position: relative;
  line-height: 1.08;
  max-width: 10.5ch;
}
.ge-cta-band h2 em { font-style: italic; color: var(--gold-l); }
.ge-cta-band p {
  font-size: 16px; color: rgba(255,255,255,.72); max-width: 560px;
  margin: 0; line-height: 1.8; position: relative;
  text-align: left;
}
.ge-cta-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   VIP BAND
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-vip-band {
  background: linear-gradient(135deg, rgba(201,168,106,.08) 0%, rgba(201,168,106,.02) 100%);
  border-top: 1px solid rgba(201,168,106,.15);
  border-bottom: 1px solid rgba(201,168,106,.15);
  padding: 68px 0; text-align: center;
}
.ge-vip-band__badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 9px; font-weight: 700; letter-spacing: .25em;
  text-transform: uppercase; color: var(--gold);
  border: 1px solid rgba(201,168,106,.25); border-radius: 40px;
  padding: 7px 16px; margin-bottom: 22px;
}
.ge-vip-band h2 {
  font-family: var(--serif); font-size: clamp(24px, 3vw, 42px);
  font-weight: 300; color: #fff; margin-bottom: 10px; line-height: 1.08;
}
.ge-vip-band h2 em { font-style: italic; color: var(--gold-l); }
/* FIX KONTRAST: .65 â†’ .90 â€” war ~3:1 FAIL, jetzt >7:1 PASS WCAG AA */
.ge-vip-band p { font-size: 15px; color: rgba(255,255,255,.90); max-width: 440px; margin: 0 auto 28px; }
/* FIX: SekundÃ¤re Links (z.B. "Aktuelle Angebote ansehen â†’") waren fast unsichtbar */
.ge-vip-band a:not(.ge-btn) {
  color: rgba(255,255,255,.78);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .2s;
}
.ge-vip-band a:not(.ge-btn):hover { color: var(--gold-l); text-decoration: none; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MARKT-DATEN (Gewerbe)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-markt-data-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.ge-markt-data-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px; padding: 32px 28px;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}
.ge-markt-data-card:hover {
  border-color: rgba(201,168,106,.15); background: rgba(255,255,255,.04);
}
.ge-markt-data-card__val {
  font-family: var(--serif); font-size: 42px; font-weight: 300;
  color: var(--gold-l); display: block; line-height: 1; margin-bottom: 8px;
}
.ge-markt-data-card__lbl {
  font-size: 13px; color: rgba(255,255,255,.72); line-height: 1.6;
  margin-bottom: 12px;
}
.ge-markt-data-card__bar {
  height: 3px; background: rgba(255,255,255,.06); border-radius: 3px;
  overflow: hidden;
}
.ge-markt-bar__fill {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--gold-d), var(--gold-l));
  border-radius: 3px;
  transition: width 1.2s cubic-bezier(.4,0,.2,1);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SECTION UTILITIES
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-section {
  padding: 100px 0;
}
.ge-section--dark {
  background: rgba(4,8,15,.6);
}
.ge-section--light {
  background: rgba(255,255,255,.04);
  border-top: 1px solid rgba(201,168,106,.07);
  border-bottom: 1px solid rgba(201,168,106,.07);
}
.ge-section-tag {
  font-size: 10px; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: var(--gold);
  display: block; margin-bottom: 10px;
}
.ge-section-h2 {
  font-family: var(--serif); font-size: var(--h2);
  font-weight: 300; color: #fff; line-height: 1.12;
  margin-bottom: 16px;
}
.ge-section-h2 em { font-style: italic; color: var(--gold-l); }
.ge-section-sub {
  font-size: 16px; color: rgba(255,255,255,.65); max-width: 540px;
  line-height: 1.8; margin-bottom: 60px;
}
.ge-section-hd { margin-bottom: 56px; }
.ge-section-hd--center { text-align: center; }
.ge-section-hd--center .ge-section-sub { margin: 0 auto 60px; }

/* Header â†’ vollstÃ¤ndig in ge-header.css definiert */

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   RESPONSIVE
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media(max-width:1024px) {
  .ge-hero__inner, .ge-page-hero__inner, .ge-ueber { grid-template-columns: 1fr; }
  .ge-hero__right, .ge-page-hero__right { display: none; }
  .ge-themen-grid { grid-template-columns: 1fr; }
  .ge-hw-grid, .ge-pricing-grid { grid-template-columns: 1fr; }
  .ge-gew-grid { grid-template-columns: repeat(2,1fr); }
  .ge-pricing-card--featured { transform: none; }
  .ge-split { grid-template-columns: 1fr; }
  .ge-split__visual { display: none; }
  .ge-ueber__text { padding-right: 0; }
  .ge-portrait-frame { max-width: 100%; }
  .ge-testi-grid { grid-template-columns: 1fr; gap: 14px; }
  .ge-markt-data-grid { grid-template-columns: 1fr; }
  .ge-process-steps::before { display: none; }
  .ge-cta-btns { flex-direction: column; align-items: stretch; }
}
@media(max-width:900px) {
  .ge-leist-grid { grid-template-columns: 1fr 1fr; }
  .ge-typ-grid, .ge-gew-grid { grid-template-columns: 1fr; }
  .ge-roi-inputs { grid-template-columns: 1fr; }
  .ge-hero__awards { grid-template-columns: 1fr; }
  .ge-trust-strip__inner { gap: 16px; }
  .ge-trust-divider { display: none; }
  .ge-testi-grid { grid-template-columns: 1fr 1fr; }
  .ge-markt-data-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:600px) {
  .ge-hero { padding: 130px 0 80px; }
  .ge-page-hero { padding: 130px 0 60px; }
  .ge-leist-grid { grid-template-columns: 1fr; }
  .ge-roi-wrap { padding: 28px; }
  .ge-header__phone { display: none; }
  .ge-testi-grid { grid-template-columns: 1fr; }
  .ge-markt-data-grid { grid-template-columns: 1fr; }
  .ge-process-step { grid-template-columns: 48px 1fr; gap: 20px; }
  .ge-section { padding: 60px 0; }
  .ge-cta-band { padding: 60px 0; }
  .ge-vip-band { padding: 50px 0; }
}

@media (max-width: 900px) {
  html, body, #page, .site, .site-main, #main-content {
    max-width: 100%;
    overflow-x: clip;
  }

  .ge-header,
  .ge-header__wrap,
  .ge-container,
  .ge-hero__inner,
  .ge-page-hero__inner,
  .ge-section,
  .ge-section > .ge-container {
    max-width: 100%;
  }

  .ge-hero__inner,
  .ge-page-hero__inner,
  .ge-cta-band__inner,
  .ge-vip-band .ge-container,
  .ge-split,
  .ge-grid,
  .ge-grid--3 {
    min-width: 0;
  }

  .ge-hero__h1,
  .ge-page-hero__h1,
  .ge-section-h2,
  .ge-section-sub {
    overflow-wrap: anywhere;
  }

  .ge-mobile__list,
  .ge-mobile__list li,
  .ge-mobile__list a,
  .ge-mobile__ctas {
    min-width: 0;
  }
}

@media (max-width: 430px) {
  .ge-header__wrap {
    padding: 0 12px;
  }

  .ge-header__logo img {
    height: 32px;
    max-width: 44vw;
  }

  .ge-burger {
    width: 36px;
    height: 36px;
  }

  .ge-header__phone {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    border-radius: 9px !important;
  }

  .ge-burger span {
    width: 16px;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   IMMOBILIEN â€” PROPERTY CARDS (ge-prop-card)
   Vorher fehlende CSS-Klassen â€” v10
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-grid { display: grid; gap: 24px; }
.ge-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media(max-width:900px) { .ge-grid--3 { grid-template-columns: repeat(2,1fr); } }
@media(max-width:580px) { .ge-grid--3 { grid-template-columns: 1fr; } }

.ge-prop-card {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(201,168,106,.12);
  border-radius: 18px; overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.ge-prop-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
  border-color: rgba(201,168,106,.28);
}
.ge-prop-card--vip { border-color: rgba(201,168,106,.22); }

.ge-prop-card__img-wrap {
  display: block; position: relative;
  aspect-ratio: 4/3; overflow: hidden;
  background: rgba(4,10,22,.8);
  text-decoration: none;
}
.ge-prop-card__img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s;
}
.ge-prop-card:hover .ge-prop-card__img { transform: scale(1.04); }

.ge-prop-card__img-placeholder {
  width: 100%; height: 100%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(10,26,47,.9), rgba(4,10,22,.95));
  min-height: 200px;
}

/* VIP overlay on off-market cards */
.ge-prop-card__vip-overlay {
  position: absolute; inset: 0;
  background: rgba(4,8,15,.85);
  backdrop-filter: blur(6px);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 10px; text-align: center; padding: 20px;
}
.ge-prop-card__vip-overlay span {
  font-family: var(--sans,'Outfit',sans-serif);
  font-size: 12px; font-weight: 600;
  color: rgba(201,168,106,.8);
  letter-spacing: .12em; text-transform: uppercase;
}
.ge-prop-card__vip-link {
  display: inline-block; padding: 8px 20px;
  background: linear-gradient(135deg,var(--gold),var(--gold-d));
  color: #fff; text-decoration: none;
  border-radius: 6px; font-size: 12px; font-weight: 600;
  font-family: var(--sans,'Outfit',sans-serif);
  transition: opacity .2s;
}
.ge-prop-card__vip-link:hover { opacity: .85; }

.ge-prop-label {
  position: absolute; top: 12px; left: 12px;
  font-family: var(--sans,'Outfit',sans-serif);
  font-size: 10px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 40px;
}
.ge-prop-label--new     { background: var(--gold,var(--gold)); color: var(--navy); }
.ge-prop-label--reserved { background: rgba(255,165,0,.9); color: #fff; }
.ge-prop-label--sold     { background: rgba(22,163,74,.9); color: #fff; }

.ge-prop-card__body {
  padding: 20px 22px 24px;
}
.ge-prop-card__city {
  font-family: var(--sans,'Outfit',sans-serif);
  font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold,var(--gold)); margin-bottom: 6px;
}
.ge-prop-card__title {
  font-family: var(--serif,'Cormorant Garamond',serif);
  font-size: 20px; font-weight: 300; color: #fff;
  margin: 0 0 12px; line-height: 1.25;
}
.ge-prop-card__title a { color: inherit; text-decoration: none; }
.ge-prop-card__title a:hover { color: var(--gold-l,var(--gold-l)); }
.ge-prop-card__meta {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;
}
.ge-prop-card__meta span {
  font-family: var(--sans,'Outfit',sans-serif);
  font-size: 12px; color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 4px; padding: 3px 10px;
}
.ge-prop-card__details {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px;
}
.ge-prop-detail {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--sans,'Outfit',sans-serif);
  font-size: 11px; color: rgba(255,255,255,.3);
}
.ge-prop-card__price {
  font-family: var(--serif,'Cormorant Garamond',serif);
  font-size: 22px; font-weight: 300;
  color: var(--gold-l,var(--gold-l));
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 14px; margin-top: 4px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   GE-HERO-PREMIUM â€” Globale Definitionen (alle Unterseiten)
   Fixes: Hausverwaltung, Gutachten, Energie Hero-Darstellung
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ge-hero-premium {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: linear-gradient(160deg, #060f1e 0%, var(--navy) 55%, #0c1e38 100%);
  overflow: hidden;
  color: #fff;
  padding: 120px 0 80px;
}
.ge-hero-premium__grain {
  position: absolute; inset: 0; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none; opacity: 0.6;
}
.ge-hero-premium__orb {
  position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
  filter: blur(80px);
}
.ge-hero-premium__orb--1 {
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(201,168,106,.08) 0%, transparent 70%);
  top: -200px; right: -200px;
}
.ge-hero-premium__orb--2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(11,95,255,.05) 0%, transparent 70%);
  bottom: -100px; left: -100px;
}
.ge-hero-premium .ge-container { position: relative; z-index: 2; }
.ge-hero-premium__inner { max-width: 640px; }
.ge-hero-premium__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(201,168,106,.08);
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 100px; padding: 7px 18px;
  font-size: 12px; font-weight: 600;
  color: rgba(201,168,106,.85);
  letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 28px;
}
.ge-hero-premium__badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold, var(--gold));
  animation: hero-pulse 2s ease infinite;
}
@keyframes hero-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .5; transform: scale(1.4); }
}
.ge-hero-premium__h1 {
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 300; line-height: 1.1;
  color: #fff; margin: 0 0 20px;
  text-shadow: 0 10px 34px rgba(0,0,0,.42);
}
.ge-hero-premium__h1 em { font-style: italic; color: var(--gold-l, var(--gold-l)); }
.ge-hero-premium__sub {
  font-size: clamp(15px, 1.6vw, 17px);
  color: rgba(255,255,255,.9);
  line-height: 1.75; margin: 0 0 36px;
  max-width: 520px;
  text-shadow: 0 3px 16px rgba(0,0,0,.52);
}
.ge-hero-premium__actions {
  display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 48px;
}
.ge-hero-premium__trust { /* Chip-Stil via ge-components.css */ }
.ge-hero-premium__trust-item { /* via ge-components.css */ }
.ge-hero-premium__trust-item:first-child { padding-left: 14px; }
.ge-hero-premium__trust-num { /* via ge-components.css */ }
.ge-hero-premium__trust-lbl { /* via ge-components.css */ }
.ge-hero-premium__trust-div { display: none; }

/* â”€â”€ Two-Column Hero Layout â”€â”€ */
.ge-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

/*
 * FIX GLOBAL: ge-hero-premium__bg-img absolut positioniert.
 * Wird in hero-premium.php fÃ¼r alle Unterseiten-Heroes verwendet.
 * Ohne diese Regel: <img> im normalen Flex-Flow â†’ Text erscheint
 * UNTERHALB des Bilds statt als Overlay darÃ¼ber.
 */
.ge-hero-premium .ge-hero-premium__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 860px) {
  .ge-two-col { grid-template-columns: 1fr; gap: 40px; }
}
.ge-two-col__media-box {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(201,168,106,.28);
  border-radius: 20px;
  padding: 36px 32px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 32px rgba(0,0,0,.28);
}

/* â”€â”€ Checklist (hero & global) â”€â”€ */
.ge-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.ge-checklist li {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  font-size: 14px; line-height: 1.55;
}
.ge-checklist li:last-child { border-bottom: none; }
.ge-checklist--light li { color: rgba(255,255,255,.85) !important; }
.ge-checklist--light li::before { color: var(--gold-l, var(--gold-l)) !important; }
.ge-checklist li::before {
  content: 'âœ“';
  color: var(--gold, var(--gold));
  font-weight: 700; font-size: 12px;
  flex-shrink: 0; margin-top: 2px;
}

/* â”€â”€ Breadcrumb Premium â”€â”€ */
/* FIX v65: Breadcrumbs ausgeblendet â€” Premium-Look ohne Navigations-KrÃ¼mel */
.ge-breadcrumb-premium,
.ge-breadcrumb,
nav[aria-label="Breadcrumb"] {
  display: none !important;
}

@media (max-width: 640px) {
  .ge-hero-premium { padding: 100px 0 60px; min-height: auto; }
  .ge-hero-premium__trust { gap: 12px; }
  .ge-hero-premium__trust-item { padding: 0 12px; }
  .ge-hero-premium__trust-div { display: none; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v28 â€” PERFORMANCE + UX IMPROVEMENTS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Reduce motion â€” global override */
@media (prefers-reduced-motion: reduce) {
  .ge-reveal, .ge-hero__h1, .ge-hero__sub, .ge-hero__btns,
  .ge-hero__awards, .ge-award-card, .ge-hero-premium__badge-dot {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Performance hints for animated elements */
.ge-hero__bg,
.ge-hero-premium__orb,
.ge-award-card,
.ge-dropdown,
.ge-hero__grain,
.ge-hero-premium__grain {
  will-change: transform;
  contain: layout style;
}

/* Contain layout shifts on card grids */
.vg-grid,
.ge-checklist,
.ge-hero__awards {
  contain: layout;
}

/* â”€â”€ Form UX improvements (v28) â”€â”€ */
.ge-input:focus,
.ge-input:focus-visible,
.ge-select:focus,
.ge-select:focus-visible {
  outline: 2px solid rgba(201,168,106,.5);
  outline-offset: 0;
  box-shadow: 0 0 0 4px rgba(201,168,106,.08);
  border-color: rgba(201,168,106,.6);
  transition: box-shadow .18s ease, border-color .18s ease;
}

.ge-input::placeholder {
  color: rgba(0,0,0,.28);
  transition: opacity .15s;
}
.ge-input:focus::placeholder {
  opacity: 0.4;
}

/* Anliegen-Button active state â€” more distinctive */
.ge-anliegen__btn.is-active {
  border-color: var(--gold, var(--gold)) !important;
  background: rgba(201,168,106,.1) !important;
  color: var(--navy, var(--navy));
  box-shadow: 0 0 0 3px rgba(201,168,106,.15);
}

/* â”€â”€ CTA Band â€” final layout fix (v27+v28) â”€â”€ */
@media (max-width: 640px) {
  .ge-cta-band { padding: 56px 0; }
  .ge-cta-band__inner { text-align: center; }
  .ge-cta-band__inner > div:first-child { flex: 1 1 100%; }
  .ge-cta-actions { justify-content: center; }
}

/* â”€â”€ Section spacing consistency â”€â”€ */
.ge-section {
  contain: layout style;
}

/* â”€â”€ Button micro-interaction refinements â”€â”€ */
.ge-btn {
  position: relative;
  overflow: hidden;
}
.ge-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0);
  transition: background .2s;
  border-radius: inherit;
  pointer-events: none;
}
.ge-btn:hover::after {
  background: rgba(255,255,255,.06);
}
.ge-btn:active::after {
  background: rgba(0,0,0,.08);
}

/* â”€â”€ Dropdown accessibility â€” keyboard focus â”€â”€ */
.ge-nav__item--drop:focus-within .ge-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* â”€â”€ Mobile nav: smoother link hover â”€â”€ */
.ge-mobile__list a {
  transition: color .15s ease, padding-left .15s ease;
}

/* â”€â”€ Image loading hints â”€â”€ */
img[loading="lazy"] {
  background: rgba(255,255,255,.03);
}

/* â”€â”€ Skip link (accessibility) â€” make it visible on focus â”€â”€ */
.ge-skip-link {
  position: fixed;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  background: var(--gold, var(--gold));
  color: #fff;
  padding: 12px 28px;
  border-radius: 0 0 8px 8px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: top .15s;
}
.ge-skip-link:focus {
  top: 0;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v29 â€” TARGETED PERFORMANCE + UX REFINEMENTS
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Disable expensive GPU blur on mobile â€” orbs not visible anyway */
@media (max-width: 768px) {
  .ge-hero-premium__orb {
    display: none;
  }
  .ge-hero__bg {
    filter: none;
  }
  /* Simpler gradient backdrop-filter on mobile header */
  .ge-header {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
}

/* Context fields: smooth animated reveal */
.ge-ctx-fields {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .35s cubic-bezier(.16,1,.3,1), opacity .3s ease;
  pointer-events: none;
}
.ge-ctx-fields.is-visible {
  max-height: 600px;
  opacity: 1;
  pointer-events: auto;
}

/* Submit button: loading state */
.ge-btn--gold.is-loading {
  opacity: .75;
  cursor: not-allowed;
  pointer-events: none;
}
.ge-btn--gold.is-loading::after {
  content: '';
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ge-spin .7s linear infinite;
  margin-left: 8px;
  vertical-align: middle;
}
@keyframes ge-spin {
  to { transform: rotate(360deg); }
}

/* Anliegen buttons: better grid on mobile */
.ge-anliegen {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 24px;
}
.ge-anliegen__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 12px;
  border-radius: 10px;
  border: 1.5px solid rgba(201,168,106,.15);
  background: rgba(255,255,255,.02);
  cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--text, var(--text));
  text-align: center;
  line-height: 1.3;
}
.ge-anliegen__btn:hover {
  border-color: rgba(201,168,106,.35);
  background: rgba(201,168,106,.05);
}
.ge-anliegen__sub {
  display: block;
  font-size: 10.5px;
  font-weight: 400;
  color: var(--muted, var(--muted));
  margin-top: 2px;
}

/* Form row responsive */
@media (max-width: 600px) {
  .ge-form__row {
    flex-direction: column;
  }
  .ge-anliegen {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Trust strip: better mobile stacking */
@media (max-width: 640px) {
  .ge-trust__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .ge-trust__item {
    border-right: none !important;
    border-bottom: 1px solid rgba(201,168,106,.07);
    min-width: auto;
  }
}

/* Process step: horizontal line fix on 2-col layout */
@media (max-width: 700px) and (min-width: 481px) {
  .ge-process {
    grid-template-columns: 1fr 1fr;
  }
  .ge-process::before {
    display: none;
  }
}

/* Section heading: consistent spacing */
/* .ge-section-h2 â†’ definiert in ge-base.css und oben */
.ge-section-h2 em { font-style: italic; color: var(--gold-l); }
.ge-section--light .ge-section-h2 { color: var(--navy); }
.ge-section--light .ge-section-h2 em { color: var(--gold-d); }

/* Hero orb: reduce blur radius on mid-range screens */
@media (max-width: 1200px) {
  .ge-hero-premium__orb {
    filter: blur(50px);
  }
}

/* Card hover: GPU-composited only (transform + box-shadow) */
.ge-award-card {
  transition: border-color .3s, transform .3s, box-shadow .3s;
}

/* Prevent orphaned last testimonial card */
.ge-testi-grid {
  container-type: inline-size;
}
@container (max-width: 500px) {
  .ge-testi-grid {
    grid-template-columns: 1fr;
  }
}

/* Improve contact form checkbox alignment */
.ge-form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
}
.ge-form-checkbox__input {
  width: 17px; height: 17px;
  border-radius: 4px;
  border: 1.5px solid rgba(201,168,106,.3);
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
  transition: border-color .15s, background .15s;
  accent-color: var(--gold, var(--gold));
}
.ge-form-checkbox__input:checked {
  background: var(--gold, var(--gold));
  border-color: var(--gold, var(--gold));
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
}
.ge-form-checkbox__input:focus-visible {
  outline: 2px solid rgba(201,168,106,.5);
  outline-offset: 2px;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v31 â€” KONTAKT-SEITE VOLLSTÃ„NDIGE CSS
   ge-sec, ge-contact-layout, ge-field, ge-input, ge-textarea,
   ge-checklist â€” bisher nur im Parent-Theme definiert
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Helle Sektion (Kontakt Body-Hintergrund) */
.ge-sec {
  padding: 80px 0;
  position: relative;
  z-index: 1;
}
.ge-sec--light {
  background: var(--warm, #FAF8F4);
  color: var(--text, var(--text));
}
/* Fix: ge-section-h2 is white by default â€” override for light sections */
.ge-sec--light .ge-section-h2,
.ge-sec--light h2.ge-section-h2 {
  color: var(--navy) !important;
}
.ge-sec--light .ge-section-h2 em,
.ge-sec--light h2.ge-section-h2 em {
  color: var(--gold-d) !important;
}
.ge-sec--deep {
  background: var(--navy-d, var(--navy-d));
}
.ge-sec--navy {
  background: var(--navy, var(--navy));
}

/* Kontakt 2-Spalten-Layout */
.ge-contact-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 56px;
  align-items: start;
}
@media (max-width: 900px) {
  .ge-contact-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Sidebar */
.ge-contact-sidebar {
  background: #fff;
  border: 1px solid var(--border, var(--border));
  border-radius: 20px;
  padding: 32px;
  position: sticky;
  top: 90px;
}
@media (max-width: 900px) {
  .ge-contact-sidebar {
    position: static;
  }
}

/* Kontakt-Item (Telefon, E-Mail, Adresse etc.) */
.ge-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border, var(--border));
}
.ge-contact-item:last-of-type {
  border-bottom: none;
}
.ge-contact-item__icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(201,168,106,.08);
  border: 1px solid rgba(201,168,106,.18);
  color: var(--gold-d, var(--gold-d));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ge-contact-item__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted, var(--muted));
  margin-bottom: 3px;
}
.ge-contact-item__value {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--navy, var(--navy));
  text-decoration: none;
  line-height: 1.4;
}
.ge-contact-item__value:hover {
  color: var(--gold-d, var(--gold-d));
}

/* Formular-Wrapper */
.ge-contact-form-wrap {
  background: #fff;
  border: 1px solid var(--border, var(--border));
  border-radius: 20px;
  padding: 40px;
}
@media (max-width: 640px) {
  .ge-contact-form-wrap {
    padding: 24px 20px;
  }
}

/* Form Row */
.ge-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .ge-form__row {
    grid-template-columns: 1fr;
  }
}

/* Form Field */
.ge-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.ge-field__label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--navy, var(--navy));
  letter-spacing: .02em;
}
.ge-field__label span[aria-label="Pflichtfeld"] {
  color: var(--gold-d, var(--gold-d));
  margin-left: 2px;
}

/* Input, Select, Textarea BASE */
.ge-input,
.ge-select,
.ge-textarea {
  width: 100%;
  font-family: var(--sans, 'Outfit', system-ui, sans-serif);
  font-size: 14px;
  color: var(--text, var(--text));
  background: var(--warm, #FAF8F4);
  border: 1.5px solid var(--border, var(--border));
  border-radius: 10px;
  padding: 12px 14px;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .18s, box-shadow .18s, background .18s;
  line-height: 1.5;
}
.ge-select {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}
.ge-textarea {
  resize: vertical;
  min-height: 110px;
}
.ge-input:hover,
.ge-select:hover,
.ge-textarea:hover {
  border-color: rgba(201,168,106,.45);
}

/* Checklist */
.ge-checklist {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
/* Default-Farbe nur fÃ¼r helle Kontexte â€” auf dunklem Hintergrund greift --light Variante */
.ge-checklist:not(.ge-checklist--light) li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: var(--text, var(--text));
}
.ge-checklist--light li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: rgba(255,255,255,.85) !important;
}
/* Default icon (dunkle Schrift â†’ dunkles Gold) */
.ge-checklist li::before {
  content: '';
  width: 18px; height: 18px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='8.5' stroke='%239A7030' stroke-opacity='.6'/%3E%3Cpolyline points='5.5,9.5 8,12 12.5,6.5' stroke='%239A7030' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
/* Light-Variante (helles Gold) fÃ¼r dunkle Hero-HintergrÃ¼nde */
.ge-checklist--light li::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='8.5' stroke='%23E8D090' stroke-opacity='.75'/%3E%3Cpolyline points='5.5,9.5 8,12 12.5,6.5' stroke='%23E8D090' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Form hint below submit */
.ge-form__hint {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted, var(--muted));
  margin-top: 10px;
  justify-content: center;
}

/* Anliegen-Button grid */
.ge-anliegen {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 24px;
}
@media (max-width: 640px) {
  .ge-anliegen {
    grid-template-columns: repeat(2, 1fr);
  }
}
.ge-anliegen__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 13px 10px;
  border-radius: 10px;
  border: 1.5px solid var(--border, var(--border));
  background: var(--warm, #FAF8F4);
  cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s;
  font-family: var(--sans, 'Outfit', system-ui, sans-serif);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text, var(--text));
  text-align: center;
  line-height: 1.3;
}
.ge-anliegen__btn:hover {
  border-color: rgba(201,168,106,.4);
  background: rgba(201,168,106,.06);
}
.ge-anliegen__btn.is-active {
  border-color: var(--gold, var(--gold)) !important;
  background: rgba(201,168,106,.1) !important;
  box-shadow: 0 0 0 3px rgba(201,168,106,.12);
}
.ge-anliegen__sub {
  display: block;
  font-size: 10.5px;
  font-weight: 400;
  color: var(--muted, var(--muted));
}

/* Context fields animation */
.ge-ctx-fields {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .35s cubic-bezier(.16,1,.3,1), opacity .3s ease;
  pointer-events: none;
}
.ge-ctx-fields.is-visible {
  max-height: 600px;
  opacity: 1;
  pointer-events: auto;
}

/* Eyebrow gold-d variant */
.ge-eyebrow--gold-d {
  color: var(--gold-d, var(--gold-d));
}
.ge-eyebrow--gold-d::before,
.ge-eyebrow--gold-d::after {
  background: var(--gold-d, var(--gold-d));
}

/* Submit loading spinner */
.ge-btn--gold.is-loading {
  opacity: .75;
  cursor: not-allowed;
  pointer-events: none;
}
.ge-btn--gold.is-loading::after {
  content: '';
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ge-spin .7s linear infinite;
  margin-left: 8px;
  vertical-align: middle;
}
@keyframes ge-spin {
  to { transform: rotate(360deg); }
}

/* Kontakt sec-h2 */
.ge-sec-h2 {
  font-family: var(--serif, 'Cormorant Garamond', serif);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 300;
  line-height: 1.18;
  color: var(--navy, var(--navy));
}
.ge-sec-h2 em {
  font-style: italic;
  color: var(--gold-d, var(--gold-d));
}
.ge-sec-hd { margin-bottom: 48px; }
.ge-sec-hd--center { text-align: center; }


/* â”€â”€ v31 Additions: missing variants â”€â”€ */
.ge-sec-h2--light { color: #fff; }
.ge-sec-h2--light em { color: var(--gold-l, var(--gold-l)); }
.ge-sec-hd--center { text-align: center; }

/* Eyebrow on dark background */
.ge-sec--deep .ge-eyebrow,
.ge-sec--navy .ge-eyebrow { color: var(--gold, var(--gold)); }

/* â”€â”€ v31: Sticky CTA auf Kontaktseite ausblenden (ISSUE-OPEN-005) â”€â”€ */
.page-template-page-kontakt-php .ge-sticky-cta {
  display: none !important;
}

/* â”€â”€ v31: Print-Basis fÃ¼r Rechner (ISSUE-OPEN-006) â”€â”€ */
@media print {
  .ge-header, .ge-footer, .ge-sticky-cta, .ge-wa-float,
  .ge-hero-premium, .ge-cta-band, .ge-breadcrumb-premium { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  .ge-section, .ge-sec { padding: 20px 0 !important; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v38 â€” ISSUE-OPEN-007: <noscript> CSS-Fallbacks
   Wenn JS deaktiviert ist (body.no-js), werden JS-abhÃ¤ngige
   Komponenten vollstÃ¤ndig aufgeklappt dargestellt.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* FAQ: Alle Items offen zeigen */
body.no-js .ge-faq-item .ge-faq-a {
  display: block;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  padding: 0 0 20px !important;
}
body.no-js .ge-faq-q {
  cursor: default;
  pointer-events: none;
}
body.no-js .ge-faq-q .ge-faq-icon {
  display: none;
}

/* Anliegen-Tabs: Alle Context-Felder sichtbar */
body.no-js [id^="ge-ctx-"] {
  display: block;
  opacity: 1 !important;
}
body.no-js .ge-anliegen__btn {
  display: none;
}

/* Funnel: Alle Schritte sichtbar */
body.no-js .ge-fstep {
  display: block;
  opacity: 1 !important;
}
body.no-js .ge-funnel-progress {
  display: none;
}

/* Exit-Intent Overlay: nie zeigen ohne JS */
body.no-js .ge-exit-overlay {
  display: none !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v39 â€” ISSUE-OPEN-004: Skeleton-Loader
   Verwendet @keyframes shimmer â€” GPU-freundlich via transform.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@keyframes ge-shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.ge-skeleton {
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,.06);
  border-radius: 8px;
}
.ge-skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.08) 50%,
    transparent 100%
  );
  animation: ge-shimmer 1.4s ease-in-out infinite;
  will-change: transform;
}

/* Slot-Buttons im Buchungswidget */
.ge-skeleton--slot {
  height: 40px;
  border-radius: 8px;
}

/* Auf hellen Sektionen */
.ge-sec--light .ge-skeleton,
.ge-sec--white .ge-skeleton {
  background: rgba(0,0,0,.06);
}
.ge-sec--light .ge-skeleton::after,
.ge-sec--white .ge-skeleton::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.05) 50%,
    transparent 100%
  );
}

/* Reduced motion: kein Shimmer */
@media (prefers-reduced-motion: reduce) {
  .ge-skeleton::after { animation: none; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v41 â€” NEU-B: page-energie.php Klassen
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* GEG-Strip */
.ge-energie-strip {
  background: #FFF8E7;
  border-bottom: 1px solid rgba(201,168,106,.25);
  padding: 16px 0;
}
.ge-energie-strip__text {
  font-family: var(--sans, 'Outfit', sans-serif);
  font-size: 14px;
  color: #713f12;
  margin: 0;
}

/* Gutachten-Grid Item Title & Text (shared with gutachten page) */
.ge-gutachten-item__title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 5px;
  color: var(--navy, var(--navy));
}
.ge-gutachten-item__text {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

/* Transparenz-Text */
.ge-energie-transp__text {
  font-size: 15px;
  color: #4b5563;
  line-height: 1.8;
}

/* CTA Strip (dark â€” shared pattern) */
.ge-cta-strip {
  background: var(--navy, var(--navy));
  text-align: center;
}
.ge-cta-strip__title {
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-weight: 300;
  font-size: clamp(30px, 3vw, 46px);
  color: #fff;
  margin-bottom: 14px;
}
.ge-cta-strip__title em {
  color: var(--gold-l, var(--gold-l));
  font-style: italic;
}
.ge-cta-strip__sub {
  font-size: 16px;
  color: rgba(255,255,255,.55);
  margin-bottom: 32px;
}

/* Hero content block */
.ge-hero-premium__content {
  position: relative;
  z-index: 2;
  max-width: 720px;
}

/* Container with bottom padding */
.ge-container--pb { padding-bottom: 48px; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v41 â€” NEU-C: :focus-visible â€” WCAG 2.1 AA Keyboard Navigation
   Entfernt Fokusring bei Mausklick, behÃ¤lt ihn bei Tastatur.
   outline: none nur wenn :focus-visible Ersatz vorhanden ist.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Globaler Keyboard-Fokusring fÃ¼r alle interaktiven Elemente */
:focus-visible {
  outline: 2px solid var(--gold, var(--gold));
  outline-offset: 2px;
  border-radius: 3px;
}

/* Inputs und Selects: Fokus Ã¼ber border-color kommunizieren */
.ge-input:focus-visible,
.ge-select:focus-visible,
.ge-roi-field input:focus-visible,
.ge-booking-date:focus-visible {
  outline: none; /* border-color change ist ausreichend + sichtbar */
}

/* Buttons mit eigenem Fokus-Stil */
.ge-btn:focus-visible {
  outline: 2px solid var(--gold, var(--gold));
  outline-offset: 3px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v42 â€” Shared helper classes (gutachten, leistungen, markt)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Heading inverse (white on dark) */
.ge-section-h2--inv    { color: #fff; }
.ge-section-h2--light-inv { color: #fff; }

/* Full-width button */
.ge-btn--full { width: 100%; justify-content: center; }

/* Two-col hero gap */
.ge-two-col--hero { position: relative; z-index: 2; gap: 56px; align-items: center; }

/* Hero sub note */
.ge-hero-cta-note {
  font-size: 12px;
  color: rgba(255,255,255,.52);
  text-align: center;
  margin-top: 12px;
}

/* KPI Strip variants */
.ge-gutachten-kpi-wrap {
  background: var(--navy-m, var(--navy-m));
  padding: 0;
  border-bottom: 1px solid rgba(201,168,106,.1);
}
/* Base KPI-Strip Layout */
.ge-kpi-strip {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
}
.ge-kpi-strip__item {
  flex: 1;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 22px 20px;
  border-right: 1px solid rgba(201,168,106,.1);
  text-align: center;
  gap: 4px;
}
.ge-kpi-strip__item:last-child { border-right: none; }
.ge-kpi-strip__val {
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 22px;
  font-weight: 300;
  color: var(--gold, var(--gold));
  line-height: 1;
}
.ge-kpi-strip__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
/* Modifier overrides */
.ge-kpi-strip--flush {
  background: transparent;
  border: none;
  border-radius: 0;
  margin-bottom: 0;
  box-shadow: none;
}
.ge-kpi-strip__item--dark { border-color: rgba(201,168,106,.08); }
.ge-kpi-strip__val--gold  { color: var(--gold-l, var(--gold-l)); font-size: 24px; }
.ge-kpi-strip__label--light { color: rgba(255,255,255,.6); font-size: 11px; }

/* Section centered head */
.ge-section-head--centered { text-align: center; }

/* Section backgrounds */
.ge-section--navy    { background: var(--navy, var(--navy)); }
.ge-section--white   { background: #fff; }
.ge-section--bg-light { background: var(--warm); }

/* Gutachten compare grid */
.ge-gutachten-compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  flex-wrap: wrap;
}

/* Muster-Gutachten card */
.ge-muster-card {
  background: #fff;
  border: 1px solid #E9E4DB;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.1);
}
.ge-muster-card__header {
  background: linear-gradient(135deg, var(--navy), var(--navy-m));
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ge-muster-card__brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 15px;
  color: var(--gold-l);
  letter-spacing: .1em;
}
.ge-muster-card__label {
  font-size: 11px;
  color: rgba(255,255,255,.4);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ge-muster-card__body   { padding: 28px; }
.ge-muster-card__footer {
  background: var(--warm);
  padding: 14px 24px;
  border-top: 1px solid #E9E4DB;
  text-align: center;
}
.ge-muster-card__link {
  font-size: 13px;
  font-weight: 600;
  color: var(--gold-d);
  text-decoration: none;
}
.ge-muster-card__link:hover { text-decoration: underline; }

/* Muster skeleton elements */
.ge-muster-line       { background: #e5e7eb; border-radius: 3px; margin-bottom: 10px; }
.ge-muster-line--h    { height: 14px; width: 80%; }
.ge-muster-line--m    { height: 10px; width: 55%; margin-bottom: 22px; }
.ge-muster-line--sm   { height: 8px; background: #e5e7eb; border-radius: 2px; margin-bottom: 6px; }
.ge-muster-divider    { height: 1px; background: #e5e7eb; margin-bottom: 18px; }
.ge-muster-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 18px;
}
.ge-muster-cell {
  background: #f9f9f9;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px;
}
.ge-muster-gold-box {
  height: 60px;
  background: linear-gradient(135deg, rgba(201,168,106,.06), rgba(201,168,106,.02));
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 16px;
}
.ge-muster-sig {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 2px solid rgba(201,168,106,.25);
  border-radius: 10px;
  padding: 12px 16px;
}
.ge-muster-sig__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px;
  color: var(--gold-d);
  font-weight: 600;
  flex-shrink: 0;
}
.ge-muster-sig__name { font-size: 12px; font-weight: 700; color: #0A1A2F; }
.ge-muster-sig__sub  { font-size: 11px; color: #4b5563; }

/* Gutachten FAQ grid */
.ge-gutachten-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
}

/* Promo box */
.ge-promo-box {
  padding: 24px;
  background: var(--warm);
  border: 1px solid #E9E4DB;
  border-radius: 14px;
}
.ge-promo-box__text {
  font-size: 14px;
  color: #4b5563;
  margin: 0 0 12px;
}
.ge-promo-box__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gold-d, var(--gold-d));
  text-decoration: none;
}

/* Compare table */
.ge-compare-center { text-align: center; }
.ge-compare-gold   { color: var(--gold-l); }

/* Button group */
.ge-btn-group { display: flex; gap: 12px; flex-wrap: wrap; }

/* Section tag gold */
.ge-section-tag--gold { color: var(--gold-d); }

/* Section sub */
.ge-section-sub {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 28px;
}

/* Gutachten item meta */
.ge-gutachten-item__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Review elements (gutachten) */
.ge-review-stars { display: flex; gap: 2px; margin-bottom: 12px; }
.ge-review-quote {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.75;
  margin: 0 0 16px;
  font-style: italic;
}
.ge-review-author { display: flex; align-items: center; gap: 10px; }
.ge-review-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--navy, var(--navy));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px;
  color: var(--gold-l, var(--gold-l));
  font-weight: 600;
  flex-shrink: 0;
}
.ge-review-name { font-size: 13px; font-weight: 700; color: var(--navy, var(--navy)); }
.ge-review-meta { font-size: 11px; color: #9ca3af; }

/* markt: dl titles and tool titles */
.mk-dl-title    { font-size: 15px; font-weight: 700; color: var(--navy, var(--navy)); margin: 0 0 6px; }
.mk-dl-icon__svg { color: var(--gold-d, var(--gold-d)); }
.mk-tool-title  { font-size: 16px; font-weight: 700; color: var(--navy, var(--navy)); margin: 0 0 8px; line-height: 1.3; }

/* ankauf: step title as h3 */
.ak-step-body__title {
  font-family: var(--sans, -apple-system, sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--navy, var(--navy));
  margin: 0 0 3px;
}

@media (max-width: 720px) {
  .ge-gutachten-compare-grid,
  .ge-gutachten-faq-grid { grid-template-columns: 1fr; gap: 32px; }
  .ge-muster-grid { grid-template-columns: 1fr; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   CHECKLIST VISIBILITY FIX â€” Nuklearer Fallback v49
   HÃ¶chste PrioritÃ¤t: schlÃ¤gt alle Parent-Theme Overrides.
   Die --light Variante ist ausschlieÃŸlich fÃ¼r dunkle HintergrÃ¼nde.
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
ul.ge-checklist.ge-checklist--light li,
ul.ge-checklist.ge-checklist--light > li {
  color: rgba(255, 255, 255, .90) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.3);
}
ul.ge-checklist.ge-checklist--light li::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='8.5' stroke='%23E8D090' stroke-opacity='.8'/%3E%3Cpolyline points='5.5,9.5 8,12 12.5,6.5' stroke='%23E8D090' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
/* media-box auf ge-hero-premium: stÃ¤rkeres Glas-Effekt */
.ge-hero-premium .ge-two-col__media-box {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(201,168,106,.35) !important;
}
/* Eyebrow in media-box auf dunklem Hintergrund */
.ge-hero-premium .ge-two-col__media-box .ge-eyebrow {
  color: var(--gold, var(--gold)) !important;
}
.ge-hero-premium .ge-two-col__media-box .ge-eyebrow::before,
.ge-hero-premium .ge-two-col__media-box .ge-eyebrow::after {
  background: var(--gold, var(--gold)) !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FUNNEL â€” Kontaktformular Schritt-Indicator & Buttons
   v59: VollstÃ¤ndiges CSS fÃ¼r ge-funnel, ge-fstep, ge-fstep-choice
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Fortschritts-Anzeige oben */
.ge-funnel-progress {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 36px;
  justify-content: center;
}
.ge-funnel-step {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.ge-funnel-step + .ge-funnel-step::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: rgba(0,0,0,.12);
  margin: 0 8px;
}
.ge-funnel-step--done + .ge-funnel-step::before,
.ge-funnel-step--active + .ge-funnel-step::before {
  background: rgba(201,168,106,.4);
}
.ge-funnel-dot {
  width: 26px; height: 26px;
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,.15);
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
  color: rgba(0,0,0,.35);
  transition: background-color .25s ease, color .25s ease, opacity .25s ease, transform .25s ease, border-color .25s ease;
  flex-shrink: 0;
}
.ge-funnel-dot-num { line-height: 1; }
.ge-funnel-dot-check { display: none; }
.ge-funnel-step--active .ge-funnel-dot {
  border-color: var(--gold-d);
  background: var(--gold-d);
  color: #fff;
}
.ge-funnel-step--done .ge-funnel-dot {
  border-color: #22c55e;
  background: #22c55e;
  color: #fff;
}
.ge-funnel-step--done .ge-funnel-dot-num { display: none; }
.ge-funnel-step--done .ge-funnel-dot-check { display: block; }
.ge-funnel-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(0,0,0,.35);
}
.ge-funnel-step--active .ge-funnel-label { color: var(--navy); }
.ge-funnel-step--done .ge-funnel-label { color: #16a34a; }

/* Schritt-Panels */
.ge-fstep { display: none; }
.ge-fstep--active { display: block; }

/* Auswahl-Karten (Schritt 1) */
.ge-fstep-choices {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 24px;
}
@media (max-width: 720px) {
  .ge-fstep-choices { grid-template-columns: repeat(2, 1fr); }
}
.ge-fstep-choice {
  border: 1.5px solid rgba(0,0,0,.1);
  border-radius: 12px;
  padding: 16px 12px;
  background: #fff;
  cursor: pointer;
  text-align: center;
  transition: border-color .18s, box-shadow .18s, background .18s;
  -webkit-user-select: none; user-select: none;
}
.ge-fstep-choice:hover {
  border-color: var(--gold-d);
  box-shadow: 0 2px 12px rgba(201,168,106,.15);
}
.ge-fstep-choice.is-selected {
  border-color: var(--gold-d);
  background: rgba(201,168,106,.06);
  box-shadow: 0 0 0 3px rgba(201,168,106,.12);
}
.ge-fstep-choice__icon {
  font-size: 22px; line-height: 1;
  margin-bottom: 8px; display: block;
}
.ge-fstep-choice__label {
  font-size: 13px; font-weight: 600;
  color: var(--navy);
  display: block; margin-bottom: 3px;
}
.ge-fstep-choice__sub {
  font-size: 11px; color: rgba(0,0,0,.4);
  display: block;
}

/* Weiter / ZurÃ¼ck Buttons */
.ge-funnel-nav {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.ge-funnel-next,
.ge-funnel-back {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 11px 22px;
  border-radius: 8px;
  font-size: 13px; font-weight: 600;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, opacity .18s ease, transform .18s ease;
  border: none;
  font-family: inherit;
}
.ge-funnel-next {
  background: var(--gold-d);
  color: #fff;
  box-shadow: 0 2px 8px rgba(154,112,48,.3);
}
.ge-funnel-next:hover {
  background: var(--gold);
  box-shadow: 0 4px 16px rgba(201,168,106,.4);
}
.ge-funnel-back {
  background: transparent;
  color: rgba(0,0,0,.45);
  border: 1.5px solid rgba(0,0,0,.1);
}
.ge-funnel-back:hover {
  border-color: rgba(0,0,0,.25);
  color: rgba(0,0,0,.7);
}

/* v78: Mustergutachten echte Inhalte */
.ge-muster-obj-title { font-family: var(--serif); font-size: 18px; font-weight: 600; color: var(--navy,#0A1A2F); margin-bottom: 3px; }
.ge-muster-obj-sub { font-size: 11.5px; color: #4b5563; margin-bottom: 18px; }
.ge-muster-cell__label { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #6b7280; margin-bottom: 4px; }
.ge-muster-cell__value { font-family: var(--serif); font-size: 20px; font-weight: 600; color: var(--navy,#0A1A2F); line-height: 1.1; }
.ge-muster-gold-box { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; height: auto; padding: 20px 16px; }
.ge-muster-gold-box__label { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9A7030; margin-bottom: 6px; }
.ge-muster-gold-box__value { font-family: var(--serif); font-size: 36px; font-weight: 300; color: var(--gold,#C9A86A); line-height: 1; margin-bottom: 6px; }
.ge-muster-gold-box__method { font-size: 10px; color: #7a6030; letter-spacing: .04em; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   v97 Gewerbe-Fixes
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Off-Market-Vorteil: Schrift auf hellem Hintergrund dunkel/lesbar */
.ge-section--light .ge-split .ge-section-h2--dk {
  color: var(--navy, #080f1e) !important;
}
.ge-split__p--dk {
  font-size: 15px;
  color: var(--navy, #080f1e) !important;
  opacity: .72;
  line-height: 1.85;
  margin-bottom: 16px;
}
.ge-split__list--dk li {
  color: var(--navy, #080f1e) !important;
  opacity: .65;
  border-bottom-color: rgba(8,15,30,.07) !important;
}
.ge-split__list--dk li span { color: var(--gold-d, #9A7030) !important; }

/* Marktdaten: Schrift auf hellem Hintergrund dunkel */
.ge-section--light .ge-markt-data-card__val {
  color: var(--gold-d, #9A7030) !important;
}
.ge-section--light .ge-markt-data-card__lbl {
  color: var(--navy, #080f1e) !important;
  opacity: .55;
}
.ge-section--light .ge-section-hd .ge-section-h2,
.ge-section--light .ge-section-hd .ge-section-h2 em {
  color: var(--navy, #080f1e);
}
.ge-section--light .ge-section-tag {
  color: var(--gold-d, #9A7030);
}

/* Prozess-Linie: von Kreis-Mitte zu Kreis-Mitte, NICHT durch die Zahl */
.ge-process-steps {
  position: relative;
}
.ge-process-steps::before {
  left: 32px !important;        /* exakt Kreismitte (Kreis = 64px breit, left:0) */
  top: 80px !important;         /* nach erstem Kreis-Mittelpunkt (32px Padding + 32px halbe HÃ¶he) */
  bottom: 80px !important;      /* vor letztem Kreis-Mittelpunkt */
  z-index: 0;
}
.ge-process-num {
  position: relative;
  z-index: 1;                   /* Zahl liegt ÃœBER der Linie */
  background: var(--bg-dark, #06101f) !important; /* Hintergrund deckt Linie ab */
}
/* Dunkler Kontext (Sektion dunkel) */
.ge-section--dark .ge-process-num {
  background: #060d1c !important;
}

/* "Auch interessant" â€” kompakter */
.ge-topical-related {
  padding: 36px 0 40px !important;
}
.ge-topical-related__label {
  margin-bottom: 24px !important;
}
.ge-topical-related__item {
  padding: 20px 22px 18px !important;
}

/* ===== END ge-page.css ===== */

/* Header-Nav Feinschliff: keine rotierende Chevron-/Underline-Kollision */
.ge-nav__link--drop::after {
  display: none !important;
}

.ge-nav__link--drop:hover,
.ge-nav__item--drop:focus-within .ge-nav__link--drop {
  box-shadow: inset 0 -1.5px 0 rgba(201,168,106,.82);
}

.ge-nav__item--drop:hover .ge-nav__link--drop svg,
.ge-nav__item--drop:focus-within .ge-nav__link--drop svg {
  transform: none !important;
  opacity: .92 !important;
}

/* Final visual QA pass */
.ge-cta-band h2 {
  margin: 0 auto 12px;
  max-width: 12ch;
}

.ge-cta-band p {
  margin: 0 auto;
  max-width: 60ch;
  text-align: center;
  color: rgba(255,255,255,.84);
}

.ge-cta-btns {
  justify-content: center;
}

.ge-hero-premium__sub {
  color: rgba(255,255,255,.9);
  text-shadow: 0 3px 14px rgba(0,0,0,.32);
}


/* v123.0 mobile compact pass: less scroll, better hierarchy */
@media (max-width: 900px) {
  .ge-hero,
  .ge-hero-premium {
    min-height: clamp(72vh, 78vh, 84vh);
  }

  .ge-section,
  section[class*="ge-"] {
    padding-top: clamp(32px, 5vw, 48px) !important;
    padding-bottom: clamp(32px, 5vw, 48px) !important;
  }

  .ge-section-h1,
  .ge-hero h1,
  .ge-hero-premium h1 {
    font-size: clamp(34px, 9vw, 52px) !important;
    line-height: 1.04;
    margin-bottom: 12px !important;
  }

  .ge-section-h2,
  .ge-hero h2,
  .ge-hero-premium h2 {
    font-size: clamp(24px, 6.2vw, 34px) !important;
    line-height: 1.12;
    margin-bottom: 10px !important;
  }

  .ge-hero-premium__sub,
  .ge-hero p,
  .ge-content p {
    font-size: clamp(16px, 4.2vw, 18px) !important;
    line-height: 1.55;
    margin-bottom: 12px !important;
  }

  .ge-card,
  .ge-feature,
  .ge-service-card,
  .ge-cta-band,
  .ge-kpi,
  .ge-panel {
    padding: 16px !important;
    border-radius: 14px !important;
  }

  .ge-grid,
  .ge-cards,
  .ge-features,
  .ge-cta-btns,
  .ge-process-steps {
    gap: 12px !important;
  }

  .ge-btn,
  .ge-btn-primary,
  .ge-btn-secondary {
    min-height: 48px;
    padding: 12px 16px !important;
  }
}

@media (max-width: 640px) {
  .ge-header {
    height: 64px;
  }

  .ge-hero,
  .ge-hero-premium {
    min-height: 70vh;
  }

  .ge-hero .ge-cta-btns,
  .ge-hero-premium .ge-cta-btns {
    position: sticky;
    bottom: 8px;
    z-index: 9;
    padding: 8px;
    background: linear-gradient(180deg, rgba(6,10,18,0) 0%, rgba(6,10,18,.82) 42%, rgba(6,10,18,.95) 100%);
    backdrop-filter: blur(4px);
  }
}

/* v125.0 mobile optimization pass: denser cards + footer-end strip fix */
@media (max-width: 768px) {
  /* Less vertical bulk in repeated card sections (often 6 items) */
  .ge-card,
  .ge-feature,
  .ge-service-card,
  .ge-topical-related__item,
  .uu-pc,
  .ge-kpi,
  .ge-panel {
    padding: 12px !important;
    border-radius: 12px !important;
    min-height: 0 !important;
  }

  .ge-card p,
  .ge-feature p,
  .ge-service-card p,
  .ge-topical-related__item p,
  .uu-pc p {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    margin-bottom: 8px !important;
  }

  .ge-card h3,
  .ge-feature h3,
  .ge-service-card h3,
  .ge-topical-related__item h3,
  .uu-pc h3 {
    font-size: 20px !important;
    margin-bottom: 8px !important;
  }

  .ge-process-steps,
  .uu-tl {
    gap: 10px !important;
  }

  .ge-process-step,
  .uu-tl-item {
    margin-bottom: 14px !important;
    padding-bottom: 0 !important;
  }

  /* Keep bottom content above floating actions and avoid visual clipping */
  .ge-footer,
  .site-footer,
  footer {
    margin-bottom: 0 !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  }

  html,
  body,
  #page {
    background: #04080f !important;
  }
}

/* Samsung/Android occasional white strip under viewport */
html {
  background-color: #04080f;
}
body {
  background-color: #04080f;
}

/* v126.0 mobile density pass: less top whitespace + slimmer 4-card blocks */
@media (max-width: 768px) {
  /* Homepage top section: reduce oversized vertical gap */
  .hero,
  .ge-hero,
  .ge-hero-premium {
    min-height: auto !important;
    padding-top: 72px !important;
    padding-bottom: 42px !important;
  }

  .hero__content,
  .ge-hero__content,
  .ge-hero-premium__content {
    padding-top: 22px !important;
    padding-bottom: 8px !important;
  }

  /* "Auch interessant" and similar 4-card grids: slimmer cards */
  .ge-topical-related {
    padding-top: 24px !important;
    padding-bottom: 26px !important;
  }

  .ge-topical-related__label {
    margin-bottom: 14px !important;
  }

  .ge-topical-related__grid {
    gap: 10px !important;
  }

  .ge-topical-related__item {
    min-height: 158px !important;
    padding: 14px 14px 12px !important;
    border-radius: 14px !important;
  }

  .ge-topical-related__item h3 {
    font-size: 18px !important;
    line-height: 1.22 !important;
    margin-bottom: 10px !important;
  }

  .ge-topical-related__item p {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 10px !important;
  }

  .ge-topical-related__item .arrow,
  .ge-topical-related__arrow {
    margin-top: 4px !important;
    font-size: 18px !important;
  }
}

@media (max-width: 430px) {
  .hero,
  .ge-hero,
  .ge-hero-premium {
    padding-top: 66px !important;
    padding-bottom: 36px !important;
  }

  .ge-topical-related__item {
    min-height: 142px !important;
    padding: 12px !important;
  }

  .ge-topical-related__item h3 {
    font-size: 17px !important;
  }

  .ge-topical-related__item p {
    font-size: 13px !important;
  }
}

/* v127.0 mobile visual fix: trust strip tone + no clipped cards */
@media (max-width: 768px) {
  /* 1) Leistungen-Strip weniger grell, Kacheln kontrastreicher */
  #ge-trust {
    background:
      radial-gradient(110% 140% at 12% 0%, rgba(33,62,102,.36) 0%, rgba(10,24,46,.94) 46%, #071326 100%) !important;
    border-top-color: rgba(201,168,106,.20) !important;
    border-bottom-color: rgba(201,168,106,.16) !important;
  }

  .ge-ti {
    gap: 0 !important;
  }

  .ge-t {
    padding: 20px 10px !important;
    background: rgba(5,13,26,.56) !important;
    border-right-color: rgba(255,255,255,.08) !important;
    border-bottom-color: rgba(255,255,255,.07) !important;
  }

  .ge-t:nth-child(odd) {
    background: rgba(8,18,34,.62) !important;
  }

  .ge-t strong,
  .ge-t b,
  .ge-t h3,
  .ge-t .ge-t__title {
    color: rgba(255,255,255,.95) !important;
  }

  .ge-t small,
  .ge-t span,
  .ge-t .ge-t__sub {
    color: rgba(255,255,255,.74) !important;
  }

  /* 2) Weiße Karten mobil: nicht nebeneinander quetschen/abschneiden */
  html,
  body {
    overflow-x: hidden !important;
  }

  .ge-sec--white .ge-grid-auto,
  .ge-sec--white .ge-grid-auto-sm,
  .ge-sec--white .ge-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .ge-sec--white .ge-card,
  .ge-sec--white [class*="card"],
  .ge-sec--white [class*="benefit"] {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
