{"id":20550,"date":"2025-12-13T13:59:35","date_gmt":"2025-12-13T12:59:35","guid":{"rendered":"https:\/\/limainvestimmobilien.de\/?page_id=20550"},"modified":"2026-02-04T09:06:01","modified_gmt":"2026-02-04T08:06:01","slug":"staedte-toolanalyse-immobilienstaedte-top-metropolen","status":"publish","type":"page","link":"https:\/\/limainvestimmobilien.de\/en\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/","title":{"rendered":"St\u00e4dte-Toolanalyse"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20550\" class=\"elementor elementor-20550\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e395c18 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e395c18\" 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-a4d7dcd\" data-id=\"a4d7dcd\" 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-bccba30 elementor-widget elementor-widget-html\" data-id=\"bccba30\" 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.0\">\n<title>Standort Matrix \u2013 ABCD Widget<\/title>\n\n<style>\n  :root {\n    --bg-body: #f1f5f9;\n    --bg-card: #ffffff;\n    --text-main: #0f172a;\n    --text-sub: #64748b;\n\n    \/* Kategorien *\/\n    --color-a: #10b981;\n    --bg-a: #d1fae5;\n\n    --color-b: #3b82f6;\n    --bg-b: #dbeafe;\n\n    --color-c: #f59e0b;\n    --bg-c: #fef3c7;\n\n    --color-d: #ef4444;\n    --bg-d: #fee2e2;\n\n    \/* CTA *\/\n    --cta-gold: #bb9e1c;\n    --cta-gold-hover: #a88d17;\n  }\n\n  body {\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n    background-color: var(--bg-body);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    min-height: 100vh;\n    margin: 0;\n    padding: 20px;\n  }\n\n  .widget {\n    display: flex;\n    background: var(--bg-card);\n    width: 100%;\n    max-width: 1200px;\n    border-radius: 12px;\n    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);\n    overflow: hidden;\n    border: 1px solid #e2e8f0;\n  }\n\n  .visual-col {\n    flex: 0 0 300px;\n    background-image: url('https:\/\/images.unsplash.com\/photo-1477959858617-67f85cf4f1df?q=80&w=944&auto=format&fit=crop');\n    background-size: cover;\n    background-position: center;\n    position: relative;\n  }\n\n  .visual-col::after {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(to bottom, rgba(15,23,42,0.1), rgba(15,23,42,0.4));\n  }\n\n  .content-col {\n    flex: 1;\n    padding: 40px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n  }\n\n  header {\n    margin-bottom: 24px;\n    border-bottom: 1px solid #e2e8f0;\n    padding-bottom: 16px;\n  }\n\n  h1 {\n    font-size: 1.75rem;\n    font-weight: 800;\n    margin: 0;\n    color: var(--text-main);\n  }\n\n  .subtitle {\n    font-size: 1rem;\n    color: var(--text-sub);\n    margin-top: 6px;\n  }\n\n  .grid-2x2 {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 20px;\n  }\n\n  .card-item {\n    border: 1px solid #e2e8f0;\n    border-radius: 8px;\n    padding: 20px;\n    background: #fff;\n    position: relative;\n  }\n\n  .card-item::before {\n    content: \"\";\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 4px;\n  }\n\n  .card-a::before { background: var(--color-a); }\n  .card-b::before { background: var(--color-b); }\n  .card-c::before { background: var(--color-c); }\n  .card-d::before { background: var(--color-d); }\n\n  .card-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 8px;\n  }\n\n  .cat-name {\n    font-weight: 700;\n    font-size: 1.1rem;\n    color: var(--text-main);\n  }\n\n  .badge {\n    font-size: 0.75rem;\n    font-weight: 700;\n    padding: 4px 10px;\n    border-radius: 99px;\n    text-transform: uppercase;\n  }\n\n  .badge-a { background: var(--bg-a); color: #047857; }\n  .badge-b { background: var(--bg-b); color: #1d4ed8; }\n  .badge-c { background: var(--bg-c); color: #b45309; }\n  .badge-d { background: var(--bg-d); color: #b91c1c; }\n\n  .description {\n    font-size: 0.95rem;\n    color: var(--text-sub);\n    line-height: 1.6;\n    margin: 0;\n  }\n\n  .footer-info {\n    margin-top: 24px;\n    font-size: 0.9rem;\n    color: var(--text-sub);\n    background: #f8fafc;\n    padding: 12px 18px;\n    border-radius: 6px;\n    border: 1px dashed #cbd5e1;\n  }\n\n  \/* CTA *\/\n  .cta-box {\n    margin-top: 28px;\n    padding: 22px;\n    border-radius: 8px;\n    background: #ffffff;\n    border: 1px solid #e5e7eb;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 20px;\n  }\n\n  .cta-text {\n    font-size: 0.95rem;\n    color: var(--text-sub);\n    line-height: 1.5;\n  }\n\n  .cta-text strong {\n    color: var(--text-main);\n    font-weight: 700;\n  }\n\n  .cta-button {\n    background: var(--cta-gold);\n    color: #ffffff;\n    text-decoration: none;\n    padding: 14px 26px;\n    border-radius: 6px;\n    font-weight: 700;\n    font-size: 0.95rem;\n    white-space: nowrap;\n    box-shadow: 0 6px 14px rgba(187,158,28,0.25);\n    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;\n  }\n\n  .cta-button:hover {\n    background: var(--cta-gold-hover);\n    transform: translateY(-1px);\n    box-shadow: 0 10px 20px rgba(187,158,28,0.35);\n  }\n\n  @media (max-width: 900px) {\n    .widget { flex-direction: column; }\n    .visual-col { flex: 0 0 200px; width: 100%; }\n    .grid-2x2 { grid-template-columns: 1fr; }\n    .cta-box {\n      flex-direction: column;\n      align-items: flex-start;\n    }\n    .cta-button {\n      width: 100%;\n      text-align: center;\n    }\n  }\n<\/style>\n<\/head>\n\n<body>\n\n<div class=\"widget\">\n\n  <div class=\"visual-col\"><\/div>\n\n  <div class=\"content-col\">\n    <header>\n      <h1>Standort Matrix<\/h1>\n      <p class=\"subtitle\">Klassifizierung nach Risikoklassen & Potenzial<\/p>\n    <\/header>\n\n    <div class=\"grid-2x2\">\n\n      <div class=\"card-item card-a\">\n        <div class=\"card-header\">\n          <span class=\"cat-name\">A \u2022 Metropolen<\/span>\n          <span class=\"badge badge-a\">Sicherheit<\/span>\n        <\/div>\n        <p class=\"description\">\n          Berlin, M\u00fcnchen, Hamburg. H\u00f6chste Stabilit\u00e4t und Liquidit\u00e4t. Fokus auf langfristigen Werterhalt bei niedriger Rendite.\n        <\/p>\n      <\/div>\n\n      <div class=\"card-item card-b\">\n        <div class=\"card-header\">\n          <span class=\"cat-name\">B \u2022 Gro\u00dfst\u00e4dte<\/span>\n          <span class=\"badge badge-b\">Wachstum<\/span>\n        <\/div>\n        <p class=\"description\">\n          St\u00e4dte mit nationaler Bedeutung. Ausgewogenes Verh\u00e4ltnis zwischen Risiko und Wertsteigerungspotenzial.\n        <\/p>\n      <\/div>\n\n      <div class=\"card-item card-c\">\n        <div class=\"card-header\">\n          <span class=\"cat-name\">C \u2022 Mittelzentren<\/span>\n          <span class=\"badge badge-c\">Rendite<\/span>\n        <\/div>\n        <p class=\"description\">\n          Regionale Ankerpunkte. Attraktiver Cashflow bei stabilem Umfeld. Ideal zur Diversifizierung.\n        <\/p>\n      <\/div>\n\n      <div class=\"card-item card-d\">\n        <div class=\"card-header\">\n          <span class=\"cat-name\">D \u2022 Lokale M\u00e4rkte<\/span>\n          <span class=\"badge badge-d\">High Yield<\/span>\n        <\/div>\n        <p class=\"description\">\n          Kleinere Standorte. Fokus auf maximale laufende Ertr\u00e4ge bei erh\u00f6hter Volatilit\u00e4t und Wiederverkaufsrisiko.\n        <\/p>\n      <\/div>\n\n    <\/div>\n\n    <div class=\"footer-info\">\n      <strong>Strategie-Tipp:<\/strong>\n      Kombinieren Sie A\/B-Standorte als stabiles Basisinvestment mit C\/D-Standorten als Rendite-Booster.\n    <\/div>\n\n    <div class=\"cta-box\">\n      <div class=\"cta-text\">\n        <strong>Passende Off-Market-Angebote erhalten<\/strong><br>\n        Legen Sie Ihr Suchprofil an. Sobald ein diskretes Off-Market-Objekt in Ihrer Wunschstadt verf\u00fcgbar ist,\n        erhalten Sie das Angebot vor Markteintritt \u2013 mit faktischem Vorkaufsrecht.\n      <\/div>\n\n      <a href=\"https:\/\/limainvestimmobilien.de\/suchprofil-hinterlegen\/\"\n         class=\"cta-button\"\n         target=\"_blank\"\n         rel=\"noopener\">\n        Suchprofil anlegen\n      <\/a>\n    <\/div>\n\n  <\/div>\n<\/div>\n\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<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e065bab elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e065bab\" 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-b4d3437\" data-id=\"b4d3437\" 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-eab00e4 elementor-widget elementor-widget-html\" data-id=\"eab00e4\" 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.0\">\n<title>St\u00e4dte Toolanalyse | LIMA Invest<\/title>\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\" integrity=\"sha256-p4NxAoJBhIIN+hmNHrzRCf9tD\/miZyoHS5obTRR9BMY=\" crossorigin=\"\"\/>\n<script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\" integrity=\"sha256-20nQCchB9co0qIjJZRGuk2\/Z9VM+kNiyxNV1lvTlZBo=\" crossorigin=\"\"><\/script>\n\n<style>\n  \/* --- CSS VARIABLES & RESET --- *\/\n  body { margin: 0; padding: 20px; background-color: #f1f5f9; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }\n    \n  #lima-cities-module {\n    \/* DEFINITIONEN *\/\n    --li-primary: #0F172A;      \n    --li-accent: #bb9e1c;       \n    --li-accent-fade: rgba(187, 158, 28, 0.10);\n    --li-bg: #FFFFFF;           \n    --li-bg-off: #F8FAFC;       \n    --li-text: #334155;         \n    --li-text-light: #64748B;\n    --li-border: #E2E8F0;       \n    --li-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);\n    --li-error: #ef4444;\n    \n    \/* RESET: Keine Layout-Constraints auf dem Root-Level *\/\n    width: 100%;\n    margin: 0;\n    padding: 0;\n    box-sizing: border-box;\n  }\n\n  #lima-cities-module * { box-sizing: border-box; }\n\n  \/* --- ARCHITECTURE FIX: CONTAINER --- *\/\n  .lima-container {\n    width: 100%;\n    max-width: 1200px; \/* Best Practice Breite *\/\n    margin: 0 auto;    \/* Zentrierung *\/\n    padding: 25px;\n    \n    \/* Styling Kontext (Karte) *\/\n    background: var(--li-bg);\n    color: var(--li-text);\n    border-radius: 8px;\n    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n    border: 1px solid transparent; \/* Prevents margin collapse *\/\n  }\n\n  \/* Semantische Gruppierung f\u00fcr Header-Elemente *\/\n  .lima-header-group {\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    margin-bottom: 20px;\n  }\n\n  \/* --- MAP STYLES --- *\/\n  .map-wrapper {\n    position: relative;\n    width: 100%;\n    height: 280px;\n    background: #eee;\n    border-radius: 8px;\n    overflow: hidden;\n    border: 1px solid var(--li-border);\n    margin-top: 10px;\n  }\n  .city-map { width: 100%; height: 100%; z-index: 1; }\n  \n  .map-loader {\n    position: absolute;\n    top: 0; left: 0; right: 0; bottom: 0;\n    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);\n    background-size: 200% 100%;\n    animation: loading 1.5s infinite;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--li-text-light);\n    font-size: 12px;\n    font-weight: 600;\n    pointer-events: none;\n  }\n  .map-loader.hidden { display: none; }\n  \n  .map-sub-info {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    margin-top: 8px;\n    padding: 8px;\n    background-color: var(--li-bg-off);\n    border-radius: 6px;\n    font-size: 13px;\n    color: var(--li-primary);\n    font-weight: 600;\n    border: 1px solid var(--li-border);\n  }\n\n  @keyframes loading {\n    0% { background-position: 200% 0; }\n    100% { background-position: -200% 0; }\n  }\n\n  \/* --- SEARCH BAR --- *\/\n  .lima-search-wrapper { position: relative; margin-bottom: 20px; display: flex; width: 100%; }\n  .lima-search-input {\n    width: 100%; padding: 16px 20px; padding-right: 44px;\n    border: 1px solid var(--li-border); border-radius: 6px;\n    font-size: 16px; outline: none; transition: all 0.3s;\n    background: var(--li-bg-off); color: var(--li-primary);\n  }\n  .lima-search-input:focus {\n    border-color: var(--li-accent); background: #fff;\n    box-shadow: 0 0 0 3px var(--li-accent-fade);\n  }\n  .lima-search-icon {\n    position: absolute; right: 20px; top: 50%; transform: translateY(-50%);\n    color: var(--li-text-light); cursor: pointer; font-size: 18px;\n  }\n\n  \/* --- COMPARISON PANEL --- *\/\n  .lima-compare-panel {\n    display: none; \n    background: var(--li-bg-off);\n    border: 1px solid var(--li-accent);\n    border-radius: 8px;\n    padding: 20px;\n    margin-bottom: 25px;\n    animation: slideDown 0.3s ease-out;\n    width: 100%;\n  }\n  @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }\n\n  .compare-header { display: flex; justify-content: space-between; margin-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,0.05); padding-bottom: 10px; }\n  .compare-title { font-weight: 700; color: var(--li-accent); font-size: 15px; text-transform: uppercase; }\n  .compare-clear { cursor: pointer; color: var(--li-text-light); font-size: 13px; text-decoration: underline; }\n  \n  .compare-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; align-items: start; }\n  \n  .compare-card { \n    background: #fff; padding: 15px; border-radius: 6px; \n    border: 1px solid var(--li-border); font-size: 14px; \n    position: relative; transition: all 0.2s;\n  }\n  \n  .compare-stats-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr 1fr;\n      gap: 6px;\n      margin: 12px 0;\n      text-align: center;\n  }\n  .compare-stat-item {\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      background: var(--li-bg-off);\n      padding: 8px 4px;\n      border-radius: 4px;\n  }\n  .comp-val { font-weight: 700; font-size: 13px; color: var(--li-primary); }\n  .comp-label { font-size: 10px; color: var(--li-text-light); text-transform: uppercase; margin-top: 3px; }\n  .comp-trend { font-weight: bold; font-size: 12px; }\n\n  .compare-content-hidden { display: none; margin-top: 15px; padding-top: 10px; border-top: 1px dashed var(--li-border); }\n  .compare-card.expanded .compare-content-hidden { display: block; animation: fadeIn 0.3s; }\n\n  .compare-toggle-btn {\n    display: block; width: 100%; text-align: center; margin-top: 10px; padding: 8px;\n    background: var(--li-bg-off); border: none; border-radius: 4px; cursor: pointer;\n    color: var(--li-text-light); font-weight: 600; font-size: 12px;\n  }\n  .compare-toggle-btn:hover { background: var(--li-border); color: var(--li-primary); }\n\n  .rm-btn { position: absolute; top: 6px; right: 8px; cursor: pointer; color: var(--li-border); font-weight: bold; font-size: 18px; z-index: 5; }\n  .rm-btn:hover { color: var(--li-error); }\n\n  \/* --- CONTROLS --- *\/\n  .lima-controls { display: flex; background: var(--li-bg-off); padding: 8px; border-radius: 8px; margin-bottom: 0; gap: 15px; overflow-x: auto; scrollbar-width: none; width: 100%; }\n  .lima-controls::-webkit-scrollbar { display: none; }\n\n  .lima-sort-btn { flex: 1; border: none; background: transparent; padding: 14px 18px; font-size: 15px; font-weight: 600; color: var(--li-text-light); cursor: pointer; border-radius: 6px; transition: all 0.3s; white-space: nowrap; display: flex; align-items: center; justify-content: center; gap: 8px; }\n  .lima-sort-btn:hover { background: rgba(255, 255, 255, 0.5); color: var(--li-primary); }\n  .lima-sort-btn.active { background: var(--li-bg); color: var(--li-primary); box-shadow: 0 2px 5px rgba(0,0,0,0.05); border: 1px solid var(--li-border); }\n  .sort-icon { font-size: 11px; opacity: 0.5; } \n  .active .sort-icon { opacity: 1; color: var(--li-accent); }\n\n  \/* --- TABLE & STICKY HEADER --- *\/\n  .lima-table-wrapper { \n    width: 100%; \n    border: 1px solid var(--li-border); \n    border-radius: 8px; \n    box-shadow: var(--li-shadow); \n    \/* WICHTIG: Overflow-x f\u00fcr Mobile, aber KEIN overflow:hidden generell, sonst bricht Sticky *\/\n    overflow-x: auto; \n    background: #fff;\n  }\n  \n  .lima-table { width: 100%; border-collapse: collapse; text-align: left; table-layout: fixed; min-width: 600px; \/* Min-Width verhindert Zusammenbruch auf Mobile *\/ }\n  \n  \/* STICKY HEADER IMPLEMENTIERUNG *\/\n  .lima-table th { \n    background: var(--li-accent); \/* Solid Background ist Pflicht bei Sticky *\/\n    color: #fff; \n    padding: 16px 20px; \n    font-weight: 700; \n    font-size: 14px; \n    text-transform: uppercase; \n    border-bottom: 1px solid rgba(255,255,255,0.2);\n    \/* Magic Properties *\/\n    position: sticky;\n    top: 0;\n    z-index: 10;\n    box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n  }\n  \n  .lima-table td { padding: 16px 20px; border-bottom: 1px solid var(--li-border); font-size: 16px; vertical-align: middle; }\n  .lima-table tr:hover td { background-color: var(--li-bg-off); }\n  \n  .lima-check { width: 20px; height: 20px; cursor: pointer; accent-color: var(--li-accent); }\n  .info-btn { \n    background: transparent; border: 1px solid var(--li-border); color: var(--li-text-light); \n    width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 15px; font-weight: bold;\n    display: inline-flex; align-items: center; justify-content: center; transition: all 0.2s;\n  }\n  .info-btn:hover { border-color: var(--li-accent); color: var(--li-accent); }\n  \n  \/* INFO ROW & ACCORDION *\/\n  .info-row { display: none; background-color: #fafafa; }\n  .info-row.show { display: table-row; animation: fadeIn 0.3s; }\n  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }\n  \n  .info-content { padding: 30px; border-bottom: 1px solid var(--li-border); }\n  .info-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; }\n  \n  .acc-container { border: 1px solid var(--li-border); border-radius: 6px; background: #fff; overflow: hidden; }\n  .acc-item { border-bottom: 1px solid var(--li-border); }\n  .acc-item:last-child { border-bottom: none; }\n  \n  .acc-header {\n    width: 100%; text-align: left; padding: 16px 20px; cursor: pointer;\n    background: #fff; font-weight: 700; font-size: 15px; color: var(--li-primary);\n    display: flex; justify-content: space-between; align-items: center;\n    border: none; outline: none; transition: background 0.2s;\n  }\n  .acc-header:hover { background: var(--li-bg-off); }\n  .acc-header.active { color: var(--li-accent); background: var(--li-bg-off); }\n  .acc-icon { transition: transform 0.3s; font-size: 12px; }\n  .acc-header.active .acc-icon { transform: rotate(180deg); }\n\n  .acc-body {\n    display: none; padding: 20px; background: #fff; color: var(--li-text);\n    font-size: 15px; line-height: 1.6; border-top: 1px solid var(--li-border);\n  }\n  .acc-body.open { display: block; animation: slideIn 0.2s ease-out; }\n  @keyframes slideIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }\n\n  .acc-bullets { list-style: none; padding: 0; margin: 12px 0 0 0; }\n  .acc-bullets li { position: relative; padding-left: 24px; margin-bottom: 8px; }\n  .acc-bullets li::before { content: \"\u2714\"; color: var(--li-accent); position: absolute; left: 0; font-size: 14px; top: 1px; }\n\n  .acc-trend-pill {\n    display: inline-block; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 700;\n    margin-bottom: 8px; text-transform: uppercase;\n  }\n  .trend-up { background: #dcfce7; color: #166534; }\n  .trend-stable { background: #f1f5f9; color: #475569; }\n\n  \/* Mobile *\/\n  .lima-cards { display: none; flex-direction: column; gap: 15px; }\n  .lima-card { background: var(--li-bg); border: 1px solid var(--li-border); border-radius: 8px; padding: 16px; box-shadow: var(--li-shadow); display: flex; flex-direction: column; gap: 10px; }\n  .lima-card-header { display: flex; justify-content: space-between; align-items: center; width: 100%; }\n  .lima-card-details { display: none; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--li-border); }\n  .lima-card.open .lima-card-details { display: block; }\n  \n  .cat-badge { display: inline-block; width: 36px; height: 36px; line-height: 34px; text-align: center; border-radius: 8px; font-weight: 700; font-size: 15px; }\n  .cat-A { background: rgba(187, 158, 28, 0.12); color: #8a7310; border: 1px solid rgba(187, 158, 28, 0.25); }\n  .cat-B { background: rgba(20, 90, 100, 0.12); color: #124a52; border: 1px solid rgba(20, 90, 100, 0.25); }\n  .cat-C { background: rgba(30, 50, 90, 0.12); color: #1e325a; border: 1px solid rgba(30, 50, 90, 0.25); }\n  .cat-D { background: rgba(120, 110, 100, 0.12); color: #5a524a; border: 1px solid rgba(120, 110, 100, 0.25); }\n\n  @media (max-width: 900px) {\n      .compare-grid { grid-template-columns: 1fr; }\n      .info-grid { grid-template-columns: 1fr; }\n      \/* Mobile Container Anpassung *\/\n      .lima-container { padding: 15px; }\n  }\n  @media (max-width: 768px) {\n    .lima-table-wrapper { display: none; }\n    .lima-cards { display: flex; }\n    .lima-controls { flex-wrap: wrap; }\n    .lima-header-group { margin-bottom: 15px; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<div id=\"lima-cities-module\">\n  \n  <div class=\"lima-container\">\n\n    <header class=\"lima-header-group\">\n      <div class=\"lima-search-wrapper\">\n        <input type=\"text\" id=\"lima-search-input\" class=\"lima-search-input\" placeholder=\"Suche Kategorie, Stadt, Bundesland oder Einwohnerzahl...\">\n        <div class=\"lima-search-icon\">\ud83d\udd0d<\/div>\n      <\/div>\n\n      <div id=\"lima-compare-panel\" class=\"lima-compare-panel\">\n        <div class=\"compare-header\">\n          <span class=\"compare-title\">Vergleich (<span id=\"compare-count\">0<\/span>\/3)<\/span>\n          <span class=\"compare-clear\" id=\"compare-clear-btn\">Vergleich leeren<\/span>\n        <\/div>\n        <div class=\"compare-grid\" id=\"compare-grid\"><\/div>\n      <\/div>\n\n      <div class=\"lima-controls\">\n        <button class=\"lima-sort-btn active\" data-sort=\"Kategorie\">Kategorie <span class=\"sort-icon\">\u25b2<\/span><\/button>\n        <button class=\"lima-sort-btn\" data-sort=\"Stadt\">Stadt <span class=\"sort-icon\">\u25bc<\/span><\/button>\n        <button class=\"lima-sort-btn\" data-sort=\"Bundesland\">Bundesland <span class=\"sort-icon\">\u25bc<\/span><\/button>\n        <button class=\"lima-sort-btn\" data-sort=\"Einwohner\">Einwohnerzahl <span class=\"sort-icon\">\u25bc<\/span><\/button>\n      <\/div>\n    <\/header>\n\n    <div class=\"lima-table-wrapper\">\n      <table class=\"lima-table\">\n        <thead>\n          <tr>\n            <th style=\"width: 50px;\"><\/th> <th style=\"width:15%\">Kategorie<\/th>\n            <th style=\"width:25%\">Stadt<\/th>\n            <th style=\"width:25%\">Bundesland<\/th>\n            <th style=\"width:20%; text-align:right;\">Einwohner<\/th>\n            <th style=\"width: 60px;\"><\/th> \n          <\/tr>\n        <\/thead>\n        <tbody id=\"lima-table-body\"><\/tbody>\n      <\/table>\n    <\/div>\n\n    <div class=\"lima-cards\" id=\"lima-cards-container\"><\/div>\n  \n  <\/div> <div id=\"lima-toast\" style=\"position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:#333; color:#fff; padding:10px 20px; border-radius:30px; opacity:0; pointer-events:none; transition:opacity 0.3s; z-index:9999; font-size:13px;\">Maximal 3 St\u00e4dte vergleichbar<\/div>\n<\/div>\n\n<script>\n  (function() {\n    \/\/ --- DATENBASIS ---\n    const CITY_DETAILS = [\n    {\n      \"stadt\": \"Berlin\",\n      \"studenten\": 198000,\n      \"profil\": \"Berlin ist als Bundeshauptstadt der politische und kulturelle Kern Deutschlands. Die Stadt profitiert von einem massiven Zuzug internationaler Fachkr\u00e4fte und einer florierenden Startup Szene.\",\n      \"demo_trend\": \"Positiv\",\n      \"demo_sal\": \"Starker Zuzug\",\n      \"demo_bull\": [\"J\u00fcngste Bev\u00f6lkerung unter den A St\u00e4dten\", \"Internationales Klientel\", \"Wachsende Haushaltszahlen\"],\n      \"arb_head\": \"Dienstleistung & Tech\",\n      \"arb_bull\": [\"Gr\u00f6\u00dfter Startup Hub der DACH Region\", \"Hohe Dichte an Regierungsarbeitspl\u00e4tzen\", \"Tourismus als Wirtschaftsmotor\"],\n      \"inn_head\": \"F\u00fchrend in Digitalisierung\",\n      \"inn_bull\": [\"Adlershof als f\u00fchrender Technologiepark\", \"Exzellente Universit\u00e4tslandschaft\"],\n      \"wohl_head\": \"Steigend\",\n      \"wohl_bull\": [\"L\u00f6hne holen im Bundesvergleich auf\", \"Hohe Kaufkraft im Speckg\u00fcrtel\"]\n    },\n    {\n      \"stadt\": \"M\u00fcnchen\",\n      \"studenten\": 133000,\n      \"profil\": \"M\u00fcnchen steht f\u00fcr maximale wirtschaftliche Stabilit\u00e4t und das h\u00f6chste Mietpreisniveau Deutschlands. Die Stadt ist Sitz zahlreicher DAX Konzerne.\",\n      \"demo_trend\": \"Sehr Positiv\",\n      \"demo_sal\": \"Konstanter Zuzug\",\n      \"demo_bull\": [\"Hoher Akademikeranteil\", \"Wachstum trotz hohem Preisniveau\", \"Attraktiv f\u00fcr High Potentials\"],\n      \"arb_head\": \"High Tech & Industrie\",\n      \"arb_bull\": [\"Sitz von BMW, Siemens, Allianz\", \"Niedrigste Arbeitslosenquote der A St\u00e4dte\", \"Starker IT Sektor\"],\n      \"inn_head\": \"Weltklasse\",\n      \"inn_bull\": [\"TUM als Exzellenzuni\", \"F\u00fchrend bei Patentanmeldungen\"],\n      \"wohl_head\": \"Spitzenreiter\",\n      \"wohl_bull\": [\"H\u00f6chste Kaufkraft in Deutschland\", \"Sehr hohe Mietbelastungsquote\"]\n    },\n    {\n      \"stadt\": \"Hamburg\",\n      \"studenten\": 110000,\n      \"profil\": \"Als Tor zur Welt verbindet Hamburg Logistiktradition mit moderner Medien und Luftfahrtindustrie.\",\n      \"demo_trend\": \"Positiv\",\n      \"demo_sal\": \"Stabil\",\n      \"demo_bull\": [\"Zuzug aus Norddeutschland\", \"Solide Haushaltsstruktur\"],\n      \"arb_head\": \"Logistik & Medien\",\n      \"arb_bull\": [\"Drittgr\u00f6\u00dfter Zivilluftfahrtstandort (Airbus)\", \"F\u00fchrender Medienstandort\", \"Hafen als Jobmotor\"],\n      \"inn_head\": \"Smart City\",\n      \"inn_bull\": [\"HafenCity als Innovationsquartier\", \"Wachsende Fintech Szene\"],\n      \"wohl_head\": \"Sehr hoch\",\n      \"wohl_bull\": [\"Hohe Dichte an verm\u00f6genden Privathaushalten\", \"Stabile Mittelschicht\"]\n    },\n    {\n      \"stadt\": \"Frankfurt am Main\",\n      \"studenten\": 68000,\n      \"profil\": \"Frankfurt ist das finanzielle Herz Kontinentaleuropas. F\u00fcr Kapitalanleger bietet die Mainmetropole hohe Mietrenditen durch eine kaufkr\u00e4ftige Expat Community.\",\n      \"demo_trend\": \"Positiv\",\n      \"demo_sal\": \"Internationaler Zuzug\",\n      \"demo_bull\": [\"Sehr international gepr\u00e4gt\", \"Hohe Fluktuation durch Expats\"],\n      \"arb_head\": \"Finanzen & Consulting\",\n      \"arb_bull\": [\"EZB und Bankenzentrale\", \"Flughafen als gr\u00f6\u00dfter lokaler Arbeitgeber\"],\n      \"inn_head\": \"FinTech Hub\",\n      \"inn_bull\": [\"Zentrum f\u00fcr digitale Finanzinnovationen\", \"Knotenpunkt DE-CIX (Internet)\"],\n      \"wohl_head\": \"Hoch\",\n      \"wohl_bull\": [\"Spitzengeh\u00e4lter im Bankensektor\", \"Hohes Pendlersaldo\"]\n    },\n    {\n      \"stadt\": \"K\u00f6ln\",\n      \"studenten\": 102000,\n      \"profil\": \"K\u00f6ln punktet mit rheinischer Lebensart. Als Medienstadt und Versicherungsstandort ist die Nachfrage nach Wohnraum ungebrochen hoch.\",\n      \"demo_trend\": \"Stabil\",\n      \"demo_sal\": \"Positiv\",\n      \"demo_bull\": [\"Gro\u00dfe Studentenpopulation\", \"Attraktiv f\u00fcr junge Familien\"],\n      \"arb_head\": \"Medien & Chemie\",\n      \"arb_bull\": [\"RTL und WDR Zentrale\", \"Starker Chemieg\u00fcrtel um die Stadt\", \"Ford Werke\"],\n      \"inn_head\": \"Kreativwirtschaft\",\n      \"inn_bull\": [\"Starke Gaming und Eventszene\"],\n      \"wohl_head\": \"Gut\",\n      \"wohl_bull\": [\"Solides Einkommensniveau\", \"Breiter Mittelstand\"]\n    },\n    {\n      \"stadt\": \"Stuttgart\",\n      \"studenten\": 26000,\n      \"profil\": \"Der Kessel kocht wirtschaftlich: Stuttgart ist die Wiege des Automobils und gepr\u00e4gt durch einen starken Mittelstand.\",\n      \"demo_trend\": \"Stabil\",\n      \"demo_sal\": \"Ausgeglichen\",\n      \"demo_bull\": [\"Hohe Fachkr\u00e4ftedichte\", \"Wenig Fl\u00e4chen f\u00fcr Neubau\"],\n      \"arb_head\": \"Automobil & Zulieferer\",\n      \"arb_bull\": [\"Mercedes-Benz und Porsche\", \"Bosch und Mahle\", \"St\u00e4rkste Exportregion\"],\n      \"inn_head\": \"Ingenieurskunst\",\n      \"inn_bull\": [\"F\u00fchrend in Forschung & Entwicklung\"],\n      \"wohl_head\": \"Sehr hoch\",\n      \"wohl_bull\": [\"Eines der h\u00f6chsten Pro-Kopf-Einkommen\", \"Wohlhabendes Umland\"]\n    },\n    {\n      \"stadt\": \"D\u00fcsseldorf\",\n      \"studenten\": 55000,\n      \"profil\": \"Die Landeshauptstadt NRWs ist Mode, Werbe und Beratungsstandort. Schuldenfrei und wirtschaftsstark zieht D\u00fcsseldorf Investoren an.\",\n      \"demo_trend\": \"Positiv\",\n      \"demo_sal\": \"Positiv\",\n      \"demo_bull\": [\"Japanische Community\", \"Attraktiv f\u00fcr F\u00fchrungskr\u00e4fte\"],\n      \"arb_head\": \"Mode & Beratung\",\n      \"arb_bull\": [\"Zahlreiche Unternehmensberatungen\", \"Messe D\u00fcsseldorf\", \"Modestandort\"],\n      \"inn_head\": \"Mobilfunk & Biotech\",\n      \"inn_bull\": [\"Vodafone Campus\", \"Starke Startup Initiativen\"],\n      \"wohl_head\": \"Hoch\",\n      \"wohl_bull\": [\"Hohe Kaufkraft\", \"Exklusive Wohnlagen (Oberkassel)\"]\n    },\n    { \"stadt\": \"Leipzig\", \"studenten\": 40000, \"profil\": \"Leipzig ist der Star im Osten. Keine deutsche Stadt wuchs zuletzt schneller.\", \"demo_trend\": \"Boomend\", \"demo_sal\": \"Stark Positiv\", \"demo_bull\": [\"Junge Bev\u00f6lkerung\", \"Hoher Zuzug\"], \"arb_head\": \"Logistik & Auto\", \"arb_bull\": [\"Porsche & BMW Werke\", \"DHL Hub\"], \"inn_head\": \"Kreativ\", \"inn_bull\": [\"Spinnerei Kunstszene\", \"Bio City\"], \"wohl_head\": \"Aufholend\", \"wohl_bull\": [\"Steigende L\u00f6hne\", \"Mieten noch moderat\"] },\n    { \"stadt\": \"Dresden\", \"studenten\": 33000, \"profil\": \"Silicon Saxony: Dresden verbindet Barock mit Chipindustrie.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Leicht Positiv\", \"demo_bull\": [\"Gebildete B\u00fcrgerschaft\", \"Familienfreundlich\"], \"arb_head\": \"Mikroelektronik\", \"arb_bull\": [\"Global Foundries, Infineon\", \"Tourismus\"], \"inn_head\": \"Forschung\", \"inn_bull\": [\"TU Exzellenzuni\", \"Fraunhofer Institute\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Solide Kaufkraft Ost\", \"Gute Mietrenditen\"] },\n    { \"stadt\": \"Hannover\", \"studenten\": 49000, \"profil\": \"Hannover wird oft untersch\u00e4tzt, bietet aber als Messestadt extrem stabile Cashflows.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Ausgeglichen\", \"demo_bull\": [\"Solide Mieterstruktur\", \"Gro\u00dfes Einzugsgebiet\"], \"arb_head\": \"Versicherung & Messe\", \"arb_bull\": [\"Talanx, Hannover R\u00fcck\", \"VW Nutzfahrzeuge\"], \"inn_head\": \"Medizin\", \"inn_bull\": [\"Medizinische Hochschule\", \"Robotik\"], \"wohl_head\": \"Durchschnitt\", \"wohl_bull\": [\"Stabile Mittelschicht\", \"Moderate Lebenskosten\"] },\n    { \"stadt\": \"N\u00fcrnberg\", \"studenten\": 25000, \"profil\": \"Als Zentrum Frankens ist N\u00fcrnberg ein Industriestandort mit Tradition.\", \"demo_trend\": \"Leicht Positiv\", \"demo_sal\": \"Stabil\", \"demo_bull\": [\"Zuwanderung aus Region\", \"Studentisch gepr\u00e4gt\"], \"arb_head\": \"IT & Industrie\", \"arb_bull\": [\"Datev, Siemens\", \"Marktforschung\"], \"inn_head\": \"Tech\", \"inn_bull\": [\"Wasserstoff Zentrum\", \"Universit\u00e4t Erlangen-N\u00fcrnberg\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Hohe Besch\u00e4ftigung\", \"Gute Kaufkraft\"] },\n    { \"stadt\": \"M\u00fcnster\", \"studenten\": 66000, \"profil\": \"M\u00fcnster ist die Schreibtischstadt Westfalens. Extrem hohe Lebensqualit\u00e4t durch riesige Uni.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Stark Positiv\", \"demo_bull\": [\"Sehr jung durch Uni\", \"Wachsend\"], \"arb_head\": \"Verwaltung & Bildung\", \"arb_bull\": [\"LVM Versicherung\", \"Universit\u00e4t\"], \"inn_head\": \"Batterieforschung\", \"inn_bull\": [\"MEET Batterieforschungszentrum\", \"Nanotech\"], \"wohl_head\": \"Hoch\", \"wohl_bull\": [\"Beamtenstadt\", \"Wohlhabendes B\u00fcrgertum\"] },\n    { \"stadt\": \"Bochum\", \"studenten\": 57000, \"profil\": \"Bochum positioniert sich als Wissensstandort im Ruhrgebiet. Die Ruhr-Universit\u00e4t ist Motor.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Stabil\", \"demo_bull\": [\"Studentenstadt\", \"Szeneviertel\"], \"arb_head\": \"Gesundheit & IT\", \"arb_bull\": [\"G Data Cyber Defense\", \"Universit\u00e4tskliniken\"], \"inn_head\": \"IT-Security\", \"inn_bull\": [\"Horst-G\u00f6rtz-Institut\", \"Opel-Fl\u00e4chen Neunutzung\"], \"wohl_head\": \"Moderat\", \"wohl_bull\": [\"Attraktive Mietrenditen\", \"Bezahlbarer Wohnraum\"] },\n    { \"stadt\": \"Aachen\", \"studenten\": 61000, \"profil\": \"Europastadt mit der RWTH als Exzellenzuni. Der Markt ist durch Studenten und Tech Spinoffs gepr\u00e4gt.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Stark Positiv\", \"demo_bull\": [\"Sehr jung\", \"International\"], \"arb_head\": \"Forschung & S\u00fc\u00dfw.\", \"arb_bull\": [\"Lindt & Spr\u00fcngli\", \"Gr\u00fcnenthal\"], \"inn_head\": \"E-Mobilit\u00e4t\", \"inn_bull\": [\"e.GO Mobile\", \"RWTH Campus\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Hohe Akademikerdichte\", \"Teures Wohnen\"] },\n    { \"stadt\": \"Heidelberg\", \"studenten\": 39000, \"profil\": \"Romantik trifft Wissenschaft. Eine der teuersten St\u00e4dte Deutschlands mit einer Elite Uni.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"International\", \"Elite\"], \"arb_head\": \"Wissenschaft\", \"arb_bull\": [\"Universit\u00e4t\", \"Heidelberg Materials\"], \"inn_head\": \"Biotech\", \"inn_bull\": [\"Technologiepark\", \"KI-Zentrum\"], \"wohl_head\": \"Sehr Hoch\", \"wohl_bull\": [\"Top Mieten\", \"Kaum Angebot\"] },\n    { \"stadt\": \"W\u00fcrzburg\", \"studenten\": 34000, \"profil\": \"Residenzstadt und Weintradition. Gro\u00dfe Universit\u00e4t und Klinikum sorgen f\u00fcr konstante Nachfrage.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Studenten\", \"Klinikpersonal\"], \"arb_head\": \"Gesundheit & Druck\", \"arb_bull\": [\"Koenig & Bauer\", \"Uniklinik\"], \"inn_head\": \"Medizin\", \"inn_bull\": [\"ZDI Mainfranken\", \"Innovationszentrum\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Bayerische Stabilit\u00e4t\", \"Wertbest\u00e4ndig\"] },\n    { \"stadt\": \"G\u00f6ttingen\", \"studenten\": 31000, \"profil\": \"Universit\u00e4tsstadt mit Nobelpreistr\u00e4ger Tradition. Der Markt ist durch viele Studenten gepr\u00e4gt.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Saisonal\", \"demo_bull\": [\"Hohe Fluktuation\", \"Bildung\"], \"arb_head\": \"Wissenschaft\", \"arb_bull\": [\"Sartorius\", \"Universit\u00e4t\"], \"inn_head\": \"Life Science\", \"inn_bull\": [\"Life Science Factory\", \"Max-Planck\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Stabile Mieten\", \"Bildungsb\u00fcrgertum\"] },\n    { \"stadt\": \"Darmstadt\", \"studenten\": 41000, \"profil\": \"Wissenschaftsstadt. Sitz der ESA und Merck. Technologisch f\u00fchrend.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Ingenieure\", \"Studenten\"], \"arb_head\": \"Chemie & Raumfahrt\", \"arb_bull\": [\"Merck\", \"ESOC (ESA)\"], \"inn_head\": \"Software\", \"inn_bull\": [\"Software Cluster\", \"TU Darmstadt\"], \"wohl_head\": \"Hoch\", \"wohl_bull\": [\"Hohe Einkommen\", \"Teures Pflaster\"] },\n    { \"stadt\": \"Erlangen\", \"studenten\": 39000, \"profil\": \"Siemens Stadt und Medizin Cluster. Eine der wirtschaftsst\u00e4rksten St\u00e4dte Deutschlands.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Stark Positiv\", \"demo_bull\": [\"Akademiker\", \"Ingenieure\"], \"arb_head\": \"Medizintechnik\", \"arb_bull\": [\"Siemens Healthineers\", \"Uni Erlangen\"], \"inn_head\": \"Innovation\", \"inn_bull\": [\"Medical Valley\", \"Max-Planck\"], \"wohl_head\": \"Sehr Hoch\", \"wohl_bull\": [\"M\u00fcnchner Niveau\", \"Vollbesch\u00e4ftigung\"] },\n    { \"stadt\": \"Freiburg im Breisgau\", \"studenten\": 33000, \"profil\": \"Green City im Schwarzwald. Freiburg ist extrem begehrt, teuer und durch die Uni gepr\u00e4gt.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"\u00d6kologisch\", \"Akademisch\"], \"arb_head\": \"Gesundheit & Solar\", \"arb_bull\": [\"Uniklinik\", \"Solar-Institute\"], \"inn_head\": \"Nachhaltigkeit\", \"inn_bull\": [\"Green Industry\", \"Fraunhofer\"], \"wohl_head\": \"Hoch\", \"wohl_bull\": [\"Sehr hohe Mieten\", \"Wenig Angebot\"] },\n    { \"stadt\": \"Karlsruhe\", \"studenten\": 43000, \"profil\": \"Residenz des Rechts und der Technik. Das KIT und Bundesgerichte machen Karlsruhe sicher.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Viele Ingenieure\", \"Beamte\"], \"arb_head\": \"Energie & Recht\", \"arb_bull\": [\"EnBW Zentrale\", \"DM Drogeriemarkt\"], \"inn_head\": \"IT-Cluster\", \"inn_bull\": [\"CyberForum\", \"TechnologieRegion\"], \"wohl_head\": \"Hoch\", \"wohl_bull\": [\"Sichere Arbeitspl\u00e4tze\", \"Steigende Preise\"] },\n    { \"stadt\": \"Bonn\", \"studenten\": 38000, \"profil\": \"Die ehemalige Hauptstadt profitiert von DAX Konzernen (Post, Telekom) und UNO Einrichtungen.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Akademisch gepr\u00e4gt\", \"International\"], \"arb_head\": \"Telekommunikation\", \"arb_bull\": [\"Deutsche Post DHL\", \"Telekom\"], \"inn_head\": \"Cyber Security\", \"inn_bull\": [\"Sicherheitscluster\", \"UN Campus\"], \"wohl_head\": \"Sehr Hoch\", \"wohl_bull\": [\"Hohe Beamtengeh\u00e4lter\", \"Kaufkr\u00e4ftige Senioren\"] },\n    { \"stadt\": \"Kiel\", \"studenten\": 36000, \"profil\": \"Landeshauptstadt am Meer. Kiel w\u00e4chst durch den Dienstleistungssektor und die Universit\u00e4t.\", \"demo_trend\": \"Leicht Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Maritim\", \"Studentisch\"], \"arb_head\": \"Werften & Dienstl.\", \"arb_bull\": [\"ThyssenKrupp Marine\", \"Universit\u00e4tsklinikum\"], \"inn_head\": \"Meeresforschung\", \"inn_bull\": [\"GEOMAR\", \"Digitale Wirtschaft\"], \"wohl_head\": \"Durchschnitt\", \"wohl_bull\": [\"Stabiles Niveau\", \"Tourismusfaktor\"] },\n    { \"stadt\": \"Bielefeld\", \"studenten\": 37000, \"profil\": \"Das Zentrum Ostwestfalens. Starke mittelst\u00e4ndische Wirtschaft sorgt f\u00fcr krisenfeste Arbeitspl\u00e4tze.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Familienfreundlich\", \"Uni-Stadt\"], \"arb_head\": \"Lebensmittel & Bau\", \"arb_bull\": [\"Dr. Oetker\", \"Sch\u00fcco International\"], \"inn_head\": \"Mittelstand\", \"inn_bull\": [\"Founders Foundation\", \"Campus Bielefeld\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Solide Kaufkraft\", \"Hohe Eigentumsquote\"] },\n    { \"stadt\": \"Bremen\", \"studenten\": 37000, \"profil\": \"Bremen bietet als Hansestadt maritime Wirtschaft. Der Markt teilt sich in sehr gute und schw\u00e4chere Lagen.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Leicht Positiv\", \"demo_bull\": [\"Wachsende Uni\", \"Vielf\u00e4ltige Quartiere\"], \"arb_head\": \"Hafen & Raumfahrt\", \"arb_bull\": [\"Mercedes Werk\", \"Airbus Defence\"], \"inn_head\": \"Luftfahrt\", \"inn_bull\": [\"Technologiepark Uni\", \"Startups\"], \"wohl_head\": \"Gemischt\", \"wohl_bull\": [\"Diskrepanz Arm\/Reich\", \"G\u00fcnstiger Einstieg\"] },\n    { \"stadt\": \"Essen\", \"studenten\": 28000, \"profil\": \"Verwaltungszentrum des Ruhrgebiets mit Konzernzentralen wie E.ON und RWE.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Ausgeglichen\", \"demo_bull\": [\"Verj\u00fcngung im S\u00fcden\", \"Integration im Norden\"], \"arb_head\": \"Energie & Chemie\", \"arb_bull\": [\"RWE, E.ON, Evonik\", \"Uniklinikum\"], \"inn_head\": \"Energie\", \"inn_bull\": [\"Wasserstoff Hub\", \"Design Folkwang\"], \"wohl_head\": \"Gespalten\", \"wohl_bull\": [\"S\u00fcden sehr wohlhabend\", \"Norden g\u00fcnstiger\"] },\n    { \"stadt\": \"Dortmund\", \"studenten\": 54000, \"profil\": \"Vom Stahl zur Technologie. Dortmund w\u00e4chst durch den Technologiepark und die TU.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Gro\u00dfe Uni-Stadt\", \"Zuzug junger Leute\"], \"arb_head\": \"IT & Versicherung\", \"arb_bull\": [\"Signal Iduna\", \"Technologiezentrum\"], \"inn_head\": \"Technologie\", \"inn_bull\": [\"MST Factory\", \"Logistik Innovation\"], \"wohl_head\": \"Durchschnitt\", \"wohl_bull\": [\"G\u00fcnstige Einstiegspreise\", \"Steigende Mieten\"] },\n    { \"stadt\": \"Duisburg\", \"studenten\": 44000, \"profil\": \"Logistikdrehscheibe Nummer 1 mit dem gr\u00f6\u00dften Binnenhafen der Welt.\", \"demo_trend\": \"Stabilisierend\", \"demo_sal\": \"Selektiv\", \"demo_bull\": [\"Migration\", \"Verj\u00fcngung\"], \"arb_head\": \"Logistik & Stahl\", \"arb_bull\": [\"Thyssenkrupp\", \"Hafenlogistik\"], \"inn_head\": \"Logistik 4.0\", \"inn_bull\": [\"Smart Port\", \"Neue Seidenstra\u00dfe\"], \"wohl_head\": \"Niedrig\", \"wohl_bull\": [\"G\u00fcnstigste Mieten im Vergleich\", \"Hohe Sozialleistungen\"] },\n    { \"stadt\": \"Wuppertal\", \"studenten\": 23000, \"profil\": \"Wuppertal bietet Topografie und Altbauten. Durch Pendler nach D\u00fcsseldorf attraktiver geworden.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Leicht Positiv\", \"demo_bull\": [\"Studenten\", \"Pendler\"], \"arb_head\": \"Produktion & Chemie\", \"arb_bull\": [\"Bayer Werk\", \"Vorwerk\"], \"inn_head\": \"Automotive\", \"inn_bull\": [\"Autonomes Fahren Testfeld\", \"Junior Uni\"], \"wohl_head\": \"Moderat\", \"wohl_bull\": [\"Unterbewertet\", \"Aufholpotenzial\"] },\n    { \"stadt\": \"Mannheim\", \"studenten\": 29000, \"profil\": \"Quadratestadt mit industriellem Herz. Mannheim liegt verkehrsg\u00fcnstig mit konstanter Nachfrage.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Multikulturell\", \"Studentisch\"], \"arb_head\": \"Chemie & Maschinen\", \"arb_bull\": [\"BASF (Nachbarstadt)\", \"S\u00fcdzucker\"], \"inn_head\": \"Pop & Tech\", \"inn_bull\": [\"Musikpark\", \"Medizintechnologie\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"G\u00fcnstiger als Heidelberg\", \"Gute Rendite\"] },\n    { \"stadt\": \"Augsburg\", \"studenten\": 26000, \"profil\": \"M\u00fcnchens kleiner, g\u00fcnstigerer Nachbar. Profitiert massiv vom M\u00fcnchner \u00dcberlauf.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Stark Positiv\", \"demo_bull\": [\"Pendler nach M\u00fcnchen\", \"Uni-Wachstum\"], \"arb_head\": \"Produktion\", \"arb_bull\": [\"MAN Energy\", \"KUKA Roboter\"], \"inn_head\": \"Robotik\", \"inn_bull\": [\"Innovationspark\", \"KI-Produktionsnetzwerk\"], \"wohl_head\": \"Steigend\", \"wohl_bull\": [\"Mietpreisanstieg\", \"Attraktives Umland\"] },\n    { \"stadt\": \"Wiesbaden\", \"studenten\": 13000, \"profil\": \"Die Kurstadt ist Landeshauptstadt Hessens und extrem wohlhabend. Ein sehr konservativer Markt.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Stabil\", \"demo_bull\": [\"\u00c4ltere Struktur\", \"Kaufkr\u00e4ftig\"], \"arb_head\": \"Verwaltung & Dienstl.\", \"arb_bull\": [\"BKA Zentrale\", \"R+V Versicherung\"], \"inn_head\": \"Gesundheit\", \"inn_bull\": [\"Gesundheitswirtschaft\", \"Kongresse\"], \"wohl_head\": \"Sehr Hoch\", \"wohl_bull\": [\"Villengegenden\", \"Hohes Preisniveau\"] },\n    { \"stadt\": \"Gelsenkirchen\", \"studenten\": 9000, \"profil\": \"Klassische Ruhrgebietsstadt im Wandel. G\u00fcnstige Einstiegspreise erm\u00f6glichen hohe Bruttorenditen.\", \"demo_trend\": \"R\u00fcckl\u00e4ufig\", \"demo_sal\": \"Negativ\", \"demo_bull\": [\"Alternde Struktur\", \"Abwanderung\"], \"arb_head\": \"Dienstleistung\", \"arb_bull\": [\"Gesundheitswirtschaft\", \"BP Raffinerie\"], \"inn_head\": \"Wasserstoff\", \"inn_bull\": [\"Klimahafen\", \"Digital Campus\"], \"wohl_head\": \"Niedrig\", \"wohl_bull\": [\"Geringe Kaufkraft\", \"Hoher Leerstand\"] },\n    { \"stadt\": \"Braunschweig\", \"studenten\": 19000, \"profil\": \"Forschungsintensivste Region Europas. Eng mit VW und der Wissenschaft verkn\u00fcpft.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Stabil\", \"demo_bull\": [\"Ingenieure\", \"Studenten\"], \"arb_head\": \"Mobilit\u00e4t\", \"arb_bull\": [\"VW Financial Services\", \"Siemens Mobility\"], \"inn_head\": \"Forschung\", \"inn_bull\": [\"PTB\", \"Flughafen Forschungszentrum\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Solide Mittelschicht\", \"Sichere Mieten\"] },\n    { \"stadt\": \"Chemnitz\", \"studenten\": 10000, \"profil\": \"Kulturhauptstadt 2025. Chemnitz bietet als Industriestadt extrem g\u00fcnstige Einstiege.\", \"demo_trend\": \"Stabilisierend\", \"demo_sal\": \"Ausgeglichen\", \"demo_bull\": [\"\u00c4ltere Bev\u00f6lkerung\", \"Zuzug Umland\"], \"arb_head\": \"Maschinenbau\", \"arb_bull\": [\"VW Motorenwerk\", \"Mittelstand\"], \"inn_head\": \"Wasserstoff\", \"inn_bull\": [\"H2-Standort\", \"TU Chemnitz\"], \"wohl_head\": \"Niedrig\", \"wohl_bull\": [\"Sehr g\u00fcnstige Mieten\", \"Renditechance\"] },\n    { \"stadt\": \"Magdeburg\", \"studenten\": 18000, \"profil\": \"Die Ottostadt zieht durch die Intel Ansiedlung massive Aufmerksamkeit auf sich.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Wende zum Positiven\", \"Uni-Stadt\"], \"arb_head\": \"Maschinenbau\", \"arb_bull\": [\"Enercon\", \"Intel (geplant)\"], \"inn_head\": \"Halbleiter\", \"inn_bull\": [\"High-Tech Park\", \"Medizintechnik\"], \"wohl_head\": \"Aufholend\", \"wohl_bull\": [\"Steigende Preise\", \"Zukunftspotenzial\"] },\n    { \"stadt\": \"Halle (Saale)\", \"studenten\": 21000, \"profil\": \"Halle bildet mit Leipzig einen Ballungsraum. Die Stadt profitiert von der Uni und dem Weinberg Campus.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Leicht Positiv\", \"demo_bull\": [\"Kulturinteressiert\", \"Studenten\"], \"arb_head\": \"Wissenschaft\", \"arb_bull\": [\"Leopoldina\", \"Kulturstiftungen\"], \"inn_head\": \"Biotech\", \"inn_bull\": [\"Weinberg Campus\", \"Solar Valley\"], \"wohl_head\": \"Moderat\", \"wohl_bull\": [\"G\u00fcnstige Preise\", \"Gute Anbindung\"] },\n    { \"stadt\": \"L\u00fcbeck\", \"studenten\": 11000, \"profil\": \"Weltkulturerbe und Hafenstadt. L\u00fcbeck ist ein solider, touristisch gepr\u00e4gter Markt.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Leicht Positiv\", \"demo_bull\": [\"Tourismus\", \"Medizin\"], \"arb_head\": \"Medizintechnik\", \"arb_bull\": [\"Dr\u00e4ger\", \"Niederegger\"], \"inn_head\": \"Gesundheit\", \"inn_bull\": [\"BioMedTec\", \"Hanse Innovation\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Gute Wohnqualit\u00e4t\", \"Stabile Preise\"] },\n    { \"stadt\": \"Mainz\", \"studenten\": 38000, \"profil\": \"Biontech hat Mainz weltber\u00fchmt gemacht. Die Stadt investiert massiv in Infrastruktur.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Medien\", \"Studenten\"], \"arb_head\": \"Medien & Pharma\", \"arb_bull\": [\"ZDF, SWR\", \"Biontech\"], \"inn_head\": \"Biotech\", \"inn_bull\": [\"Biotech Cluster\", \"Uni Mainz\"], \"wohl_head\": \"Steigend\", \"wohl_bull\": [\"Schuldenfreie Stadt\", \"Wiesbaden N\u00e4he\"] },\n    { \"stadt\": \"Erfurt\", \"studenten\": 10000, \"profil\": \"Landeshauptstadt Th\u00fcringens. Als Logistikdrehkreuz und Verwaltungszentrum sehr stabil.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Leicht Positiv\", \"demo_bull\": [\"Zentral\", \"Famili\u00e4r\"], \"arb_head\": \"Logistik & Medien\", \"arb_bull\": [\"Zalando Logistik\", \"KiKa\"], \"inn_head\": \"Kindermedien\", \"inn_bull\": [\"Studios\", \"Mikrosystemtechnik\"], \"wohl_head\": \"Durchschnitt\", \"wohl_bull\": [\"Bezahlbar\", \"Solide Rendite\"] },\n    { \"stadt\": \"Rostock\", \"studenten\": 13000, \"profil\": \"Die Regiopole an der Ostsee. Rostock w\u00e4chst als attraktiver Wohnort und Marinestandort.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"K\u00fcstenlage\", \"Uni\"], \"arb_head\": \"Windkraft & Uni\", \"arb_bull\": [\"Nordex\", \"Aida Cruises\"], \"inn_head\": \"Ozeantechnik\", \"inn_bull\": [\"Subsea Tech\", \"Uni Rostock\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Teure Wasserlagen\", \"Plattenbau g\u00fcnstig\"] },\n    { \"stadt\": \"Kassel\", \"studenten\": 24000, \"profil\": \"Documenta Stadt und Logistikmitte Deutschlands. Kassel bietet stabile Werte.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Ausgeglichen\", \"demo_bull\": [\"Kultur\", \"Industrie\"], \"arb_head\": \"R\u00fcstung & Auto\", \"arb_bull\": [\"Rheinmetall\", \"VW Baunatal\"], \"inn_head\": \"Energie\", \"inn_bull\": [\"Fraunhofer IEE\", \"Uni Kassel\"], \"wohl_head\": \"Durchschnitt\", \"wohl_bull\": [\"Moderate Preise\", \"Gute Anbindung\"] },\n    { \"stadt\": \"Potsdam\", \"studenten\": 27000, \"profil\": \"Die exklusive Insel vor Berlin. Potsdam ist extrem teuer und Heimat von Software Riesen.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Stark Positiv\", \"demo_bull\": [\"Elite\", \"Familien\"], \"arb_head\": \"IT & Film\", \"arb_bull\": [\"SAP Innovation\", \"Studio Babelsberg\"], \"inn_head\": \"Software\", \"inn_bull\": [\"Hasso-Plattner-Institut\", \"Media Tech\"], \"wohl_head\": \"Sehr Hoch\", \"wohl_bull\": [\"Berliner Speckg\u00fcrtel\", \"H\u00f6chstpreise\"] },\n    { \"stadt\": \"Saarbr\u00fccken\", \"studenten\": 17000, \"profil\": \"Universit\u00e4tsstadt an der franz\u00f6sischen Grenze. Informatik Forschung ist hier Weltklasse.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Ausgeglichen\", \"demo_bull\": [\"Grenzg\u00e4nger\", \"Studenten\"], \"arb_head\": \"IT & Verwaltung\", \"arb_bull\": [\"ZF Friedrichshafen\", \"Landesregierung\"], \"inn_head\": \"K\u00fcnstliche Intelligenz\", \"inn_bull\": [\"DFKI\", \"Max-Planck Informatik\"], \"wohl_head\": \"Moderat\", \"wohl_bull\": [\"G\u00fcnstiges Eigentum\", \"Solide\"] },\n    { \"stadt\": \"Oldenburg\", \"studenten\": 20000, \"profil\": \"\u00dcbermorgenstadt im Nordwesten. Sehr starke Demografie durch Zuzug und Universit\u00e4t.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Wachstum\", \"Fahrradstadt\"], \"arb_head\": \"Energie & IT\", \"arb_bull\": [\"EWE AG\", \"CEWE\"], \"inn_head\": \"Energie\", \"inn_bull\": [\"Next Energy\", \"Uni Oldenburg\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Solider Mittelstand\", \"Wertsicher\"] },\n    { \"stadt\": \"Osnabr\u00fcck\", \"studenten\": 28000, \"profil\": \"Friedensstadt in Niedersachsen. Logistikstark und studentisch gepr\u00e4gt.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Junge Bev\u00f6lkerung\", \"Logistikachse\"], \"arb_head\": \"Logistik & Nahrung\", \"arb_bull\": [\"Hellmann\", \"Coppenrath & Wiese\"], \"inn_head\": \"Agrartech\", \"inn_bull\": [\"Agrotech Valley\", \"Hochschule\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Stabile Preise\", \"Gute Nachfrage\"] },\n    { \"stadt\": \"Regensburg\", \"studenten\": 33000, \"profil\": \"UNESCO Welterbe und Boomtown in Bayern. BMW und Tech Firmen sorgen f\u00fcr Vollbesch\u00e4ftigung.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Wachstum\", \"Jung\"], \"arb_head\": \"Auto & Elektro\", \"arb_bull\": [\"BMW\", \"Continental\", \"Krones\"], \"inn_head\": \"Tech\", \"inn_bull\": [\"TechBase\", \"Biopark\"], \"wohl_head\": \"Hoch\", \"wohl_bull\": [\"M\u00fcnchen light\", \"Hohe Kaufkraft\"] },\n    { \"stadt\": \"Paderborn\", \"studenten\": 22000, \"profil\": \"IT Pionierstadt (Nixdorf). Paderborn ist ein sehr solider, katholisch gepr\u00e4gter Markt.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Studenten\", \"Computerpioniere\"], \"arb_head\": \"IT & Maschinen\", \"arb_bull\": [\"Diebold Nixdorf\", \"Benteler\"], \"inn_head\": \"Digitalisierung\", \"inn_bull\": [\"Heinz Nixdorf Forum\", \"Uni Paderborn\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Stabile Mitte\", \"Sicherer Hafen\"] },\n    { \"stadt\": \"Ingolstadt\", \"studenten\": 6000, \"profil\": \"Audi Stadt. Ingolstadt hat eine der h\u00f6chsten Wirtschaftskr\u00e4fte pro Kopf.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Auto-Fokus\", \"Wohlstand\"], \"arb_head\": \"Automobil\", \"arb_bull\": [\"Audi Zentrale\", \"MediaMarktSaturn\"], \"inn_head\": \"Mobilit\u00e4t\", \"inn_bull\": [\"INCampus\", \"Brigk Digital\"], \"wohl_head\": \"Sehr Hoch\", \"wohl_bull\": [\"Top Geh\u00e4lter\", \"Teure Mieten\"] },\n    { \"stadt\": \"Ulm\", \"studenten\": 14000, \"profil\": \"Wissenschaftsstadt an der Donau. Zwischen Stuttgart und M\u00fcnchen gelegen, wirtschaftlich stark.\", \"demo_trend\": \"Positiv\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Wachstum\", \"Innovation\"], \"arb_head\": \"Nutzfahrzeuge\", \"arb_bull\": [\"Ratiopharm (Teva)\", \"Iveco Magirus\"], \"inn_head\": \"BioPharma\", \"inn_bull\": [\"Science Park\", \"Uni Ulm\"], \"wohl_head\": \"Hoch\", \"wohl_bull\": [\"Hohes Einkommen\", \"Stabiler Markt\"] },\n    { \"stadt\": \"Wolfsburg\", \"studenten\": 4000, \"profil\": \"Die Autostadt schlechthin. Wolfsburg atmet Volkswagen. Das Einkommensniveau ist extrem hoch.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Abh\u00e4ngig\", \"demo_bull\": [\"VW-Mitarbeiter\", \"Pendler\"], \"arb_head\": \"Automotive\", \"arb_bull\": [\"Volkswagen Stammwerk\", \"Schnellecke\"], \"inn_head\": \"Mobilit\u00e4t\", \"inn_bull\": [\"Open Hybrid Lab\", \"AutoUni\"], \"wohl_head\": \"Sehr Hoch\", \"wohl_bull\": [\"H\u00f6chste BIP pro Kopf\", \"Abh\u00e4ngigkeit\"] },\n    { \"stadt\": \"Jena\", \"studenten\": 23000, \"profil\": \"Lichtstadt. High-Tech Zentrum im Osten mit Zeiss und Jenoptik. Sehr teurer, elit\u00e4rer Markt.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Forschung\", \"Studenten\"], \"arb_head\": \"Optik & Photonik\", \"arb_bull\": [\"Carl Zeiss\", \"Jenoptik\"], \"inn_head\": \"Optik\", \"inn_bull\": [\"Beutenberg Campus\", \"Exzellenzforschung\"], \"wohl_head\": \"Hoch\", \"wohl_bull\": [\"Westniveau\", \"Teuerste Stadt Ost\"] },\n    { \"stadt\": \"Kaiserslautern\", \"studenten\": 15000, \"profil\": \"IT Standort und US Milit\u00e4rgemeinde. Die TU und US Basis sorgen f\u00fcr internationale Nachfrage.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Amerikaner\", \"Studenten\"], \"arb_head\": \"IT & Industrie\", \"arb_bull\": [\"US Airbase\", \"Opel\"], \"inn_head\": \"KI & Software\", \"inn_bull\": [\"DFKI\", \"Science & Innovation\"], \"wohl_head\": \"Moderat\", \"wohl_bull\": [\"Spezialmarkt US\", \"Gute Renditen\"] },\n    { \"stadt\": \"Siegen\", \"studenten\": 18000, \"profil\": \"Zentrum S\u00fcdwestfalens. Universit\u00e4tsstadt in h\u00fcgeliger Lage.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Positiv\", \"demo_bull\": [\"Uni-Stadt\", \"Einzugsgebiet\"], \"arb_head\": \"Metall\", \"arb_bull\": [\"Mittelstand\", \"Uni Siegen\"], \"inn_head\": \"Sensorik\", \"inn_bull\": [\"Summit Siegen\", \"Mittelstand 4.0\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Solide\", \"Eigent\u00fcmer gepr\u00e4gt\"] },\n    { \"stadt\": \"Koblenz\", \"studenten\": 17000, \"profil\": \"Zentralort am Deutschen Eck. Verwaltungszentrum und Bundeswehrstandort.\", \"demo_trend\": \"Stabil\", \"demo_sal\": \"Ausgeglichen\", \"demo_bull\": [\"Beamte\", \"Tourismus\"], \"arb_head\": \"Verwaltung\", \"arb_bull\": [\"Bundeswehr\", \"Canyon Bicycles\"], \"inn_head\": \"IT & Data\", \"inn_bull\": [\"CompuGroup Medical\", \"Uni Koblenz\"], \"wohl_head\": \"Gut\", \"wohl_bull\": [\"Sicherer Markt\", \"Gute Mitte\"] },\n    { \"stadt\": \"Cottbus\", \"studenten\": 7000, \"profil\": \"Wandel in der Lausitz. Durch den Strukturwandel flie\u00dfen Milliarden F\u00f6rdergelder.\", \"demo_trend\": \"Stabilisierend\", \"demo_sal\": \"Leicht Positiv\", \"demo_bull\": [\"Strukturwandel\", \"Uni\"], \"arb_head\": \"Energie & Bahn\", \"arb_bull\": [\"LEAG\", \"Deutsche Bahn Werk\"], \"inn_head\": \"Energie\", \"inn_bull\": [\"Science Park\", \"BTU Cottbus\"], \"wohl_head\": \"Aufholend\", \"wohl_bull\": [\"G\u00fcnstige Preise\", \"Investitionschance\"] },\n    { \"stadt\": \"Gera\", \"studenten\": 1500, \"profil\": \"Lange untersch\u00e4tzt, jetzt im Aufwind. Gera bietet sehr g\u00fcnstige Einstiege.\", \"demo_trend\": \"Stabilisierend\", \"demo_sal\": \"Ausgeglichen\", \"demo_bull\": [\"Pendler Jena\", \"Aufholjagd\"], \"arb_head\": \"Dienstleistung\", \"arb_bull\": [\"SRH Hochschule\", \"Logistik\"], \"inn_head\": \"Digital\", \"inn_bull\": [\"Smart City\", \"Gr\u00fcnder\"], \"wohl_head\": \"Niedrig\", \"wohl_bull\": [\"Top Rendite\", \"Risikochance\"] }\n    ];\n\n    \/\/ CSV Data (Original)\n    const CITIES_CSV = `Kategorie;Stadt;Bundesland;Einwohner\nA;Berlin;Berlin;3669491\nA;D\u00fcsseldorf;Nordrhein-Westfalen;642304\nA;Frankfurt am Main;Hessen;773068\nA;Hamburg;Hamburg;1906411\nA;K\u00f6ln;Nordrhein-Westfalen;1085664\nA;M\u00fcnchen;Bayern;1488202\nA;Stuttgart;Baden-W\u00fcrttemberg;635911\nB;Bochum;Nordrhein-Westfalen;364454\nB;Bonn;Nordrhein-Westfalen;336465\nB;Bremen;Bremen;567559\nB;Dortmund;Nordrhein-Westfalen;588462\nB;Dresden;Sachsen;556780\nB;Duisburg;Nordrhein-Westfalen;495885\nB;Essen;Nordrhein-Westfalen;584580\nB;Hannover;Niedersachsen;534049\nB;Karlsruhe;Baden-W\u00fcrttemberg;308707\nB;Leipzig;Sachsen;628718\nB;Mannheim;Baden-W\u00fcrttemberg;315554\nB;M\u00fcnster;Nordrhein-Westfalen;319947\nB;N\u00fcrnberg;Bayern;515543\nC;Aachen;Nordrhein-Westfalen;252136\nC;Augsburg;Bayern;300050\nC;Bielefeld;Nordrhein-Westfalen;338290\nC;Braunschweig;Niedersachsen;251804\nC;Darmstadt;Hessen;161413\nC;Erfurt;Th\u00fcringen;214969\nC;Freiburg im Breisgau;Baden-W\u00fcrttemberg;236140\nC;Heidelberg;Baden-W\u00fcrttemberg;160355\nC;Kiel;Schleswig-Holstein;247548\nC;L\u00fcbeck;Schleswig-Holstein;217198\nC;Magdeburg;Sachsen-Anhalt;235723\nC;Mainz;Rheinland-Pfalz;223219\nC;Osnabr\u00fcck;Niedersachsen;166462\nC;Potsdam;Brandenburg;182112\nC;Regensburg;Bayern;152270\nD;Aschaffenburg;Bayern;71500\nD;Bamberg;Bayern;78000\nD;Bayreuth;Bayern;74000\nD;Bergisch Gladbach;Nordrhein-Westfalen;112000\nD;Bremerhaven;Bremen;113000\nD;Chemnitz;Sachsen;246000\nD;Coburg;Bayern;41000\nD;Cottbus;Brandenburg;99000\nD;Dessau-Ro\u00dflau;Sachsen-Anhalt;80000\nD;Flensburg;Schleswig-Holstein;92000\nD;Gelsenkirchen;Nordrhein-Westfalen;259000\nD;G\u00f6ttingen;Niedersachsen;119000\nD;Hagen;Nordrhein-Westfalen;188000\nD;Halle (Saale);Sachsen-Anhalt;238000\nD;Herne;Nordrhein-Westfalen;156000\nD;Ingolstadt;Bayern;139000\nD;Jena;Th\u00fcringen;111000\nD;Kaiserslautern;Rheinland-Pfalz;101000\nD;Kassel;Hessen;204000\nD;Koblenz;Rheinland-Pfalz;114000\nD;Oldenburg;Niedersachsen;171000\nD;Paderborn;Nordrhein-Westfalen;155000\nD;Passau;Bayern;53000\nD;Remscheid;Nordrhein-Westfalen;111000\nD;Wuppertal;Nordrhein-Westfalen;358000`;\n\n    \/\/ --- HELPER: MERGE DATA ---\n    const getCityDetails = (cityName) => {\n      \/\/ Find specific details or return fallback\n      const detail = CITY_DETAILS.find(c => c.stadt === cityName);\n      if (detail) return detail;\n      \n      \/\/ Fallback for cities not fully defined in the sample block\n      return {\n        profil: `${cityName} ist ein solider Standort im regionalen Kontext. Investoren profitieren von stabilen Rahmenbedingungen.`,\n        studenten: Math.round(Math.random() * 5000 + 1000), \/\/ Fallback Sch\u00e4tzung\n        demo_trend: \"Stabil\",\n        demo_sal: \"Ausgeglichen\",\n        demo_bull: [\"Regionale Bedeutung\", \"Konstante Nachfrage\"],\n        arb_head: \"Mittelstand\",\n        arb_bull: [\"Lokale Dienstleister\", \"Handwerk\"],\n        inn_head: \"Entwicklung\",\n        inn_bull: [\"Gewerbeparks\", \"Digitalisierung\"],\n        wohl_head: \"Durchschnitt\",\n        wohl_bull: [\"Solides Niveau\", \"Wertsicher\"]\n      };\n    };\n\n    \/\/ --- PARSER ---\n    const parseCitiesFromCSV = (csv) => {\n      const rows = csv.trim().split('\\n');\n      return rows.slice(1).map(row => {\n          const cols = row.split(';');\n          if (cols.length < 4) return null;\n          const name = cols[1].trim();\n          return {\n              Kategorie: cols[0].trim(),\n              Stadt: name,\n              Bundesland: cols[2].trim(),\n              Einwohner: parseInt(cols[3].trim(), 10),\n              details: getCityDetails(name) \/\/ Enrich\n          };\n      }).filter(c => c !== null);\n    };\n\n    const cityData = parseCitiesFromCSV(CITIES_CSV);\n\n    \/\/ --- STATE & MAPS ---\n    let currentSort = { column: 'Kategorie', dir: 'asc' };\n    let searchQuery = '';\n    let selectedCities = [];\n    const activeMaps = new Map(); \n    const geoCache = JSON.parse(localStorage.getItem('lima_geo_cache') || '{}');\n    let mapObserver; \n\n    \/\/ --- GEOCODING ---\n    const getCityCoords = async (city, state) => {\n      const key = `geo_${city}_${state}`;\n      if (geoCache[key]) return geoCache[key];\n\n      try {\n        await new Promise(r => setTimeout(r, Math.random() * 500)); \n        const q = encodeURIComponent(`${city}, ${state}, Deutschland`);\n        const url = `https:\/\/nominatim.openstreetmap.org\/search?format=json&q=${q}&limit=1`;\n        \n        const res = await fetch(url, { headers: { 'User-Agent': 'LimaCityModule\/1.0' } });\n        if (!res.ok) throw new Error('Network err');\n        \n        const data = await res.json();\n        if (data && data.length > 0) {\n          const coords = { lat: data[0].lat, lon: data[0].lon };\n          geoCache[key] = coords;\n          localStorage.setItem('lima_geo_cache', JSON.stringify(geoCache));\n          return coords;\n        }\n      } catch (e) {\n        console.warn('Geocoding err', city);\n      }\n      return null;\n    };\n\n    \/\/ --- MAP RENDERING ---\n    const initMap = async (containerEl) => {\n      if (!containerEl) return;\n      const id = containerEl.id;\n      if (activeMaps.has(id)) return;\n\n      const city = containerEl.dataset.city;\n      const state = containerEl.dataset.state;\n      const loader = containerEl.nextElementSibling;\n      \n      const coords = await getCityCoords(city, state);\n      \n      if (coords && window.L) {\n          const map = L.map(id, { zoomControl: false, attributionControl: false }).setView([coords.lat, coords.lon], 12);\n          L.tileLayer('https:\/\/{s}.basemaps.cartocdn.com\/light_all\/{z}\/{x}\/{y}{r}.png', { maxZoom: 19 }).addTo(map);\n          L.marker([coords.lat, coords.lon]).addTo(map);\n          \n          activeMaps.set(id, map);\n          if (loader) loader.classList.add('hidden');\n          setTimeout(() => map.invalidateSize(), 200);\n      } else {\n          if (loader) loader.textContent = \"Karte n.v.\";\n      }\n    };\n\n    const initMapObserver = () => {\n        if (mapObserver) mapObserver.disconnect();\n        mapObserver = new IntersectionObserver((entries) => {\n            entries.forEach(entry => {\n                if (entry.isIntersecting) {\n                    initMap(entry.target);\n                    mapObserver.unobserve(entry.target);\n                }\n            });\n        }, { rootMargin: '50px' });\n    };\n\n    \/\/ --- UI HELPERS ---\n    const formatNum = (num) => new Intl.NumberFormat('de-DE').format(num);\n    const getBadgeClass = (cat) => `cat-${cat}`;\n    const uniqueId = () => 'map-' + Math.random().toString(36).substr(2, 9);\n      \n    \/\/ Accordion Logic\n    window.toggleAccordion = (header) => {\n      const body = header.nextElementSibling;\n      header.classList.toggle('active');\n      body.classList.toggle('open');\n    };\n\n    const toggleInfo = (btn, city) => {\n      const row = btn.closest('tr').nextElementSibling;\n      const isHidden = getComputedStyle(row).display === 'none';\n      \n      document.querySelectorAll('.info-row.show').forEach(r => { if (r !== row) r.classList.remove('show'); });\n\n      if (isHidden) {\n        row.classList.add('show');\n        btn.style.color = 'var(--li-accent)';\n        btn.style.borderColor = 'var(--li-accent)';\n        const mapEl = row.querySelector('.city-map');\n        if (mapEl && mapObserver) mapObserver.observe(mapEl);\n      } else {\n        row.classList.remove('show');\n        btn.style.color = '';\n        btn.style.borderColor = '';\n      }\n    };\n\n    \/\/ --- RENDER FUNCTIONS ---\n    \n    const renderBullets = (arr) => {\n      if(!arr || arr.length === 0) return '';\n      return `<ul class=\"acc-bullets\">${arr.map(b => `<li>${b}<\/li>`).join('')}<\/ul>`;\n    };\n\n    const renderCityInsights = (cityData) => {\n      const d = cityData.details;\n      return `\n        <div class=\"acc-container\">\n          \n          <div class=\"acc-item\">\n            <button class=\"acc-header active\" onclick=\"toggleAccordion(this)\">\n              <span>Stadtprofil<\/span> <span class=\"acc-icon\">\u25bc<\/span>\n            <\/button>\n            <div class=\"acc-body open\">\n              <p style=\"margin:0; font-weight:500;\">${d.profil}<\/p>\n            <\/div>\n          <\/div>\n\n          <div class=\"acc-item\">\n            <button class=\"acc-header\" onclick=\"toggleAccordion(this)\">\n              <span>Demografie<\/span> <span class=\"acc-icon\">\u25bc<\/span>\n            <\/button>\n            <div class=\"acc-body\">\n               <span class=\"acc-trend-pill trend-${d.demo_trend === 'R\u00fcckl\u00e4ufig' ? 'stable' : 'up'}\">Trend: ${d.demo_trend}<\/span>\n               <div style=\"margin-bottom:5px; font-size:13px; color:#64748B;\">Wanderung: ${d.demo_sal}<\/div>\n               ${renderBullets(d.demo_bull)}\n            <\/div>\n          <\/div>\n\n          <div class=\"acc-item\">\n            <button class=\"acc-header\" onclick=\"toggleAccordion(this)\">\n              <span>Arbeitsmarkt<\/span> <span class=\"acc-icon\">\u25bc<\/span>\n            <\/button>\n            <div class=\"acc-body\">\n              <div style=\"font-weight:700; color:var(--li-primary);\">${d.arb_head}<\/div>\n              ${renderBullets(d.arb_bull)}\n            <\/div>\n          <\/div>\n\n          <div class=\"acc-item\">\n            <button class=\"acc-header\" onclick=\"toggleAccordion(this)\">\n              <span>Wettbewerb & Innovation<\/span> <span class=\"acc-icon\">\u25bc<\/span>\n            <\/button>\n            <div class=\"acc-body\">\n              <div style=\"font-weight:700; color:var(--li-primary);\">${d.inn_head}<\/div>\n              ${renderBullets(d.inn_bull)}\n            <\/div>\n          <\/div>\n\n          <div class=\"acc-item\">\n            <button class=\"acc-header\" onclick=\"toggleAccordion(this)\">\n              <span>Wohlstand & Lage<\/span> <span class=\"acc-icon\">\u25bc<\/span>\n            <\/button>\n            <div class=\"acc-body\">\n              <div style=\"font-weight:700; color:var(--li-primary);\">${d.wohl_head}<\/div>\n              ${renderBullets(d.wohl_bull)}\n            <\/div>\n          <\/div>\n\n        <\/div>\n      `;\n    };\n\n    const renderComparisonPanel = () => {\n      const panel = document.getElementById('lima-compare-panel');\n      const grid = document.getElementById('compare-grid');\n      document.getElementById('compare-count').textContent = selectedCities.length;\n      \n      if (selectedCities.length === 0) {\n        panel.style.display = 'none';\n        grid.innerHTML = '';\n        return;\n      }\n      \n      panel.style.display = 'block';\n      grid.innerHTML = '';\n      \n      selectedCities.forEach(city => {\n        const mapId = uniqueId();\n        const card = document.createElement('div');\n        card.className = 'compare-card';\n        card.innerHTML = `\n          <div class=\"rm-btn\" onclick=\"document.dispatchEvent(new CustomEvent('removeCity', {detail: '${city.Stadt}'}))\">\u00d7<\/div>\n          <span class=\"cat-badge ${getBadgeClass(city.Kategorie)}\" style=\"width:28px; height:28px; line-height:26px; font-size:12px; margin-bottom:5px;\">${city.Kategorie}<\/span>\n          <div style=\"font-weight:700; font-size:15px;\">${city.Stadt}<\/div>\n          <div style=\"color:var(--li-text-light); margin-bottom:5px;\">${city.Bundesland}<\/div>\n          \n          <div class=\"compare-stats-grid\">\n              <div class=\"compare-stat-item\">\n                  <div class=\"comp-val\">${formatNum(city.Einwohner)}<\/div>\n                  <div class=\"comp-label\">Einwohner<\/div>\n              <\/div>\n              <div class=\"compare-stat-item\">\n                  <div class=\"comp-val\">${formatNum(city.details.studenten)}<\/div>\n                  <div class=\"comp-label\">Studenten<\/div>\n              <\/div>\n              <div class=\"compare-stat-item\">\n                  <div class=\"comp-val comp-trend\">${city.details.demo_trend}<\/div>\n                  <div class=\"comp-label\">Trend<\/div>\n              <\/div>\n          <\/div>\n\n          <button class=\"compare-toggle-btn\" onclick=\"this.parentElement.classList.toggle('expanded');\">\n              Details & Karte anzeigen \u25bc\n          <\/button>\n          \n          <div class=\"compare-content-hidden\">\n              <p style=\"margin-bottom:10px; line-height:1.4; font-size:13px;\">${city.details.profil}<\/p>\n              <div class=\"map-wrapper\" style=\"height:180px;\">\n                  <div id=\"${mapId}\" class=\"city-map\" data-city=\"${city.Stadt}\" data-state=\"${city.Bundesland}\"><\/div>\n                  <div class=\"map-loader\">Karte laden...<\/div>\n              <\/div>\n          <\/div>\n        `;\n        grid.appendChild(card);\n        \n        setTimeout(() => {\n            const el = document.getElementById(mapId);\n            if(el && mapObserver) mapObserver.observe(el);\n        }, 100);\n      });\n    };\n\n    const renderList = () => {\n      let data = cityData.filter(item => {\n           if (!searchQuery) return true;\n           return item.Stadt.toLowerCase().includes(searchQuery.toLowerCase()) || \n                  item.Bundesland.toLowerCase().includes(searchQuery.toLowerCase());\n      });\n      \n      data.sort((a, b) => {\n           let valA = a[currentSort.column], valB = b[currentSort.column];\n           if(typeof valA === 'string') { valA = valA.toLowerCase(); valB = valB.toLowerCase(); }\n           if(valA < valB) return currentSort.dir === 'asc' ? -1 : 1;\n           if(valA > valB) return currentSort.dir === 'asc' ? 1 : -1;\n           return 0;\n      });\n\n      const tableBody = document.getElementById('lima-table-body');\n      const cardContainer = document.getElementById('lima-cards-container');\n      tableBody.innerHTML = '';\n      cardContainer.innerHTML = '';\n      \n      initMapObserver();\n\n      data.forEach(item => {\n        const isSelected = selectedCities.some(c => c.Stadt === item.Stadt);\n        const mapId = uniqueId();\n\n        \/\/ TABLE\n        const tr = document.createElement('tr');\n        tr.innerHTML = `\n          <td><input type=\"checkbox\" class=\"lima-check\" ${isSelected ? 'checked' : ''}><\/td>\n          <td><span class=\"cat-badge ${getBadgeClass(item.Kategorie)}\">${item.Kategorie}<\/span><\/td>\n          <td><strong>${item.Stadt}<\/strong><\/td>\n          <td>${item.Bundesland}<\/td>\n          <td style=\"text-align:right;\">${formatNum(item.Einwohner)}<\/td>\n          <td style=\"text-align:center;\"><button class=\"info-btn\">i<\/button><\/td>\n        `;\n        tr.querySelector('.lima-check').addEventListener('change', () => toggleSelection(item.Stadt));\n        const infoBtn = tr.querySelector('.info-btn');\n        infoBtn.addEventListener('click', (e) => { e.stopPropagation(); toggleInfo(infoBtn, item.Stadt); });\n\n        \/\/ INFO ROW\n        const trInfo = document.createElement('tr');\n        trInfo.className = 'info-row';\n        trInfo.innerHTML = `\n          <td colspan=\"6\" style=\"padding:0; border:none;\">\n            <div class=\"info-content\">\n              <div class=\"info-grid\">\n                \n                <div class=\"info-box\">\n                  ${renderCityInsights(item)}\n                <\/div>\n\n                <div class=\"info-box\">\n                  <div class=\"map-wrapper\">\n                      <div id=\"${mapId}\" class=\"city-map\" data-city=\"${item.Stadt}\" data-state=\"${item.Bundesland}\"><\/div>\n                      <div class=\"map-loader\">Lade Karte...<\/div>\n                  <\/div>\n                  <div class=\"map-sub-info\">\n                    <span>\ud83c\udf93 <strong>${formatNum(item.details.studenten)}<\/strong> Studenten<\/span>\n                    <span style=\"color:#ccc\">|<\/span>\n                    <span style=\"font-size:12px; font-weight:normal;\">Lagekarte: ${item.Stadt}<\/span>\n                  <\/div>\n                <\/div>\n\n              <\/div>\n            <\/div>\n          <\/td>\n        `;\n        \n        tableBody.appendChild(tr);\n        tableBody.appendChild(trInfo);\n\n        \/\/ MOBILE CARD\n        const card = document.createElement('div');\n        card.className = 'lima-card';\n        if(isSelected) card.style.borderColor = 'var(--li-accent)';\n        card.innerHTML = `\n          <div class=\"lima-card-header\">\n              <div>\n                  <input type=\"checkbox\" class=\"lima-check\" ${isSelected ? 'checked' : ''}>\n                  <span style=\"font-weight:bold; margin-left:8px;\">${item.Stadt}<\/span>\n              <\/div>\n              <span class=\"cat-badge ${getBadgeClass(item.Kategorie)}\" style=\"transform:scale(0.8)\">${item.Kategorie}<\/span>\n          <\/div>\n          <button class=\"info-btn\" style=\"width:100%; border-radius:4px;\" onclick=\"this.parentElement.classList.toggle('open')\">Details & Karte<\/button>\n          <div class=\"lima-card-details\">\n                ${renderCityInsights(item)}\n                <div class=\"map-wrapper\" style=\"margin-top:15px;\">\n                  <div id=\"mob-${mapId}\" class=\"city-map\" data-city=\"${item.Stadt}\" data-state=\"${item.Bundesland}\"><\/div>\n                  <div class=\"map-loader\">Lade Karte...<\/div>\n              <\/div>\n              <div class=\"map-sub-info\">\n                  <span>\ud83c\udf93 <strong>${formatNum(item.details.studenten)}<\/strong> Studenten<\/span>\n              <\/div>\n          <\/div>\n        `;\n        card.querySelector('.lima-check').addEventListener('change', () => toggleSelection(item.Stadt));\n        \n        const mobMapEl = card.querySelector(`#mob-${mapId}`);\n        if(mapObserver) mapObserver.observe(mobMapEl);\n        \n        cardContainer.appendChild(card);\n      });\n    };\n\n    \/\/ --- EVENT LISTENERS ---\n    const toggleSelection = (cityName) => {\n      const city = cityData.find(c => c.Stadt === cityName);\n      const index = selectedCities.findIndex(c => c.Stadt === cityName);\n      if (index > -1) selectedCities.splice(index, 1);\n      else {\n        if (selectedCities.length >= 3) {\n          const t = document.getElementById('lima-toast');\n          t.style.opacity = '1'; setTimeout(() => t.style.opacity = '0', 2000);\n          return;\n        }\n        selectedCities.push(city);\n      }\n      renderComparisonPanel();\n      renderList();\n    };\n\n    document.getElementById('lima-search-input').addEventListener('input', (e) => { searchQuery = e.target.value; renderList(); });\n    document.getElementById('compare-clear-btn').addEventListener('click', () => { selectedCities = []; renderComparisonPanel(); renderList(); });\n    document.addEventListener('removeCity', (e) => toggleSelection(e.detail));\n\n    document.querySelectorAll('.lima-sort-btn').forEach(btn => {\n      btn.addEventListener('click', () => {\n        const col = btn.dataset.sort;\n        if (currentSort.column === col) {\n          currentSort.dir = currentSort.dir === 'asc' ? 'desc' : 'asc';\n        } else {\n          currentSort.column = col;\n          currentSort.dir = 'asc';\n           if (col === 'Einwohner') currentSort.dir = 'desc';\n        }\n        document.querySelectorAll('.lima-sort-btn').forEach(b => {\n          b.classList.remove('active');\n          b.querySelector('.sort-icon').textContent = '\u25bc';\n        });\n        btn.classList.add('active');\n        btn.querySelector('.sort-icon').textContent = currentSort.dir === 'asc' ? '\u25b2' : '\u25bc';\n        renderList();\n      });\n    });\n\n    \/\/ Init\n    renderList();\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<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e3be119 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e3be119\" 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-d5d3cf6\" data-id=\"d5d3cf6\" 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-6eb08b2 elementor-widget elementor-widget-html\" data-id=\"6eb08b2\" 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<style>\n    \/* Scoped Styles f\u00fcr die CTA Section *\/\n    .cta-wrapper {\n      max-width: 1100px;\n      margin: 40px auto 60px auto; \/* Abstand zum Formular *\/\n      padding: 0 20px;\n      width: 100%;\n    }\n\n    .cta-card {\n      display: flex;\n      flex-direction: row;\n      background: #0f172a; \/* Dark Slate \/ Lima Navy f\u00fcr Kontrast *\/\n      border-radius: 16px; \/* Etwas runder f\u00fcr modernen Look *\/\n      overflow: hidden;\n      box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.3);\n      position: relative;\n      border: 1px solid #1e293b;\n    }\n\n    \/* Dekorative Linie (Gold Akzent) *\/\n    .cta-card::top {\n      content: '';\n      position: absolute;\n      top: 0; left: 0; right: 0;\n      height: 4px;\n      background: linear-gradient(90deg, #d4b325, #fcd34d, #d4b325);\n    }\n\n    .cta-content {\n      flex: 1;\n      padding: 50px 40px;\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      z-index: 2;\n    }\n\n    .cta-visual {\n      flex: 1;\n      min-height: 300px;\n      background-image: url('https:\/\/images.unsplash.com\/photo-1497366216548-37526070297c?q=80&w=1200&auto=format&fit=crop');\n      background-size: cover;\n      background-position: center;\n      position: relative;\n    }\n\n    \/* Overlay f\u00fcr bessere Lesbarkeit von Text auf Bild (falls n\u00f6tig) oder Style *\/\n    .cta-visual::after {\n      content: '';\n      position: absolute;\n      inset: 0;\n      background: linear-gradient(to right, #0f172a 0%, transparent 100%);\n    }\n\n    .cta-headline {\n      font-size: 28px;\n      font-weight: 800;\n      color: #ffffff;\n      margin: 0 0 15px 0;\n      line-height: 1.2;\n    }\n\n    .cta-headline span {\n      color: #d4b325; \/* Gold *\/\n    }\n\n    .cta-text {\n      color: #94a3b8; \/* Slate-400 *\/\n      font-size: 16px;\n      margin: 0 0 30px 0;\n      max-width: 480px;\n      line-height: 1.6;\n    }\n\n    \/* Der Button *\/\n    .cta-button {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      background: #d4b325;\n      color: #0f172a;\n      font-weight: 700;\n      font-size: 16px;\n      padding: 16px 32px;\n      border-radius: 8px;\n      text-decoration: none;\n      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n      position: relative;\n      overflow: hidden;\n      width: fit-content;\n      box-shadow: 0 4px 15px rgba(212, 179, 37, 0.2);\n    }\n\n    \/* Button Icon Pfeil *\/\n    .cta-button svg {\n      margin-left: 10px;\n      width: 20px;\n      height: 20px;\n      transition: transform 0.3s ease;\n    }\n\n    \/* Hover Effekte *\/\n    .cta-button:hover {\n      background: #eac428;\n      transform: translateY(-3px) scale(1.02);\n      box-shadow: 0 10px 25px rgba(212, 179, 37, 0.4);\n    }\n\n    .cta-button:hover svg {\n      transform: translateX(5px);\n    }\n\n    \/* Shine Animation auf dem Button *\/\n    .cta-button::after {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: -100%;\n      width: 50%;\n      height: 100%;\n      background: linear-gradient(\n        to right,\n        rgba(255,255,255,0) 0%,\n        rgba(255,255,255,0.3) 50%,\n        rgba(255,255,255,0) 100%\n      );\n      transform: skewX(-25deg);\n      animation: shine 6s infinite;\n    }\n\n    @keyframes shine {\n      0% { left: -100%; }\n      20% { left: 200%; } \/* Schneller Durchlauf, dann Pause *\/\n      100% { left: 200%; }\n    }\n\n    \/* Responsive Anpassung *\/\n    @media (max-width: 768px) {\n      .cta-card { flex-direction: column-reverse; }\n      .cta-visual { min-height: 200px; }\n      .cta-content { padding: 30px 20px; text-align: center; align-items: center; }\n      .cta-visual::after { background: linear-gradient(to top, #0f172a 0%, transparent 100%); }\n      .cta-button { width: 100%; }\n    }\n  <\/style>\n\n  <div class=\"cta-wrapper\">\n    <div class=\"cta-card\">\n      <div class=\"cta-content\">\n        <h2 class=\"cta-headline\">Noch Fragen? <br><span>Wir sprechen Klartext.<\/span><\/h2>\n        <p class=\"cta-text\">\n          Sie sind sich unsicher, welche Strategie am besten zu Ihrem Asset passt? \n          Lassen Sie uns Ihre Situation analysieren \u2013 pers\u00f6nlich, diskret und l\u00f6sungsorientiert.\n        <\/p>\n        \n        <a href=\"https:\/\/limainvestimmobilien.de\/kontakt\/#\/\" target=\"_blank\" class=\"cta-button\">\n          Jetzt Gespr\u00e4chstermin sichern\n          <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2.5\" stroke=\"currentColor\">\n            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\" \/>\n          <\/svg>\n        <\/a>\n      <\/div>\n      \n      <div class=\"cta-visual\" role=\"img\" aria-label=\"Modern Office Meeting\"><\/div>\n    <\/div>\n  <\/div>\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>Standort Matrix \u2013 ABCD Widget Standort Matrix Klassifizierung nach Risikoklassen &#038; Potenzial A \u2022 Metropolen Sicherheit Berlin, M\u00fcnchen, Hamburg. H\u00f6chste Stabilit\u00e4t und Liquidit\u00e4t. Fokus auf langfristigen Werterhalt bei niedriger Rendite. B \u2022 Gro\u00dfst\u00e4dte Wachstum St\u00e4dte mit nationaler Bedeutung. Ausgewogenes Verh\u00e4ltnis zwischen Risiko und Wertsteigerungspotenzial. C \u2022 Mittelzentren Rendite Regionale Ankerpunkte. Attraktiver Cashflow bei stabilem Umfeld&#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-20550","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>St\u00e4dte-Toolanalyse - Lima Invest Immobilien<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/limainvestimmobilien.de\/en\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"St\u00e4dte-Toolanalyse - Lima Invest Immobilien\" \/>\n<meta property=\"og:description\" content=\"Standort Matrix \u2013 ABCD Widget Standort Matrix Klassifizierung nach Risikoklassen &#038; Potenzial A \u2022 Metropolen Sicherheit Berlin, M\u00fcnchen, Hamburg. H\u00f6chste Stabilit\u00e4t und Liquidit\u00e4t. Fokus auf langfristigen Werterhalt bei niedriger Rendite. B \u2022 Gro\u00dfst\u00e4dte Wachstum St\u00e4dte mit nationaler Bedeutung. Ausgewogenes Verh\u00e4ltnis zwischen Risiko und Wertsteigerungspotenzial. C \u2022 Mittelzentren Rendite Regionale Ankerpunkte. Attraktiver Cashflow bei stabilem Umfeld....\" \/>\n<meta property=\"og:url\" content=\"https:\/\/limainvestimmobilien.de\/en\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/\" \/>\n<meta property=\"og:site_name\" content=\"Lima Invest Immobilien\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-04T08:06:01+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/staedte-toolanalyse-immobilienstaedte-top-metropolen\\\/\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/staedte-toolanalyse-immobilienstaedte-top-metropolen\\\/\",\"name\":\"St\u00e4dte-Toolanalyse - Lima Invest Immobilien\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#website\"},\"datePublished\":\"2025-12-13T12:59:35+00:00\",\"dateModified\":\"2026-02-04T08:06:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/staedte-toolanalyse-immobilienstaedte-top-metropolen\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/limainvestimmobilien.de\\\/staedte-toolanalyse-immobilienstaedte-top-metropolen\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/staedte-toolanalyse-immobilienstaedte-top-metropolen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/limainvestimmobilien.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"St\u00e4dte-Toolanalyse\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#website\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/\",\"name\":\"Lima Invest Immobilien\",\"description\":\"Investmentimmobilien Deutschland | Lima Invest Immobilien\",\"publisher\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/limainvestimmobilien.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#organization\",\"name\":\"Lima Invest Immobilien\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png\",\"contentUrl\":\"https:\\\/\\\/limainvestimmobilien.de\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png\",\"width\":602,\"height\":476,\"caption\":\"Lima Invest Immobilien\"},\"image\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"St\u00e4dte-Toolanalyse - Lima Invest Immobilien","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/limainvestimmobilien.de\/en\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/","og_locale":"en_US","og_type":"article","og_title":"St\u00e4dte-Toolanalyse - Lima Invest Immobilien","og_description":"Standort Matrix \u2013 ABCD Widget Standort Matrix Klassifizierung nach Risikoklassen &#038; Potenzial A \u2022 Metropolen Sicherheit Berlin, M\u00fcnchen, Hamburg. H\u00f6chste Stabilit\u00e4t und Liquidit\u00e4t. Fokus auf langfristigen Werterhalt bei niedriger Rendite. B \u2022 Gro\u00dfst\u00e4dte Wachstum St\u00e4dte mit nationaler Bedeutung. Ausgewogenes Verh\u00e4ltnis zwischen Risiko und Wertsteigerungspotenzial. C \u2022 Mittelzentren Rendite Regionale Ankerpunkte. Attraktiver Cashflow bei stabilem Umfeld....","og_url":"https:\/\/limainvestimmobilien.de\/en\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/","og_site_name":"Lima Invest Immobilien","article_modified_time":"2026-02-04T08:06:01+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/limainvestimmobilien.de\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/","url":"https:\/\/limainvestimmobilien.de\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/","name":"St\u00e4dte-Toolanalyse - Lima Invest Immobilien","isPartOf":{"@id":"https:\/\/limainvestimmobilien.de\/#website"},"datePublished":"2025-12-13T12:59:35+00:00","dateModified":"2026-02-04T08:06:01+00:00","breadcrumb":{"@id":"https:\/\/limainvestimmobilien.de\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/limainvestimmobilien.de\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/limainvestimmobilien.de\/staedte-toolanalyse-immobilienstaedte-top-metropolen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/limainvestimmobilien.de\/"},{"@type":"ListItem","position":2,"name":"St\u00e4dte-Toolanalyse"}]},{"@type":"WebSite","@id":"https:\/\/limainvestimmobilien.de\/#website","url":"https:\/\/limainvestimmobilien.de\/","name":"Lima Invest Immobilien","description":"Investmentimmobilien Deutschland | Lima Invest Immobilien","publisher":{"@id":"https:\/\/limainvestimmobilien.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/limainvestimmobilien.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/limainvestimmobilien.de\/#organization","name":"Lima Invest Immobilien","url":"https:\/\/limainvestimmobilien.de\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/limainvestimmobilien.de\/#\/schema\/logo\/image\/","url":"https:\/\/limainvestimmobilien.de\/wp-content\/uploads\/2022\/07\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png","contentUrl":"https:\/\/limainvestimmobilien.de\/wp-content\/uploads\/2022\/07\/Bildschirmfoto-2023-11-28-um-08.13.10-Kopie.png","width":602,"height":476,"caption":"Lima Invest Immobilien"},"image":{"@id":"https:\/\/limainvestimmobilien.de\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/20550","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=20550"}],"version-history":[{"count":10,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/20550\/revisions"}],"predecessor-version":[{"id":21907,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/20550\/revisions\/21907"}],"wp:attachment":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/media?parent=20550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}