{"id":23077,"date":"2026-04-29T09:12:36","date_gmt":"2026-04-29T07:12:36","guid":{"rendered":"https:\/\/limainvestimmobilien.de\/?page_id=23077"},"modified":"2026-04-30T15:40:48","modified_gmt":"2026-04-30T13:40:48","slug":"mietspiegeluebersicht","status":"publish","type":"page","link":"https:\/\/limainvestimmobilien.de\/en\/mietspiegeluebersicht\/","title":{"rendered":"Mietspiegel\u00fcbersicht"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"23077\" class=\"elementor elementor-23077\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ac26708 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ac26708\" 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-9103a8a\" data-id=\"9103a8a\" 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-cb504b9 elementor-widget elementor-widget-html\" data-id=\"cb504b9\" 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  <meta name=\"description\" content=\"Mietspiegel-\u00dcbersicht f\u00fcr Deutschland \u2013 aktuelle Vergleichsmieten und Mietpreise f\u00fcr \u00fcber 100 St\u00e4dte. Lima Invest Immobilien.\" \/>\n  <meta name=\"robots\" content=\"index, follow\" \/>\n  <meta name=\"theme-color\" content=\"#faf8f3\" \/>\n  <title>Mietspiegel Deutschland 2026 \u2013 Lima Invest Immobilien<\/title>\n\n  <!-- =============================================================\n       Schriften: Cormorant Garamond (Display, Serif) + Manrope (Body)\n       ============================================================= -->\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/>\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin \/>\n  <link\n    href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700&display=swap\"\n    rel=\"stylesheet\"\n  \/>\n\n  <style>\n    \/* =============================================================\n       1. DESIGN-TOKENS \/ CI-VARIABLEN\n       ============================================================= *\/\n    :root {\n      --gold: #bb9e1c;\n      --gold-light: #d4b62e;\n      --gold-deep: #8a7414;\n      --gold-soft: #f3eecf;\n\n      --bg: #faf8f3;\n      --surface: #ffffff;\n      --surface-alt: #f5f1e8;\n\n      --border: #e8e4d8;\n      --border-strong: #c9c2ad;\n\n      --text: #1a1814;\n      --text-mid: #5c5848;\n      --text-soft: #8a8674;\n\n      --shadow-sm: 0 1px 2px rgba(26, 24, 20, 0.04);\n      --shadow-md: 0 4px 16px rgba(26, 24, 20, 0.06);\n      --shadow-lg: 0 12px 40px rgba(26, 24, 20, 0.08);\n\n      --radius: 2px;\n      --radius-lg: 4px;\n      --max-width: 1280px;\n\n      --transition: 220ms cubic-bezier(0.2, 0.8, 0.2, 1);\n      --ease: cubic-bezier(0.2, 0.8, 0.2, 1);\n    }\n\n    \/* =============================================================\n       2. RESET & GRUNDLAGEN\n       ============================================================= *\/\n    *, *::before, *::after { box-sizing: border-box; }\n    html { scroll-behavior: smooth; }\n    body {\n      margin: 0;\n      font-family: 'Manrope', 'Helvetica Neue', sans-serif;\n      font-weight: 400;\n      font-size: 16px;\n      line-height: 1.6;\n      color: var(--text);\n      background: var(--bg);\n      -webkit-font-smoothing: antialiased;\n      -moz-osx-font-smoothing: grayscale;\n      text-rendering: optimizeLegibility;\n      overflow-x: hidden;\n    }\n    h1, h2, h3, h4 {\n      font-family: 'Cormorant Garamond', Georgia, serif;\n      font-weight: 500;\n      letter-spacing: -0.01em;\n      color: var(--text);\n      margin: 0;\n    }\n    a { color: inherit; text-decoration: none; }\n    button { font-family: inherit; cursor: pointer; }\n    img { max-width: 100%; display: block; }\n\n    .container {\n      max-width: var(--max-width);\n      margin: 0 auto;\n      padding: 0 32px;\n    }\n\n    .overline {\n      font-size: 11px;\n      font-weight: 600;\n      letter-spacing: 0.18em;\n      text-transform: uppercase;\n      color: var(--gold);\n      display: inline-block;\n    }\n\n    .gold-rule {\n      width: 48px;\n      height: 2px;\n      background: var(--gold);\n      border: 0;\n      margin: 0;\n      transform-origin: left;\n      animation: ruleGrow 700ms var(--ease) 200ms backwards;\n    }\n\n    \/* =============================================================\n       3. HERO\n       ============================================================= *\/\n    .hero {\n      padding: 96px 0 80px;\n      background: var(--bg);\n      position: relative;\n      overflow: hidden;\n    }\n\n    \/* Sanfter Gold-Glow im Hintergrund *\/\n    .hero::before {\n      content: '';\n      position: absolute;\n      top: -200px;\n      right: -200px;\n      width: 720px;\n      height: 720px;\n      background: radial-gradient(circle, rgba(187, 158, 28, 0.10) 0%, rgba(187, 158, 28, 0.03) 40%, transparent 70%);\n      animation: heroGlow 14s ease-in-out infinite alternate;\n      pointer-events: none;\n      will-change: transform;\n    }\n\n    \/* Dekoratives Quadrat *\/\n    .hero::after {\n      content: '';\n      position: absolute;\n      top: 60px;\n      right: -120px;\n      width: 320px;\n      height: 320px;\n      border: 1px solid var(--border-strong);\n      transform: rotate(45deg);\n      pointer-events: none;\n      opacity: 0.5;\n      animation: heroShape 18s ease-in-out infinite alternate;\n    }\n\n    .hero-inner {\n      position: relative;\n      z-index: 1;\n      max-width: 820px;\n    }\n\n    .hero .overline {\n      animation: heroReveal 700ms var(--ease) 0ms backwards;\n    }\n\n    .hero h1 {\n      font-size: clamp(40px, 6vw, 72px);\n      line-height: 1.05;\n      margin: 18px 0 24px;\n      font-weight: 500;\n      animation: heroReveal 700ms var(--ease) 100ms backwards;\n    }\n\n    .hero h1 em {\n      font-style: italic;\n      color: var(--gold);\n      font-weight: 500;\n      position: relative;\n      display: inline-block;\n    }\n\n    .hero-lead {\n      font-size: 18px;\n      line-height: 1.7;\n      color: var(--text-mid);\n      max-width: 620px;\n      margin: 0 0 40px;\n      animation: heroReveal 700ms var(--ease) 220ms backwards;\n    }\n\n    .hero-stats {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      margin-top: 56px;\n      border-top: 1px solid var(--border);\n      border-bottom: 1px solid var(--border);\n      padding: 28px 0;\n    }\n\n    .hero-stat {\n      padding: 0 24px;\n      border-right: 1px solid var(--border);\n      animation: heroReveal 700ms var(--ease) backwards;\n    }\n\n    .hero-stat:nth-child(1) { animation-delay: 340ms; }\n    .hero-stat:nth-child(2) { animation-delay: 440ms; }\n    .hero-stat:nth-child(3) { animation-delay: 540ms; }\n\n    .hero-stat:last-child { border-right: 0; }\n    .hero-stat:first-child { padding-left: 0; }\n\n    .hero-stat-value {\n      font-family: 'Cormorant Garamond', serif;\n      font-size: 40px;\n      font-weight: 500;\n      line-height: 1;\n      color: var(--text);\n      margin-bottom: 6px;\n    }\n\n    .hero-stat-value .unit {\n      font-size: 18px;\n      color: var(--gold);\n      margin-left: 4px;\n    }\n\n    .hero-stat-label {\n      font-size: 12px;\n      font-weight: 500;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--text-soft);\n    }\n\n    \/* =============================================================\n       4. FILTER-LEISTE\n       ============================================================= *\/\n    .filter-bar {\n      background: var(--surface);\n      border-top: 1px solid var(--border);\n      border-bottom: 1px solid var(--border);\n      padding: 24px 0;\n      position: sticky;\n      top: 0;\n      z-index: 90;\n      transition: box-shadow 280ms var(--ease);\n    }\n\n    .filter-bar.is-stuck {\n      box-shadow: var(--shadow-md);\n    }\n\n    .filter-row {\n      display: flex;\n      align-items: center;\n      gap: 32px;\n      flex-wrap: wrap;\n    }\n\n    .filter-label {\n      font-size: 11px;\n      font-weight: 600;\n      letter-spacing: 0.18em;\n      text-transform: uppercase;\n      color: var(--text-soft);\n      margin-right: 8px;\n    }\n\n    .filter-chips {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 8px;\n      flex: 1;\n    }\n\n    .chip {\n      position: relative;\n      padding: 6px 14px;\n      font-size: 13px;\n      font-weight: 500;\n      color: var(--text-mid);\n      background: transparent;\n      border: 1px solid var(--border-strong);\n      border-radius: 100px;\n      cursor: pointer;\n      transition: color 220ms var(--ease), border-color 220ms var(--ease), transform 180ms var(--ease);\n      white-space: nowrap;\n      overflow: hidden;\n      isolation: isolate;\n    }\n\n    .chip::before {\n      content: '';\n      position: absolute;\n      inset: 0;\n      background: var(--text);\n      transform: scaleX(0);\n      transform-origin: right center;\n      transition: transform 360ms var(--ease);\n      z-index: -1;\n      border-radius: inherit;\n    }\n\n    .chip:hover {\n      border-color: var(--gold);\n      color: var(--gold-deep);\n    }\n\n    .chip:active { transform: scale(0.97); }\n\n    .chip.is-active {\n      color: var(--gold);\n      border-color: var(--text);\n    }\n\n    .chip.is-active::before {\n      transform: scaleX(1);\n      transform-origin: left center;\n    }\n\n    .alphabet-nav {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 2px;\n      padding: 0;\n      margin: 0;\n      list-style: none;\n    }\n\n    .alphabet-nav a {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      width: 32px;\n      height: 32px;\n      font-size: 13px;\n      font-weight: 600;\n      color: var(--text-mid);\n      letter-spacing: 0.02em;\n      transition: color var(--transition), transform var(--transition);\n      border-radius: 50%;\n      position: relative;\n    }\n\n    .alphabet-nav a:hover {\n      color: var(--gold);\n      transform: translateY(-1px);\n    }\n\n    .alphabet-nav a.is-disabled {\n      color: var(--border-strong);\n      pointer-events: none;\n    }\n\n    \/* =============================================================\n       5. RESULTATE\n       ============================================================= *\/\n    .results {\n      padding: 72px 0 96px;\n    }\n\n    .results-meta {\n      display: flex;\n      justify-content: space-between;\n      align-items: baseline;\n      margin-bottom: 32px;\n      gap: 16px;\n      flex-wrap: wrap;\n    }\n\n    .results-count {\n      font-size: 14px;\n      color: var(--text-mid);\n      transition: opacity 220ms var(--ease);\n    }\n\n    .results-count strong {\n      color: var(--text);\n      font-weight: 600;\n    }\n\n    .results-empty {\n      text-align: center;\n      padding: 80px 24px;\n      border: 1px solid var(--border);\n      background: var(--surface);\n      animation: heroReveal 500ms var(--ease) backwards;\n    }\n\n    .results-empty h3 {\n      font-size: 28px;\n      margin-bottom: 12px;\n    }\n\n    .results-empty p {\n      color: var(--text-mid);\n      max-width: 420px;\n      margin: 0 auto;\n    }\n\n    .letter-group {\n      margin-bottom: 64px;\n      scroll-margin-top: 110px;\n    }\n\n    .letter-group:last-child { margin-bottom: 0; }\n\n    .letter-heading {\n      display: flex;\n      align-items: baseline;\n      gap: 24px;\n      margin-bottom: 28px;\n      padding-bottom: 16px;\n      border-bottom: 1px solid var(--border);\n      position: relative;\n    }\n\n    .letter-heading::after {\n      content: '';\n      position: absolute;\n      left: 0;\n      bottom: -1px;\n      height: 1px;\n      width: 0;\n      background: var(--gold);\n      transition: width 600ms var(--ease);\n    }\n\n    .letter-group.is-visible .letter-heading::after {\n      width: 80px;\n    }\n\n    .letter-heading-letter {\n      font-family: 'Cormorant Garamond', serif;\n      font-size: 80px;\n      font-weight: 500;\n      line-height: 0.9;\n      color: var(--gold);\n      font-style: italic;\n      opacity: 0;\n      transform: translateX(-12px);\n    }\n\n    .letter-group.is-visible .letter-heading-letter {\n      animation: letterReveal 600ms var(--ease) forwards;\n    }\n\n    .letter-heading-meta {\n      flex: 1;\n      display: flex;\n      align-items: baseline;\n      justify-content: space-between;\n      padding-bottom: 12px;\n      gap: 16px;\n      flex-wrap: wrap;\n    }\n\n    .letter-heading-title {\n      font-size: 14px;\n      font-weight: 600;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      color: var(--text);\n    }\n\n    .letter-heading-count {\n      font-size: 12px;\n      color: var(--text-soft);\n      letter-spacing: 0.04em;\n    }\n\n    .city-grid {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 24px;\n    }\n\n    @media (min-width: 1100px) {\n      .city-grid { grid-template-columns: repeat(3, 1fr); }\n    }\n\n    \/* =============================================================\n       6. STADT-KARTE\n       ============================================================= *\/\n    .city-card {\n      position: relative;\n      background: var(--surface);\n      border: 1px solid var(--border);\n      padding: 28px 28px 24px;\n      display: flex;\n      flex-direction: column;\n      transition: border-color var(--transition), transform 320ms var(--ease), box-shadow var(--transition);\n      opacity: 0;\n      transform: translateY(20px);\n      isolation: isolate;\n      overflow: hidden;\n    }\n\n    .letter-group.is-visible .city-card {\n      animation: cardSlideIn 600ms var(--ease) forwards;\n    }\n\n    .city-card::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      height: 2px;\n      background: var(--gold);\n      transform: scaleX(0);\n      transform-origin: left;\n      transition: transform 320ms var(--ease);\n    }\n\n    \/* Subtiler Gold-Schimmer beim Hover *\/\n    .city-card::after {\n      content: '';\n      position: absolute;\n      inset: 0;\n      background: linear-gradient(135deg, transparent 30%, rgba(187, 158, 28, 0.05) 50%, transparent 70%);\n      opacity: 0;\n      transition: opacity 480ms var(--ease);\n      pointer-events: none;\n      z-index: 0;\n    }\n\n    .city-card > * { position: relative; z-index: 1; }\n\n    .city-card:hover {\n      border-color: var(--border-strong);\n      transform: translateY(-3px);\n      box-shadow: var(--shadow-md);\n    }\n\n    .city-card:hover::before { transform: scaleX(1); }\n    .city-card:hover::after { opacity: 1; }\n\n    .city-card-header {\n      display: flex;\n      justify-content: space-between;\n      align-items: flex-start;\n      gap: 12px;\n      margin-bottom: 18px;\n    }\n\n    .city-card-region {\n      font-size: 10px;\n      font-weight: 600;\n      letter-spacing: 0.2em;\n      text-transform: uppercase;\n      color: var(--gold);\n      margin-bottom: 8px;\n    }\n\n    .city-card-name {\n      font-size: 28px;\n      font-weight: 500;\n      line-height: 1.1;\n      margin-bottom: 4px;\n      transition: color 320ms var(--ease);\n    }\n\n    .city-card:hover .city-card-name { color: var(--gold-deep); }\n\n    .city-card-plz {\n      font-size: 12px;\n      color: var(--text-soft);\n      letter-spacing: 0.04em;\n    }\n\n    .city-card-trend {\n      display: inline-flex;\n      align-items: center;\n      gap: 6px;\n      padding: 4px 10px;\n      font-size: 10px;\n      font-weight: 600;\n      letter-spacing: 0.04em;\n      background: var(--gold-soft);\n      color: var(--gold-deep);\n      border-radius: 100px;\n      align-self: flex-start;\n      flex-shrink: 0;\n      white-space: nowrap;\n    }\n\n    .city-card-trend.is-stable {\n      background: var(--surface-alt);\n      color: var(--text-mid);\n    }\n\n    .city-card-trend.is-down {\n      background: #eef0e8;\n      color: #5a6845;\n    }\n\n    \/* Pfeil-Animation f\u00fcr \"Steigend\" *\/\n    .city-card:hover .city-card-trend:not(.is-stable):not(.is-down) svg {\n      animation: trendBob 800ms var(--ease) infinite;\n    }\n\n    \/* Mietspiegel-Tabelle: 30\/60\/100 m\u00b2 *\/\n    .city-card-rents {\n      background: var(--bg);\n      border: 1px solid var(--border);\n      padding: 14px 16px;\n      margin-bottom: 18px;\n      transition: background 320ms var(--ease), border-color 320ms var(--ease);\n    }\n\n    .city-card:hover .city-card-rents {\n      background: var(--surface-alt);\n      border-color: var(--border-strong);\n    }\n\n    .city-card-rents-label {\n      font-size: 10px;\n      font-weight: 600;\n      letter-spacing: 0.16em;\n      text-transform: uppercase;\n      color: var(--text-soft);\n      margin-bottom: 12px;\n    }\n\n    .city-card-rents-grid {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 4px;\n    }\n\n    .rent-cell {\n      text-align: center;\n      padding: 0 4px;\n      border-right: 1px solid var(--border);\n      transition: transform 280ms var(--ease);\n    }\n\n    .rent-cell:last-child { border-right: 0; }\n\n    .city-card:hover .rent-cell {\n      transform: translateY(-1px);\n    }\n\n    .rent-cell-size {\n      font-size: 10px;\n      font-weight: 600;\n      letter-spacing: 0.08em;\n      color: var(--text-soft);\n      margin-bottom: 4px;\n      text-transform: uppercase;\n    }\n\n    .rent-cell-value {\n      font-family: 'Cormorant Garamond', serif;\n      font-size: 22px;\n      font-weight: 500;\n      line-height: 1;\n      color: var(--text);\n      letter-spacing: -0.01em;\n      transition: color 320ms var(--ease);\n    }\n\n    .city-card:hover .rent-cell-value { color: var(--gold-deep); }\n\n    .rent-cell-unit {\n      font-size: 10px;\n      color: var(--text-soft);\n      margin-top: 4px;\n      letter-spacing: 0.04em;\n    }\n\n    \/* Stadtteile *\/\n    .city-card-districts {\n      margin-bottom: 18px;\n    }\n\n    .city-card-districts-label {\n      font-size: 10px;\n      font-weight: 600;\n      letter-spacing: 0.16em;\n      text-transform: uppercase;\n      color: var(--text-soft);\n      margin-bottom: 8px;\n    }\n\n    .city-card-districts-list {\n      font-size: 13px;\n      line-height: 1.55;\n      color: var(--text-mid);\n    }\n\n    .city-card-divider {\n      height: 1px;\n      background: var(--border);\n      margin: 0 0 18px;\n    }\n\n    .city-card-actions {\n      display: flex;\n      gap: 8px;\n      margin-top: auto;\n    }\n\n    \/* Buttons *\/\n    .btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 8px;\n      padding: 11px 16px;\n      font-family: inherit;\n      font-size: 12px;\n      font-weight: 600;\n      letter-spacing: 0.08em;\n      text-transform: uppercase;\n      border-radius: var(--radius);\n      cursor: pointer;\n      transition: all var(--transition);\n      border: 1px solid transparent;\n      white-space: nowrap;\n      position: relative;\n      overflow: hidden;\n    }\n\n    .btn-primary {\n      background: var(--text);\n      color: var(--surface);\n      flex: 1;\n    }\n\n    .btn-primary::after {\n      content: '';\n      position: absolute;\n      inset: 0;\n      background: linear-gradient(120deg, transparent 0%, rgba(187, 158, 28, 0.4) 50%, transparent 100%);\n      transform: translateX(-100%);\n      transition: transform 600ms var(--ease);\n    }\n\n    .btn-primary:hover {\n      background: var(--gold-deep);\n      color: var(--surface);\n    }\n\n    .btn-primary:hover::after {\n      transform: translateX(100%);\n    }\n\n    .btn-primary:hover .btn-icon {\n      transform: translateX(2px) translateY(-2px);\n    }\n\n    .btn-icon {\n      width: 14px;\n      height: 14px;\n      transition: transform 280ms var(--ease);\n    }\n\n    \/* =============================================================\n       7. INFO-SEKTION\n       ============================================================= *\/\n    .info-section {\n      background: var(--surface);\n      border-top: 1px solid var(--border);\n      padding: 80px 0;\n    }\n\n    .info-grid {\n      display: grid;\n      grid-template-columns: 1fr 2fr;\n      gap: 64px;\n      align-items: start;\n    }\n\n    .info-section h2 {\n      font-size: 40px;\n      line-height: 1.15;\n      margin-bottom: 20px;\n    }\n\n    .info-cards {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 24px;\n    }\n\n    .info-card {\n      padding: 24px;\n      border: 1px solid var(--border);\n      background: var(--bg);\n      transition: border-color 320ms var(--ease), transform 320ms var(--ease);\n      opacity: 0;\n      transform: translateY(16px);\n    }\n\n    .info-card.is-visible {\n      animation: cardSlideIn 600ms var(--ease) forwards;\n    }\n\n    .info-card:hover {\n      border-color: var(--gold);\n      transform: translateY(-2px);\n    }\n\n    .info-card-number {\n      font-family: 'Cormorant Garamond', serif;\n      font-size: 28px;\n      font-weight: 500;\n      color: var(--gold);\n      line-height: 1;\n      margin-bottom: 12px;\n      transition: transform 320ms var(--ease);\n    }\n\n    .info-card:hover .info-card-number {\n      transform: scale(1.08);\n    }\n\n    .info-card h3 {\n      font-size: 18px;\n      font-weight: 600;\n      font-family: 'Manrope', sans-serif;\n      margin-bottom: 8px;\n      letter-spacing: 0.01em;\n    }\n\n    .info-card p {\n      font-size: 14px;\n      color: var(--text-mid);\n      line-height: 1.65;\n      margin: 0;\n    }\n\n    \/* =============================================================\n       8. ANIMATIONEN (Keyframes)\n       ============================================================= *\/\n    @keyframes heroReveal {\n      from { opacity: 0; transform: translateY(16px); }\n      to   { opacity: 1; transform: translateY(0); }\n    }\n\n    @keyframes ruleGrow {\n      from { transform: scaleX(0); }\n      to   { transform: scaleX(1); }\n    }\n\n    @keyframes heroGlow {\n      0%   { transform: translate(0, 0) scale(1); opacity: 1; }\n      100% { transform: translate(-60px, 40px) scale(1.15); opacity: 0.85; }\n    }\n\n    @keyframes heroShape {\n      0%   { transform: rotate(45deg) translate(0, 0); }\n      100% { transform: rotate(48deg) translate(-12px, 8px); }\n    }\n\n    @keyframes letterReveal {\n      from { opacity: 0; transform: translateX(-12px); }\n      to   { opacity: 1; transform: translateX(0); }\n    }\n\n    @keyframes cardSlideIn {\n      from { opacity: 0; transform: translateY(20px); }\n      to   { opacity: 1; transform: translateY(0); }\n    }\n\n    @keyframes trendBob {\n      0%, 100% { transform: translateY(0); }\n      50%      { transform: translateY(-2px); }\n    }\n\n    @keyframes pulseGold {\n      0%, 100% { box-shadow: 0 0 0 0 rgba(187, 158, 28, 0); }\n      50%      { box-shadow: 0 0 0 4px rgba(187, 158, 28, 0.06); }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      *, *::before, *::after {\n        animation-duration: 0.01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: 0.01ms !important;\n        scroll-behavior: auto !important;\n      }\n      .hero::before, .hero::after { animation: none !important; }\n    }\n\n    \/* =============================================================\n       9. RESPONSIVE \u2014 Tablet\n       ============================================================= *\/\n    @media (max-width: 1024px) {\n      .info-grid { grid-template-columns: 1fr; gap: 40px; }\n      .info-cards { grid-template-columns: repeat(2, 1fr); }\n    }\n\n    \/* =============================================================\n       10. RESPONSIVE \u2014 Mobile (\u2264 768px)\n       ============================================================= *\/\n    @media (max-width: 768px) {\n      .container { padding: 0 20px; }\n\n      \/* Hero kompakter *\/\n      .hero { padding: 56px 0 48px; }\n      .hero::before {\n        top: -150px;\n        right: -150px;\n        width: 480px;\n        height: 480px;\n      }\n      .hero::after { display: none; }\n\n      .hero h1 {\n        font-size: 38px;\n        line-height: 1.08;\n        margin: 14px 0 20px;\n      }\n\n      .hero-lead {\n        font-size: 15px;\n        line-height: 1.65;\n        margin-bottom: 32px;\n      }\n\n      .hero-stats {\n        grid-template-columns: 1fr;\n        gap: 0;\n        margin-top: 36px;\n        padding: 0;\n      }\n\n      .hero-stat {\n        padding: 18px 0;\n        border-right: 0;\n        border-bottom: 1px solid var(--border);\n      }\n\n      .hero-stat:last-child { border-bottom: 0; }\n      .hero-stat-value { font-size: 34px; }\n      .hero-stat-label { font-size: 11px; }\n\n      \/* Filter-Bar mobiloptimiert *\/\n      .filter-bar { padding: 16px 0; }\n\n      .filter-row {\n        flex-direction: column;\n        align-items: stretch;\n        gap: 10px;\n      }\n\n      .filter-row + .filter-row { margin-top: 14px !important; }\n\n      .filter-label {\n        margin-right: 0;\n        margin-bottom: 2px;\n      }\n\n      .filter-chips {\n        width: 100%;\n        flex-wrap: nowrap;\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n        padding-bottom: 4px;\n        scrollbar-width: none;\n        margin: 0 -20px;\n        padding-left: 20px;\n        padding-right: 20px;\n      }\n      .filter-chips::-webkit-scrollbar { display: none; }\n      .filter-chips::after {\n        content: '';\n        flex: 0 0 4px;\n      }\n\n      .alphabet-nav {\n        width: 100%;\n        flex-wrap: nowrap;\n        overflow-x: auto;\n        justify-content: flex-start;\n        gap: 0;\n        -webkit-overflow-scrolling: touch;\n        scrollbar-width: none;\n        margin: 0 -20px;\n        padding: 0 20px;\n      }\n      .alphabet-nav::-webkit-scrollbar { display: none; }\n\n      .alphabet-nav a {\n        width: 30px;\n        height: 30px;\n        font-size: 12px;\n        flex-shrink: 0;\n      }\n\n      \/* Resultate kompakter *\/\n      .results { padding: 48px 0 64px; }\n      .results-meta { margin-bottom: 24px; }\n\n      .city-grid { grid-template-columns: 1fr; gap: 16px; }\n      .letter-group { margin-bottom: 48px; }\n\n      .letter-heading {\n        gap: 16px;\n        padding-bottom: 12px;\n        margin-bottom: 20px;\n      }\n      .letter-heading-letter { font-size: 56px; }\n\n      .city-card { padding: 24px 22px 22px; }\n      .city-card-name { font-size: 26px; }\n      .city-card-rents { padding: 14px 12px; }\n      .rent-cell-value { font-size: 22px; }\n\n      .info-cards { grid-template-columns: 1fr; }\n      .info-section { padding: 56px 0; }\n      .info-section h2 { font-size: 32px; }\n    }\n\n    \/* =============================================================\n       11. RESPONSIVE \u2014 Small Mobile (\u2264 480px)\n       ============================================================= *\/\n    @media (max-width: 480px) {\n      .container { padding: 0 16px; }\n\n      .hero { padding: 40px 0 36px; }\n      .hero h1 { font-size: 32px; }\n      .hero-lead { font-size: 14.5px; }\n      .hero-stat-value { font-size: 30px; }\n\n      .city-card { padding: 22px 18px 20px; }\n      .city-card-name { font-size: 24px; }\n      .city-card-rents-grid { gap: 2px; }\n      .rent-cell-value { font-size: 19px; }\n      .rent-cell-size { font-size: 9px; }\n\n      .city-card-actions { flex-direction: column; }\n      .btn-primary { width: 100%; }\n\n      .letter-heading-letter { font-size: 48px; }\n      .letter-heading-meta { font-size: 13px; }\n\n      .filter-chips { padding-left: 16px; padding-right: 16px; margin: 0 -16px; }\n      .alphabet-nav { padding: 0 16px; margin: 0 -16px; }\n    }\n\n    @media print {\n      .filter-bar, .city-card-actions { display: none; }\n      .city-card { break-inside: avoid; border: 1px solid #999; }\n      .hero::before, .hero::after { display: none; }\n    }\n  <\/style>\n<\/head>\n\n<body>\n\n  <!-- =============================================================\n       HERO\n       ============================================================= -->\n  <section class=\"hero\">\n    <div class=\"container hero-inner\">\n      <span class=\"overline\">Mietspiegel \u00b7 Deutschland 2026<\/span>\n      <h1>\n        Vergleichsmieten f\u00fcr ganz <em>Deutschland<\/em> auf einen Blick.\n      <\/h1>\n      <p class=\"hero-lead\">\n        Durchschnittsmieten (30, 60, 100 m\u00b2), Stadtteile und Entwicklungen f\u00fcr \u00fcber 100 St\u00e4dte.\n        Unverbindliche Orientierung \u2013 ma\u00dfgeblich ist der jeweilige offizielle Mietspiegel.\n      <\/p>\n\n      <div class=\"hero-stats\">\n        <div class=\"hero-stat\">\n          <div class=\"hero-stat-value\" id=\"statCities\">0<span class=\"unit\">+<\/span><\/div>\n          <div class=\"hero-stat-label\">St\u00e4dte erfasst<\/div>\n        <\/div>\n        <div class=\"hero-stat\">\n          <div class=\"hero-stat-value\">16<\/div>\n          <div class=\"hero-stat-label\">Bundesl\u00e4nder<\/div>\n        <\/div>\n        <div class=\"hero-stat\">\n          <div class=\"hero-stat-value\">Q2<span class=\"unit\">\/26<\/span><\/div>\n          <div class=\"hero-stat-label\">Stand der Erhebung<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- =============================================================\n       FILTER-LEISTE\n       ============================================================= -->\n  <div class=\"filter-bar\" id=\"filterBar\">\n    <div class=\"container\">\n\n      <div class=\"filter-row\">\n        <span class=\"filter-label\">Bundesland<\/span>\n        <div class=\"filter-chips\" id=\"bundeslandChips\" role=\"tablist\"><\/div>\n      <\/div>\n\n      <div class=\"filter-row\" style=\"margin-top: 16px;\">\n        <span class=\"filter-label\">Sortierung A\u2013Z<\/span>\n        <ul class=\"alphabet-nav\" id=\"alphabetNav\" aria-label=\"Alphabetische Navigation\"><\/ul>\n      <\/div>\n\n    <\/div>\n  <\/div>\n\n  <!-- =============================================================\n       RESULTATE\n       ============================================================= -->\n  <main class=\"results\" id=\"mietspiegel\">\n    <div class=\"container\">\n\n      <div class=\"results-meta\">\n        <hr class=\"gold-rule\" \/>\n        <p class=\"results-count\" id=\"resultsCount\"><\/p>\n      <\/div>\n\n      <div id=\"cityResults\"><\/div>\n\n    <\/div>\n  <\/main>\n\n  <!-- =============================================================\n       INFO-SEKTION\n       ============================================================= -->\n  <section class=\"info-section\" id=\"info\">\n    <div class=\"container\">\n      <div class=\"info-grid\">\n\n        <div>\n          <span class=\"overline\">Hintergrund<\/span>\n          <h2>Was der Mietspiegel<br>f\u00fcr Sie bedeutet.<\/h2>\n          <p style=\"color: var(--text-mid); margin: 16px 0 0;\">\n            Der Mietspiegel zeigt die orts\u00fcbliche Vergleichsmiete und ist die Grundlage f\u00fcr Mietverhandlungen, Mieterh\u00f6hungen und die Mietpreisbremse. Wir bereiten die wichtigsten Werte verst\u00e4ndlich auf.\n          <\/p>\n        <\/div>\n\n        <div class=\"info-cards\">\n          <article class=\"info-card\">\n            <div class=\"info-card-number\">01<\/div>\n            <h3>Orts\u00fcbliche Vergleichsmiete<\/h3>\n            <p>Die Durchschnittsmieten beziehen sich auf eine Wohnung mittlerer Lage und mittlerer Ausstattung. Lage, Baujahr und Zustand f\u00fchren zu Abweichungen.<\/p>\n          <\/article>\n\n          <article class=\"info-card\">\n            <div class=\"info-card-number\">02<\/div>\n            <h3>Mietpreisbremse<\/h3>\n            <p>In angespannten Wohnungsm\u00e4rkten darf bei Neuvermietungen die orts\u00fcbliche Vergleichsmiete um maximal zehn Prozent \u00fcberschritten werden.<\/p>\n          <\/article>\n\n          <article class=\"info-card\">\n            <div class=\"info-card-number\">03<\/div>\n            <h3>Aktualisierung<\/h3>\n            <p>Die Werte werden quartalsweise auf Basis aktueller Angebotsmieten und \u00f6ffentlich zug\u00e4nglicher Mietspiegel der Kommunen gepr\u00fcft.<\/p>\n          <\/article>\n\n          <article class=\"info-card\">\n            <div class=\"info-card-number\">04<\/div>\n            <h3>Rechtlicher Hinweis<\/h3>\n            <p>Diese \u00dcbersicht dient der Orientierung und ersetzt keinen qualifizierten Mietspiegel der Gemeinde oder eine individuelle Beratung.<\/p>\n          <\/article>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- =============================================================\n       JAVASCRIPT\n       ============================================================= -->\n  <script>\n  (function() {\n    'use strict';\n\n    \/* ==========================================================\n       DATEN\n       ========================================================== *\/\n    const CITIES = [\n      \/\/ A\n      { name: 'Aachen', state: 'Nordrhein-Westfalen', rent30: 14.82, rent60: 11.40, rent100: 12.20, trend: 'up', plz: '52062-52080',\n        districts: ['Mitte', 'Aachen-Mitte', 'Brand', 'Eilendorf', 'Haaren', 'Kornelim\u00fcnster', 'Laurensberg', 'Richterich'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Aachen\/5167' },\n      { name: 'Aalen', state: 'Baden-W\u00fcrttemberg', rent30: 12.74, rent60: 9.80, rent100: 10.49, trend: 'stable', plz: '73430-73434',\n        districts: ['Innenstadt', 'Hofherrnweiler', 'Unterrombach', 'Wasseralfingen', 'Hofen', 'Ebnat', 'Dewangen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Aalen\/665' },\n      { name: 'Aschaffenburg', state: 'Bayern', rent30: 15.99, rent60: 12.30, rent100: 13.16, trend: 'up', plz: '63739-63743',\n        districts: ['Innenstadt', 'Damm', 'Schweinheim', 'Leider', 'Strietwald', 'Nilkheim', 'Obernau', 'Gailbach'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Aschaffenburg\/1197' },\n      { name: 'Augsburg', state: 'Bayern', rent30: 18.16, rent60: 14.05, rent100: 13.90, trend: 'up', plz: '86150-86199',\n        districts: ['Innenstadt', 'Pfersee', 'Lechhausen', 'Hochzoll', 'G\u00f6ggingen', 'Kriegshaber', 'Oberhausen', 'Haunstetten', 'Spickel-Herrenbach', 'Antonsviertel', 'Bahnhofsviertel', 'Firnhaberau'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Augsburg\/1231' },\n\n      \/\/ B\n      { name: 'Baden-Baden', state: 'Baden-W\u00fcrttemberg', rent30: 18.07, rent60: 13.90, rent100: 14.87, trend: 'up', plz: '76530-76534',\n        districts: ['Innenstadt', 'Lichtental', 'Oos', 'Geroldsau', 'Steinbach', 'Sandweier', 'Haueneberstein', 'Neuweier'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Baden-Baden\/52' },\n      { name: 'Bamberg', state: 'Bayern', rent30: 15.34, rent60: 11.80, rent100: 12.63, trend: 'up', plz: '96047-96052',\n        districts: ['Inselstadt', 'Bergstadt', 'G\u00e4rtnerviertel', 'Wunderburg', 'Gaustadt', 'Bug', 'Wildensorg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bamberg\/1323' },\n      { name: 'Bayreuth', state: 'Bayern', rent30: 13.52, rent60: 10.40, rent100: 11.13, trend: 'stable', plz: '95444-95448',\n        districts: ['Innenstadt', 'Altstadt', 'Saas', 'Wolfsbach', 'St. Georgen', 'Birken', 'Meyernberg', 'Laineck'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bayreuth\/1356' },\n      { name: 'Bergisch Gladbach', state: 'Nordrhein-Westfalen', rent30: 14.56, rent60: 11.20, rent100: 11.98, trend: 'up', plz: '51427-51469',\n        districts: ['Stadtmitte', 'Bensberg', 'Refrath', 'Schildgen', 'Hand', 'Heidkamp', 'Paffrath', 'Sand', 'Frankenforst'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bergisch-Gladbach\/5459' },\n      { name: 'Berlin', state: 'Berlin', rent30: 23.64, rent60: 18.86, rent100: 19.08, trend: 'up', plz: '10115-14199',\n        districts: ['Mitte', 'Charlottenburg-Wilmersdorf', 'Friedrichshain-Kreuzberg', 'Pankow', 'Lichtenberg', 'Marzahn-Hellersdorf', 'Neuk\u00f6lln', 'Reinickendorf', 'Spandau', 'Steglitz-Zehlendorf', 'Tempelhof-Sch\u00f6neberg', 'Treptow-K\u00f6penick'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Berlin\/2825' },\n      { name: 'Bielefeld', state: 'Nordrhein-Westfalen', rent30: 13.76, rent60: 9.64, rent100: 10.12, trend: 'stable', plz: '33602-33739',\n        districts: ['Mitte', 'Brackwede', 'Schildesche', 'Senne', 'Stieghorst', 'Heepen', 'Sennestadt', 'Dornberg', 'Gadderbaum', 'J\u00f6llenbeck'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bielefeld\/5177' },\n      { name: 'Bochum', state: 'Nordrhein-Westfalen', rent30: 11.83, rent60: 9.10, rent100: 9.74, trend: 'stable', plz: '44787-44894',\n        districts: ['Innenstadt', 'Wattenscheid', 'Linden', 'Langendreer', 'Werne', 'Querenburg', 'Weitmar', 'Riemke', 'Hofstede', 'Stiepel'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bochum\/5178' },\n      { name: 'Bonn', state: 'Nordrhein-Westfalen', rent30: 17.42, rent60: 13.40, rent100: 14.34, trend: 'up', plz: '53111-53229',\n        districts: ['Bonn-Zentrum', 'Bad Godesberg', 'Beuel', 'Hardtberg', 'Endenich', 'Poppelsdorf', 'Kessenich', 'Plittersdorf', 'Bonn-Castell', 'Dottendorf'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bonn\/5179' },\n      { name: 'Bottrop', state: 'Nordrhein-Westfalen', rent30: 10.92, rent60: 8.40, rent100: 8.99, trend: 'stable', plz: '46236-46244',\n        districts: ['Stadtmitte', 'Boy', 'Welheim', 'Eigen', 'Fuhlenbrock', 'Kirchhellen', 'Grafenwald', 'Feldhausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bottrop\/5197' },\n      { name: 'Braunschweig', state: 'Niedersachsen', rent30: 12.87, rent60: 9.90, rent100: 10.59, trend: 'stable', plz: '38100-38126',\n        districts: ['Innenstadt', 'Westliches Ringgebiet', '\u00d6stliches Ringgebiet', 'St\u00f6ckheim', 'Lehndorf', 'Heidberg', 'Schunteraue', 'Wabe-Schunter-Beberbach'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Braunschweig\/4276' },\n      { name: 'Bremen', state: 'Bremen', rent30: 13.78, rent60: 10.60, rent100: 11.34, trend: 'up', plz: '28195-28779',\n        districts: ['Mitte', 'Schwachhausen', 'Findorff', '\u00d6stliche Vorstadt', 'Neustadt', 'Walle', 'Gr\u00f6pelingen', 'Vegesack', 'Burglesum', 'Horn-Lehe', 'Vahr', 'Hemelingen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bremen\/3193' },\n      { name: 'Bremerhaven', state: 'Bremen', rent30: 9.36, rent60: 7.20, rent100: 7.70, trend: 'stable', plz: '27568-27580',\n        districts: ['Mitte', 'Geestem\u00fcnde', 'Lehe', 'Leherheide', 'Weddewarden', 'Wulsdorf', 'Surheide'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Bremerhaven\/3194' },\n\n      \/\/ C\n      { name: 'Calw', state: 'Baden-W\u00fcrttemberg', rent30: 11.96, rent60: 9.20, rent100: 9.84, trend: 'stable', plz: '75365-75395',\n        districts: ['Innenstadt', 'Wimberg', 'Heumaden', 'Stammheim', 'Hirsau', 'Altburg', 'Holzbronn'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Calw\/195' },\n      { name: 'Chemnitz', state: 'Sachsen', rent30: 6.93, rent60: 5.79, rent100: 6.93, trend: 'stable', plz: '09111-09131',\n        districts: ['Zentrum', 'Sonnenberg', 'Schlo\u00dfchemnitz', 'Furth', 'Hilbersdorf', 'Yorckgebiet', 'Adelsberg', 'Kappel', 'Rabenstein', 'Gr\u00fcna', 'Sch\u00f6nau', 'Siegmar'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Chemnitz\/7319' },\n      { name: 'Cottbus', state: 'Brandenburg', rent30: 9.23, rent60: 7.10, rent100: 7.60, trend: 'stable', plz: '03042-03055',\n        districts: ['Mitte', 'Sandow', 'Str\u00f6bitz', 'Schmellwitz', 'Sachsendorf', 'Madlow', 'Kiekebusch', 'Spremberger Vorstadt'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Cottbus\/2853' },\n\n      \/\/ D\n      { name: 'Darmstadt', state: 'Hessen', rent30: 17.94, rent60: 13.80, rent100: 14.77, trend: 'up', plz: '64283-64297',\n        districts: ['Mitte', 'Bessungen', 'Eberstadt', 'Kranichstein', 'Wixhausen', 'Arheilgen', 'Martinsviertel', 'B\u00fcrgerparkviertel'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Darmstadt\/3218' },\n      { name: 'Dessau-Ro\u00dflau', state: 'Sachsen-Anhalt', rent30: 7.80, rent60: 6.00, rent100: 6.42, trend: 'stable', plz: '06842-06849',\n        districts: ['Innerstadt', 'S\u00fcd', 'Nord', 'Ziebigk', 'Mosigkau', 'Ro\u00dflau', 'Waldersee', 'Mildensee'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Dessau-Rosslau\/7888' },\n      { name: 'Dortmund', state: 'Nordrhein-Westfalen', rent30: 12.38, rent60: 9.30, rent100: 10.94, trend: 'stable', plz: '44135-44388',\n        districts: ['Innenstadt-West', 'Innenstadt-Nord', 'Innenstadt-Ost', 'Aplerbeck', 'Brackel', 'Eving', 'H\u00f6rde', 'Hombruch', 'Huckarde', 'L\u00fctgendortmund', 'Mengede', 'Scharnhorst'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Dortmund\/5209' },\n      { name: 'Dresden', state: 'Sachsen', rent30: 13.26, rent60: 10.20, rent100: 10.91, trend: 'up', plz: '01067-01326',\n        districts: ['Altstadt', 'Neustadt', 'Pieschen', 'Klotzsche', 'Cotta', 'Plauen', 'Blasewitz', 'Loschwitz', 'Prohlis', 'Leuben', 'Hellerau'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Dresden\/7351' },\n      { name: 'D\u00fcren', state: 'Nordrhein-Westfalen', rent30: 11.44, rent60: 8.80, rent100: 9.42, trend: 'stable', plz: '52349-52355',\n        districts: ['Stadtmitte', 'Birkesdorf', 'G\u00fcrzenich', 'Lendersdorf', 'R\u00f6lsdorf', 'Mariaweiler', 'Echtz'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Dueren\/5212' },\n      { name: 'D\u00fcsseldorf', state: 'Nordrhein-Westfalen', rent30: 19.04, rent60: 13.97, rent100: 15.47, trend: 'up', plz: '40210-40629',\n        districts: ['Altstadt', 'Carlstadt', 'Stadtmitte', 'Pempelfort', 'Oberkassel', 'Niederkassel', 'Bilk', 'Friedrichstadt', 'Hafen', 'Flingern', 'D\u00fcsseltal', 'Derendorf', 'Stockum', 'Garath', 'Hellerhof', 'Benrath'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Duesseldorf\/5226' },\n      { name: 'Duisburg', state: 'Nordrhein-Westfalen', rent30: 10.53, rent60: 8.10, rent100: 8.67, trend: 'stable', plz: '47051-47279',\n        districts: ['Mitte', 'Hamborn', 'Meiderich\/Beeck', 'Homberg\/Ruhrort\/Baerl', 'Rheinhausen', 'S\u00fcd', 'Walsum', 'Duissern', 'Neudorf'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Duisburg\/5210' },\n\n      \/\/ E\n      { name: 'Emden', state: 'Niedersachsen', rent30: 10.14, rent60: 7.80, rent100: 8.35, trend: 'stable', plz: '26721-26725',\n        districts: ['Stadtmitte', 'Barenburg', 'Borssum', 'Conrebbersweg', 'Larrelt', 'Wolthusen', 'Petkum'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Emden\/4408' },\n      { name: 'Erfurt', state: 'Th\u00fcringen', rent30: 11.44, rent60: 8.80, rent100: 9.42, trend: 'up', plz: '99084-99099',\n        districts: ['Altstadt', 'Kr\u00e4mpfervorstadt', 'Andreasvorstadt', 'Br\u00fchl', 'Daberstedt', 'Hochheim', 'Bischleben', 'Marbach', 'Bindersleben'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Erfurt\/8967' },\n      { name: 'Erlangen', state: 'Bayern', rent30: 17.42, rent60: 13.40, rent100: 14.34, trend: 'up', plz: '91052-91058',\n        districts: ['Innenstadt', 'Alterlangen', 'Bruck', 'B\u00fcchenbach', 'Dechsendorf', 'Eltersdorf', 'Frauenaurach', 'Tennenlohe', 'Sieglitzhof'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Erlangen\/1609' },\n      { name: 'Essen', state: 'Nordrhein-Westfalen', rent30: 12.54, rent60: 9.31, rent100: 10.55, trend: 'stable', plz: '45127-45359',\n        districts: ['Stadtkern', 'Frohnhausen', 'Holsterhausen', 'R\u00fcttenscheid', 'Bredeney', 'Werden', 'Kettwig', 'Heisingen', 'Steele', 'Kray', 'Borbeck', 'Altendorf', 'Margarethenh\u00f6he', 'Westviertel'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Essen\/5246' },\n      { name: 'Esslingen am Neckar', state: 'Baden-W\u00fcrttemberg', rent30: 17.03, rent60: 13.10, rent100: 14.02, trend: 'up', plz: '73728-73734',\n        districts: ['Mitte', 'Pliensauvorstadt', 'Mettingen', 'Br\u00fchl', 'Weil', 'Berkheim', 'Zollberg', 'Sulzgries', 'Hegensberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Esslingen-am-Neckar\/278' },\n\n      \/\/ F\n      { name: 'Flensburg', state: 'Schleswig-Holstein', rent30: 13.13, rent60: 10.10, rent100: 10.81, trend: 'up', plz: '24937-24944',\n        districts: ['Altstadt', 'Neustadt', 'Friesischer Berg', 'Westliche H\u00f6he', 'M\u00fcrwik', 'Engelsby', 'Tarup', 'Sandberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Flensburg\/8087' },\n      { name: 'Frankfurt am Main', state: 'Hessen', rent30: 23.83, rent60: 17.77, rent100: 18.19, trend: 'up', plz: '60306-60599',\n        districts: ['Innenstadt', 'Altstadt', 'Bahnhofsviertel', 'Westend', 'Nordend', 'Sachsenhausen', 'Bornheim', 'Bockenheim', 'H\u00f6chst', 'Eschersheim', 'Niederrad', 'Heddernheim', 'R\u00f6delheim', 'Praunheim', 'Riederwald'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Frankfurt\/3242' },\n      { name: 'Freiburg im Breisgau', state: 'Baden-W\u00fcrttemberg', rent30: 19.24, rent60: 14.80, rent100: 15.84, trend: 'up', plz: '79098-79117',\n        districts: ['Altstadt', 'Vauban', 'Rieselfeld', 'Wiehre', 'Haslach', 'St\u00fchlinger', 'Herdern', 'Z\u00e4hringen', 'Littenweiler', 'St. Georgen', 'Tiengen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Freiburg-im-Breisgau\/309' },\n      { name: 'F\u00fcrth', state: 'Bayern', rent30: 15.47, rent60: 11.90, rent100: 12.73, trend: 'up', plz: '90762-90768',\n        districts: ['Innenstadt', 'S\u00fcdstadt', 'Stadeln', 'Burgfarrnbach', 'Vach', 'Eigenes Heim', 'Ronhof', 'Dambach', 'Atzenhof'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Fuerth\/1736' },\n\n      \/\/ G\n      { name: 'Gelsenkirchen', state: 'Nordrhein-Westfalen', rent30: 9.62, rent60: 7.40, rent100: 7.92, trend: 'stable', plz: '45879-45899',\n        districts: ['Altstadt', 'Buer', 'Horst', 'Erle', 'Resse', 'Schalke', 'Bismarck', 'Rotthausen', 'Beckhausen', 'Hassel'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Gelsenkirchen\/5258' },\n      { name: 'Gera', state: 'Th\u00fcringen', rent30: 8.06, rent60: 6.20, rent100: 6.63, trend: 'stable', plz: '07545-07557',\n        districts: ['Stadtmitte', 'Bieblach', 'Lusan', 'Untermhaus', 'Tinz', 'Rosch\u00fctz', 'Liebschwitz', 'Langenberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Gera\/8968' },\n      { name: 'Gie\u00dfen', state: 'Hessen', rent30: 14.56, rent60: 11.20, rent100: 11.98, trend: 'up', plz: '35390-35398',\n        districts: ['Innenstadt', 'Wieseck', 'Kleinlinden', 'L\u00fctzellinden', 'Allendorf', 'R\u00f6dgen', 'Oberhof', 'Nordstadt'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Giessen\/3270' },\n      { name: 'G\u00f6ttingen', state: 'Niedersachsen', rent30: 14.04, rent60: 10.80, rent100: 11.56, trend: 'up', plz: '37073-37085',\n        districts: ['Innenstadt', 'Weende', 'Geismar', 'Grone', 'Nikolausberg', 'Holtensen', 'Roringen', 'Herberhausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Goettingen\/4544' },\n\n      \/\/ H\n      { name: 'Hagen', state: 'Nordrhein-Westfalen', rent30: 10.27, rent60: 7.90, rent100: 8.45, trend: 'stable', plz: '58089-58135',\n        districts: ['Mitte', 'Eilpe', 'Hohenlimburg', 'Boele', 'Vorhalle', 'Dahl', 'Haspe', 'Wehringhausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Hagen\/5272' },\n      { name: 'Halle (Saale)', state: 'Sachsen-Anhalt', rent30: 9.88, rent60: 7.60, rent100: 8.13, trend: 'up', plz: '06108-06132',\n        districts: ['Altstadt', 'Paulusviertel', 'Halle-Neustadt', 'Lutherviertel', 'Trotha', 'Heide-S\u00fcd', 'Kr\u00f6llwitz', 'Ammendorf', 'Diemitz'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Halle-Saale\/7771' },\n      { name: 'Hamburg', state: 'Hamburg', rent30: 19.58, rent60: 15.76, rent100: 17.27, trend: 'up', plz: '20095-22769',\n        districts: ['Hamburg-Mitte', 'Altona', 'Eimsb\u00fcttel', 'Hamburg-Nord', 'Wandsbek', 'Bergedorf', 'Harburg', 'HafenCity', 'St. Georg', 'Eppendorf', 'Ottensen', 'Blankenese', 'Niendorf', 'Volksdorf', 'Sasel'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Hamburg\/3195' },\n      { name: 'Hamm', state: 'Nordrhein-Westfalen', rent30: 10.14, rent60: 7.80, rent100: 8.35, trend: 'stable', plz: '59063-59077',\n        districts: ['Mitte', 'Uentrop', 'Rhynern', 'Pelkum', 'Heessen', 'Bockum-H\u00f6vel', 'Herringen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Hamm\/5273' },\n      { name: 'Hanau', state: 'Hessen', rent30: 15.08, rent60: 11.60, rent100: 12.41, trend: 'up', plz: '63450-63457',\n        districts: ['Innenstadt', 'Lamboy', 'T\u00fcmpelgarten', 'Wolfgang', 'Gro\u00dfauheim', 'Klein-Auheim', 'Mittelbuchen', 'Steinheim', 'Kesselstadt'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Hanau\/3417' },\n      { name: 'Hannover', state: 'Niedersachsen', rent30: 14.14, rent60: 11.05, rent100: 11.92, trend: 'up', plz: '30159-30659',\n        districts: ['Mitte', 'Vahrenwald-List', 'Bothfeld-Vahrenheide', 'Buchholz-Kleefeld', 'Misburg-Anderten', 'Kirchrode-Bemerode-W\u00fclferode', 'S\u00fcdstadt-Bult', 'D\u00f6hren-W\u00fclfel', 'Ricklingen', 'Linden-Limmer', 'Ahlem-Badenstedt-Davenstedt', 'Herrenhausen-St\u00f6cken', 'Nord'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Hannover\/4567' },\n      { name: 'Heidelberg', state: 'Baden-W\u00fcrttemberg', rent30: 18.46, rent60: 14.20, rent100: 15.19, trend: 'up', plz: '69115-69126',\n        districts: ['Altstadt', 'Bergheim', 'Weststadt', 'S\u00fcdstadt', 'Rohrbach', 'Kirchheim', 'Pfaffengrund', 'Wieblingen', 'Handschuhsheim', 'Neuenheim', 'Ziegelhausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Heidelberg\/362' },\n      { name: 'Heilbronn', state: 'Baden-W\u00fcrttemberg', rent30: 15.34, rent60: 11.80, rent100: 12.63, trend: 'up', plz: '74072-74081',\n        districts: ['Innenstadt', 'Sontheim', 'B\u00f6ckingen', 'Neckargartach', 'Frankenbach', 'Kirchhausen', 'Biberach', 'Klingenberg', 'Horkheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Heilbronn\/374' },\n      { name: 'Herne', state: 'Nordrhein-Westfalen', rent30: 9.88, rent60: 7.60, rent100: 8.13, trend: 'stable', plz: '44623-44653',\n        districts: ['Mitte', 'Sodingen', 'Wanne', 'Eickel', 'Crange', 'Holsterhausen', 'Baukau', 'R\u00f6hlinghausen', 'Horsthausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Herne\/5293' },\n      { name: 'Hildesheim', state: 'Niedersachsen', rent30: 10.92, rent60: 8.40, rent100: 8.99, trend: 'stable', plz: '31134-31141',\n        districts: ['Mitte', 'Itzum', 'Ochtersum', 'Marienburger H\u00f6he', 'Drispenstedt', 'Sorsum', 'Achtum-Uppen', 'Himmelsth\u00fcr'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Hildesheim\/4675' },\n\n      \/\/ I\n      { name: 'Ingolstadt', state: 'Bayern', rent30: 17.42, rent60: 13.40, rent100: 14.34, trend: 'up', plz: '85049-85055',\n        districts: ['Innenstadt', 'M\u00fcnchener Stra\u00dfe', 'Friedrichshofen', 'Etting', 'Mailing', 'Unsernherrn', 'Oberhaunstadt', 'Hollerstauden', 'Gerolfing'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Ingolstadt\/1856' },\n\n      \/\/ J\n      { name: 'Jena', state: 'Th\u00fcringen', rent30: 13.52, rent60: 10.40, rent100: 11.13, trend: 'up', plz: '07743-07751',\n        districts: ['Zentrum', 'Wenigenjena', 'Lobeda', 'Winzerla', 'Kunitz', 'Burgau', 'G\u00f6schwitz', 'M\u00fcnchenroda', 'Drackendorf'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Jena\/9092' },\n\n      \/\/ K\n      { name: 'Kaiserslautern', state: 'Rheinland-Pfalz', rent30: 11.96, rent60: 9.20, rent100: 9.84, trend: 'stable', plz: '67655-67663',\n        districts: ['Innenstadt-West', 'Innenstadt-Ost', 'Hohenecken', 'Erfenbach', 'Erlenbach', 'M\u00f6lschbach', 'Siegelbach', 'Dansenberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Kaiserslautern\/6318' },\n      { name: 'Karlsruhe', state: 'Baden-W\u00fcrttemberg', rent30: 16.64, rent60: 12.80, rent100: 13.70, trend: 'up', plz: '76131-76229',\n        districts: ['Innenstadt', 'M\u00fchlburg', 'Daxlanden', 'Knielingen', 'Gr\u00f6tzingen', 'Durlach', 'Wettersbach', 'Beiertheim-Bulach', 'Weiherfeld-Dammerstock', 'R\u00fcppurr', 'Waldstadt', 'Hagsfeld'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Karlsruhe\/437' },\n      { name: 'Kassel', state: 'Hessen', rent30: 12.74, rent60: 9.80, rent100: 10.49, trend: 'stable', plz: '34117-34134',\n        districts: ['Mitte', 'Vorderer Westen', 'Wesertor', 'Wehlheiden', 'Bad Wilhelmsh\u00f6he', 'Brasselsberg', 'Niederzwehren', 'Oberzwehren', 'S\u00fcsterfeld-Helleb\u00f6hn', 'Fasanenhof'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Kassel\/3331' },\n      { name: 'Kempten', state: 'Bayern', rent30: 15.08, rent60: 11.60, rent100: 12.41, trend: 'up', plz: '87435-87439',\n        districts: ['Innenstadt', 'Stiftsstadt', 'Hieber', 'Sankt Mang', 'Lenzfried', 'Nord', 'Auf dem Lindenberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Kempten\/1879' },\n      { name: 'Kiel', state: 'Schleswig-Holstein', rent30: 13.26, rent60: 10.20, rent100: 10.91, trend: 'up', plz: '24103-24159',\n        districts: ['Mitte', 'D\u00fcsternbrook', 'Ravensberg', 'Schreventeich', 'Hassee', 'Friedrichsort', 'Holtenau', 'Mettenhof', 'Russee', 'Wellsee', 'Suchsdorf', 'Gaarden-Ost'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Kiel\/8179' },\n      { name: 'Koblenz', state: 'Rheinland-Pfalz', rent30: 14.17, rent60: 10.90, rent100: 11.66, trend: 'up', plz: '56068-56077',\n        districts: ['Altstadt', 'S\u00fcd', 'L\u00fctzel', 'Asterstein', 'Pfaffendorf', 'Horchheim', 'Niederberg', 'Ehrenbreitstein', 'Arenberg', 'Wallersheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Koblenz\/6366' },\n      { name: 'K\u00f6ln', state: 'Nordrhein-Westfalen', rent30: 18.52, rent60: 14.38, rent100: 14.86, trend: 'up', plz: '50667-51149',\n        districts: ['Innenstadt', 'Lindenthal', 'Ehrenfeld', 'Nippes', 'M\u00fclheim', 'Rodenkirchen', 'Porz', 'Kalk', 'Chorweiler', 'Deutz', 'S\u00fclz', 'Klettenberg', 'Junkersdorf', 'M\u00fcngersdorf', 'Riehl'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Koeln\/5333' },\n      { name: 'Konstanz', state: 'Baden-W\u00fcrttemberg', rent30: 19.24, rent60: 14.80, rent100: 15.84, trend: 'up', plz: '78462-78467',\n        districts: ['Altstadt', 'Petershausen', 'Allmannsdorf', 'Litzelstetten', 'Wollmatingen', 'Industriegebiet', 'Paradies', 'K\u00f6nigsbau', 'Staad'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Konstanz\/481' },\n      { name: 'Krefeld', state: 'Nordrhein-Westfalen', rent30: 11.18, rent60: 8.60, rent100: 9.20, trend: 'stable', plz: '47798-47829',\n        districts: ['Mitte', 'S\u00fcd', 'Nord', 'Cracau', 'Linn', 'Bockum', 'Verberg', 'Uerdingen', 'H\u00fcls', 'Traar', 'Forstwald'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Krefeld\/5332' },\n\n      \/\/ L\n      { name: 'Landshut', state: 'Bayern', rent30: 16.12, rent60: 12.40, rent100: 13.27, trend: 'up', plz: '84028-84036',\n        districts: ['Altstadt', 'Industriegebiet', 'Frauenberg', 'Berg', 'Sch\u00f6nbrunn', 'M\u00fcnchnerau', 'Nikola', 'Achdorf', 'Auloh'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Landshut\/1944' },\n      { name: 'Leipzig', state: 'Sachsen', rent30: 12.70, rent60: 9.86, rent100: 10.89, trend: 'up', plz: '04103-04357',\n        districts: ['Mitte', 'Nord', 'Nordost', 'Ost', 'S\u00fcdost', 'S\u00fcd', 'S\u00fcdwest', 'West', 'Alt-West', 'Nordwest', 'Connewitz', 'Plagwitz', 'Lindenau', 'Schleu\u00dfig', 'Gohlis', 'Eutritzsch'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Leipzig\/7390' },\n      { name: 'Leverkusen', state: 'Nordrhein-Westfalen', rent30: 12.74, rent60: 9.80, rent100: 10.49, trend: 'stable', plz: '51371-51381',\n        districts: ['Wiesdorf', 'Opladen', 'Schlebusch', 'Manfort', 'Rheindorf', 'Hitdorf', 'B\u00fcrrig', 'Quettingen', 'L\u00fctzenkirchen', 'Steinb\u00fcchel'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Leverkusen\/5334' },\n      { name: 'Ludwigsburg', state: 'Baden-W\u00fcrttemberg', rent30: 17.42, rent60: 13.40, rent100: 14.34, trend: 'up', plz: '71634-71642',\n        districts: ['Mitte', 'O\u00dfweil', 'Eglosheim', 'Hoheneck', 'Pflugfelden', 'Gr\u00fcnb\u00fchl', 'Poppenweiler', 'Neckarweihingen', 'Schl\u00f6\u00dflesfeld'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Ludwigsburg\/516' },\n      { name: 'Ludwigshafen am Rhein', state: 'Rheinland-Pfalz', rent30: 13.26, rent60: 10.20, rent100: 10.91, trend: 'stable', plz: '67059-67071',\n        districts: ['Mitte', 'S\u00fcd', 'Nord', 'West', 'Friesenheim', 'Edigheim', 'Oggersheim', 'Ruchheim', 'Maudach', 'Mundenheim', 'Rheing\u00f6nheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Ludwigshafen-am-Rhein\/6433' },\n      { name: 'L\u00fcbeck', state: 'Schleswig-Holstein', rent30: 13.52, rent60: 10.40, rent100: 11.13, trend: 'up', plz: '23552-23570',\n        districts: ['Innenstadt', 'St. Lorenz Nord', 'St. Lorenz S\u00fcd', 'St. Gertrud', 'St. J\u00fcrgen', 'Moisling', 'Buntekuh', 'Schlutup', 'K\u00fccknitz', 'Travem\u00fcnde'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Luebeck\/8180' },\n      { name: 'L\u00fcneburg', state: 'Niedersachsen', rent30: 14.56, rent60: 11.20, rent100: 11.98, trend: 'up', plz: '21335-21339',\n        districts: ['Altstadt', 'Wasserviertel', 'Bockelsberg', 'Ebensberg', 'Goseburg-Zeltberg', 'H\u00e4cklingen', 'Kreideberg', 'Mittelfeld', 'Oedeme', 'Sch\u00fctzenplatz', 'Wilschenbruch'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Lueneburg\/4778' },\n\n      \/\/ M\n      { name: 'Magdeburg', state: 'Sachsen-Anhalt', rent30: 9.36, rent60: 7.20, rent100: 7.70, trend: 'stable', plz: '39104-39130',\n        districts: ['Altstadt', 'Buckau', 'Stadtfeld Ost', 'Stadtfeld West', 'Sudenburg', 'Leipziger Stra\u00dfe', 'Reform', 'Olvenstedt', 'Gro\u00dfer Silberberg', 'Cracau', 'Salbke'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Magdeburg\/7772' },\n      { name: 'Mainz', state: 'Rheinland-Pfalz', rent30: 16.64, rent60: 12.80, rent100: 13.70, trend: 'up', plz: '55116-55131',\n        districts: ['Altstadt', 'Neustadt', 'Oberstadt', 'Hartenberg-M\u00fcnchfeld', 'Lerchenberg', 'Bretzenheim', 'Marienborn', 'Drais', 'Finthen', 'Gonsenheim', 'Mombach', 'Weisenau'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Mainz\/6459' },\n      { name: 'Mannheim', state: 'Baden-W\u00fcrttemberg', rent30: 15.08, rent60: 11.60, rent100: 12.41, trend: 'up', plz: '68159-68309',\n        districts: ['Innenstadt', 'Jungbusch', 'Lindenhof', 'Neckarstadt-Ost', 'Neckarstadt-West', 'Schwetzingerstadt', 'Oststadt', 'Feudenheim', 'K\u00e4fertal', 'Vogelstang', 'Wallstadt', 'Sandhofen', 'Sch\u00f6nau', 'Waldhof', 'Rheinau', 'Seckenheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Mannheim\/586' },\n      { name: 'Marburg', state: 'Hessen', rent30: 14.82, rent60: 11.40, rent100: 12.20, trend: 'up', plz: '35037-35043',\n        districts: ['Mitte', 'Bahnhofsviertel', 'Wehrda', 'Bauerbach', 'Cappel', 'Ginseldorf', 'Marbach', 'Michelbach', 'Ockershausen', 'Wehrshausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Marburg\/3458' },\n      { name: 'M\u00f6nchengladbach', state: 'Nordrhein-Westfalen', rent30: 10.66, rent60: 8.20, rent100: 8.77, trend: 'stable', plz: '41061-41239',\n        districts: ['Stadtmitte', 'Eicken', 'Gladbach', 'Hardt', 'Westend', 'Volksgarten', 'Rheydt', 'Odenkirchen', 'Wickrath', 'Giesenkirchen', 'Hardterbroich-Pesch'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Moenchengladbach\/5387' },\n      { name: 'Moers', state: 'Nordrhein-Westfalen', rent30: 10.92, rent60: 8.40, rent100: 8.99, trend: 'stable', plz: '47441-47447',\n        districts: ['Mitte', 'Asberg', 'Hochstra\u00df', 'Kapellen', 'Repelen', 'Scherpenberg', 'Schwafheim', 'Vinn', 'H\u00fclsdonk', 'Eick'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Moers\/5554' },\n      { name: 'M\u00fclheim an der Ruhr', state: 'Nordrhein-Westfalen', rent30: 11.96, rent60: 9.20, rent100: 9.84, trend: 'stable', plz: '45468-45481',\n        districts: ['Altstadt I', 'Altstadt II', 'Hei\u00dfen', 'Holthausen', 'Menden-Holthausen', 'Saarn', 'Speldorf', 'Styrum', 'Broich', 'D\u00fcmpten'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Muelheim-an-der-Ruhr\/5388' },\n      { name: 'M\u00fcnchen', state: 'Bayern', rent30: 28.40, rent60: 21.92, rent100: 22.07, trend: 'up', plz: '80331-81929',\n        districts: ['Altstadt-Lehel', 'Ludwigsvorstadt-Isarvorstadt', 'Maxvorstadt', 'Schwabing-West', 'Schwabing-Freimann', 'Au-Haidhausen', 'Sendling', 'Sendling-Westpark', 'Bogenhausen', 'Berg am Laim', 'Trudering-Riem', 'Ramersdorf-Perlach', 'Obergiesing-Fasangarten', 'Untergiesing-Harlaching', 'Thalkirchen-Solln', 'Hadern', 'Pasing-Obermenzing', 'Aubing-Lochhausen-Langwied', 'Allach-Untermenzing', 'Feldmoching-Hasenbergl', 'Laim', 'Neuhausen-Nymphenburg', 'Moosach', 'Milbertshofen-Am Hart'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Muenchen\/2091' },\n      { name: 'M\u00fcnster', state: 'Nordrhein-Westfalen', rent30: 16.64, rent60: 12.80, rent100: 13.70, trend: 'up', plz: '48143-48167',\n        districts: ['Mitte', 'Nord', 'West', 'S\u00fcd-Ost', 'Hiltrup', 'Wolbeck', 'Albachten', 'Amelsb\u00fcren', 'Angelmodde', 'Coerde', 'Gievenbeck', 'Handorf', 'Kinderhaus', 'Mauritz', 'Roxel', 'Sentruper H\u00f6he'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Muenster\/5389' },\n\n      \/\/ N\n      { name: 'Neuss', state: 'Nordrhein-Westfalen', rent30: 13.52, rent60: 10.40, rent100: 11.13, trend: 'up', plz: '41460-41472',\n        districts: ['Innenstadt', 'Furth', 'Gnadental', 'Grimlinghausen', 'Hammfeld', 'Hoisten', 'Holzheim', 'Norf', 'Reuschenberg', 'Rosellen', 'Uedesheim', 'Weckhoven', 'Erfttal'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Neuss\/5396' },\n      { name: 'N\u00fcrnberg', state: 'Bayern', rent30: 18.13, rent60: 12.72, rent100: 13.20, trend: 'up', plz: '90402-90491',\n        districts: ['Altstadt St. Lorenz', 'Altstadt St. Sebald', 'Tafelhof', 'Steinb\u00fchl', 'Galgenhof', 'Gostenhof', 'Glockenhof', 'W\u00f6hrd', 'Maxfeld', 'Marienvorstadt', 'Sandberg', 'Schweinau', 'Eberhardshof', 'M\u00f6geldorf', 'Erlenstegen', 'Ziegelstein', 'Schoppershof', 'Werderau'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Nuernberg\/2176' },\n\n      \/\/ O\n      { name: 'Oberhausen', state: 'Nordrhein-Westfalen', rent30: 10.66, rent60: 8.20, rent100: 8.77, trend: 'stable', plz: '46045-46149',\n        districts: ['Alt-Oberhausen', 'Sterkrade', 'Osterfeld', 'Holten', 'Borbeck', 'K\u00f6nigshardt', 'Schmachtendorf', 'Walsumermark'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Oberhausen\/5411' },\n      { name: 'Offenbach am Main', state: 'Hessen', rent30: 16.12, rent60: 12.40, rent100: 13.27, trend: 'up', plz: '63065-63075',\n        districts: ['Innenstadt', 'B\u00fcrgel', 'Rumpenheim', 'Tempelsee', 'Lauterborn', 'Bieber', 'Waldhof', 'Rosenh\u00f6he'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Offenbach-am-Main\/3482' },\n      { name: 'Oldenburg', state: 'Niedersachsen', rent30: 12.74, rent60: 9.80, rent100: 10.49, trend: 'up', plz: '26121-26135',\n        districts: ['Innenstadt', 'Bloherfelde', 'Wechloy', 'Donnerschwee', 'Etzhorn', 'Kreyenbr\u00fcck', 'B\u00fcrgerfelde', 'Eversten', 'Haarentor', 'Osternburg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Oldenburg-Oldenburg\/4840' },\n      { name: 'Osnabr\u00fcck', state: 'Niedersachsen', rent30: 12.48, rent60: 9.60, rent100: 10.27, trend: 'up', plz: '49074-49090',\n        districts: ['Innenstadt', 'Westerberg', 'Hellern', 'Eversburg', 'Sutthausen', 'Gartlage', 'Kalkh\u00fcgel', 'Schinkel', 'W\u00fcste', 'Voxtrup', 'Atter'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Osnabrueck\/4856' },\n\n      \/\/ P\n      { name: 'Paderborn', state: 'Nordrhein-Westfalen', rent30: 12.22, rent60: 9.40, rent100: 10.06, trend: 'stable', plz: '33098-33106',\n        districts: ['Kernstadt', 'Schlo\u00df Neuhaus', 'Sande', 'Elsen', 'Wewer', 'Marienloh', 'Dahl', 'Benhausen', 'Neuenbeken'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Paderborn\/5426' },\n      { name: 'Passau', state: 'Bayern', rent30: 14.04, rent60: 10.80, rent100: 11.56, trend: 'up', plz: '94032-94036',\n        districts: ['Altstadt', 'Innstadt', 'Haidenhof', 'Heining', 'Hals', 'Grubweg', 'Patriching', 'Schalding'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Passau\/2273' },\n      { name: 'Pforzheim', state: 'Baden-W\u00fcrttemberg', rent30: 13.52, rent60: 10.40, rent100: 11.13, trend: 'stable', plz: '75172-75181',\n        districts: ['Innenstadt', 'Au', 'Br\u00f6tzingen', 'Buckenberg', 'B\u00fcchenbronn', 'Eutingen', 'Hagenschie\u00df', 'Hohenwart', 'Huchenfeld', 'W\u00fcrm'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Pforzheim\/706' },\n      { name: 'Plauen', state: 'Sachsen', rent30: 7.54, rent60: 5.80, rent100: 6.21, trend: 'stable', plz: '08523-08529',\n        districts: ['Stadtmitte', 'Reusa', 'Kauschwitz', 'Chrieschwitz', 'Untere Aue', 'Rei\u00dfig', 'Haselbrunn', 'Gro\u00dffriesen', 'J\u00f6\u00dfnitz'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Plauen\/7551' },\n      { name: 'Potsdam', state: 'Brandenburg', rent30: 17.68, rent60: 13.60, rent100: 14.55, trend: 'up', plz: '14467-14482',\n        districts: ['Innenstadt', 'Babelsberg', 'Bornstedt', 'Drewitz', 'Eiche', 'Fahrland', 'Golm', 'Gro\u00df Glienicke', 'Grube', 'Marquardt', 'Neu Fahrland', 'Sacrow', 'Satzkorn'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Potsdam\/3072' },\n\n      \/\/ R\n      { name: 'Ratingen', state: 'Nordrhein-Westfalen', rent30: 14.56, rent60: 11.20, rent100: 11.98, trend: 'up', plz: '40878-40885',\n        districts: ['Mitte', 'West', 'Ost', 'Tiefenbroich', 'Schwarzbach', 'Lintorf', 'Breitscheid', 'H\u00f6sel', 'Eggerscheidt', 'Homberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Ratingen\/5358' },\n      { name: 'Recklinghausen', state: 'Nordrhein-Westfalen', rent30: 10.14, rent60: 7.80, rent100: 8.35, trend: 'stable', plz: '45657-45665',\n        districts: ['Stadtmitte', 'K\u00f6nig-Ludwig', 'Hochlarmark', 'Speckhorn', 'Suderwich', 'Hillerheide', 'Hochlar', 'S\u00fcd', 'Stuckenbusch', 'Berghausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Recklinghausen\/5437' },\n      { name: 'Regensburg', state: 'Bayern', rent30: 16.64, rent60: 12.80, rent100: 13.70, trend: 'up', plz: '93047-93059',\n        districts: ['Innenstadt', 'Stadtamhof', 'Steinweg', 'Reinhausen', 'Sallern-Gallingkofen', 'Konradsiedlung-Wutzlhofen', 'Brandlberg-Keilberg', 'Schwabelweis', 'Burgweinting-Harting', 'Galgenberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Regensburg\/2335' },\n      { name: 'Remscheid', state: 'Nordrhein-Westfalen', rent30: 10.14, rent60: 7.80, rent100: 8.35, trend: 'stable', plz: '42853-42899',\n        districts: ['Innenstadt', 'Hasten', 'Hohenhagen', 'Lennep', 'L\u00fcttringhausen', 'S\u00fcd', 'Westhausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Remscheid\/5439' },\n      { name: 'Reutlingen', state: 'Baden-W\u00fcrttemberg', rent30: 14.82, rent60: 11.40, rent100: 12.20, trend: 'up', plz: '72760-72770',\n        districts: ['Innenstadt', 'Betzingen', 'Sondelfingen', 'Mittelstadt', 'Rommelsbach', 'Sickenhausen', 'Oferdingen', 'Bronnweiler', 'Altenburg', 'G\u00f6nningen', 'Ohmenhausen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Reutlingen\/812' },\n      { name: 'Rostock', state: 'Mecklenburg-Vorpommern', rent30: 12.48, rent60: 9.60, rent100: 10.27, trend: 'up', plz: '18055-18147',\n        districts: ['Stadtmitte', 'Steintor-Vorstadt', 'Kr\u00f6peliner-Tor-Vorstadt', 'Hansaviertel', 'Gartenstadt', 'Reutershagen', 'Lichtenhagen', 'L\u00fctten Klein', 'Evershagen', 'Schmarl', 'Gro\u00df Klein', 'Warnem\u00fcnde'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Rostock\/4174' },\n\n      \/\/ S\n      { name: 'Saarbr\u00fccken', state: 'Saarland', rent30: 11.44, rent60: 8.80, rent100: 9.42, trend: 'stable', plz: '66111-66132',\n        districts: ['Mitte', 'St. Johann', 'Alt-Saarbr\u00fccken', 'Malstatt', 'Burbach', 'Dudweiler', 'Ru\u00dfh\u00fctte', 'Eschberg', 'Klarenthal', 'Bischmisheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Saarbruecken\/7255' },\n      { name: 'Salzgitter', state: 'Niedersachsen', rent30: 8.84, rent60: 6.80, rent100: 7.28, trend: 'stable', plz: '38226-38259',\n        districts: ['Salzgitter-Bad', 'Lebenstedt', 'Watenstedt', 'Lichtenberg', 'Thiede', 'Beddingen', 'Heerte', 'Bruchmachtersen', 'Engerode'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Salzgitter\/4958' },\n      { name: 'Schwerin', state: 'Mecklenburg-Vorpommern', rent30: 10.14, rent60: 7.80, rent100: 8.35, trend: 'stable', plz: '19053-19063',\n        districts: ['Altstadt', 'Schelfstadt', 'Werdervorstadt', 'Paulsstadt', 'Lewenberg', 'Gro\u00dfer Dreesch', 'Neu Zippendorf', 'Mue\u00dfer Holz', 'Krebsf\u00f6rden', 'Lankow'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Schwerin\/4212' },\n      { name: 'Siegen', state: 'Nordrhein-Westfalen', rent30: 10.92, rent60: 8.40, rent100: 8.99, trend: 'stable', plz: '57072-57080',\n        districts: ['Mitte', 'Weidenau', 'Geisweid', 'Eiserfeld', 'Niederschelden', 'Kaan-Marienborn', 'B\u00fcrbach', 'Achenbach', 'Trupbach'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Siegen\/5476' },\n      { name: 'Solingen', state: 'Nordrhein-Westfalen', rent30: 10.66, rent60: 8.20, rent100: 8.77, trend: 'stable', plz: '42651-42719',\n        districts: ['Mitte', 'Wald', 'Gr\u00e4frath', 'H\u00f6hscheid', 'Burg', 'Ohligs', 'Aufderh\u00f6he', 'Merscheid'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Solingen\/5492' },\n      { name: 'Stuttgart', state: 'Baden-W\u00fcrttemberg', rent30: 27.20, rent60: 18.48, rent100: 17.25, trend: 'up', plz: '70173-70629',\n        districts: ['Mitte', 'Nord', 'S\u00fcd', 'Ost', 'West', 'Bad Cannstatt', 'Feuerbach', 'M\u00f6hringen', 'Vaihingen', 'Plieningen', 'Untert\u00fcrkheim', 'Obert\u00fcrkheim', 'Wangen', 'Birkach', 'M\u00fchlhausen', 'M\u00fcnster', 'Sillenbuch', 'Hedelfingen', 'Stammheim', 'Weilimdorf', 'Botnang', 'Zuffenhausen', 'Degerloch'],\n        externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Stuttgart\/972' },\n\n      \/\/ T\n      { name: 'Trier', state: 'Rheinland-Pfalz', rent30: 14.04, rent60: 10.80, rent100: 11.56, trend: 'up', plz: '54290-54296',\n        districts: ['Mitte', 'Nord', 'S\u00fcd', 'West', 'Ost', 'Ehrang', 'Pfalzel', 'Heiligkreuz', 'Tarforst', 'Olewig', 'K\u00fcrenz', 'Biewer', 'Trier-Land'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Trier\/6971' },\n      { name: 'T\u00fcbingen', state: 'Baden-W\u00fcrttemberg', rent30: 18.72, rent60: 14.40, rent100: 15.41, trend: 'up', plz: '72070-72076',\n        districts: ['Innenstadt', 'Lustnau', 'Derendingen', 'Hagelloch', 'Pfrondorf', 'Bebenhausen', 'B\u00fchl', 'Hirschau', 'Unterjesingen', 'Weilheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Tuebingen\/1019' },\n\n      \/\/ U\n      { name: 'Ulm', state: 'Baden-W\u00fcrttemberg', rent30: 15.86, rent60: 12.20, rent100: 13.05, trend: 'up', plz: '89073-89081',\n        districts: ['Mitte', 'Oststadt', 'S\u00f6flingen', 'Wiblingen', 'Donaustetten', 'Eggingen', 'Einsingen', 'Ermingen', 'Unterweiler', 'Lehr', 'M\u00e4hringen'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Ulm\/1020' },\n\n      \/\/ V\n      { name: 'Viersen', state: 'Nordrhein-Westfalen', rent30: 10.66, rent60: 8.20, rent100: 8.77, trend: 'stable', plz: '41747-41751',\n        districts: ['Mitte', 'S\u00fcchteln', 'D\u00fclken', 'Boisheim', 'Bockert', 'Beberich', 'Hamm', 'Helenabrunn'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Viersen\/5534' },\n\n      \/\/ W\n      { name: 'Wiesbaden', state: 'Hessen', rent30: 17.94, rent60: 13.80, rent100: 14.77, trend: 'up', plz: '65183-65207',\n        districts: ['Mitte', 'Nordost', 'S\u00fcdost', 'Rheingauviertel', 'Hollerborn', 'Westend', 'Bierstadt', 'Sonnenberg', 'Klarenthal', 'Dotzheim', 'Erbenheim', 'Schierstein', 'Biebrich', 'Mainz-Kostheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Wiesbaden\/3622' },\n      { name: 'Wilhelmshaven', state: 'Niedersachsen', rent30: 8.58, rent60: 6.60, rent100: 7.06, trend: 'stable', plz: '26382-26389',\n        districts: ['Innenstadt', 'Heppens', 'Voslapp', 'Fedderwarden', 'Sengwarden', 'Neuende', 'Bant', 'R\u00fcstersiel'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Wilhelmshaven\/5113' },\n      { name: 'Witten', state: 'Nordrhein-Westfalen', rent30: 10.92, rent60: 8.40, rent100: 8.99, trend: 'stable', plz: '58452-58456',\n        districts: ['Mitte', 'Annen', 'Bommern', 'Heven', 'Herbede', 'Stockum', 'R\u00fcdinghausen', 'D\u00fcren', 'Vormholz', 'Crengeldanz'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Witten\/5235' },\n      { name: 'Wolfsburg', state: 'Niedersachsen', rent30: 11.18, rent60: 8.60, rent100: 9.20, trend: 'stable', plz: '38440-38448',\n        districts: ['Stadtmitte', 'Nordstadt', 'Detmerode', 'Westhagen', 'He\u00dflingen', 'Vorsfelde', 'Fallersleben', 'K\u00e4storf', 'Reislingen', 'Rabenberg'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Wolfsburg\/5166' },\n      { name: 'Worms', state: 'Rheinland-Pfalz', rent30: 11.96, rent60: 9.20, rent100: 9.84, trend: 'stable', plz: '67547-67551',\n        districts: ['Innenstadt', 'Hochheim', 'Pfeddersheim', 'Pfiffligheim', 'Leiselheim', 'Heppenheim', 'Horchheim', 'Weinsheim', 'Wiesoppenheim', 'Rheind\u00fcrkheim', 'Herrnsheim'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Worms\/7204' },\n      { name: 'W\u00fcrzburg', state: 'Bayern', rent30: 16.12, rent60: 12.40, rent100: 13.27, trend: 'up', plz: '97070-97084',\n        districts: ['Altstadt', 'Sanderau', 'Frauenland', 'Gromb\u00fchl', 'Lindleinsm\u00fchle', 'Versbach', 'Lengfeld', 'Heuchelhof', 'Heidingsfeld', 'Steinbachtal', 'Zellerau'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Wuerzburg\/2772' },\n      { name: 'Wuppertal', state: 'Nordrhein-Westfalen', rent30: 11.18, rent60: 8.60, rent100: 9.20, trend: 'stable', plz: '42103-42399',\n        districts: ['Elberfeld', 'Elberfeld-West', 'Barmen', 'Cronenberg', 'Heckinghausen', 'Langerfeld-Beyenburg', 'Oberbarmen', 'Ronsdorf', 'Uellendahl-Katernberg', 'Vohwinkel'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Wuppertal\/5562' },\n\n      \/\/ Z\n      { name: 'Zwickau', state: 'Sachsen', rent30: 7.28, rent60: 5.60, rent100: 5.99, trend: 'stable', plz: '08056-08066',\n        districts: ['Innenstadt', 'Eckersbach', 'Marienthal', 'P\u00f6lbitz', 'Auerbach', 'Cainsdorf', 'Crossen', 'Mosel', 'Niederplanitz', 'Oberplanitz', 'Schedewitz'] , externalUrl: 'https:\/\/www.wohnungsboerse.net\/mietspiegel-Zwickau\/7714' }\n    ];\n\n    \/* ==========================================================\n       HILFSFUNKTIONEN\n       ========================================================== *\/\n    function initial(name) {\n      const map = { '\u00c4': 'A', '\u00d6': 'O', '\u00dc': 'U' };\n      const first = name.charAt(0).toUpperCase();\n      return map[first] || first;\n    }\n\n    function formatRent(value) {\n      return value.toFixed(2).replace('.', ',');\n    }\n\n    function getTrendInfo(trend) {\n      if (trend === 'up') {\n        return {\n          label: 'Steigend',\n          icon: '<svg viewBox=\"0 0 12 12\" width=\"9\" height=\"9\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M6 2 L10 8 L2 8 Z\"\/><\/svg>',\n          klass: ''\n        };\n      }\n      if (trend === 'down') {\n        return {\n          label: 'Fallend',\n          icon: '<svg viewBox=\"0 0 12 12\" width=\"9\" height=\"9\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M6 10 L2 4 L10 4 Z\"\/><\/svg>',\n          klass: 'is-down'\n        };\n      }\n      return {\n        label: 'Stabil',\n        icon: '<svg viewBox=\"0 0 12 12\" width=\"9\" height=\"9\" fill=\"currentColor\" aria-hidden=\"true\"><rect x=\"2\" y=\"5\" width=\"8\" height=\"2\"\/><\/svg>',\n        klass: 'is-stable'\n      };\n    }\n\n    function formatDistricts(districts, max) {\n      if (!districts || districts.length === 0) return '';\n      max = max || 6;\n      if (districts.length <= max) {\n        return districts.join(' \u00b7 ');\n      }\n      const visible = districts.slice(0, max).join(' \u00b7 ');\n      return visible + ' \u00b7 +' + (districts.length - max);\n    }\n\n    \/* ==========================================================\n       ZUSTAND\n       ========================================================== *\/\n    const STATE = {\n      bundesland: 'all'\n    };\n\n    let groupObserver = null;\n\n    \/* ==========================================================\n       INIT: Bundesland-Chips, A-Z-Nav\n       ========================================================== *\/\n    const ALL_STATES = Array.from(new Set(CITIES.map(c => c.state))).sort((a, b) => a.localeCompare(b, 'de'));\n\n    function renderBundeslandChips() {\n      const wrap = document.getElementById('bundeslandChips');\n      const chips = ['<button type=\"button\" class=\"chip is-active\" data-state=\"all\">Alle Bundesl\u00e4nder<\/button>'];\n      ALL_STATES.forEach(s => {\n        chips.push('<button type=\"button\" class=\"chip\" data-state=\"' + s + '\">' + s + '<\/button>');\n      });\n      wrap.innerHTML = chips.join('');\n\n      wrap.addEventListener('click', e => {\n        const btn = e.target.closest('.chip');\n        if (!btn) return;\n        wrap.querySelectorAll('.chip').forEach(c => c.classList.remove('is-active'));\n        btn.classList.add('is-active');\n        STATE.bundesland = btn.dataset.state;\n        renderResults();\n      });\n    }\n\n    function renderAlphabetNav() {\n      const nav = document.getElementById('alphabetNav');\n      const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');\n      const present = new Set(CITIES.map(c => initial(c.name)));\n      nav.innerHTML = letters.map(l => {\n        const cls = present.has(l) ? '' : 'is-disabled';\n        return '<li><a href=\"#letter-' + l + '\" class=\"' + cls + '\" data-letter=\"' + l + '\">' + l + '<\/a><\/li>';\n      }).join('');\n    }\n\n    function animateStatCounter() {\n      const el = document.getElementById('statCities');\n      const target = CITIES.length;\n      const duration = 1400;\n      const start = performance.now();\n\n      function tick(now) {\n        const progress = Math.min(1, (now - start) \/ duration);\n        const eased = 1 - Math.pow(1 - progress, 3);\n        const current = Math.round(target * eased);\n        el.firstChild.nodeValue = current;\n        if (progress < 1) requestAnimationFrame(tick);\n      }\n      requestAnimationFrame(tick);\n    }\n\n    \/* ==========================================================\n       RENDER\n       ========================================================== *\/\n    function getFilteredCities() {\n      return CITIES.filter(c => {\n        if (STATE.bundesland !== 'all' && c.state !== STATE.bundesland) return false;\n        return true;\n      });\n    }\n\n    function renderResults() {\n      const filtered = getFilteredCities();\n      const container = document.getElementById('cityResults');\n      const counter = document.getElementById('resultsCount');\n\n      counter.innerHTML = '<strong>' + filtered.length + '<\/strong> St\u00e4dte angezeigt' +\n        (STATE.bundesland !== 'all' ? ' \u00b7 ' + STATE.bundesland : '');\n\n      if (filtered.length === 0) {\n        container.innerHTML =\n          '<div class=\"results-empty\">' +\n            '<h3>Keine Treffer<\/h3>' +\n            '<p>F\u00fcr die gew\u00e4hlte Filterung wurde keine Stadt gefunden. Bitte w\u00e4hlen Sie ein anderes Bundesland.<\/p>' +\n          '<\/div>';\n        return;\n      }\n\n      const groups = {};\n      filtered.forEach(c => {\n        const l = initial(c.name);\n        if (!groups[l]) groups[l] = [];\n        groups[l].push(c);\n      });\n\n      const html = Object.keys(groups).sort().map(letter => {\n        const cards = groups[letter].map((c, i) => renderCityCard(c, i)).join('');\n        const countLabel = groups[letter].length === 1 ? 'Stadt' : 'St\u00e4dte';\n        return '' +\n          '<section class=\"letter-group\" id=\"letter-' + letter + '\">' +\n            '<header class=\"letter-heading\">' +\n              '<span class=\"letter-heading-letter\">' + letter + '<\/span>' +\n              '<div class=\"letter-heading-meta\">' +\n                '<span class=\"letter-heading-title\">St\u00e4dte mit ' + letter + '<\/span>' +\n                '<span class=\"letter-heading-count\">' + groups[letter].length + ' ' + countLabel + '<\/span>' +\n              '<\/div>' +\n            '<\/header>' +\n            '<div class=\"city-grid\">' + cards + '<\/div>' +\n          '<\/section>';\n      }).join('');\n\n      container.innerHTML = html;\n\n      setupGroupObserver();\n    }\n\n    function renderCityCard(c, index) {\n      const trend = getTrendInfo(c.trend);\n      \/\/ Stagger der Cards via animation-delay\n      const delayMs = Math.min(index, 9) * 60;\n\n      const districtsHtml = c.districts && c.districts.length\n        ? '<div class=\"city-card-districts\">' +\n            '<div class=\"city-card-districts-label\">Stadtteile<\/div>' +\n            '<div class=\"city-card-districts-list\">' + formatDistricts(c.districts, 6) + '<\/div>' +\n          '<\/div>'\n        : '';\n\n      const actionHtml = c.externalUrl\n        ? '<div class=\"city-card-actions\">' +\n            '<a href=\"' + c.externalUrl + '\" class=\"btn btn-primary\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Mietspiegel ' + c.name + ' \u00f6ffnen\">' +\n              'Mietspiegel \u00f6ffnen' +\n              '<svg class=\"btn-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">' +\n                '<path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"><\/path>' +\n                '<polyline points=\"15 3 21 3 21 9\"><\/polyline>' +\n                '<line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"><\/line>' +\n              '<\/svg>' +\n            '<\/a>' +\n          '<\/div>'\n        : '';\n\n      const dividerHtml = c.externalUrl ? '<div class=\"city-card-divider\"><\/div>' : '';\n\n      return '' +\n        '<article class=\"city-card\" style=\"animation-delay: ' + delayMs + 'ms\">' +\n          '<div class=\"city-card-header\">' +\n            '<div>' +\n              '<div class=\"city-card-region\">' + c.state + '<\/div>' +\n              '<h3 class=\"city-card-name\">' + c.name + '<\/h3>' +\n              '<div class=\"city-card-plz\">PLZ ' + c.plz + '<\/div>' +\n            '<\/div>' +\n            '<span class=\"city-card-trend ' + trend.klass + '\">' +\n              trend.icon +\n              trend.label +\n            '<\/span>' +\n          '<\/div>' +\n\n          '<div class=\"city-card-rents\">' +\n            '<div class=\"city-card-rents-label\">Mietpreisspiegel \u00b7 Mietwohnungen 2026<\/div>' +\n            '<div class=\"city-card-rents-grid\">' +\n              '<div class=\"rent-cell\">' +\n                '<div class=\"rent-cell-size\">30 m\u00b2<\/div>' +\n                '<div class=\"rent-cell-value\">' + formatRent(c.rent30) + '<\/div>' +\n                '<div class=\"rent-cell-unit\">\u20ac\/m\u00b2<\/div>' +\n              '<\/div>' +\n              '<div class=\"rent-cell\">' +\n                '<div class=\"rent-cell-size\">60 m\u00b2<\/div>' +\n                '<div class=\"rent-cell-value\">' + formatRent(c.rent60) + '<\/div>' +\n                '<div class=\"rent-cell-unit\">\u20ac\/m\u00b2<\/div>' +\n              '<\/div>' +\n              '<div class=\"rent-cell\">' +\n                '<div class=\"rent-cell-size\">100 m\u00b2<\/div>' +\n                '<div class=\"rent-cell-value\">' + formatRent(c.rent100) + '<\/div>' +\n                '<div class=\"rent-cell-unit\">\u20ac\/m\u00b2<\/div>' +\n              '<\/div>' +\n            '<\/div>' +\n          '<\/div>' +\n\n          districtsHtml +\n          dividerHtml +\n          actionHtml +\n        '<\/article>';\n    }\n\n    \/* ==========================================================\n       INTERSECTION-OBSERVER f\u00fcr Letter-Groups & Info-Cards\n       (Karten-Stagger startet, sobald die Gruppe sichtbar wird)\n       ========================================================== *\/\n    function setupGroupObserver() {\n      if (!('IntersectionObserver' in window)) {\n        document.querySelectorAll('.letter-group').forEach(g => g.classList.add('is-visible'));\n        return;\n      }\n\n      \/\/ Bestehenden Observer aufr\u00e4umen, falls renderResults erneut l\u00e4uft\n      if (groupObserver) groupObserver.disconnect();\n\n      groupObserver = new IntersectionObserver((entries, obs) => {\n        entries.forEach(entry => {\n          if (entry.isIntersecting) {\n            entry.target.classList.add('is-visible');\n            obs.unobserve(entry.target);\n          }\n        });\n      }, { threshold: 0.08, rootMargin: '0px 0px -8% 0px' });\n\n      document.querySelectorAll('.letter-group:not(.is-visible)').forEach(g => groupObserver.observe(g));\n    }\n\n    function setupInfoCardObserver() {\n      const cards = document.querySelectorAll('.info-card');\n      if (!('IntersectionObserver' in window)) {\n        cards.forEach(c => c.classList.add('is-visible'));\n        return;\n      }\n      const obs = new IntersectionObserver((entries) => {\n        entries.forEach((entry, i) => {\n          if (entry.isIntersecting) {\n            \/\/ Stagger via inline-Delay\n            const idx = Array.from(cards).indexOf(entry.target);\n            entry.target.style.animationDelay = (idx * 90) + 'ms';\n            entry.target.classList.add('is-visible');\n            obs.unobserve(entry.target);\n          }\n        });\n      }, { threshold: 0.15 });\n      cards.forEach(c => obs.observe(c));\n    }\n\n    \/* ==========================================================\n       FILTER-BAR Schatten beim \"Stuck\"-Zustand\n       (sticky-bar bekommt Schatten, sobald sie oben angeklebt ist)\n       ========================================================== *\/\n    function setupStickyShadow() {\n      const bar = document.getElementById('filterBar');\n      if (!bar) return;\n\n      \/\/ Sentinel direkt vor der Bar einsetzen, dessen Sichtbarkeit wir tracken\n      const sentinel = document.createElement('div');\n      sentinel.style.cssText = 'position:absolute;height:1px;width:1px;pointer-events:none;';\n      bar.parentNode.insertBefore(sentinel, bar);\n\n      if (!('IntersectionObserver' in window)) return;\n\n      const obs = new IntersectionObserver(([entry]) => {\n        bar.classList.toggle('is-stuck', !entry.isIntersecting);\n      }, { threshold: 0 });\n      obs.observe(sentinel);\n    }\n\n    \/* ==========================================================\n       SMOOTH-SCROLL f\u00fcr Alphabet-Nav (mit Offset f\u00fcr Sticky-Bar)\n       ========================================================== *\/\n    function setupAlphabetScroll() {\n      document.getElementById('alphabetNav').addEventListener('click', (e) => {\n        const link = e.target.closest('a');\n        if (!link || link.classList.contains('is-disabled')) return;\n        e.preventDefault();\n        const target = document.querySelector(link.getAttribute('href'));\n        if (target) {\n          target.scrollIntoView({ behavior: 'smooth', block: 'start' });\n          \/\/ Sicherstellen, dass die Karten dort animieren\n          target.classList.add('is-visible');\n        }\n      });\n    }\n\n    \/* ==========================================================\n       START\n       ========================================================== *\/\n    function init() {\n      renderBundeslandChips();\n      renderAlphabetNav();\n      renderResults();\n      setupAlphabetScroll();\n      setupStickyShadow();\n      setupInfoCardObserver();\n\n      if ('IntersectionObserver' in window) {\n        const obs = new IntersectionObserver((entries) => {\n          entries.forEach(entry => {\n            if (entry.isIntersecting) {\n              animateStatCounter();\n              obs.disconnect();\n            }\n          });\n        }, { threshold: 0.4 });\n        obs.observe(document.getElementById('statCities'));\n      } else {\n        document.getElementById('statCities').firstChild.nodeValue = CITIES.length;\n      }\n    }\n\n    if (document.readyState === 'loading') {\n      document.addEventListener('DOMContentLoaded', init);\n    } else {\n      init();\n    }\n\n  })();\n  <\/script>\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<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Mietspiegel Deutschland 2026 \u2013 Lima Invest Immobilien Mietspiegel \u00b7 Deutschland 2026 Vergleichsmieten f\u00fcr ganz Deutschland auf einen Blick. Durchschnittsmieten (30, 60, 100 m\u00b2), Stadtteile und Entwicklungen f\u00fcr \u00fcber 100 St\u00e4dte. Unverbindliche Orientierung \u2013 ma\u00dfgeblich ist der jeweilige offizielle Mietspiegel. 0+ St\u00e4dte erfasst 16 Bundesl\u00e4nder Q2\/26 Stand der Erhebung Bundesland Sortierung A\u2013Z Hintergrund Was der Mietspiegelf\u00fcr&#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-23077","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mietspiegel\u00fcbersicht - 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\/mietspiegeluebersicht\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mietspiegel\u00fcbersicht - Lima Invest Immobilien\" \/>\n<meta property=\"og:description\" content=\"Mietspiegel Deutschland 2026 \u2013 Lima Invest Immobilien Mietspiegel \u00b7 Deutschland 2026 Vergleichsmieten f\u00fcr ganz Deutschland auf einen Blick. Durchschnittsmieten (30, 60, 100 m\u00b2), Stadtteile und Entwicklungen f\u00fcr \u00fcber 100 St\u00e4dte. Unverbindliche Orientierung \u2013 ma\u00dfgeblich ist der jeweilige offizielle Mietspiegel. 0+ St\u00e4dte erfasst 16 Bundesl\u00e4nder Q2\/26 Stand der Erhebung Bundesland Sortierung A\u2013Z Hintergrund Was der Mietspiegelf\u00fcr...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/limainvestimmobilien.de\/en\/mietspiegeluebersicht\/\" \/>\n<meta property=\"og:site_name\" content=\"Lima Invest Immobilien\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-30T13:40:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/mietspiegeluebersicht\\\/\",\"url\":\"https:\\\/\\\/limainvestimmobilien.de\\\/mietspiegeluebersicht\\\/\",\"name\":\"Mietspiegel\u00fcbersicht - Lima Invest Immobilien\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/#website\"},\"datePublished\":\"2026-04-29T07:12:36+00:00\",\"dateModified\":\"2026-04-30T13:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/mietspiegeluebersicht\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/limainvestimmobilien.de\\\/mietspiegeluebersicht\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/limainvestimmobilien.de\\\/mietspiegeluebersicht\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/limainvestimmobilien.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mietspiegel\u00fcbersicht\"}]},{\"@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":"Mietspiegel\u00fcbersicht - 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\/mietspiegeluebersicht\/","og_locale":"en_US","og_type":"article","og_title":"Mietspiegel\u00fcbersicht - Lima Invest Immobilien","og_description":"Mietspiegel Deutschland 2026 \u2013 Lima Invest Immobilien Mietspiegel \u00b7 Deutschland 2026 Vergleichsmieten f\u00fcr ganz Deutschland auf einen Blick. Durchschnittsmieten (30, 60, 100 m\u00b2), Stadtteile und Entwicklungen f\u00fcr \u00fcber 100 St\u00e4dte. Unverbindliche Orientierung \u2013 ma\u00dfgeblich ist der jeweilige offizielle Mietspiegel. 0+ St\u00e4dte erfasst 16 Bundesl\u00e4nder Q2\/26 Stand der Erhebung Bundesland Sortierung A\u2013Z Hintergrund Was der Mietspiegelf\u00fcr...","og_url":"https:\/\/limainvestimmobilien.de\/en\/mietspiegeluebersicht\/","og_site_name":"Lima Invest Immobilien","article_modified_time":"2026-04-30T13:40:48+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/limainvestimmobilien.de\/mietspiegeluebersicht\/","url":"https:\/\/limainvestimmobilien.de\/mietspiegeluebersicht\/","name":"Mietspiegel\u00fcbersicht - Lima Invest Immobilien","isPartOf":{"@id":"https:\/\/limainvestimmobilien.de\/#website"},"datePublished":"2026-04-29T07:12:36+00:00","dateModified":"2026-04-30T13:40:48+00:00","breadcrumb":{"@id":"https:\/\/limainvestimmobilien.de\/mietspiegeluebersicht\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/limainvestimmobilien.de\/mietspiegeluebersicht\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/limainvestimmobilien.de\/mietspiegeluebersicht\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/limainvestimmobilien.de\/"},{"@type":"ListItem","position":2,"name":"Mietspiegel\u00fcbersicht"}]},{"@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\/23077","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=23077"}],"version-history":[{"count":10,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/23077\/revisions"}],"predecessor-version":[{"id":23112,"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/pages\/23077\/revisions\/23112"}],"wp:attachment":[{"href":"https:\/\/limainvestimmobilien.de\/en\/wp-json\/wp\/v2\/media?parent=23077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}