{"id":21467,"date":"2025-12-28T13:11:39","date_gmt":"2025-12-28T12:11:39","guid":{"rendered":"https:\/\/limainvestimmobilien.de\/?page_id=21467"},"modified":"2026-05-19T09:38:51","modified_gmt":"2026-05-19T07:38:51","slug":"investoren-matching-professionelle-immobilien-investorendatenbank-akkreditierte-geldgeber","status":"publish","type":"page","link":"https:\/\/limainvestimmobilien.de\/en\/investoren-matching-professionelle-immobilien-investorendatenbank-akkreditierte-geldgeber\/","title":{"rendered":"Investoren Matching"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"21467\" class=\"elementor elementor-21467\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7a48429 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7a48429\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6cb3b25\" data-id=\"6cb3b25\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-97ccfcf elementor-widget elementor-widget-html\" data-id=\"97ccfcf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"de\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\" \/>\n  <title>Lima Invest Netzwerk | Premium Zugang<\/title>\n  <meta name=\"description\" content=\"Exklusiver Zugang zu gepr\u00fcften Immobilien Investoren.\" \/>\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600;700;800;900&display=swap\" rel=\"stylesheet\">\n  <link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\"\/>\n\n  <style>\n    :root {\n      --bg-body: #f3f5f9;\n      --bg-card: #ffffff;\n      --bg-panel: #f8f9fc;\n      --text-main: #1a1f36;\n      --text-muted: #697386;\n      --text-light: #8792a2;\n      --gold: #bb9e1c;\n      --gold-hover: #a08918;\n      --gold-light: #fffdf5;\n      --gold-border: #e0d09a;\n      --border: #e3e8ee;\n      --border-focus: #bb9e1c;\n      --shadow-sm: 0 2px 5px rgba(60,66,87,.04);\n      --shadow-md: 0 5px 15px rgba(0,0,0,.05), 0 15px 35px rgba(60,66,87,.03);\n      --radius: 16px;\n      --radius-sm: 8px;\n      --anim: all 0.2s cubic-bezier(0.25,1,0.5,1);\n    }\n\n    * { box-sizing: border-box; }\n\n    html { -webkit-text-size-adjust: 100%; }\n\n    html, body {\n      margin: 0 !important;\n      padding: 0;\n      width: 100% !important;\n      max-width: 100vw !important;\n      overflow-x: hidden !important;\n    }\n\n    body {\n      font-family: 'Poppins', -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n      background: var(--bg-body);\n      color: var(--text-main);\n      line-height: 1.6;\n      -webkit-font-smoothing: antialiased;\n    }\n\n    \/* Container Query Root \u2014 die Mobile-Logik basiert auf der TATS\u00c4CHLICHEN\n       Breite dieses Elements, nicht auf der Viewport-Breite. Damit funktioniert\n       der Mobile-Modus auch, wenn die Seite in einem fremden Layout eingebettet\n       ist und das Viewport-Meta nicht greift. *\/\n    .wrap {\n      container-type: inline-size;\n      container-name: page;\n      max-width: min(1140px, 100vw) !important;\n      width: 100% !important;\n      margin: 0 auto;\n      padding: 32px 24px 80px;\n      box-sizing: border-box;\n      overflow-x: hidden;\n    }\n\n    \/* JS-erzwungene Mobile-Klasse als Fallback f\u00fcr alte Browser ohne Container Queries.\n       Wird vom Script am Seitenende gesetzt, sobald window.screen.width < 768. *\/\n    html.force-mobile .wrap {\n      max-width: 100vw !important;\n      padding-left: 14px;\n      padding-right: 14px;\n    }\n    html.force-mobile .hero-cta-banner { padding: 24px 18px 22px !important; }\n    html.force-mobile .hero-headline { font-size: 24px !important; line-height: 1.2 !important; }\n    html.force-mobile .hero-subline { font-size: 13.5px !important; }\n    html.force-mobile .hero-particle { display: none !important; }\n    html.force-mobile .urgency-card { display: none !important; }\n    html.force-mobile .hero-inner { grid-template-columns: 1fr !important; gap: 0 !important; }\n    html.force-mobile .btn-hero { width: 100% !important; justify-content: center !important; padding: 13px 20px !important; font-size: 14px !important; }\n    html.force-mobile .dashboard-grid { grid-template-columns: 1fr !important; gap: 14px !important; }\n    html.force-mobile .value-strip { grid-template-columns: 1fr 1fr !important; }\n    html.force-mobile .kicker,\n    html.force-mobile .hero-title,\n    html.force-mobile .copy-text { display: none !important; }\n    html.force-mobile .map-legend { display: none !important; }\n    html.force-mobile .map-header .stat-box { display: none !important; }\n    html.force-mobile #deMap { height: 380px !important; }\n    html.force-mobile select,\n    html.force-mobile input,\n    html.force-mobile textarea { font-size: 16px !important; }\n    html.force-mobile .floating-cta { width: calc(100% - 24px) !important; padding: 9px 14px !important; gap: 10px !important; bottom: 12px !important; border-radius: 12px !important; }\n    html.force-mobile .floating-cta-text { font-size: 11.5px !important; flex: 1 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }\n\n    \/* Floating CTA: zus\u00e4tzliche Media Queries weil das Element per position:fixed\n       au\u00dferhalb von .wrap lebt und Container Queries dort nicht greifen. *\/\n    @media (max-width: 900px) {\n      .floating-cta { width: calc(100% - 24px); padding: 9px 14px; gap: 10px; bottom: 12px; border-radius: 12px; }\n      .floating-cta-text { font-size: 11.5px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n    }\n    @media (max-width: 600px) {\n      .floating-cta-text { display: none; }\n    }\n    @media (max-width: 380px) {\n      .ticker-wrap { display: none; }\n      .btn-floating { width: 100%; border-radius: 10px; padding: 10px 16px; }\n      .floating-cta { padding: 7px 10px; bottom: 10px; width: calc(100% - 20px); }\n    }\n\n    \/* ===== HERO CTA BANNER ===== *\/\n    .hero-cta-banner {\n      background: linear-gradient(140deg,\n        rgba(187,158,28,.14) 0%,\n        rgba(187,158,28,.07) 35%,\n        rgba(255,255,255,.95) 75%,\n        #ffffff 100%);\n      border-radius: 20px;\n      padding: 52px 52px 44px;\n      margin-bottom: 28px;\n      position: relative;\n      overflow: hidden;\n      border: 1px solid rgba(187,158,28,.22);\n      box-shadow: 0 4px 24px rgba(187,158,28,.08), 0 1px 3px rgba(0,0,0,.04);\n    }\n\n    .hero-cta-banner::after {\n      content: \"\";\n      position: absolute;\n      inset: 0;\n      background-image:\n        linear-gradient(rgba(187,158,28,.05) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(187,158,28,.05) 1px, transparent 1px);\n      background-size: 44px 44px;\n      pointer-events: none;\n      animation: gridShift 24s linear infinite;\n    }\n\n    @keyframes gridShift {\n      0%   { background-position: 0 0; }\n      100% { background-position: 44px 44px; }\n    }\n\n    .hero-particle {\n      position: absolute;\n      border-radius: 50%;\n      pointer-events: none;\n      animation: particleFloat var(--dur,8s) ease-in-out infinite;\n      animation-delay: var(--delay,0s);\n      z-index: 1;\n    }\n\n    @keyframes particleFloat {\n      0%,100% { transform: translateY(0) scale(1); opacity: var(--op0,.25); }\n      45%      { transform: translateY(-18px) scale(1.08); opacity: var(--op1,.55); }\n      70%      { transform: translateY(8px) scale(.94); opacity: var(--op2,.18); }\n    }\n\n    @keyframes particlePop {\n      0%   { transform: scale(0); opacity: 0; }\n      65%  { transform: scale(1.25); }\n      100% { transform: scale(1); }\n    }\n\n    .hero-inner {\n      position: relative;\n      z-index: 2;\n      display: grid;\n      grid-template-columns: 1fr auto;\n      gap: 40px;\n      align-items: center;\n    }\n\n    .live-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      background: rgba(187,158,28,.1);\n      border: 1px solid rgba(187,158,28,.28);\n      color: #7a6312;\n      font-size: 11px;\n      font-weight: 700;\n      letter-spacing: 1.5px;\n      text-transform: uppercase;\n      padding: 6px 14px;\n      border-radius: 100px;\n      margin-bottom: 18px;\n    }\n\n    .live-dot {\n      width: 7px; height: 7px;\n      background: var(--gold);\n      border-radius: 50%;\n      animation: pulse-dot 1.8s ease-in-out infinite;\n      box-shadow: 0 0 0 0 rgba(187,158,28,.6);\n    }\n\n    @keyframes pulse-dot {\n      0%  { box-shadow: 0 0 0 0 rgba(187,158,28,.7); }\n      60% { box-shadow: 0 0 0 6px rgba(187,158,28,0); }\n      100%{ box-shadow: 0 0 0 0 rgba(187,158,28,0); }\n    }\n\n    .hero-headline {\n      font-size: 36px;\n      font-weight: 900;\n      line-height: 1.15;\n      letter-spacing: -.5px;\n      color: var(--text-main);\n      margin: 0 0 12px;\n    }\n\n    .hero-headline em {\n      font-style: normal;\n      background: linear-gradient(90deg, #bb9e1c 0%, #8a7015 100%);\n      -webkit-background-clip: text;\n      -webkit-text-fill-color: transparent;\n    }\n\n    .hero-subline {\n      font-size: 15px;\n      color: var(--text-muted);\n      margin: 0 0 28px;\n      max-width: 520px;\n    }\n\n    .hero-stats {\n      display: flex;\n      gap: 28px;\n      margin-bottom: 28px;\n      flex-wrap: wrap;\n    }\n\n    .hero-stat { animation: fadeInUp .6s ease both; }\n    .hero-stat:nth-child(2) { animation-delay: .1s; }\n    .hero-stat:nth-child(3) { animation-delay: .2s; }\n\n    @keyframes fadeInUp {\n      from { opacity: 0; transform: translateY(12px); }\n      to   { opacity: 1; transform: translateY(0); }\n    }\n\n    .hero-stat-val {\n      font-size: 26px;\n      font-weight: 800;\n      color: var(--text-main);\n      display: block;\n      line-height: 1;\n    }\n\n    .hero-stat-label {\n      font-size: 12px;\n      color: var(--text-muted);\n      font-weight: 500;\n      text-transform: uppercase;\n      letter-spacing: .5px;\n    }\n\n    .hero-stat-divider {\n      width: 1px;\n      background: rgba(26,31,54,.1);\n      align-self: stretch;\n    }\n\n    .btn-hero {\n      display: inline-flex;\n      align-items: center;\n      gap: 12px;\n      background: linear-gradient(135deg, #bb9e1c 0%, #8a7015 100%);\n      color: #fff;\n      font-size: 16px;\n      font-weight: 800;\n      padding: 18px 32px;\n      border-radius: 12px;\n      border: none;\n      cursor: pointer;\n      box-shadow: 0 8px 24px rgba(187,158,28,.35), 0 0 0 0 rgba(187,158,28,.4);\n      transition: all .25s cubic-bezier(.25,1,.5,1);\n      position: relative;\n      overflow: hidden;\n      animation: ctaPulse 3s ease-in-out infinite;\n      font-family: inherit;\n      -webkit-tap-highlight-color: transparent;\n    }\n\n    @keyframes ctaPulse {\n      0%,100% { box-shadow: 0 8px 24px rgba(187,158,28,.35), 0 0 0 0 rgba(187,158,28,.25); }\n      50%      { box-shadow: 0 8px 30px rgba(187,158,28,.45), 0 0 0 8px rgba(187,158,28,0); }\n    }\n\n    .btn-hero::before {\n      content: \"\";\n      position: absolute;\n      top: 0; left: -60%;\n      width: 40%; height: 100%;\n      background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);\n      transform: skewX(-20deg);\n      animation: shimmer 3.5s ease-in-out infinite;\n    }\n\n    @keyframes shimmer {\n      0%      { left: -60%; }\n      60%,100%{ left: 130%; }\n    }\n\n    .btn-hero:hover {\n      transform: translateY(-2px);\n      box-shadow: 0 12px 32px rgba(187,158,28,.5);\n    }\n\n    .btn-hero:active { transform: translateY(0); }\n\n    .btn-hero-arrow {\n      width: 20px; height: 20px;\n      background: rgba(255,255,255,.2);\n      border-radius: 50%;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 11px;\n      transition: transform .2s ease;\n    }\n\n    .btn-hero:hover .btn-hero-arrow { transform: translateX(3px); }\n\n    .urgency-card {\n      background: rgba(187,158,28,.05);\n      border: 1px solid rgba(187,158,28,.2);\n      border-radius: 16px;\n      padding: 28px 24px;\n      min-width: 210px;\n      text-align: center;\n    }\n\n    .urgency-ring { width: 80px; height: 80px; margin: 0 auto 16px; position: relative; }\n    .urgency-ring svg { transform: rotate(-90deg); }\n    .urgency-ring-track { fill: none; stroke: rgba(187,158,28,.15); stroke-width: 6; }\n    .urgency-ring-fill {\n      fill: none;\n      stroke: var(--gold);\n      stroke-width: 6;\n      stroke-linecap: round;\n      stroke-dasharray: 220;\n      stroke-dashoffset: 55;\n      animation: ringFill 2s cubic-bezier(.25,1,.5,1) both;\n    }\n\n    @keyframes ringFill {\n      from { stroke-dashoffset: 220; }\n      to   { stroke-dashoffset: 55; }\n    }\n\n    .urgency-ring-label {\n      position: absolute;\n      inset: 0;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n    }\n\n    .urgency-ring-num { font-size: 20px; font-weight: 900; color: var(--text-main); line-height: 1; }\n    .urgency-ring-sub { font-size: 9px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .5px; }\n    .urgency-title { font-size: 13px; font-weight: 700; color: var(--text-main); margin-bottom: 6px; }\n    .urgency-text { font-size: 11px; color: var(--text-muted); line-height: 1.5; }\n    .urgency-sep { height: 1px; background: rgba(187,158,28,.2); margin: 16px 0; }\n    .urgency-cta-small { font-size: 12px; color: var(--gold); font-weight: 700; letter-spacing: .5px; }\n\n    \/* ===== VALUE STRIP ===== *\/\n    .value-strip {\n      display: grid;\n      grid-template-columns: repeat(4, 1fr);\n      gap: 14px;\n      margin-bottom: 28px;\n    }\n\n    .value-pill {\n      background: #fff;\n      border: 1px solid var(--border);\n      border-radius: 12px;\n      padding: 14px 18px;\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      box-shadow: var(--shadow-sm);\n      animation: fadeInUp .5s ease both;\n      transition: var(--anim);\n    }\n\n    .value-pill:nth-child(1) { animation-delay: .05s; }\n    .value-pill:nth-child(2) { animation-delay: .12s; }\n    .value-pill:nth-child(3) { animation-delay: .19s; }\n    .value-pill:nth-child(4) { animation-delay: .26s; }\n\n    .value-pill:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--gold-border); }\n\n    .value-icon {\n      width: 38px; height: 38px;\n      border-radius: 9px;\n      background: rgba(187,158,28,.09);\n      border: 1px solid rgba(187,158,28,.18);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 17px;\n      flex-shrink: 0;\n      color: var(--gold);\n    }\n\n    .value-pill-text strong { display: block; font-size: 13px; font-weight: 700; color: var(--text-main); }\n    .value-pill-text span   { font-size: 11px; color: var(--text-muted); }\n\n    \/* ===== HEADER ===== *\/\n    .top-nav {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n    }\n\n    .trust-badges { display: flex; gap: 10px; flex-wrap: wrap; }\n    .badge {\n      font-size: 12px;\n      font-weight: 600;\n      color: var(--text-muted);\n      background: #fff;\n      padding: 7px 14px;\n      border-radius: 100px;\n      border: 1px solid var(--border);\n      box-shadow: var(--shadow-sm);\n      display: flex;\n      align-items: center;\n      gap: 7px;\n    }\n    .dot { width: 6px; height: 6px; background: var(--gold); border-radius: 50%; animation: pulse-dot 1.8s ease-in-out infinite; }\n\n    \/* ===== DASHBOARD ===== *\/\n    .dashboard-grid {\n      display: grid;\n      grid-template-columns: 1.4fr 1fr;\n      gap: 28px;\n      align-items: start;\n    }\n\n    .card {\n      background: var(--bg-card);\n      border-radius: var(--radius);\n      box-shadow: var(--shadow-md);\n      overflow: hidden;\n      border: 1px solid rgba(255,255,255,.5);\n    }\n\n    .card-pad { padding: 28px; }\n\n    .kicker {\n      text-transform: uppercase;\n      font-size: 11px;\n      font-weight: 800;\n      letter-spacing: 1px;\n      color: var(--gold);\n      margin-bottom: 12px;\n      display: flex;\n      align-items: center;\n      gap: 12px;\n    }\n    .kicker::before { content: \"\"; height: 2px; width: 22px; background: var(--gold); }\n\n    .hero-title {\n      font-size: 28px;\n      font-weight: 800;\n      line-height: 1.2;\n      letter-spacing: -.5px;\n      margin: 0 0 18px;\n      background: linear-gradient(180deg, #1a1f36 0%, #3c4257 100%);\n      -webkit-background-clip: text;\n      -webkit-text-fill-color: transparent;\n    }\n\n    .copy-text { color: var(--text-muted); font-size: 15px; margin-bottom: 20px; }\n    .copy-text p { margin-bottom: 14px; }\n    .copy-text strong { color: var(--text-main); font-weight: 700; }\n\n    .map-container {\n      border-radius: 12px;\n      overflow: hidden;\n      border: 1px solid var(--border);\n      position: relative;\n    }\n\n    #deMap {\n      height: 460px;\n      width: 100%;\n      border-radius: 12px;\n      overflow: hidden;\n      cursor: pointer;\n    }\n\n    .leaflet-container {\n      font-family: 'Poppins', sans-serif;\n      background: #f3f0e6;\n    }\n\n    .leaflet-attribution-flag { display: none !important; }\n    .leaflet-control-attribution {\n      font-size: 9px !important;\n      background: rgba(255,255,255,0.7) !important;\n      font-family: 'Poppins', sans-serif !important;\n    }\n\n    .map-tip {\n      background: #1a1f36;\n      color: #fff;\n      border: 1px solid rgba(187,158,28,.35) !important;\n      border-radius: 10px !important;\n      padding: 12px 16px !important;\n      box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;\n      font-family: 'Poppins', sans-serif !important;\n      pointer-events: none !important;\n    }\n\n    .map-tip::before { display: none !important; }\n\n    .map-hover-card {\n      position: absolute;\n      z-index: 600;\n      background: #1a1f36;\n      color: #fff;\n      padding: 12px 16px;\n      border-radius: 10px;\n      border: 1px solid rgba(187,158,28,.4);\n      box-shadow: 0 8px 24px rgba(0,0,0,.28);\n      pointer-events: none;\n      opacity: 0;\n      transition: opacity .15s ease;\n      font-family: 'Poppins', sans-serif;\n      min-width: 140px;\n    }\n    .map-hover-card.visible { opacity: 1; }\n    .hover-name {\n      font-size: 11px;\n      font-weight: 700;\n      color: rgba(255,255,255,.75);\n      text-transform: uppercase;\n      letter-spacing: .5px;\n      margin-bottom: 4px;\n    }\n    .hover-count {\n      font-size: 22px;\n      font-weight: 900;\n      color: #bb9e1c;\n      line-height: 1;\n    }\n    .hover-label {\n      font-size: 10px;\n      color: rgba(255,255,255,.5);\n      margin-top: 3px;\n    }\n\n    .map-legend {\n      position: absolute;\n      bottom: 12px;\n      left: 12px;\n      background: rgba(255,255,255,.92);\n      border: 1px solid var(--border);\n      border-radius: 10px;\n      padding: 10px 14px;\n      z-index: 500;\n      font-size: 11px;\n      box-shadow: 0 2px 8px rgba(0,0,0,.08);\n    }\n\n    .map-legend-title {\n      font-weight: 700;\n      color: var(--text-main);\n      margin-bottom: 6px;\n      font-size: 10px;\n      text-transform: uppercase;\n      letter-spacing: .5px;\n    }\n\n    .legend-row {\n      display: flex;\n      align-items: center;\n      gap: 6px;\n      margin-bottom: 4px;\n      color: var(--text-muted);\n    }\n\n    .legend-swatch {\n      width: 14px;\n      height: 14px;\n      border-radius: 3px;\n      border: 1px solid rgba(26,31,54,.2);\n      flex-shrink: 0;\n    }\n\n    \/* Map state pill labels *\/\n    .state-label {\n      background: transparent !important;\n      border: none !important;\n      box-shadow: none !important;\n      padding: 0 !important;\n      font-family: 'Poppins', sans-serif;\n      pointer-events: none;\n      white-space: nowrap;\n    }\n    .state-label::before { display: none !important; }\n\n    .lbl-num {\n      display: inline-block;\n      background: rgba(255, 255, 255, 0.96);\n      color: #bb9e1c;\n      font-size: 11px;\n      font-weight: 800;\n      padding: 3px 10px;\n      border-radius: 100px;\n      border: 1px solid rgba(187, 158, 28, 0.32);\n      box-shadow: 0 1px 4px rgba(26, 31, 54, 0.1);\n      letter-spacing: .2px;\n      line-height: 1.4;\n      transition: all .2s ease;\n    }\n\n    .state-label.is-tiny .lbl-num {\n      font-size: 10px;\n      padding: 2px 8px;\n    }\n\n    .state-label.is-hovered .lbl-num {\n      background: #fff;\n      border-color: rgba(187, 158, 28, 0.65);\n      transform: scale(1.08);\n      box-shadow: 0 3px 8px rgba(26, 31, 54, 0.22);\n    }\n\n    .state-label.is-selected .lbl-num {\n      background: #1a1f36;\n      color: #f0d060;\n      border-color: rgba(187, 158, 28, 0.6);\n      box-shadow: 0 2px 6px rgba(26, 31, 54, 0.35);\n    }\n\n    \/* ===== MULTI-SELECT ===== *\/\n    .ms-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 8px;\n      gap: 8px;\n      flex-wrap: wrap;\n    }\n    .ms-label {\n      font-size: 13px;\n      font-weight: 600;\n      color: var(--text-main);\n      margin: 0;\n    }\n    .ms-hint {\n      font-weight: 500;\n      color: var(--text-light);\n      font-size: 11px;\n      margin-left: 4px;\n    }\n    .ms-actions { display: flex; gap: 6px; }\n    .ms-link {\n      background: none;\n      border: 1px solid transparent;\n      color: var(--gold);\n      font-weight: 700;\n      font-size: 11px;\n      cursor: pointer;\n      padding: 4px 10px;\n      border-radius: 6px;\n      font-family: inherit;\n      transition: var(--anim);\n      -webkit-tap-highlight-color: transparent;\n    }\n    .ms-link:hover { background: rgba(187,158,28,.1); border-color: rgba(187,158,28,.25); }\n\n    .state-grid {\n      display: grid;\n      grid-template-columns: 1fr;\n      gap: 6px;\n      max-height: 340px;\n      overflow-y: auto;\n      padding: 8px;\n      border: 1px solid var(--border);\n      border-radius: 10px;\n      background: var(--bg-panel);\n      -webkit-overflow-scrolling: touch;\n    }\n\n    .state-grid::-webkit-scrollbar { width: 6px; }\n    .state-grid::-webkit-scrollbar-thumb { background: rgba(187,158,28,.25); border-radius: 3px; }\n    .state-grid::-webkit-scrollbar-track { background: transparent; }\n\n    .state-check {\n      display: flex;\n      align-items: center;\n      gap: 7px;\n      padding: 7px 9px;\n      border-radius: 7px;\n      cursor: pointer;\n      background: #fff;\n      border: 1px solid var(--border);\n      transition: var(--anim);\n      user-select: none;\n      -webkit-tap-highlight-color: transparent;\n    }\n    .state-check:hover { border-color: var(--gold-border); background: var(--gold-light); }\n\n    .state-check input[type=\"checkbox\"] {\n      width: 14px;\n      height: 14px;\n      margin: 0;\n      padding: 0;\n      accent-color: var(--gold);\n      flex-shrink: 0;\n      cursor: pointer;\n    }\n\n    .state-check.is-checked {\n      border-color: var(--gold);\n      background: var(--gold-light);\n      box-shadow: 0 1px 4px rgba(187,158,28,.15);\n    }\n\n    .state-check-name {\n      font-weight: 600;\n      color: var(--text-main);\n      flex: 1;\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      font-size: 12px;\n    }\n    .state-check-count {\n      font-size: 10px;\n      font-weight: 800;\n      color: var(--gold);\n      background: rgba(187,158,28,.12);\n      padding: 2px 7px;\n      border-radius: 100px;\n      flex-shrink: 0;\n    }\n    .state-check.is-checked .state-check-count {\n      background: var(--gold);\n      color: #fff;\n    }\n\n    .ms-summary {\n      margin-top: 10px;\n      padding: 8px 12px;\n      font-size: 12px;\n      color: var(--text-muted);\n      text-align: center;\n      background: var(--bg-panel);\n      border-radius: 8px;\n      border: 1px dashed var(--border);\n    }\n    .ms-summary.has-selection {\n      color: var(--text-main);\n      background: var(--gold-light);\n      border-color: var(--gold-border);\n      border-style: solid;\n    }\n    .ms-summary.has-selection strong { color: var(--gold); }\n\n    .map-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 18px;\n      padding-bottom: 14px;\n      border-bottom: 1px solid var(--border);\n    }\n\n    .stat-box { text-align: right; }\n    .stat-val { display: block; font-size: 20px; font-weight: 800; color: var(--text-main); }\n    .stat-label { font-size: 12px; color: var(--text-light); text-transform: uppercase; font-weight: 600; }\n\n    \/* ===== CHECKOUT ===== *\/\n    .checkout-header {\n      background: var(--bg-panel);\n      padding: 22px;\n      border-bottom: 1px solid var(--border);\n      display: flex;\n      align-items: center;\n      gap: 14px;\n    }\n    .checkout-header img { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; border: 1px solid rgba(0,0,0,.1); }\n\n    .step-container { padding: 22px; }\n\n    .step-item {\n      position: relative;\n      padding-left: 30px;\n      padding-bottom: 28px;\n      border-left: 2px solid var(--border);\n    }\n    .step-item:last-child { border-left: transparent; padding-bottom: 0; }\n\n    .step-num {\n      position: absolute;\n      left: -11px; top: 0;\n      width: 20px; height: 20px;\n      background: var(--gold);\n      border: 2px solid #fff;\n      border-radius: 50%;\n      box-shadow: 0 0 0 2px var(--border);\n    }\n    .step-num.done { background: #198754; }\n\n    .step-title {\n      font-size: 13px;\n      font-weight: 700;\n      text-transform: uppercase;\n      color: var(--text-light);\n      margin-bottom: 10px;\n      display: block;\n    }\n    .step-active .step-title { color: var(--gold); }\n\n    label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 7px; color: var(--text-main); }\n\n    select, input, textarea {\n      width: 100%;\n      padding: 12px 14px;\n      border: 1px solid var(--border);\n      border-radius: var(--radius-sm);\n      font-size: 14px;\n      background: #fff;\n      color: var(--text-main);\n      transition: var(--anim);\n      font-family: inherit;\n    }\n    select:focus, input:focus, textarea:focus {\n      outline: none;\n      border-color: var(--border-focus);\n      box-shadow: 0 0 0 3px rgba(187,158,28,.15);\n    }\n\n    .price-card {\n      background: var(--gold-light);\n      border: 1px solid var(--gold-border);\n      border-radius: 12px;\n      padding: 18px;\n      margin-top: 14px;\n    }\n    .price-row { display: flex; justify-content: space-between; align-items: baseline; }\n    .price-big { font-size: 26px; font-weight: 800; color: var(--text-main); }\n    .price-sub { font-size: 13px; color: var(--text-muted); }\n\n    .btn {\n      width: 100%;\n      padding: 14px;\n      border: none;\n      border-radius: var(--radius-sm);\n      font-weight: 700;\n      font-size: 14px;\n      cursor: pointer;\n      transition: var(--anim);\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      gap: 10px;\n      font-family: inherit;\n      -webkit-tap-highlight-color: transparent;\n    }\n    .btn-primary { background: var(--gold); color: #fff; box-shadow: 0 4px 12px rgba(187,158,28,.3); }\n    .btn-primary:hover { background: var(--gold-hover); transform: translateY(-1px); }\n    .btn-primary:active { transform: translateY(0); }\n    .btn-ghost { background: transparent; border: 1px solid var(--border); color: var(--text-muted); }\n    .btn-ghost:hover { border-color: var(--text-muted); color: var(--text-main); }\n    .btn:disabled { opacity: .6; cursor: not-allowed; box-shadow: none; transform: none; background: #e3e8ee; color: #8792a2; }\n\n    .note { font-size: 13px; margin-top: 10px; color: var(--text-light); display: flex; align-items: center; gap: 6px; }\n    .note.success { color: #198754; font-weight: 600; }\n\n    .discount-banner {\n      background: linear-gradient(135deg, #bb9e1c 0%, #8a7015 100%);\n      border-radius: 12px;\n      padding: 14px;\n      margin-bottom: 18px;\n      box-shadow: 0 4px 12px rgba(187,158,28,.28);\n      border: 1px solid rgba(255,255,255,.2);\n    }\n    .discount-content { display: flex; align-items: center; justify-content: space-between; gap: 14px; }\n    .discount-text { color: #fff; flex: 1; min-width: 0; }\n    .discount-title { font-size: 15px; font-weight: 800; margin: 0 0 3px; color: #fff; }\n    .discount-code { font-size: 12px; color: rgba(255,255,255,.9); font-weight: 600; letter-spacing: .5px; }\n    .btn-copy-code {\n      background: rgba(255,255,255,.22);\n      color: #fff;\n      border: 1px solid rgba(255,255,255,.35);\n      padding: 9px 14px;\n      border-radius: 8px;\n      font-weight: 700;\n      font-size: 12px;\n      cursor: pointer;\n      transition: var(--anim);\n      white-space: nowrap;\n      flex-shrink: 0;\n      font-family: inherit;\n      -webkit-tap-highlight-color: transparent;\n    }\n    .btn-copy-code:hover { background: rgba(255,255,255,.32); border-color: rgba(255,255,255,.55); transform: translateY(-1px); }\n    .btn-copy-code.copied { background: rgba(25,135,84,.8); border-color: rgba(25,135,84,1); }\n\n    .discount-active-badge {\n      background: rgba(25,135,84,.15);\n      color: #198754;\n      padding: 7px 10px;\n      border-radius: 8px;\n      font-size: 12px;\n      font-weight: 700;\n      display: inline-flex;\n      align-items: center;\n      gap: 5px;\n      margin-top: 8px;\n      animation: slideIn .3s ease;\n    }\n\n    @keyframes slideIn {\n      from { opacity: 0; transform: translateY(-8px); }\n      to   { opacity: 1; transform: translateY(0); }\n    }\n\n    .price-strikethrough {\n      text-decoration: line-through;\n      opacity: .45;\n      font-size: 17px;\n      margin-right: 7px;\n      color: var(--text-muted);\n    }\n\n    \/* ===== FLOATING CTA ===== *\/\n    .floating-cta {\n      position: fixed;\n      bottom: 20px;\n      left: 50%;\n      transform: translateX(-50%) translateY(120px);\n      background: linear-gradient(135deg, #1a1f36 0%, #2d3458 100%);\n      border: 1px solid rgba(187,158,28,.4);\n      border-radius: 100px;\n      padding: 12px 24px;\n      display: flex;\n      align-items: center;\n      gap: 16px;\n      z-index: 100;\n      box-shadow: 0 12px 36px rgba(0,0,0,.28);\n      transition: transform .5s cubic-bezier(.34,1.56,.64,1);\n      white-space: nowrap;\n    }\n\n    .floating-cta.visible { transform: translateX(-50%) translateY(0); }\n\n    .floating-cta-text { font-size: 13px; color: rgba(255,255,255,.7); font-weight: 500; }\n    .floating-cta-text strong { color: #fff; }\n\n    .btn-floating {\n      background: linear-gradient(135deg, #bb9e1c 0%, #8a7015 100%);\n      color: #fff;\n      font-size: 13px;\n      font-weight: 800;\n      padding: 9px 18px;\n      border-radius: 100px;\n      border: none;\n      cursor: pointer;\n      transition: var(--anim);\n      font-family: inherit;\n      box-shadow: 0 4px 12px rgba(187,158,28,.4);\n      -webkit-tap-highlight-color: transparent;\n    }\n    .btn-floating:hover { transform: scale(1.04); box-shadow: 0 6px 16px rgba(187,158,28,.5); }\n    .btn-floating:active { transform: scale(.98); }\n\n    .ticker-wrap { display: flex; align-items: center; gap: 5px; font-size: 12px; }\n    .ticker-dot { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; animation: pulse-dot 1.8s ease-in-out infinite; }\n    .ticker-label { color: var(--gold); font-weight: 700; font-size: 11px; letter-spacing: .5px; }\n\n    \/* ===== SLIDER ===== *\/\n    .slider-section { margin-bottom: 28px; position: relative; }\n\n    .slider-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }\n\n    .slider-label-kicker {\n      font-size: 11px;\n      font-weight: 800;\n      letter-spacing: 1px;\n      text-transform: uppercase;\n      color: var(--gold);\n      display: flex;\n      align-items: center;\n      gap: 10px;\n    }\n    .slider-label-kicker::before { content: \"\"; height: 2px; width: 18px; background: var(--gold); }\n\n    .slider-counter { font-size: 12px; font-weight: 700; color: var(--text-light); background: #fff; border: 1px solid var(--border); padding: 5px 12px; border-radius: 100px; }\n\n    .slider-nav { display: flex; gap: 7px; }\n    .slider-nav-btn {\n      width: 34px; height: 34px;\n      border-radius: 50%;\n      background: #fff;\n      border: 1px solid var(--border);\n      cursor: pointer;\n      font-size: 16px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      transition: var(--anim);\n      box-shadow: var(--shadow-sm);\n      color: var(--text-main);\n      -webkit-tap-highlight-color: transparent;\n    }\n    .slider-nav-btn:hover { border-color: var(--gold); color: var(--gold); transform: scale(1.06); }\n\n    .slider-track-wrap {\n      overflow: hidden;\n      border-radius: 16px;\n      position: relative;\n    }\n\n    .slider-track-wrap::before,\n    .slider-track-wrap::after {\n      content: \"\";\n      position: absolute;\n      top: 0; bottom: 0;\n      width: 60px;\n      z-index: 3;\n      pointer-events: none;\n    }\n    .slider-track-wrap::before { left: 0; background: linear-gradient(to right, var(--bg-body), transparent); }\n    .slider-track-wrap::after  { right: 0; background: linear-gradient(to left, var(--bg-body), transparent); }\n\n    .slider-track {\n      display: flex;\n      gap: 18px;\n      transition: transform .55s cubic-bezier(.25,1,.5,1);\n      will-change: transform;\n      padding: 8px 4px;\n    }\n\n    .contact-card {\n      background: #fff;\n      border: 1px solid var(--border);\n      border-radius: 16px;\n      padding: 22px;\n      min-width: 286px;\n      max-width: 286px;\n      box-shadow: var(--shadow-md);\n      position: relative;\n      overflow: hidden;\n      flex-shrink: 0;\n      transition: all .4s cubic-bezier(.25,1,.5,1);\n    }\n\n    .contact-card.active-card {\n      border-color: var(--gold-border);\n      box-shadow: 0 8px 28px rgba(187,158,28,.14), var(--shadow-md);\n      transform: translateY(-3px);\n    }\n\n    .contact-card::before {\n      content: \"\";\n      position: absolute;\n      top: 0; left: 0; right: 0;\n      height: 3px;\n      background: linear-gradient(90deg, var(--gold), #8a7015);\n      opacity: 0;\n      transition: opacity .3s ease;\n    }\n    .contact-card.active-card::before { opacity: 1; }\n\n    .contact-card-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 16px; }\n\n    .contact-avatar {\n      width: 42px; height: 42px;\n      border-radius: 10px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 16px;\n      font-weight: 800;\n      color: #fff;\n      flex-shrink: 0;\n    }\n\n    .contact-typ-badge {\n      font-size: 10px;\n      font-weight: 800;\n      letter-spacing: .7px;\n      text-transform: uppercase;\n      padding: 4px 9px;\n      border-radius: 100px;\n    }\n\n    .typ-fo   { background: rgba(187,158,28,.12); color: #7a6312; border: 1px solid rgba(187,158,28,.25); }\n    .typ-inst { background: rgba(26,31,54,.08);   color: #2d3458; border: 1px solid rgba(26,31,54,.18); }\n    .typ-priv { background: rgba(100,95,80,.09);  color: #4a4535; border: 1px solid rgba(100,95,80,.2); }\n    .typ-pe   { background: rgba(187,158,28,.08); color: #6b5c12; border: 1px solid rgba(187,158,28,.18); }\n    .typ-reit { background: rgba(50,47,35,.08);   color: #3a3830; border: 1px solid rgba(50,47,35,.18); }\n\n    .contact-firma { font-size: 14px; font-weight: 800; color: var(--text-main); margin: 0 0 2px; line-height: 1.2; }\n    .contact-gf { font-size: 12px; color: var(--text-muted); font-weight: 500; margin-bottom: 14px; }\n\n    .contact-fields { display: grid; gap: 8px; }\n\n    .contact-field { display: flex; align-items: center; gap: 9px; font-size: 12.5px; }\n\n    .contact-field-icon {\n      width: 24px; height: 24px;\n      border-radius: 6px;\n      background: rgba(187,158,28,.07);\n      border: 1px solid rgba(187,158,28,.15);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 10px;\n      flex-shrink: 0;\n    }\n\n    .contact-field-val { color: var(--text-main); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n\n    .blurred { filter: blur(4px); user-select: none; border-radius: 3px; transition: filter .3s ease; }\n    .contact-card.active-card .blurred { filter: blur(3px); }\n\n    .card-lock-overlay {\n      position: absolute;\n      bottom: 0; left: 0; right: 0;\n      background: linear-gradient(to top, rgba(255,255,255,.97) 0%, rgba(255,255,255,.55) 60%, transparent 100%);\n      padding: 18px 18px 14px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      gap: 7px;\n      font-size: 11px;\n      font-weight: 700;\n      color: var(--text-muted);\n    }\n\n    .slider-dots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }\n    .slider-dot {\n      width: 6px; height: 6px;\n      border-radius: 3px;\n      background: var(--border);\n      transition: all .3s ease;\n      cursor: pointer;\n    }\n    .slider-dot.active { width: 22px; background: var(--gold); }\n\n    .slider-progress { height: 2px; background: var(--border); border-radius: 2px; margin-top: 14px; overflow: hidden; }\n    .slider-progress-fill { height: 100%; background: linear-gradient(90deg, var(--gold), #8a7015); border-radius: 2px; transition: width .08s linear; }\n\n    \/* =================================================================\n       MOBILE BREAKPOINTS \u2014 minimalistisch & hochkant-optimiert\n       ================================================================= *\/\n\n    \/* === TABLET \/ PHONE (max 900px) \u2014 Container Query === *\/\n    @container page (max-width: 900px) {\n      .wrap { padding: 14px 14px 90px; }\n\n      \/* Header *\/\n      .top-nav { justify-content: center; margin-bottom: 12px; }\n      .trust-badges { justify-content: center; gap: 8px; }\n      .badge { font-size: 10.5px; padding: 5px 11px; gap: 6px; }\n      .badge .dot { width: 5px; height: 5px; }\n\n      \/* === HERO \u2014 radikal minimalistisch === *\/\n      \/* Visuelles Rauschen weg *\/\n      .hero-particle { display: none; }\n      .hero-cta-banner::after {\n        opacity: .35;\n        background-size: 36px 36px;\n      }\n\n      .hero-cta-banner {\n        padding: 24px 18px 22px;\n        border-radius: 16px;\n        margin-bottom: 14px;\n        box-shadow: 0 2px 12px rgba(187,158,28,.06);\n      }\n      .hero-inner {\n        grid-template-columns: 1fr;\n        gap: 0;\n      }\n      .urgency-card { display: none; }\n\n      .live-badge {\n        margin-bottom: 12px;\n        font-size: 9.5px;\n        padding: 4px 10px;\n        letter-spacing: 1px;\n        gap: 6px;\n      }\n      .live-badge .live-dot { width: 5px; height: 5px; }\n\n      .hero-headline {\n        font-size: 25px;\n        line-height: 1.18;\n        margin-bottom: 10px;\n        letter-spacing: -.3px;\n      }\n      .hero-subline {\n        font-size: 13.5px;\n        line-height: 1.5;\n        margin-bottom: 16px;\n        max-width: 100%;\n      }\n\n      \/* Stats: clean, nur Trennlinien oben\/unten \u2014 keine Karte *\/\n      .hero-stats {\n        gap: 0;\n        margin-bottom: 16px;\n        padding: 12px 0;\n        background: transparent;\n        border: none;\n        border-top: 1px solid rgba(187,158,28,.2);\n        border-bottom: 1px solid rgba(187,158,28,.2);\n        justify-content: space-around;\n        flex-wrap: nowrap;\n      }\n      .hero-stat { text-align: center; flex: 1; min-width: 0; }\n      .hero-stat-val { font-size: 18px; margin-bottom: 3px; }\n      .hero-stat-label { font-size: 9.5px; letter-spacing: .3px; }\n      .hero-stat-divider { display: block; align-self: center; height: 22px; }\n\n      .btn-hero {\n        width: 100%;\n        justify-content: center;\n        padding: 13px 20px;\n        font-size: 14px;\n        gap: 10px;\n        box-shadow: 0 3px 14px rgba(187,158,28,.25);\n        animation: none;\n      }\n      .btn-hero::before { display: none; }\n      .btn-hero-arrow { width: 18px; height: 18px; font-size: 10px; }\n\n      \/* === VALUE STRIP \u2014 kompakter === *\/\n      .value-strip {\n        grid-template-columns: 1fr 1fr;\n        gap: 7px;\n        margin-bottom: 12px;\n      }\n      .value-pill {\n        padding: 9px 11px;\n        gap: 9px;\n        border-radius: 10px;\n        box-shadow: none;\n        animation: none;\n        opacity: 1;\n      }\n      .value-icon {\n        width: 28px;\n        height: 28px;\n        font-size: 13px;\n        border-radius: 7px;\n      }\n      .value-pill-text strong { font-size: 11.5px; }\n      .value-pill-text span { font-size: 10px; }\n\n      \/* === SLIDER \u2014 straffer === *\/\n      .slider-section { margin-bottom: 16px; }\n      .slider-header {\n        flex-direction: row;\n        align-items: center;\n        justify-content: space-between;\n        gap: 8px;\n        text-align: left;\n        margin-bottom: 12px;\n      }\n      .slider-label-kicker {\n        font-size: 9.5px;\n        letter-spacing: .8px;\n      }\n      .slider-label-kicker::before { display: none; }\n      .slider-counter { font-size: 10.5px; padding: 4px 9px; }\n      .slider-nav-btn { width: 30px; height: 30px; font-size: 14px; }\n      .contact-card { min-width: 248px; max-width: 248px; padding: 16px; }\n      .slider-track-wrap::before,\n      .slider-track-wrap::after { width: 22px; }\n      .slider-dots { margin-top: 10px; }\n      .slider-progress { margin-top: 10px; }\n\n      \/* === DASHBOARD \u2014 Redundanzen weg === *\/\n      .dashboard-grid { grid-template-columns: 1fr; gap: 14px; }\n      .card-pad { padding: 18px 16px; }\n\n      \/* Hero-Inhalt im Dashboard ist auf Mobile redundant *\/\n      .kicker,\n      .hero-title,\n      .copy-text { display: none; }\n\n      \/* Map-Header reduziert \u2014 kein doppeltes \"Gesamt\" mehr *\/\n      .map-header {\n        flex-direction: column;\n        align-items: center;\n        gap: 2px;\n        text-align: center;\n        padding-bottom: 10px;\n        margin-bottom: 12px;\n        border-bottom: 1px solid var(--border);\n      }\n      .map-header h3 { font-size: 14px !important; }\n      .map-header p { font-size: 11.5px !important; line-height: 1.4 !important; }\n      .map-header .stat-box { display: none; }\n\n      \/* Map \u2014 gr\u00f6\u00dfer & hochkant-orientiert (DE ist hochformatig) *\/\n      #deMap {\n        height: 420px;\n        border-radius: 10px;\n      }\n\n      \/* Legende weg \u2014 Pills auf der Karte zeigen Zahlen direkt *\/\n      .map-legend { display: none; }\n\n      .lbl-num { font-size: 10px; padding: 2px 7px; }\n      .state-label.is-tiny .lbl-num { font-size: 9px; padding: 1px 5px; }\n\n      \/* === CHECKOUT === *\/\n      .checkout-header {\n        flex-direction: row;\n        align-items: center;\n        text-align: left;\n        gap: 12px;\n        padding: 14px;\n      }\n      .checkout-header img { width: 44px; height: 44px; }\n      .checkout-header > div > div:first-child { font-size: 14px !important; }\n      .checkout-header > div > div:last-child { font-size: 11px !important; }\n\n      .step-container { padding: 14px; }\n      .step-item { padding-left: 22px; padding-bottom: 18px; }\n      .step-title { font-size: 12px; margin-bottom: 8px; }\n\n      \/* === RABATT \u2014 ultrakompakt, einzeilig === *\/\n      .discount-banner {\n        padding: 10px 12px;\n        margin-bottom: 14px;\n        border-radius: 10px;\n        box-shadow: 0 2px 8px rgba(187,158,28,.2);\n      }\n      .discount-content {\n        flex-direction: row;\n        align-items: center;\n        gap: 10px;\n        text-align: left;\n      }\n      .discount-text { flex: 1; min-width: 0; }\n      .discount-title { font-size: 12.5px; margin: 0 0 1px; letter-spacing: .2px; }\n      .discount-code { font-size: 10.5px; letter-spacing: .3px; opacity: .9; }\n      .btn-copy-code {\n        width: auto;\n        padding: 7px 12px;\n        font-size: 11px;\n        border-radius: 7px;\n        flex-shrink: 0;\n      }\n      #discountActiveBadge { text-align: center; margin-top: 8px; }\n      .discount-active-badge { font-size: 11px; padding: 5px 9px; }\n\n      \/* MS Selector *\/\n      .ms-header {\n        flex-direction: row;\n        flex-wrap: wrap;\n        align-items: center;\n        gap: 6px;\n        margin-bottom: 8px;\n      }\n      .ms-label { font-size: 12px; }\n      .ms-hint { display: none; }\n      .ms-actions { margin-left: auto; }\n      .ms-link { font-size: 10.5px; padding: 4px 9px; }\n\n      .state-grid { max-height: 240px; padding: 6px; }\n      .state-check { padding: 8px 10px; gap: 6px; }\n      .state-check-name { font-size: 12px; }\n      .state-check-count { font-size: 9.5px; padding: 2px 6px; }\n\n      .ms-summary { margin-top: 8px; padding: 8px 11px; font-size: 11px; }\n\n      .price-card { padding: 14px; margin-top: 12px; border-radius: 10px; }\n      .price-big { font-size: 22px; }\n      .price-strikethrough { font-size: 14px; margin-right: 6px; }\n      .price-sub { font-size: 12px; }\n\n      \/* iOS-Zoom-Fix *\/\n      select, input, textarea { font-size: 16px; padding: 12px 13px; }\n\n      .btn { padding: 13px; font-size: 13.5px; }\n\n      \/* === FLOATING CTA === *\/\n      .floating-cta {\n        width: calc(100% - 24px);\n        border-radius: 12px;\n        bottom: 12px;\n        padding: 9px 14px;\n        gap: 10px;\n        justify-content: space-between;\n      }\n      .floating-cta-text { font-size: 11.5px; flex: 1; }\n    }\n\n    \/* === LARGE PHONE (max 600px) \u2014 Container Query === *\/\n    @container page (max-width: 600px) {\n      .wrap { padding: 12px 12px 90px; }\n\n      \/* Hero noch kompakter *\/\n      .hero-cta-banner { padding: 22px 16px 20px; }\n      .hero-headline { font-size: 23px; line-height: 1.2; }\n      .hero-subline { font-size: 13px; margin-bottom: 14px; }\n\n      .hero-stats { padding: 10px 0; margin-bottom: 14px; }\n      .hero-stat-val { font-size: 17px; }\n      .hero-stat-label { font-size: 9px; }\n      .hero-stat-divider { height: 20px; }\n\n      .btn-hero { padding: 12px 18px; font-size: 13.5px; }\n\n      \/* Value Strip *\/\n      .value-pill { padding: 8px 10px; gap: 8px; }\n      .value-icon { width: 26px; height: 26px; font-size: 12px; }\n\n      \/* Slider *\/\n      .contact-card { min-width: 238px; max-width: 238px; padding: 15px; }\n\n      \/* Dashboard *\/\n      .card-pad { padding: 16px 14px; }\n\n      \/* Map etwas k\u00fcrzer *\/\n      #deMap { height: 380px; }\n\n      \/* Checkout *\/\n      .checkout-header { padding: 13px; }\n      .step-container { padding: 13px; }\n      .step-item { padding-left: 20px; padding-bottom: 16px; }\n      .state-grid { max-height: 230px; }\n    }\n\n    \/* === SMALL PHONE (max 380px) \u2014 Container Query === *\/\n    @container page (max-width: 380px) {\n      .wrap { padding: 10px 10px 90px; }\n\n      .trust-badges { gap: 6px; }\n      .badge { font-size: 10px; padding: 4px 9px; gap: 5px; }\n\n      \/* Hero noch minimaler *\/\n      .hero-cta-banner { padding: 20px 14px 18px; border-radius: 14px; }\n      .hero-headline { font-size: 21px; line-height: 1.18; }\n      .hero-subline { font-size: 12.5px; margin-bottom: 12px; }\n\n      .hero-stats { padding: 9px 0; margin-bottom: 12px; }\n      .hero-stat-val { font-size: 16px; }\n      .hero-stat-divider { height: 18px; }\n\n      .btn-hero { padding: 11px 16px; font-size: 13px; }\n\n      \/* Value Strip: 1 Spalte *\/\n      .value-strip { grid-template-columns: 1fr; gap: 6px; margin-bottom: 12px; }\n      .value-pill { padding: 10px 12px; }\n\n      \/* Slider *\/\n      .contact-card { min-width: 230px; max-width: 230px; padding: 14px; }\n\n      \/* Map *\/\n      #deMap { height: 340px; }\n      .lbl-num { font-size: 9px; padding: 1px 5px; }\n      .state-label.is-tiny .lbl-num { font-size: 8px; padding: 1px 4px; }\n\n      \/* Checkout *\/\n      .price-big { font-size: 20px; }\n      .price-strikethrough { font-size: 13px; }\n      .form-row-2 { grid-template-columns: 1fr !important; }\n\n      \/* Rabatt: Code unter Titel auf Mini-Screens, Button rechts *\/\n      .discount-title { font-size: 12px; }\n      .discount-code { font-size: 10px; }\n      .btn-copy-code { padding: 6px 10px; font-size: 10.5px; }\n\n      \/* Floating CTA: nur Button *\/\n      .ticker-wrap, .floating-cta-text { display: none; }\n      .btn-floating { width: 100%; border-radius: 10px; padding: 10px 16px; }\n      .floating-cta { padding: 7px 10px; bottom: 10px; width: calc(100% - 20px); }\n    }\n\n    \/* Touch-Ger\u00e4te: Hover-Karte ausblenden *\/\n    @media (hover: none) {\n      .map-hover-card { display: none !important; }\n    }\n\n    \/* Reduzierte Bewegung f\u00fcr Nutzer mit entsprechender Pr\u00e4ferenz *\/\n    @media (prefers-reduced-motion: reduce) {\n      .hero-cta-banner::after,\n      .hero-particle,\n      .live-dot,\n      .ticker-dot,\n      .dot,\n      .btn-hero,\n      .btn-hero::before { animation: none !important; }\n      .hero-stat { animation: none !important; opacity: 1; }\n      .value-pill { animation: none !important; opacity: 1; }\n    }\n  <\/style>\n<\/head>\n<body>\n\n<div class=\"wrap\">\n  <header class=\"top-nav\">\n    <div class=\"trust-badges\">\n      <div class=\"badge\"><div class=\"dot\"><\/div> Live Daten<\/div>\n      <div class=\"badge\">\ud83d\udd12 Sichere Zahlung<\/div>\n    <\/div>\n  <\/header>\n\n  <!-- ===== HERO CTA BANNER ===== -->\n  <section class=\"hero-cta-banner\">\n\n    <div class=\"hero-particle\" style=\"width:14px;height:14px;top:18%;left:8%;background:radial-gradient(circle,rgba(187,158,28,.5),rgba(187,158,28,.05));--dur:7.5s;--delay:0s;--op0:.22;--op1:.5;--op2:.14;animation:particlePop .8s ease both,particleFloat 7.5s ease-in-out 0.8s infinite;\"><\/div>\n    <div class=\"hero-particle\" style=\"width:24px;height:24px;top:62%;left:18%;background:radial-gradient(circle,rgba(187,158,28,.35),rgba(187,158,28,.03));--dur:9s;--delay:.2s;--op0:.18;--op1:.42;--op2:.12;animation:particlePop .9s .3s ease both,particleFloat 9s ease-in-out 1.2s infinite;\"><\/div>\n    <div class=\"hero-particle\" style=\"width:9px;height:9px;top:40%;left:55%;background:radial-gradient(circle,rgba(187,158,28,.55),rgba(187,158,28,.08));--dur:6.5s;--delay:1s;--op0:.3;--op1:.6;--op2:.2;animation:particlePop .7s .6s ease both,particleFloat 6.5s ease-in-out 1.3s infinite;\"><\/div>\n    <div class=\"hero-particle\" style=\"width:18px;height:18px;top:25%;left:72%;background:radial-gradient(circle,rgba(187,158,28,.3),rgba(187,158,28,.04));--dur:8.2s;--delay:.5s;--op0:.2;--op1:.45;--op2:.15;animation:particlePop 1s .2s ease both,particleFloat 8.2s ease-in-out 1.5s infinite;\"><\/div>\n    <div class=\"hero-particle\" style=\"width:11px;height:11px;top:75%;left:62%;background:radial-gradient(circle,rgba(187,158,28,.45),rgba(187,158,28,.06));--dur:7s;--delay:1.5s;--op0:.25;--op1:.52;--op2:.18;animation:particlePop .8s .9s ease both,particleFloat 7s ease-in-out 2.4s infinite;\"><\/div>\n    <div class=\"hero-particle\" style=\"width:20px;height:20px;top:55%;left:82%;background:radial-gradient(circle,rgba(187,158,28,.25),rgba(187,158,28,.03));--dur:10s;--delay:0.8s;--op0:.15;--op1:.38;--op2:.1;animation:particlePop 1.1s .4s ease both,particleFloat 10s ease-in-out 1.9s infinite;\"><\/div>\n    <div class=\"hero-particle\" style=\"width:8px;height:8px;top:85%;left:30%;background:radial-gradient(circle,rgba(187,158,28,.5),rgba(187,158,28,.07));--dur:6s;--delay:2s;--op0:.28;--op1:.58;--op2:.2;animation:particlePop .7s 1.2s ease both,particleFloat 6s ease-in-out 2.9s infinite;\"><\/div>\n    <div class=\"hero-particle\" style=\"width:16px;height:16px;top:12%;left:42%;background:radial-gradient(circle,rgba(187,158,28,.32),rgba(187,158,28,.04));--dur:8.8s;--delay:0.2s;--op0:.2;--op1:.44;--op2:.13;animation:particlePop .95s .1s ease both,particleFloat 8.8s ease-in-out 1.1s infinite;\"><\/div>\n\n    <div class=\"hero-inner\">\n      <div>\n        <div class=\"live-badge\">\n          <div class=\"live-dot\"><\/div>\n          Sofort verf\u00fcgbar \u00b7 CSV-Download\n        <\/div>\n\n        <h1 class=\"hero-headline\">\n          3.699 gepr\u00fcfte Investoren.<br>\n          <em>Kaufen. Exportieren. Kontaktieren.<\/em>\n        <\/h1>\n\n        <p class=\"hero-subline\">\n          \u00dcber 10 Jahre kontinuierliche Akquisearbeit in einer einzigen Datenbank. Family Offices, institutionelle Anleger und private Bestandshalter, bundesweit und sofort einsatzbereit.\n        <\/p>\n\n        <div class=\"hero-stats\">\n          <div class=\"hero-stat\">\n            <span class=\"hero-stat-val\" id=\"heroCount\">3.699<\/span>\n            <span class=\"hero-stat-label\">Kontakte<\/span>\n          <\/div>\n          <div class=\"hero-stat-divider\"><\/div>\n          <div class=\"hero-stat\">\n            <span class=\"hero-stat-val\">16<\/span>\n            <span class=\"hero-stat-label\">Bundesl\u00e4nder<\/span>\n          <\/div>\n          <div class=\"hero-stat-divider\"><\/div>\n          <div class=\"hero-stat\">\n            <span class=\"hero-stat-val\">ab 1 \u20ac<\/span>\n            <span class=\"hero-stat-label\">Pro Kontakt<\/span>\n          <\/div>\n        <\/div>\n\n        <button class=\"btn-hero\" onclick=\"document.getElementById('stateGrid').scrollIntoView({behavior:'smooth',block:'center'});\">\n          Jetzt Datensatz ausw\u00e4hlen\n          <span class=\"btn-hero-arrow\">\u203a<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"urgency-card\">\n        <div class=\"urgency-ring\">\n          <svg viewBox=\"0 0 80 80\" width=\"80\" height=\"80\">\n            <circle class=\"urgency-ring-track\" cx=\"40\" cy=\"40\" r=\"35\"\/>\n            <circle class=\"urgency-ring-fill\" cx=\"40\" cy=\"40\" r=\"35\"\/>\n          <\/svg>\n          <div class=\"urgency-ring-label\">\n            <span class=\"urgency-ring-num\">75%<\/span>\n            <span class=\"urgency-ring-sub\">belegt<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"urgency-title\">Datensatz-Auslastung<\/div>\n        <div class=\"urgency-text\">Einige Regionalpakete werden bereits exklusiv genutzt.<\/div>\n        <div class=\"urgency-sep\"><\/div>\n        <div class=\"urgency-cta-small\">\u2192 Jetzt Region sichern<\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- ===== VALUE STRIP ===== -->\n  <div class=\"value-strip\">\n    <div class=\"value-pill\">\n      <div class=\"value-icon\">\ud83d\udccb<\/div>\n      <div class=\"value-pill-text\">\n        <strong>CSV-Export<\/strong>\n        <span>Sofort nutzbar<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"value-pill\">\n      <div class=\"value-icon\">\u2705<\/div>\n      <div class=\"value-pill-text\">\n        <strong>Gepr\u00fcfte Daten<\/strong>\n        <span>Qualifiziert &amp; aktuell<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"value-pill\">\n      <div class=\"value-icon\">\ud83c\udfe6<\/div>\n      <div class=\"value-pill-text\">\n        <strong>Family Offices<\/strong>\n        <span>+ inst. Investoren<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"value-pill\">\n      <div class=\"value-icon\">\ud83d\udd12<\/div>\n      <div class=\"value-pill-text\">\n        <strong>PayPal-Schutz<\/strong>\n        <span>Sicher bezahlen<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- ===== INVESTOR SLIDER ===== -->\n  <section class=\"slider-section\">\n    <div class=\"slider-header\">\n      <div class=\"slider-label-kicker\">Datensatz-Vorschau \u00b7 Echte Kontakte<\/div>\n      <div style=\"display:flex;align-items:center;gap:10px;\">\n        <span class=\"slider-counter\"><span id=\"slideNum\">1<\/span> \/ 12<\/span>\n        <div class=\"slider-nav\">\n          <button class=\"slider-nav-btn\" id=\"slidePrev\" title=\"Zur\u00fcck\">\u2039<\/button>\n          <button class=\"slider-nav-btn\" id=\"slideNext\" title=\"Weiter\">\u203a<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"slider-track-wrap\">\n      <div class=\"slider-track\" id=\"sliderTrack\">\n\n        <div class=\"contact-card active-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#1a1f36,#3c4257)\">KG<\/div>\n            <span class=\"contact-typ-badge typ-fo\">Family Office<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Kronberg Group GmbH &amp; Co. KG<\/div>\n          <div class=\"contact-gf\">GF: Dr. Andreas Kronberg<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 69 4412 8800<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">a.kronberg@kronberg-group.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">kronberg-group.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Frankfurt am Main, Hessen<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#2d3458,#1a1f36)\">BV<\/div>\n            <span class=\"contact-typ-badge typ-inst\">Institutionell<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Berliner Verm\u00f6gensmanagement AG<\/div>\n          <div class=\"contact-gf\">GF: Sabine Richter-M\u00f6ller<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 30 8871 4400<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">s.richter@bvm-ag.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">bvm-ag.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Berlin, Berlin<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#bb9e1c,#8a7015)\">HS<\/div>\n            <span class=\"contact-typ-badge typ-priv\">Privatinvestor<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Hanseatische Sachwert GmbH<\/div>\n          <div class=\"contact-gf\">GF: Thomas Hagedorn<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 40 3309 7711<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">t.hagedorn@hs-sachwert.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">hs-sachwert.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Hamburg, Hamburg<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#3c4257,#2d3458)\">MP<\/div>\n            <span class=\"contact-typ-badge typ-pe\">Private Equity<\/span>\n          <\/div>\n          <div class=\"contact-firma\">M\u00fcnchen Projekt Capital GmbH<\/div>\n          <div class=\"contact-gf\">GF: Markus Pfeiffer<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 89 2144 9950<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">m.pfeiffer@mpc-capital.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">mpc-capital.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">M\u00fcnchen, Bayern<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#9e8415,#7a6312)\">RI<\/div>\n            <span class=\"contact-typ-badge typ-reit\">REIT<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Rhein Immobilien Invest AG<\/div>\n          <div class=\"contact-gf\">GF: Claudia Steinberg-Wolf<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 211 8823 5500<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">c.steinberg@rhein-invest.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">rhein-invest.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">D\u00fcsseldorf, NRW<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#bb9e1c,#8a7015)\">EW<\/div>\n            <span class=\"contact-typ-badge typ-fo\">Family Office<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Elbe &amp; Weser Beteiligungen GmbH<\/div>\n          <div class=\"contact-gf\">GF: Heinrich L\u00fcttmann<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 421 6691 3300<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">h.luettmann@elbe-weser.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">elbe-weser.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Bremen, Bremen<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#2d3458,#1a1f36)\">SD<\/div>\n            <span class=\"contact-typ-badge typ-inst\">Pensionsfonds<\/span>\n          <\/div>\n          <div class=\"contact-firma\">S\u00fcddeutsche Renditeanlagen GmbH<\/div>\n          <div class=\"contact-gf\">GF: Dr. Eva Schreiber<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 711 4487 2200<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">e.schreiber@sd-rendite.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">sd-rendite.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Stuttgart, Baden-W\u00fcrttemberg<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#3c4257,#2d3458)\">NK<\/div>\n            <span class=\"contact-typ-badge typ-priv\">Bestandshalter<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Nordkap Immobilien GmbH<\/div>\n          <div class=\"contact-gf\">GF: J\u00f6rg Kluwe<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 431 9921 4410<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">j.kluwe@nordkap-immo.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">nordkap-immo.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Kiel, Schleswig-Holstein<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#9e8415,#7a6312)\">LF<\/div>\n            <span class=\"contact-typ-badge typ-pe\">Private Equity<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Lausitz Fund Management GmbH<\/div>\n          <div class=\"contact-gf\">GF: Robert G\u00e4n\u00dfler<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 351 7741 8800<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">r.gaenssler@lausitz-fund.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">lausitz-fund.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Dresden, Sachsen<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#1a1f36,#3c4257)\">WB<\/div>\n            <span class=\"contact-typ-badge typ-inst\">Institutionell<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Westfalen Beteiligungen AG<\/div>\n          <div class=\"contact-gf\">GF: Anke Breuer-Holz<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 251 3390 6611<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">a.breuer@westfalen-bet.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">westfalen-bet.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">M\u00fcnster, NRW<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#bb9e1c,#9e8415)\">AG<\/div>\n            <span class=\"contact-typ-badge typ-priv\">Bestandshalter<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Alster &amp; G\u00fcnthersberg Immobilien<\/div>\n          <div class=\"contact-gf\">GF: Friederike G\u00fcnthersberg<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 40 2210 7755<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">f.guenthersberg@alster-immo.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">alster-immo.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">Hamburg, Hamburg<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n        <div class=\"contact-card\">\n          <div class=\"contact-card-top\">\n            <div class=\"contact-avatar\" style=\"background:linear-gradient(135deg,#3c4257,#1a1f36)\">FR<\/div>\n            <span class=\"contact-typ-badge typ-reit\">REIT<\/span>\n          <\/div>\n          <div class=\"contact-firma\">Fr\u00e4nkische Renditeliegenschaften AG<\/div>\n          <div class=\"contact-gf\">GF: Stefan D\u00f6rflinger<\/div>\n          <div class=\"contact-fields\">\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udcde<\/div><span class=\"contact-field-val blurred\">+49 911 5500 3388<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\u2709\ufe0f<\/div><span class=\"contact-field-val blurred\">s.doerflinger@fr-ag.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83c\udf10<\/div><span class=\"contact-field-val\">fr-ag.de<\/span><\/div>\n            <div class=\"contact-field\"><div class=\"contact-field-icon\">\ud83d\udccd<\/div><span class=\"contact-field-val\">N\u00fcrnberg, Bayern<\/span><\/div>\n          <\/div>\n          <div class=\"card-lock-overlay\">\ud83d\udd12 Vollzugang nach Kauf<\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n    <div class=\"slider-dots\" id=\"sliderDots\"><\/div>\n    <div class=\"slider-progress\">\n      <div class=\"slider-progress-fill\" id=\"sliderProgressFill\" style=\"width:0%\"><\/div>\n    <\/div>\n  <\/section>\n\n  <main class=\"dashboard-grid\">\n\n    <div class=\"card\">\n      <div class=\"card-pad\">\n        <div class=\"kicker\">Premium Datensatz &middot; 10+ Jahre Akquisearbeit<\/div>\n        <h2 class=\"hero-title\">Qualifizierte Immobilien Investoren in Deutschland<\/h2>\n\n        <div class=\"copy-text\">\n          <p>Sie erhalten exklusiven Zugriff auf <strong><span id=\"totalContacts\">3.699<\/span> gepr\u00fcfte Kontakte<\/strong>. Unser Netzwerk umfasst Family Offices, institutionelle Anleger und private Bestandshalter.<\/p>\n        <\/div>\n\n        <div class=\"map-header\">\n          <div>\n            <h3 style=\"margin:0;font-size:15px\">Regionale Verteilung<\/h3>\n            <p style=\"margin:0;font-size:13px;color:var(--text-muted)\">Tippen Sie auf ein Bundesland zum Hinzuf\u00fcgen (Mehrfachauswahl)<\/p>\n          <\/div>\n          <div class=\"stat-box\">\n            <span class=\"stat-label\">Gesamt<\/span>\n            <span class=\"stat-val\">3.699<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"map-container\">\n          <div id=\"deMap\"><\/div>\n          <div class=\"map-hover-card\" id=\"mapHoverCard\">\n            <div class=\"hover-name\" id=\"hoverName\"><\/div>\n            <div class=\"hover-count\" id=\"hoverCount\"><\/div>\n            <div class=\"hover-label\">Kontakte verf\u00fcgbar<\/div>\n          <\/div>\n          <div class=\"map-legend\">\n            <div class=\"map-legend-title\">Kontakte<\/div>\n            <div class=\"legend-row\"><div class=\"legend-swatch\" style=\"background:rgba(187,158,28,.12)\"><\/div> &lt; 50<\/div>\n            <div class=\"legend-row\"><div class=\"legend-swatch\" style=\"background:rgba(187,158,28,.28)\"><\/div> 50 \u2013 200<\/div>\n            <div class=\"legend-row\"><div class=\"legend-swatch\" style=\"background:rgba(187,158,28,.48)\"><\/div> 200 \u2013 400<\/div>\n            <div class=\"legend-row\"><div class=\"legend-swatch\" style=\"background:rgba(187,158,28,.70)\"><\/div> 400+<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <aside class=\"card\">\n      <div class=\"checkout-header\">\n        <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1556761175-5973dc0f32e7?auto=format&fit=crop&w=150&q=80\" alt=\"Office\">\n        <div>\n          <div style=\"font-weight:700;font-size:15px\">Export Assistent<\/div>\n          <div style=\"font-size:12px;color:var(--text-muted)\">CSV Format \u00b7 Premium Support<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"step-container\">\n\n        <div class=\"discount-banner\">\n          <div class=\"discount-content\">\n            <div class=\"discount-text\">\n              <div class=\"discount-title\">50% RABATT<\/div>\n              <div class=\"discount-code\">CODE: Partner-50<\/div>\n            <\/div>\n            <button class=\"btn-copy-code\" id=\"copyCodeBtn\">Code kopieren<\/button>\n          <\/div>\n          <div id=\"discountActiveBadge\" style=\"display:none;\">\n            <div class=\"discount-active-badge\">\u2713 Rabatt aktiv<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"step-item step-active\">\n          <div class=\"step-num\"><\/div>\n          <span class=\"step-title\">1. Auswahl &amp; Preis<\/span>\n\n          <div class=\"ms-header\">\n            <span class=\"ms-label\">Zielmarkt w\u00e4hlen<span class=\"ms-hint\">\u00b7 Mehrfachauswahl<\/span><\/span>\n            <div class=\"ms-actions\">\n              <button type=\"button\" id=\"msSelectAll\" class=\"ms-link\">Alle<\/button>\n              <button type=\"button\" id=\"msClear\" class=\"ms-link\">Reset<\/button>\n            <\/div>\n          <\/div>\n          <div class=\"state-grid\" id=\"stateGrid\"><\/div>\n          <div class=\"ms-summary\" id=\"msSummary\">Keine Auswahl, bitte mindestens ein Bundesland w\u00e4hlen<\/div>\n\n          <div class=\"price-card\">\n            <div class=\"price-row\">\n              <div class=\"price-sub\">Investoren Kontakte<\/div>\n              <div style=\"font-weight:700;color:var(--text-light)\" id=\"leadCount\">\u2014<\/div>\n            <\/div>\n            <div style=\"height:1px;background:var(--gold-border);margin:11px 0;opacity:.5\"><\/div>\n            <div class=\"price-row\">\n              <div class=\"price-sub\">Preis (Brutto)<\/div>\n              <div style=\"display:flex;align-items:baseline;justify-content:flex-end;\">\n                <span id=\"originalPrice\" class=\"price-strikethrough\" style=\"display:none;\"><\/span>\n                <div class=\"price-big\"><span id=\"grossPrice\">\u2014<\/span><span id=\"grossCurrency\" style=\"display:none\"> \u20ac<\/span><\/div>\n              <\/div>\n            <\/div>\n            <div style=\"text-align:right;font-size:11px;color:var(--text-light);margin-top:3px\">inkl. 19% MwSt.<\/div>\n          <\/div>\n\n          <div style=\"margin-top:18px;\">\n            <button id=\"paypalBtn\" class=\"btn btn-primary\" disabled>Jetzt sicher zahlen (PayPal) \u2192<\/button>\n          <\/div>\n          <div class=\"note\" id=\"help1\">W\u00e4hlen Sie oben eine Region.<\/div>\n        <\/div>\n\n        <div class=\"step-item\" style=\"opacity:.6\">\n          <div class=\"step-num\"><\/div>\n          <span class=\"step-title\">2. Zahlung best\u00e4tigen<\/span>\n          <button id=\"paidBtn\" class=\"btn btn-ghost\" disabled style=\"justify-content:flex-start\">Ich habe bezahlt \u2713<\/button>\n        <\/div>\n\n        <div class=\"step-item\" id=\"detailsBlock\" style=\"display:none;opacity:1\">\n          <div class=\"step-num\"><\/div>\n          <span class=\"step-title\" style=\"color:var(--text-main)\">3. Firmendaten<\/span>\n          <p style=\"font-size:13px;color:var(--text-muted);margin-bottom:14px\">Bitte geben Sie Ihre Daten f\u00fcr den Rechnungsversand ein.<\/p>\n\n          <div style=\"display:grid;gap:11px\">\n            <input type=\"text\" id=\"company\" placeholder=\"Firma\" required>\n            <input type=\"text\" id=\"person\" placeholder=\"Ansprechpartner\" required>\n            <div class=\"form-row-2\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:11px\">\n              <input type=\"email\" id=\"email\" placeholder=\"E-Mail\" required>\n              <input type=\"tel\" id=\"phone\" placeholder=\"Telefon (opt)\">\n            <\/div>\n            <textarea id=\"address\" placeholder=\"Anschrift\" rows=\"2\" required><\/textarea>\n            <div class=\"form-row-2\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:11px\">\n              <input type=\"text\" id=\"vatId\" placeholder=\"USt-ID (opt)\">\n              <input type=\"text\" id=\"ref\" placeholder=\"Ref (opt)\">\n            <\/div>\n          <\/div>\n          <button id=\"sendDataBtn\" class=\"btn btn-primary\" style=\"margin-top:18px\">Daten senden<\/button>\n          <div class=\"note\" id=\"help3\">\u00d6ffnet Ihr E-Mail Programm<\/div>\n        <\/div>\n\n      <\/div>\n    <\/aside>\n\n  <\/main>\n<\/div>\n\n<!-- ===== FLOATING CTA BAR ===== -->\n<div class=\"floating-cta\" id=\"floatingCta\">\n  <div class=\"ticker-wrap\">\n    <div class=\"ticker-dot\"><\/div>\n    <span class=\"ticker-label\">LIVE<\/span>\n  <\/div>\n  <div class=\"floating-cta-text\">\n    <strong>3.699 Investoren-Kontakte<\/strong> \u00b7 ab 1 \u20ac pro Kontakt\n  <\/div>\n  <button class=\"btn-floating\" onclick=\"document.getElementById('stateGrid').scrollIntoView({behavior:'smooth',block:'center'});\">\n    Jetzt kaufen \u2192\n  <\/button>\n<\/div>\n\n<script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\n<script>\n\/* ============================================================\n   MOBILE-DETECTION & VIEWPORT-RESCUE\n   Wird ausgef\u00fchrt, sobald das Script l\u00e4dt. Setzt eine\n   force-mobile-Klasse auf <html>, sobald entweder die\n   physische Bildschirmbreite ODER die Viewport-Breite klein\n   ist. Damit greifen die Mobile-Styles auch dann, wenn die\n   Seite in einem fremden Layout (CMS, iframe) eingebettet\n   ist und das Viewport-Meta-Tag ignoriert wird.\n   ============================================================ *\/\n(function() {\n  function detectMobile() {\n    var screenW = (window.screen && window.screen.width) ? window.screen.width : Infinity;\n    var viewportW = window.innerWidth || document.documentElement.clientWidth || Infinity;\n    var isTouchDevice = window.matchMedia && window.matchMedia('(pointer: coarse)').matches;\n    var isMobileUA = \/Mobi|Android|iPhone|iPad|iPod\/i.test(navigator.userAgent || '');\n\n    \/* Tats\u00e4chliche schmale Breite (physisch oder Viewport) oder Touch + UA *\/\n    var isMobile = screenW <= 900 || viewportW <= 900 || (isTouchDevice && isMobileUA);\n\n    document.documentElement.classList.toggle('force-mobile', isMobile);\n\n    \/* Wenn das physische Display klein ist, aber der Viewport breit gerendert\n       wird (eingebetteter Kontext mit kaputtem Viewport), die Wrap-Breite\n       hart auf die Bildschirmbreite zwingen. setProperty mit 'important'\n       \u00fcberschreibt auch CSS-!important. *\/\n    var wrap = document.querySelector('.wrap');\n    if (!wrap) return;\n\n    if (screenW < 768 && viewportW > screenW + 50) {\n      \/* Embed-Fall: Viewport zu breit, Display klein \u2192 fixe Breite forcieren *\/\n      wrap.style.setProperty('max-width', screenW + 'px', 'important');\n      wrap.style.setProperty('width', screenW + 'px', 'important');\n      wrap.style.setProperty('margin-left', 'auto', 'important');\n      wrap.style.setProperty('margin-right', 'auto', 'important');\n\n      \/* Auch html\/body am \u00dcberlaufen hindern *\/\n      document.documentElement.style.setProperty('overflow-x', 'hidden', 'important');\n      document.documentElement.style.setProperty('max-width', screenW + 'px', 'important');\n      document.body.style.setProperty('overflow-x', 'hidden', 'important');\n      document.body.style.setProperty('max-width', screenW + 'px', 'important');\n\n      \/* Floating CTA sitzt au\u00dferhalb von .wrap (position:fixed), also separat fixen *\/\n      var cta = document.querySelector('.floating-cta');\n      if (cta) {\n        cta.style.setProperty('max-width', (screenW - 20) + 'px', 'important');\n        cta.style.setProperty('width', (screenW - 20) + 'px', 'important');\n      }\n    } else {\n      \/* Normaler Fall: alle inline-Styles wieder entfernen, damit das CSS greift *\/\n      wrap.style.removeProperty('max-width');\n      wrap.style.removeProperty('width');\n      wrap.style.removeProperty('margin-left');\n      wrap.style.removeProperty('margin-right');\n      document.documentElement.style.removeProperty('overflow-x');\n      document.documentElement.style.removeProperty('max-width');\n      document.body.style.removeProperty('overflow-x');\n      document.body.style.removeProperty('max-width');\n      var ctaClean = document.querySelector('.floating-cta');\n      if (ctaClean) {\n        ctaClean.style.removeProperty('max-width');\n        ctaClean.style.removeProperty('width');\n      }\n    }\n  }\n\n  \/* Sofort beim Script-Load, plus vor DOMContentLoaded falls noch nicht da *\/\n  detectMobile();\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', detectMobile);\n  }\n  window.addEventListener('resize', detectMobile, { passive: true });\n  window.addEventListener('orientationchange', detectMobile, { passive: true });\n})();\n<\/script>\n<script>\n(function(){\n  const PRICE = 1.00;\n  const VAT   = 0.19;\n  const DISCOUNT_CODE    = \"Partner-50\";\n  const DISCOUNT_PERCENT = 0.50;\n\n  const total = 3699;\n  document.getElementById(\"totalContacts\").innerText = total.toLocaleString(\"de-DE\");\n\n  const stateContacts = {\n    \"Berlin\": 601, \"Bayern\": 567, \"Nordrhein-Westfalen\": 546,\n    \"Hessen\": 539, \"Hamburg\": 369, \"Baden-W\u00fcrttemberg\": 286,\n    \"Sachsen\": 227, \"Niedersachsen\": 146, \"Brandenburg\": 84,\n    \"Bremen\": 77, \"Mecklenburg-Vorpommern\": 74, \"Sachsen-Anhalt\": 53,\n    \"Schleswig-Holstein\": 47, \"Th\u00fcringen\": 42, \"Rheinland-Pfalz\": 34,\n    \"Saarland\": 7\n  };\n\n  const stateCodes = {\n    \"Baden-W\u00fcrttemberg\":\"BW\",\"Bayern\":\"BY\",\"Berlin\":\"BE\",\"Brandenburg\":\"BB\",\n    \"Bremen\":\"HB\",\"Hamburg\":\"HH\",\"Hessen\":\"HE\",\"Mecklenburg-Vorpommern\":\"MV\",\n    \"Niedersachsen\":\"NI\",\"Nordrhein-Westfalen\":\"NW\",\"Rheinland-Pfalz\":\"RP\",\n    \"Saarland\":\"SL\",\"Sachsen\":\"SN\",\"Sachsen-Anhalt\":\"ST\",\n    \"Schleswig-Holstein\":\"SH\",\"Th\u00fcringen\":\"TH\"\n  };\n\n  const leadDisplay      = document.getElementById(\"leadCount\");\n  const priceDisplay     = document.getElementById(\"grossPrice\");\n  const origPriceDisplay = document.getElementById(\"originalPrice\");\n  const payBtn           = document.getElementById(\"paypalBtn\");\n  const paidBtn          = document.getElementById(\"paidBtn\");\n  const help1            = document.getElementById(\"help1\");\n  const copyCodeBtn      = document.getElementById(\"copyCodeBtn\");\n  const discountBadge    = document.getElementById(\"discountActiveBadge\");\n  const sumEl            = document.getElementById(\"msSummary\");\n  const grid             = document.getElementById(\"stateGrid\");\n\n  const fmtEur = n => n.toLocaleString(\"de-DE\",{minimumFractionDigits:2,maximumFractionDigits:2});\n\n  const selectedStates = new Set();\n  let geoLayer        = null;\n  let leafMap         = null;\n  let currentPkg      = null;\n  let discountApplied = false;\n\n  function animateCount(el, target, dur) {\n    let v = 0;\n    const step = target \/ (dur \/ 16);\n    const t = setInterval(() => {\n      v = Math.min(v + step, target);\n      el.textContent = Math.round(v).toLocaleString(\"de-DE\");\n      if (v >= target) clearInterval(t);\n    }, 16);\n  }\n  const heroCount = document.getElementById(\"heroCount\");\n  if (heroCount) { heroCount.textContent = \"0\"; setTimeout(() => animateCount(heroCount, 3699, 1200), 300); }\n\n  const floatingCta = document.getElementById(\"floatingCta\");\n  window.addEventListener(\"scroll\", () => {\n    floatingCta.classList.toggle(\"visible\", window.scrollY > 350);\n  }, { passive: true });\n\n  copyCodeBtn.addEventListener(\"click\", () => {\n    navigator.clipboard.writeText(DISCOUNT_CODE).then(() => {\n      copyCodeBtn.textContent = \"Kopiert \u2713\";\n      copyCodeBtn.classList.add(\"copied\");\n      if (!discountApplied) { discountApplied = true; discountBadge.style.display = \"block\"; update(); }\n      setTimeout(() => { copyCodeBtn.textContent = \"Code kopieren\"; copyCodeBtn.classList.remove(\"copied\"); }, 2000);\n    }).catch(() => { copyCodeBtn.textContent = \"Fehler\"; setTimeout(() => { copyCodeBtn.textContent = \"Code kopieren\"; }, 2000); });\n  });\n\n  const sortedStates = Object.keys(stateContacts).sort((a,b) => stateContacts[b] - stateContacts[a]);\n  sortedStates.forEach(name => {\n    const count = stateContacts[name];\n    const label = document.createElement(\"label\");\n    label.className = \"state-check\";\n    label.dataset.state = name;\n    label.innerHTML =\n      `<input type=\"checkbox\" value=\"${name}\">` +\n      `<span class=\"state-check-name\">${name}<\/span>` +\n      `<span class=\"state-check-count\">${count.toLocaleString('de-DE')}<\/span>`;\n    grid.appendChild(label);\n\n    label.querySelector(\"input\").addEventListener(\"change\", e => {\n      if (e.target.checked) selectedStates.add(name);\n      else selectedStates.delete(name);\n      label.classList.toggle(\"is-checked\", e.target.checked);\n      update();\n    });\n  });\n\n  document.getElementById(\"msSelectAll\").addEventListener(\"click\", () => {\n    Object.keys(stateContacts).forEach(n => selectedStates.add(n));\n    syncCheckboxes();\n    update();\n  });\n  document.getElementById(\"msClear\").addEventListener(\"click\", () => {\n    selectedStates.clear();\n    syncCheckboxes();\n    update();\n  });\n\n  function syncCheckboxes() {\n    document.querySelectorAll(\".state-check\").forEach(lbl => {\n      const n  = lbl.dataset.state;\n      const cb = lbl.querySelector(\"input\");\n      const checked = selectedStates.has(n);\n      cb.checked = checked;\n      lbl.classList.toggle(\"is-checked\", checked);\n    });\n  }\n\n  function findStateName(feature) {\n    const p = feature.properties || {};\n    const candidates = [p.GEN, p.NAME_1, p.NAME, p.name, p.name_1, p.gen, p.geographic_name].filter(Boolean);\n    const known = Object.keys(stateContacts);\n    for (const cand of candidates) {\n      const trimmed = String(cand).trim();\n      const match = known.find(k => k.toLowerCase() === trimmed.toLowerCase());\n      if (match) return match;\n    }\n    return candidates[0] || 'Unbekannt';\n  }\n\n  function getColor(count) {\n    if (count >= 400) return 'rgba(187,158,28,0.68)';\n    if (count >= 200) return 'rgba(187,158,28,0.46)';\n    if (count >= 50)  return 'rgba(187,158,28,0.26)';\n    return 'rgba(187,158,28,0.10)';\n  }\n  function defaultStyle(name) {\n    return { fillColor: getColor(stateContacts[name] || 0), fillOpacity: 1, color: '#1a1f36', weight: 1, opacity: 0.55 };\n  }\n  function selectedStyle() {\n    return { fillColor: '#bb9e1c', fillOpacity: 0.92, color: '#1a1f36', weight: 2, opacity: 1 };\n  }\n  function hoverStyle() {\n    return { fillColor: '#1a1f36', fillOpacity: 0.88, color: '#bb9e1c', weight: 2, opacity: 1 };\n  }\n\n  function updateMapStyles() {\n    if (!geoLayer) return;\n    geoLayer.eachLayer(l => {\n      const n = findStateName(l.feature);\n      const isSel = selectedStates.has(n);\n      l.setStyle(isSel ? selectedStyle() : defaultStyle(n));\n      const tip = l.getTooltip();\n      if (tip) {\n        const el = tip.getElement();\n        if (el) el.classList.toggle(\"is-selected\", isSel);\n      }\n    });\n  }\n\n  function update() {\n    const selArr = Array.from(selectedStates);\n    const count  = selArr.reduce((sum, n) => sum + (stateContacts[n] || 0), 0);\n    const baseGross  = count * PRICE;\n    const finalGross = discountApplied ? baseGross * (1 - DISCOUNT_PERCENT) : baseGross;\n\n    const currEl = document.getElementById(\"grossCurrency\");\n    if (count > 0) {\n      leadDisplay.innerText  = count.toLocaleString(\"de-DE\");\n      leadDisplay.style.color = \"\";\n      priceDisplay.innerText = fmtEur(finalGross);\n      currEl.style.display = \"inline\";\n    } else {\n      leadDisplay.innerText  = \"\u2014\";\n      leadDisplay.style.color = \"var(--text-light)\";\n      priceDisplay.innerText = \"\u2014\";\n      currEl.style.display = \"none\";\n    }\n\n    if (discountApplied && count > 0) {\n      origPriceDisplay.textContent = fmtEur(baseGross) + \" \u20ac\";\n      origPriceDisplay.style.display = \"inline\";\n    } else {\n      origPriceDisplay.style.display = \"none\";\n    }\n\n    let pkgName;\n    if (selArr.length === 0)        pkgName = \"Keine Auswahl\";\n    else if (selArr.length === 16)  pkgName = \"Alle Bundesl\u00e4nder\";\n    else if (selArr.length <= 3)    pkgName = selArr.join(\" + \");\n    else                            pkgName = `${selArr.slice(0,2).join(\" + \")} + ${selArr.length - 2} weitere`;\n\n    currentPkg = { name: pkgName, c: count, gross: finalGross, net: finalGross\/(1+VAT), vat: finalGross - finalGross\/(1+VAT), discountApplied };\n\n    const enabled = count > 0;\n    payBtn.disabled  = !enabled;\n    paidBtn.disabled = !enabled;\n    paidBtn.parentElement.style.opacity = enabled ? \"1\" : \".6\";\n\n    if (selArr.length === 0) {\n      sumEl.innerHTML = \"Keine Auswahl, bitte mindestens ein Bundesland w\u00e4hlen\";\n      sumEl.classList.remove(\"has-selection\");\n    } else if (selArr.length === 16) {\n      sumEl.innerHTML = `Alle <strong>16 Bundesl\u00e4nder<\/strong> &middot; <strong>${count.toLocaleString(\"de-DE\")}<\/strong> Kontakte`;\n      sumEl.classList.add(\"has-selection\");\n    } else {\n      const wort = selArr.length === 1 ? \"Bundesland\" : \"Bundesl\u00e4nder\";\n      sumEl.innerHTML = `<strong>${selArr.length}<\/strong> ${wort} &middot; <strong>${count.toLocaleString(\"de-DE\")}<\/strong> Kontakte`;\n      sumEl.classList.add(\"has-selection\");\n    }\n\n    if (!enabled) {\n      help1.innerHTML = \"W\u00e4hlen Sie mindestens eine Region.\";\n      help1.style.color = \"\";\n    } else {\n      help1.innerHTML = discountApplied ? \"\u2713 50% Rabatt angewendet. Bereit zur Zahlung.\" : \"Bereit zur Zahlung via PayPal.\";\n      help1.style.color = \"#198754\";\n    }\n\n    updateMapStyles();\n  }\n\n  update();\n\n  \/* ===== Leaflet Map ===== *\/\n  leafMap = L.map('deMap', {\n    zoomControl: false, scrollWheelZoom: false, dragging: false,\n    doubleClickZoom: false, boxZoom: false, keyboard: false, touchZoom: false,\n    attributionControl: true\n  });\n\n  L.tileLayer('https:\/\/{s}.basemaps.cartocdn.com\/light_nolabels\/{z}\/{x}\/{y}{r}.png', {\n    attribution: '&copy; <a href=\"https:\/\/carto.com\/\">CartoDB<\/a>',\n    subdomains: 'abcd', maxZoom: 10\n  }).addTo(leafMap);\n\n  const tinyStates = [\"Berlin\",\"Hamburg\",\"Bremen\",\"Saarland\"];\n\n  const hoverCard      = document.getElementById('mapHoverCard');\n  const hoverNameEl    = document.getElementById('hoverName');\n  const hoverCountEl   = document.getElementById('hoverCount');\n  const mapContainerEl = document.querySelector('.map-container');\n\n  function positionHoverCard(originalEvent) {\n    const rect = mapContainerEl.getBoundingClientRect();\n    const x = originalEvent.clientX - rect.left;\n    const y = originalEvent.clientY - rect.top;\n    const cardW = hoverCard.offsetWidth || 150;\n    const cardH = hoverCard.offsetHeight || 70;\n    let left = x + 16;\n    let top  = y - cardH - 8;\n    if (left + cardW > rect.width - 8) left = x - cardW - 16;\n    if (top < 8) top = y + 16;\n    hoverCard.style.left = left + 'px';\n    hoverCard.style.top  = top + 'px';\n  }\n\n  fetch('https:\/\/raw.githubusercontent.com\/isellsoap\/deutschlandGeoJSON\/main\/2_bundeslaender\/4_niedrig.geo.json')\n    .then(r => r.json())\n    .then(geojson => {\n      geoLayer = L.geoJSON(geojson, {\n        style: f => defaultStyle(findStateName(f)),\n        onEachFeature: (feature, layer) => {\n          const name  = findStateName(feature);\n          const count = stateContacts[name] || 0;\n          const isTiny = tinyStates.includes(name);\n          const labelHtml = `<span class=\"lbl-num\">${count.toLocaleString('de-DE')}<\/span>`;\n\n          layer.bindTooltip(labelHtml, {\n            permanent: true,\n            direction: 'center',\n            className: 'state-label' + (isTiny ? ' is-tiny' : ''),\n            opacity: 1\n          });\n\n          layer.on({\n            mouseover: e => {\n              if (!selectedStates.has(name)) e.target.setStyle(hoverStyle());\n              e.target.bringToFront();\n              const tipEl = e.target.getTooltip() && e.target.getTooltip().getElement();\n              if (tipEl) tipEl.classList.add('is-hovered');\n\n              hoverNameEl.textContent  = name;\n              hoverCountEl.textContent = count.toLocaleString('de-DE');\n              hoverCard.classList.add('visible');\n              positionHoverCard(e.originalEvent);\n            },\n            mousemove: e => {\n              positionHoverCard(e.originalEvent);\n            },\n            mouseout: e => {\n              if (selectedStates.has(name)) e.target.setStyle(selectedStyle());\n              else                          geoLayer.resetStyle(e.target);\n              const tipEl = e.target.getTooltip() && e.target.getTooltip().getElement();\n              if (tipEl) tipEl.classList.remove('is-hovered');\n\n              hoverCard.classList.remove('visible');\n            },\n            click: () => {\n              if (selectedStates.has(name)) selectedStates.delete(name);\n              else                          selectedStates.add(name);\n              syncCheckboxes();\n              update();\n            }\n          });\n        }\n      }).addTo(leafMap);\n\n      leafMap.fitBounds(geoLayer.getBounds(), { padding: [16, 16] });\n    })\n    .catch(() => {\n      document.getElementById('deMap').innerHTML =\n        '<div style=\"display:flex;align-items:center;justify-content:center;height:100%;color:#697386;font-size:14px\">Karte konnte nicht geladen werden.<\/div>';\n    });\n\n  payBtn.addEventListener(\"click\", () => {\n    if (!currentPkg) return;\n    const url = `https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_xclick&business=anfrage@limaimmobilien.com&item_name=${encodeURIComponent('Lima Invest: '+currentPkg.name+(discountApplied?' (50% Rabatt)':''))}&amount=${currentPkg.gross.toFixed(2)}&currency_code=EUR&no_shipping=1`;\n    window.open(url,\"_blank\");\n  });\n\n  paidBtn.addEventListener(\"click\", () => {\n    document.getElementById(\"detailsBlock\").style.display = \"block\";\n    paidBtn.innerHTML = \"Zahlung best\u00e4tigt \u2713\";\n    paidBtn.style.color = \"#198754\";\n    paidBtn.style.borderColor = \"#198754\";\n  });\n\n  document.getElementById(\"sendDataBtn\").addEventListener(\"click\", async () => {\n    const company = document.getElementById(\"company\").value;\n    const person  = document.getElementById(\"person\").value;\n    const email   = document.getElementById(\"email\").value;\n    const address = document.getElementById(\"address\").value;\n    if (!company || !person || !email || !address) { alert(\"Bitte alle Pflichtfelder ausf\u00fcllen.\"); return; }\n    const discountInfo = discountApplied ? `\\n\\n50% RABATT ANGEWENDET (Code: ${DISCOUNT_CODE})` : '';\n    const txt = `BESTELLUNG: ${currentPkg.name}\\nSumme: ${fmtEur(currentPkg.gross)} EUR${discountInfo}\\n\\nFirma: ${company}\\nKontakt: ${person}\\nEmail: ${email}\\nAdr: ${address}`;\n    try { await navigator.clipboard.writeText(txt); } catch(e){}\n    window.location.href = `mailto:anfrage@limaimmobilien.com?subject=Bestellung&body=${encodeURIComponent(txt)}`;\n    document.getElementById(\"help3\").innerText = \"Daten kopiert & Mail-Client ge\u00f6ffnet.\";\n    document.getElementById(\"help3\").classList.add(\"success\");\n  });\n\n  \/* ===== Investor Slider ===== *\/\n  (function() {\n    const track    = document.getElementById(\"sliderTrack\");\n    const cards    = track.querySelectorAll(\".contact-card\");\n    const prevBtn  = document.getElementById(\"slidePrev\");\n    const nextBtn  = document.getElementById(\"slideNext\");\n    const slideNum = document.getElementById(\"slideNum\");\n    const dotsEl   = document.getElementById(\"sliderDots\");\n    const progFill = document.getElementById(\"sliderProgressFill\");\n\n    const TOTAL         = cards.length;\n    const AUTO_INTERVAL = 1400;\n    const PROG_STEP     = 40;\n\n    \/* Dynamisch berechnen \u2013 passt sich an Mobile-Breakpoints an *\/\n    function getCardWidth() {\n      const card = cards[0];\n      const style = getComputedStyle(track);\n      const gap = parseFloat(style.gap) || 18;\n      return card.offsetWidth + gap;\n    }\n\n    let current = 0, autoTimer = null, progTimer = null, progVal = 0;\n\n    for (let i = 0; i < TOTAL; i++) {\n      const d = document.createElement(\"div\");\n      d.className = \"slider-dot\" + (i === 0 ? \" active\" : \"\");\n      d.addEventListener(\"click\", () => goTo(i));\n      dotsEl.appendChild(d);\n    }\n\n    function updateDots()  { dotsEl.querySelectorAll(\".slider-dot\").forEach((d,i) => d.classList.toggle(\"active\", i === current)); }\n    function updateCards() { cards.forEach((c,i) => c.classList.toggle(\"active-card\", i === current)); }\n\n    function goTo(idx) {\n      current = (idx + TOTAL) % TOTAL;\n      const cardW = getCardWidth();\n      const offset = Math.max(0, current - 0.5) * cardW;\n      track.style.transform = `translateX(-${offset}px)`;\n      slideNum.textContent = current + 1;\n      updateDots(); updateCards(); resetProg();\n    }\n\n    function next() { goTo(current + 1); }\n    function prev() { goTo(current - 1); }\n\n    function resetProg() {\n      progVal = 0; progFill.style.width = \"0%\";\n      clearInterval(progTimer);\n      progTimer = setInterval(() => {\n        progVal += (PROG_STEP \/ AUTO_INTERVAL) * 100;\n        progFill.style.width = Math.min(progVal,100) + \"%\";\n      }, PROG_STEP);\n    }\n\n    function startAuto() { clearInterval(autoTimer); autoTimer = setInterval(next, AUTO_INTERVAL); resetProg(); }\n    function stopAuto()  { clearInterval(autoTimer); clearInterval(progTimer); }\n\n    prevBtn.addEventListener(\"click\", () => { stopAuto(); prev(); startAuto(); });\n    nextBtn.addEventListener(\"click\", () => { stopAuto(); next(); startAuto(); });\n    track.addEventListener(\"mouseenter\", stopAuto);\n    track.addEventListener(\"mouseleave\", startAuto);\n\n    let tx = 0;\n    track.addEventListener(\"touchstart\", e => { tx = e.touches[0].clientX; stopAuto(); }, { passive:true });\n    track.addEventListener(\"touchend\",   e => { const dx = e.changedTouches[0].clientX - tx; if (Math.abs(dx) > 40) dx < 0 ? next() : prev(); startAuto(); }, { passive:true });\n\n    \/* Bei Resize neu positionieren *\/\n    let resizeTimer;\n    window.addEventListener(\"resize\", () => {\n      clearTimeout(resizeTimer);\n      resizeTimer = setTimeout(() => goTo(current), 150);\n    }, { passive: true });\n\n    updateCards(); startAuto();\n  })();\n})();\n<\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Lima Invest Netzwerk | Premium Zugang Live Daten \ud83d\udd12 Sichere Zahlung Sofort verf\u00fcgbar \u00b7 CSV-Download 3.699 gepr\u00fcfte Investoren. Kaufen. Exportieren. Kontaktieren. \u00dcber 10 Jahre kontinuierliche Akquisearbeit in einer einzigen Datenbank. Family Offices, institutionelle Anleger und private Bestandshalter, bundesweit und sofort einsatzbereit. 3.699 Kontakte 16 Bundesl\u00e4nder ab 1 \u20ac Pro Kontakt Jetzt Datensatz ausw\u00e4hlen \u203a 75%&#8230;<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kad_post_transparent":"","_kad_post_title":"hide","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"unboxed","_kad_post_vertical_padding":"hide","_kad_post_feature":"hide","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-21467","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/21467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/comments?post=21467"}],"version-history":[{"count":10,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/21467\/revisions"}],"predecessor-version":[{"id":23176,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/21467\/revisions\/23176"}],"wp:attachment":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/media?parent=21467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}