  :root {
    /* FDP-CD strikt */
    --y: #FFED00;         /* Pantone Gelb C */
    --m: #E5007D;         /* Pantone Magenta C */
    --c: #009EE3;         /* Pantone Cyan C — Akzentfarbe für Buttons / Highlights */
    --t: #00ABAE;         /* Türkis */
    --v: #A5027D;         /* Violett */
    /* Variante C: Schwarz ersetzt durch dunkles FDP-Blau */
    --k: #003A5E;         /* FDP-Dunkelblau (statt Schwarz für Flächen/Borders) */
    --w: #FFFFFF;         /* Weiß */
    --paper: #F7F6F1;     /* sanftes Off-White */
    --ink: #0B2A3E;       /* dunkles Tintenblau für Fließtext (statt fast Schwarz) */
    --line: rgba(0,58,94,0.18);
    --line-2: rgba(0,58,94,0.08);
    --ok: #16a34a;
    --warn: #d97706;
    --bad: #dc2626;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--paper);
    color: var(--ink);
    line-height: 1.5;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  ::selection { background: var(--y); color: var(--ink); }

  /* ═══════════════════════════════════════════════════
     UTILITY: FDP-Textbalken (Kern des CDs)
     Gelber/Magenta-Balken mit eingebettetem Text
     ═══════════════════════════════════════════════════ */
  .bar {
    display: inline-block;
    padding: 0.12em 0.45em;
    font-weight: 800;
    line-height: 1.25;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
  .bar-y { background: var(--y); color: var(--m); }
  .bar-m { background: var(--m); color: var(--y); }
  .bar-k { background: var(--k); color: var(--y); }
  .bar-c { background: var(--c); color: var(--w); }

  /* ═══════════════════════════════════════════════════
     DSGVO COOKIE BANNER
     ═══════════════════════════════════════════════════ */
  #cookie-banner {
    position: fixed;
    inset: 0;
    background: rgba(11, 11, 14, 0.7);
    z-index: 1000;
    display: none;
    align-items: flex-end;
    justify-content: center;
    padding: 1rem;
    animation: fadeIn 0.3s;
  }
  #cookie-banner.show { display: flex; }
  .cookie-card {
    background: var(--w);
    max-width: 720px;
    width: 100%;
    border: 3px solid var(--k);
    box-shadow: 12px 12px 0 var(--y);
    padding: 1.75rem;
    animation: slideUp 0.4s;
  }
  @keyframes slideUp {
    from { transform: translateY(40px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }
  .cookie-card h3 {
    font-size: 1.15rem;
    font-weight: 800;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .cookie-card h3 .ic {
    background: var(--y);
    color: var(--m);
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    font-size: 1.1rem;
  }
  .cookie-card p { font-size: 0.92rem; margin-bottom: 1rem; line-height: 1.55; }
  .cookie-card .opt {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.85rem;
    background: var(--paper);
    margin-bottom: 0.5rem;
    border-left: 3px solid var(--line);
    font-size: 0.88rem;
  }
  .cookie-card .opt input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--m);
    cursor: pointer;
  }
  .cookie-card .opt[data-locked] { opacity: 0.65; border-left-color: var(--ok); }
  .cookie-card .opt label { flex: 1; cursor: pointer; }
  .cookie-card .opt-title { font-weight: 700; }
  .cookie-card .opt-desc { font-size: 0.78rem; color: rgba(0,0,0,0.6); }
  .cookie-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-wrap: wrap;
  }
  .cookie-actions button {
    flex: 1;
    min-width: 120px;
    border: 2px solid var(--k);
    background: var(--w);
    padding: 0.7rem 1rem;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    transition: all 0.15s;
  }
  .cookie-actions button:hover { background: var(--k); color: var(--w); }
  .cookie-actions button.accept-all {
    background: var(--m);
    color: var(--y);
    border-color: var(--m);
  }
  .cookie-actions button.accept-all:hover { background: var(--k); border-color: var(--k); color: var(--y); }
  .cookie-link {
    margin-top: 0.85rem;
    font-size: 0.78rem;
    color: rgba(0,0,0,0.65);
  }
  .cookie-link a { color: var(--m); font-weight: 600; }

  /* ═══════════════════════════════════════════════════
     TOP STRIP (V.i.S.d.P.-Style, dünn, hart)
     ═══════════════════════════════════════════════════ */
  .topstrip {
    background: var(--k);
    color: var(--w);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    padding: 0.5rem 0;
  }
  .topstrip-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .topstrip .y { color: var(--y); }
  .topstrip .m { color: var(--m); }

  /* ═══════════════════════════════════════════════════
     HEADER NAV (sticky, hart)
     ═══════════════════════════════════════════════════ */
  header.main {
    background: var(--w);
    border-bottom: 1px solid var(--k);
    position: sticky;
    top: 0;
    z-index: 100;
  }
  .nav {
    max-width: 1440px;
    margin: 0 auto;
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    position: relative;
  }
  /* FDP-LOGO Recreation */
  .fdp-logo {
    display: inline-flex;
    flex-direction: column;
    line-height: 0.95;
    font-weight: 800;
    text-decoration: none;
    color: var(--c);
    align-items: flex-start;
  }
  .fdp-logo .top {
    font-size: 0.78rem;
    color: var(--c);
    letter-spacing: -0.01em;
  }
  .fdp-logo .mid {
    font-size: 0.78rem;
    color: var(--c);
    letter-spacing: -0.01em;
  }
  .fdp-logo .bar-mini {
    background: var(--m);
    color: var(--y);
    padding: 1px 4px;
    font-size: 0.72rem;
    margin-top: 1px;
    align-self: flex-end;
  }
  .brand {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    text-decoration: none;
    color: var(--ink);
  }
  .brand .sep {
    width: 1px;
    height: 36px;
    background: var(--line);
  }
  .brand-text { line-height: 1.05; }
  .brand-text .name {
    font-size: 1rem;
    font-weight: 800;
    display: block;
  }
  .brand-text .sub {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(0,0,0,0.55);
    margin-top: 2px;
    display: block;
  }
  nav.primary ul {
    display: flex;
    list-style: none;
    gap: 0.25rem;
    align-items: center;
    margin: 0;
    padding: 0;
    flex-wrap: nowrap;
  }
  /* WICHTIG: Sub-Dropdown ist standardmäßig versteckt — sonst sieht man alles aufgeklappt */
  nav.primary ul.dropdown,
  nav.primary li.has-dropdown > ul {
    display: none;
  }
  nav.primary li.has-dropdown:hover > ul,
  nav.primary li.has-dropdown:focus-within > ul {
    display: block;
  }
  nav.primary li {
    margin: 0;
    position: relative;
  }
  nav.primary a {
    text-decoration: none;
    color: var(--ink);
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.6rem 0.9rem;
    transition: color 0.15s, background 0.15s;
    position: relative;
    display: inline-flex;
    align-items: center;
    border: none;
    line-height: 1.3;
    white-space: nowrap;
  }
  nav.primary > ul > li > a {
    border-radius: 2px;
  }
  nav.primary a:hover,
  nav.primary li.has-dropdown:hover > a,
  nav.primary li.has-dropdown:focus-within > a {
    color: var(--m);
    background: rgba(229,0,125,0.08);
  }
  /* aktiver Link bekommt Magenta-Unterstrich, dezenter Pfeil */
  nav.primary a::after { display: none; }
  nav.primary li.has-dropdown > a {
    cursor: pointer;
  }
  nav.primary a.cta {
    background: var(--m);
    color: var(--y);
    padding: 0.6rem 1.1rem;
    margin-left: 0.4rem;
    font-weight: 700;
  }
  nav.primary a.cta:hover { background: var(--k); color: var(--y); }

  .nav-toggle {
    display: none;
    background: var(--k);
    color: var(--y);
    border: none;
    padding: 0.5rem 0.85rem;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
  }

  /* Lupen-Button im Header */
  .nav-search {
    background: transparent;
    border: 2px solid transparent;
    color: var(--k);
    padding: 0.45rem 0.65rem;
    font-size: 1.05rem;
    cursor: pointer;
    margin-left: 0.4rem;
    transition: all 0.15s;
    line-height: 1;
  }
  .nav-search:hover {
    background: var(--y);
    border-color: var(--k);
  }

  /* ═══ SUCH-OVERLAY (Fullscreen) ═══ */
  .search-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(11, 42, 62, 0.96);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    overflow-y: auto;
  }
  .search-overlay.open {
    display: block;
    opacity: 1;
    visibility: visible;
  }
  .search-overlay-close {
    position: absolute;
    top: 1.25rem;
    right: 1.5rem;
    background: var(--y);
    color: var(--k);
    border: none;
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
    font-weight: 800;
    cursor: pointer;
    border-radius: 50%;
    line-height: 1;
    transition: transform 0.15s;
  }
  .search-overlay-close:hover {
    transform: rotate(90deg);
  }
  .search-overlay-inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 7rem 1.5rem 4rem;
    color: var(--w);
  }
  .search-overlay-eyebrow {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--y);
    letter-spacing: 0.1em;
    margin-bottom: 0.6rem;
  }
  .search-overlay-h {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 900;
    line-height: 1.1;
    margin: 0 0 1.5rem 0;
    color: var(--w);
    letter-spacing: -0.02em;
  }
  .search-overlay-form {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
  }
  .search-overlay-form input[type="search"] {
    flex: 1;
    min-width: 250px;
    padding: 1rem 1.25rem;
    font-size: 1.1rem;
    border: 3px solid var(--w);
    background: var(--w);
    color: var(--k);
    font-family: inherit;
    outline: none;
  }
  .search-overlay-form input[type="search"]:focus {
    border-color: var(--y);
  }
  .search-overlay-form button {
    background: var(--m);
    color: var(--y);
    border: 3px solid var(--m);
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s;
  }
  .search-overlay-form button:hover {
    background: var(--y);
    color: var(--k);
    border-color: var(--y);
  }
  .search-overlay-hints {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-top: 1.25rem;
  }
  .search-overlay-hints .soh-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.55);
    margin-right: 0.25rem;
  }
  .search-overlay-hints a {
    color: var(--y);
    background: rgba(255, 237, 0, 0.12);
    border: 1px solid rgba(255, 237, 0, 0.3);
    padding: 0.4rem 0.85rem;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 600;
    transition: all 0.15s;
  }
  .search-overlay-hints a:hover {
    background: var(--y);
    color: var(--k);
    border-color: var(--y);
  }

  @media (max-width: 600px) {
    .search-overlay-inner {
      padding: 5rem 1rem 3rem;
    }
    .search-overlay-form { flex-direction: column; }
    .search-overlay-form button { width: 100%; }
  }

  /* ═══════════════════════════════════════════════════
     HERO – BIG FDP HAMMER
     ═══════════════════════════════════════════════════ */
  .hero {
    position: relative;
    background: var(--y);
    overflow: hidden;
    padding: 4rem 0 6rem;
  }
  .hero-grain {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 30%, rgba(229,0,125,0.05) 0%, transparent 50%),
                      radial-gradient(circle at 80% 70%, rgba(0,158,227,0.05) 0%, transparent 50%);
    pointer-events: none;
  }
  .hero-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 3rem;
    align-items: center;
  }
  .hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: 1.5rem;
  }
  .hero-eyebrow::before {
    content: '';
    width: 24px;
    height: 3px;
    background: var(--m);
  }
  .hero h1 {
    font-size: clamp(3rem, 7vw, 6.5rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.04em;
    color: var(--ink);
    margin-bottom: 2rem;
  }
  .hero h1 .line-bar {
    display: inline-block;
    background: var(--m);
    color: var(--y);
    padding: 0 0.2em;
    margin-right: 0.1em;
    transform: skewX(-3deg);
  }
  .hero h1 .line-bar > span { display: inline-block; transform: skewX(3deg); }
  .hero h1 em {
    font-style: italic;
    color: var(--m);
    font-weight: 900;
  }
  .hero-sub {
    font-size: 1.15rem;
    color: var(--ink);
    max-width: 540px;
    margin-bottom: 2.5rem;
    line-height: 1.55;
  }
  .hero-cta-row { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }

  /* ═══ HERO-TERMIN-CARD (rechte Spalte im Hero) ═══
     Enthält das [sg_sprechstunde]-Widget, aber radikal kompakter
     gestaltet damit es NICHT höher als der Text links nebenan wird.  */
  .hero-termin-card {
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 8px 8px 0 var(--m);
    align-self: center;
    max-width: 480px;
    width: 100%;
    padding: 0;
    overflow: hidden;
  }
  /* Sprechstunde-Section drinnen: alle Default-Paddings/Margins killen */
  .hero-termin-card .sprechstunde-block {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .hero-termin-card .sprechstunde-block .container {
    max-width: 100% !important;
    padding: 1.1rem 1.25rem !important;
    margin: 0 !important;
  }
  .hero-termin-card .sp-wrap {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }
  /* Header: Emoji raus, kleinere Headline */
  .hero-termin-card .sp-header {
    display: block !important;
    margin: 0 0 0.55rem 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  .hero-termin-card .sp-emoji {
    display: none !important;
  }
  .hero-termin-card .sp-header .eyebrow {
    font-size: 0.65rem !important;
    margin-bottom: 2px !important;
  }
  .hero-termin-card .sp-h2 {
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    font-weight: 800 !important;
  }
  /* Lead-Text: KOMPLETT WEG (zu lang für Hero) */
  .hero-termin-card .sp-lead {
    display: none !important;
  }
  /* Meeting-Info: kompakter */
  .hero-termin-card .sp-meeting {
    background: var(--paper) !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    padding: 0.55rem 0.75rem !important;
    margin: 0 0 0.8rem 0 !important;
    border-radius: 0 !important;
  }
  .hero-termin-card .sp-meeting-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.1rem !important;
    font-size: 0.78rem !important;
    margin: 0 !important;
  }
  .hero-termin-card .sp-mb-when,
  .hero-termin-card .sp-mb-where {
    font-size: 0.78rem !important;
  }
  .hero-termin-card .sp-meeting-titel {
    font-size: 0.72rem !important;
    margin-top: 0.2rem !important;
    line-height: 1.3 !important;
    opacity: 0.75 !important;
  }
  /* Status-Box klein */
  .hero-termin-card .sp-status {
    padding: 0.6rem 0.75rem !important;
    margin: 0 0 0.7rem 0 !important;
    font-size: 0.82rem !important;
  }
  .hero-termin-card .sp-status p {
    font-size: 0.78rem !important;
    margin: 0.25rem 0 0 0 !important;
  }
  /* Slots: kompakte Buttons */
  .hero-termin-card .sp-slots {
    margin: 0 0 0.7rem 0 !important;
  }
  .hero-termin-card .sp-slots-label {
    font-size: 0.72rem !important;
    margin-bottom: 0.4rem !important;
  }
  .hero-termin-card .sp-slot {
    padding: 0.5rem 0.7rem !important;
    margin: 0 0 0.3rem 0 !important;
    font-size: 0.82rem !important;
  }
  .hero-termin-card .sp-slot-time {
    font-size: 0.82rem !important;
  }
  .hero-termin-card .sp-slot-badge {
    font-size: 0.65rem !important;
    padding: 0.1rem 0.4rem !important;
  }
  /* Form-Felder kompakter */
  .hero-termin-card .sp-fields {
    margin: 0 !important;
  }
  .hero-termin-card .sp-field {
    margin: 0 0 0.55rem 0 !important;
  }
  .hero-termin-card .sp-field label {
    font-size: 0.72rem !important;
    margin-bottom: 0.18rem !important;
    display: block !important;
  }
  .hero-termin-card .sp-field input[type="text"],
  .hero-termin-card .sp-field input[type="email"],
  .hero-termin-card .sp-field input[type="tel"],
  .hero-termin-card .sp-field textarea {
    padding: 0.45rem 0.6rem !important;
    font-size: 0.85rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .hero-termin-card .sp-field textarea {
    min-height: 60px !important;
    max-height: 80px !important;
  }
  .hero-termin-card .sp-field-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.55rem !important;
  }
  .hero-termin-card .sp-field-row .sp-field {
    margin-bottom: 0 !important;
  }
  .hero-termin-card .form-checkbox {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
    align-items: flex-start !important;
  }
  .hero-termin-card .form-checkbox input {
    margin-top: 0.2rem !important;
    flex-shrink: 0 !important;
  }
  .hero-termin-card .btn {
    padding: 0.65rem 1rem !important;
    font-size: 0.85rem !important;
    width: 100% !important;
    justify-content: center !important;
  }
  @media (max-width: 1100px) {
    .hero-termin-card {
      max-width: 100%;
      margin: 0;
      box-shadow: 6px 6px 0 var(--m);
    }
  }

  .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.95rem 1.4rem;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.92rem;
    transition: all 0.15s;
    border: 2px solid var(--k);
    cursor: pointer;
    font-family: inherit;
    background: var(--w);
    color: var(--ink);
  }
  .btn-k { background: var(--k); color: var(--w); }
  .btn-k:hover { background: var(--m); color: var(--y); border-color: var(--m); }
  .btn-m { background: var(--m); color: var(--y); border-color: var(--m); }
  .btn-m:hover { background: var(--k); color: var(--y); border-color: var(--k); }
  .btn-w { background: var(--w); color: var(--ink); }
  .btn-w:hover { background: var(--k); color: var(--w); }
  .btn-sm { padding: 0.55rem 1rem; font-size: 0.82rem; }

  /* Hero portrait — geometrische FDP-Komposition (Stamp & Corner bleiben INNERHALB Hero-Bereich) */
  .hero-visual {
    position: relative;
    aspect-ratio: 4/5;
    padding: 1.25rem 1.5rem 2rem 0.5rem;  /* schafft Raum für Stamp/Corner ohne Overlap */
  }
  .hero-portrait {
    position: absolute;
    top: 0;
    right: 1.5rem;
    bottom: 2rem;
    left: 0.5rem;
    background: var(--m);
    border: 3px solid var(--k);
    box-shadow: 14px 14px 0 var(--k);
    display: grid;
    grid-template-rows: 1fr 1fr;
    overflow: hidden;
  }
  .hero-claim-y {
    background: var(--y);
    color: var(--k);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 1.5rem 1.25rem;
    border-bottom: 3px solid var(--k);
    position: relative;
  }
  .hcy-prefix {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.3;
    max-width: 220px;
    margin-bottom: 0.6rem;
    opacity: 0.78;
  }
  .hcy-since {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.15rem;
  }
  .hcy-year {
    font-size: 4.5rem;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.04em;
  }
  .hero-claim-k {
    background: var(--k);
    color: var(--w);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.6rem;
    padding: 1rem 1.25rem;
  }
  .hck-row {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 0.6rem;
    align-items: baseline;
    font-size: 0.78rem;
    line-height: 1.2;
  }
  .hck-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.66rem;
    color: var(--y);
    letter-spacing: 0.06em;
    font-weight: 700;
    text-transform: uppercase;
  }
  .hck-val {
    font-weight: 700;
    color: var(--w);
  }
  .hero-stamp {
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    background: var(--m);
    color: var(--y);
    padding: 0.95rem 1.2rem;
    font-weight: 900;
    font-size: 0.85rem;
    line-height: 1.15;
    border: 3px solid var(--k);
    transform: rotate(-4deg);
    box-shadow: 5px 5px 0 var(--k);
    z-index: 3;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .hero-corner-c {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--c);
    color: var(--w);
    padding: 0.5rem 0.85rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    z-index: 3;
  }

  /* ═══════════════════════════════════════════════════
     STICKY ACTION STRIP (under hero)
     ═══════════════════════════════════════════════════ */
  .actstrip {
    background: var(--k);
    color: var(--w);
    padding: 1rem 0;
    border-bottom: 4px solid var(--y);
  }
  .actstrip-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.5rem;
  }
  .act-icon {
    background: var(--y);
    color: var(--m);
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    font-weight: 900;
  }
  .act-text { line-height: 1.3; }
  .act-text .lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: var(--y);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 2px;
  }
  .act-text .val { font-size: 1.02rem; font-weight: 700; }

  /* ═══════════════════════════════════════════════════
     SECTIONS — Standard
     ═══════════════════════════════════════════════════ */
  section { padding: 6rem 0; position: relative; }
  .container { max-width: 1440px; margin: 0 auto; padding: 0 1.5rem; }
  .section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3rem;
    gap: 2rem;
    flex-wrap: wrap;
  }
  .eyebrow {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--m);
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1rem;
  }
  .eyebrow::before {
    content: '';
    width: 20px;
    height: 3px;
    background: var(--m);
  }
  h2 {
    font-size: clamp(2.2rem, 4.5vw, 3.75rem);
    font-weight: 900;
    line-height: 0.98;
    letter-spacing: -0.03em;
    max-width: 880px;
  }
  h2 em {
    font-style: italic;
    color: var(--m);
  }
  h2 .hl {
    background: var(--y);
    color: var(--m);
    padding: 0 0.15em;
  }
  .section-lead {
    margin-top: 1rem;
    font-size: 1.05rem;
    color: rgba(0,0,0,0.7);
    max-width: 740px;
    line-height: 1.6;
  }

  /* ═══════════════════════════════════════════════════
     ABOUT
     ═══════════════════════════════════════════════════ */
  .about { background: var(--w); }
  .about-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 4rem;
    align-items: start;
  }
  .about-photo-wrap { position: sticky; top: 110px; }
  .about-photo {
    aspect-ratio: 4/5;
    background: linear-gradient(135deg, #1a3a5a, #003a5c);
    border: 3px solid var(--k);
    box-shadow: 16px 16px 0 var(--m);
    display: grid;
    place-items: center;
    color: rgba(255,255,255,0.4);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    letter-spacing: 0.15em;
    text-align: center;
    line-height: 1.6;
  }
  .about-credit {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(0,0,0,0.5);
    margin-top: 1rem;
    text-align: right;
  }

  .about-content h3 {
    font-size: 1.4rem;
    font-weight: 800;
    margin-top: 2.25rem;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.65rem;
  }
  .about-content h3::before {
    content: '';
    width: 24px;
    height: 4px;
    background: var(--m);
    flex-shrink: 0;
  }
  .about-content p {
    margin-bottom: 1.2rem;
    color: rgba(0,0,0,0.78);
    line-height: 1.8;
  }
  .about-content strong {
    color: var(--ink);
    font-weight: 700;
    /* Mehr Whitespace, damit lange fettgesetzte Phrasen lesbar bleiben */
    padding: 0 1px;
  }

  .facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    margin-top: 2rem;
  }
  .fact {
    background: var(--paper);
    padding: 1.1rem 1.25rem;
    border-left: 4px solid var(--m);
  }
  .fact .lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(0,0,0,0.55);
    margin-bottom: 0.3rem;
    display: block;
  }
  .fact .val { font-weight: 700; font-size: 0.94rem; line-height: 1.35; }

  /* ═══════════════════════════════════════════════════
     SCHULDENUHR
     ═══════════════════════════════════════════════════ */
  .schulden {
    background: var(--k);
    color: var(--w);
    position: relative;
    overflow: hidden;
  }
  .schulden::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--y) 0%, var(--y) 33%, var(--m) 33%, var(--m) 66%, var(--c) 66%, var(--c) 100%);
  }
  .schulden h2 { color: var(--w); }
  .schulden h2 .hl { background: var(--y); color: var(--k); }
  .schulden .eyebrow { color: var(--y); }
  .schulden .eyebrow::before { background: var(--y); }

  .schulden-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 4rem;
    align-items: center;
    margin-top: 2rem;
  }
  .uhr-display {
    background: rgba(255,255,255,0.04);
    border: 2px solid rgba(255,237,0,0.3);
    padding: 2.5rem;
    position: relative;
  }
  .uhr-tag {
    position: absolute;
    top: -1px;
    right: -1px;
    background: var(--y);
    color: var(--k);
    padding: 0.45rem 0.95rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  .uhr-lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
    margin-bottom: 1rem;
  }
  .uhr-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: clamp(2.8rem, 6vw, 4.5rem);
    font-weight: 700;
    color: var(--y);
    line-height: 0.95;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
  }
  .uhr-num .cur { color: rgba(255,255,255,0.45); font-size: 0.55em; margin-left: 0.25rem; }
  .uhr-sub { font-size: 0.92rem; color: rgba(255,255,255,0.7); margin-top: 0.5rem; }
  .uhr-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,0.12);
  }
  .uhr-stat-lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.66rem;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.55);
    margin-bottom: 0.3rem;
    text-transform: uppercase;
  }
  .uhr-stat-val {
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--y);
  }
  .uhr-stat-val.alt { color: var(--w); font-size: 0.95rem; }
  .uhr-foot-src {
    margin-top: 1.4rem;
    padding-top: 1rem;
    border-top: 1px dashed rgba(255, 237, 0, 0.25);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(255, 237, 0, 0.65);
    line-height: 1.55;
    letter-spacing: 0.02em;
  }
  .uhr-foot-src strong { color: var(--y); }
  .schulden-text p { color: rgba(255,255,255,0.85); margin-bottom: 1rem; line-height: 1.7; }
  .schulden-source {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.45);
    margin-top: 1rem;
  }

  /* ═══════════════════════════════════════════════════
     SITZUNGEN
     ═══════════════════════════════════════════════════ */
  .sitz { background: var(--paper); }
  .sitz-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 2rem;
    border-bottom: 3px solid var(--k);
  }
  .stab {
    padding: 0.95rem 1.5rem;
    background: none;
    border: none;
    border-bottom: 4px solid transparent;
    margin-bottom: -3px;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.92rem;
    color: rgba(0,0,0,0.55);
    cursor: pointer;
    transition: all 0.15s;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
  }
  .stab:hover { color: var(--ink); }
  .stab.active { color: var(--m); border-bottom-color: var(--m); }

  .stab-panel { display: none; }
  .stab-panel.active { display: block; animation: fadeIn 0.3s; }

  .sitz-card {
    background: var(--w);
    border: 1px solid var(--line);
    padding: 1.5rem 1.75rem;
    margin-bottom: 0.85rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.75rem;
    align-items: center;
    transition: all 0.15s;
    position: relative;
  }
  .sitz-card:hover { border-color: var(--k); transform: translateX(2px); }
  .sitz-card.next {
    border: 3px solid var(--m);
    box-shadow: 6px 6px 0 var(--y);
  }
  .sitz-card.next::before {
    content: 'NÄCHSTE';
    position: absolute;
    top: -12px;
    left: 1.5rem;
    background: var(--m);
    color: var(--y);
    padding: 0.2rem 0.7rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  .sitz-date {
    background: var(--k);
    color: var(--w);
    padding: 0.85rem 1.1rem;
    text-align: center;
    min-width: 80px;
  }
  .sitz-card.next .sitz-date { background: var(--m); color: var(--y); }
  .sitz-date strong {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 700;
  }
  .sitz-date small {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    margin-top: 0.25rem;
    opacity: 0.85;
  }
  .sitz-body h4 {
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: 0.4rem;
    line-height: 1.3;
  }
  .sitz-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.74rem;
    color: rgba(0,0,0,0.6);
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-bottom: 0.5rem;
  }
  .sitz-topics { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.6rem; }
  .sitz-topic {
    background: var(--paper);
    border: 1px solid var(--line);
    padding: 0.22rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--ink);
  }
  .sitz-topic.hot { background: var(--m); color: var(--y); border-color: var(--m); }
  .sitz-docs {
    margin-top: 0.75rem;
    padding: 0.6rem 0.9rem;
    background: var(--paper);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.74rem;
    color: rgba(0,0,0,0.65);
    border-left: 3px solid var(--y);
  }
  .sitz-actions { display: flex; flex-direction: column; gap: 0.4rem; }
  .sitz-actions a {
    text-decoration: none;
    background: var(--paper);
    color: var(--ink);
    padding: 0.45rem 0.8rem;
    font-size: 0.74rem;
    font-weight: 600;
    text-align: center;
    border: 1px solid var(--line);
    white-space: nowrap;
    transition: all 0.15s;
  }
  .sitz-actions a:hover { background: var(--k); color: var(--w); border-color: var(--k); }
  .sitz-actions a.primary { background: var(--y); border-color: var(--y); color: var(--m); }
  .sitz-actions a.primary:hover { background: var(--k); color: var(--y); border-color: var(--k); }

  .sitz-card.past { padding: 1.1rem 1.5rem; }
  .sitz-card.past .sitz-date {
    background: var(--paper);
    color: var(--ink);
    padding: 0.55rem 0.85rem;
    min-width: 70px;
  }
  .sitz-card.past .sitz-date strong { font-size: 1.2rem; }
  .vote-result {
    margin-top: 0.5rem;
    padding: 0.5rem 0.85rem;
    background: var(--paper);
    border-left: 3px solid var(--ok);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
  }
  .vote-result.bad { border-left-color: var(--bad); }

  .src-bar {
    background: var(--ink);
    color: var(--w);
    padding: 1.5rem 1.75rem;
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1.5rem;
    align-items: center;
  }
  .src-bar h4 { font-size: 1rem; color: var(--y); margin-bottom: 0.3rem; }
  .src-bar p { font-size: 0.86rem; color: rgba(255,255,255,0.75); }

  /* ═══════════════════════════════════════════════════
     AUSSCHÜSSE
     ═══════════════════════════════════════════════════ */
  .aus { background: var(--w); }
  .aus-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
  .aus-card {
    background: var(--paper);
    border: 1px solid var(--line);
    padding: 1.75rem;
    position: relative;
    transition: all 0.15s;
  }
  .aus-card.me {
    border: 3px solid var(--m);
    background: var(--w);
    box-shadow: 8px 8px 0 var(--y);
    padding-top: 3.5rem; /* Platz für den Banner */
  }
  .aus-card.me::before {
    content: '⭐  ICH SITZE HIER  ⭐';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: var(--m);
    color: var(--y);
    padding: 0.55rem 1rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-align: center;
    border-bottom: 2px solid var(--k);
    z-index: 2;
  }
  .aus-card h3 {
    font-size: 1.15rem;
    font-weight: 800;
    margin-bottom: 0.35rem;
    line-height: 1.25;
  }
  .aus-card .am {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(0,0,0,0.55);
    margin-bottom: 1.25rem;
    letter-spacing: 0.04em;
  }
  .aus-leitung {
    background: var(--w);
    border-left: 3px solid var(--c);
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.86rem;
  }
  .aus-leitung small {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.66rem;
    color: rgba(0,0,0,0.55);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    margin-bottom: 0.1rem;
  }
  .aus-leitung > div + small { margin-top: 0.5rem; }
  .aus-mit {
    list-style: none;
    display: grid;
    gap: 0.35rem;
    font-size: 0.88rem;
  }
  .aus-mit li {
    padding: 0.42rem 0.7rem;
    background: var(--w);
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border-left: 3px solid transparent;
  }
  .aus-mit li.fdp {
    background: var(--y);
    border-left-color: var(--m);
    font-weight: 700;
  }
  .aus-mit li.fdp.is-me {
    background: var(--m);
    color: var(--y);
    font-weight: 800;
    position: relative;
  }
  .aus-mit li.fdp.is-me::after {
    content: '◀ DAS BIN ICH';
    margin-left: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    background: var(--y);
    color: var(--m);
    padding: 0.15rem 0.45rem;
  }
  .ptag {
    display: inline-block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.62rem;
    padding: 0.12rem 0.4rem;
    background: rgba(0,0,0,0.07);
    letter-spacing: 0.05em;
    font-weight: 700;
    min-width: 38px;
    text-align: center;
  }
  .aus-mit li.fdp .ptag { background: var(--k); color: var(--y); }
  .aus-mit li.fdp.is-me .ptag { background: var(--y); color: var(--m); }

  /* ═══════════════════════════════════════════════════
     ANTRÄGE
     ═══════════════════════════════════════════════════ */
  .ant { background: var(--paper); }
  .tabs {
    display: flex;
    gap: 0;
    margin-bottom: 1.5rem;
    border-bottom: 3px solid var(--k);
    flex-wrap: wrap;
  }
  .tab {
    padding: 0.95rem 1.3rem;
    background: none;
    border: none;
    border-bottom: 4px solid transparent;
    margin-bottom: -3px;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.88rem;
    color: rgba(0,0,0,0.55);
    cursor: pointer;
    white-space: nowrap;
  }
  .tab:hover { color: var(--ink); }
  .tab.active { color: var(--m); border-bottom-color: var(--m); }
  .tab-count {
    display: inline-block;
    background: rgba(0,0,0,0.08);
    padding: 0.1rem 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    margin-left: 0.4rem;
  }
  .tab.active .tab-count { background: var(--m); color: var(--y); }
  .tab-panel { display: none; }
  .tab-panel.active { display: block; animation: fadeIn 0.3s; }
  @keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

  .filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1.5rem;
  }
  .chip {
    background: var(--w);
    border: 1px solid var(--line);
    padding: 0.42rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s;
  }
  .chip:hover, .chip.active {
    background: var(--k);
    color: var(--w);
    border-color: var(--k);
  }

  .ant-list { display: grid; gap: 0.6rem; }
  .ant-row {
    background: var(--w);
    border-left: 4px solid var(--y);
    padding: 1.1rem 1.4rem;
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 1.5rem;
    align-items: center;
    transition: all 0.15s;
  }
  .ant-row:hover {
    border-left-color: var(--m);
    background: var(--w);
    transform: translateX(2px);
  }
  .ant-row.koa { border-left-color: var(--m); }
  .ant-row.alt { border-left-color: var(--c); opacity: 0.92; }
  .ant-date {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: rgba(0,0,0,0.55);
  }
  .ant-body h4 { font-size: 0.98rem; font-weight: 700; margin-bottom: 0.35rem; line-height: 1.35; }
  .ant-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(0,0,0,0.55);
  }
  .ant-status {
    padding: 0.32rem 0.75rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .st-ok { background: var(--ok); color: var(--w); }
  .st-ber { background: var(--m); color: var(--y); }
  .st-ein { background: var(--y); color: var(--ink); }
  .st-bad { background: var(--bad); color: var(--w); }
  .st-zur { background: #94a3b8; color: var(--w); }
  .st-ref { background: var(--c); color: var(--w); }

  .note {
    background: var(--w);
    border: 1px dashed var(--line);
    padding: 1rem 1.25rem;
    font-size: 0.85rem;
    color: rgba(0,0,0,0.65);
    margin-top: 1rem;
    font-style: italic;
  }

  /* ═══════════════════════════════════════════════════
     ANFRAGEN
     ═══════════════════════════════════════════════════ */
  .anf { background: var(--w); }
  .anf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
  .anf-col h3 {
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .anf-col h3 .dot {
    width: 12px; height: 12px; border-radius: 50%;
    background: var(--ok);
  }
  .anf-col.offen h3 .dot { background: var(--warn); }
  .anf-list { display: grid; gap: 0.6rem; }
  .anf-row {
    background: var(--paper);
    padding: 1.1rem 1.25rem;
    border-left: 3px solid var(--ok);
  }
  .anf-row.offen { border-left-color: var(--warn); }
  .anf-row h4 { font-size: 0.95rem; font-weight: 700; margin-bottom: 0.4rem; line-height: 1.35; }
  .anf-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.45rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(0,0,0,0.55);
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* ═══════════════════════════════════════════════════
     INSTAGRAM
     ═══════════════════════════════════════════════════ */
  .ig { background: var(--paper); }
  .ig-header-wrap {
    background: linear-gradient(135deg, var(--y), var(--m) 50%, var(--c));
    padding: 3px;
    margin-bottom: 2rem;
  }
  .ig-header {
    background: var(--w);
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
  }
  .ig-avatar {
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, var(--y), var(--m) 50%, var(--c));
    padding: 3px;
    border-radius: 50%;
    display: grid;
    place-items: center;
  }
  .ig-avatar-inner {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--w);
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 0.92rem;
    color: var(--m);
    letter-spacing: -0.02em;
  }
  .ig-handle h3 { font-size: 1.15rem; font-weight: 800; }
  .ig-handle .at {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.85rem;
    color: rgba(0,0,0,0.55);
  }
  .ig-handle p { font-size: 0.85rem; color: rgba(0,0,0,0.7); margin-top: 0.35rem; }
  .ig-follow {
    background: var(--m);
    color: var(--y);
    padding: 0.55rem 1.25rem;
    text-decoration: none;
    font-weight: 800;
    font-size: 0.85rem;
    margin-left: auto;
  }
  .ig-follow:hover { background: var(--k); }
  .ig-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
  .ig-post {
    aspect-ratio: 1;
    background: linear-gradient(135deg, rgba(255,237,0,0.15), rgba(229,0,125,0.1));
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid var(--line);
    transition: all 0.15s;
  }
  .ig-post:hover { transform: scale(1.02); border-color: var(--m); }
  .ig-post-body {
    width: 100%; height: 100%;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 1rem;
    color: rgba(0,0,0,0.55);
  }
  .ig-post-body .em { font-size: 2.2rem; margin-bottom: 0.4rem; }
  .ig-post-body .cap { font-size: 0.72rem; font-weight: 600; line-height: 1.3; }
  .ig-post-type {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    font-size: 0.85rem;
  }
  .ig-info-box {
    background: var(--y);
    color: var(--ink);
    padding: 1rem 1.25rem;
    margin-top: 1.5rem;
    font-size: 0.85rem;
    line-height: 1.55;
    border-left: 4px solid var(--k);
  }

  /* ═══════════════════════════════════════════════════
     PRESSE
     ═══════════════════════════════════════════════════ */
  .presse { background: var(--k); color: var(--w); position: relative; }
  .presse .section-lead { color: rgba(255,255,255,0.92); }
  .presse .section-lead strong { color: var(--y); }
  .presse::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--m);
  }
  .presse h2 { color: var(--w); }
  .presse h2 .hl { background: var(--y); color: var(--k); }
  .presse .eyebrow { color: var(--y); }
  .presse .eyebrow::before { background: var(--y); }
  .presse-lead { color: rgba(255,255,255,0.75); }

  .ptab-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 2px solid rgba(255,255,255,0.15);
    margin-bottom: 2rem;
  }
  .ptab {
    padding: 0.95rem 1.25rem;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    color: rgba(255,255,255,0.6);
    font-family: inherit;
    font-weight: 700;
    font-size: 0.86rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.15s;
  }
  .ptab:hover { color: var(--w); }
  .ptab.active { color: var(--y); border-bottom-color: var(--y); }
  .ptab-num {
    background: rgba(255,255,255,0.08);
    padding: 0.1rem 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
  }
  .ptab.active .ptab-num { background: var(--y); color: var(--k); }
  .ptab-panel { display: none; }
  .ptab-panel.active { display: block; animation: fadeIn 0.3s; }

  .cluster-intro {
    background: rgba(255,255,255,0.04);
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    border-left: 3px solid var(--y);
    font-size: 0.9rem;
    line-height: 1.55;
    color: rgba(255,255,255,0.82);
  }

  .pr-list { display: grid; gap: 0.5rem; }
  .pr-row {
    background: rgba(255,255,255,0.04);
    padding: 1rem 1.4rem;
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 1.5rem;
    align-items: center;
    border-left: 3px solid var(--y);
    transition: all 0.15s;
  }
  .pr-row:hover { background: rgba(255,255,255,0.07); border-left-color: var(--m); }
  .pr-date {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.76rem;
    color: rgba(255,255,255,0.6);
  }
  .pr-body h4 { font-size: 0.96rem; font-weight: 700; line-height: 1.35; margin-bottom: 0.3rem; color: var(--w); }
  .pr-src {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(255,255,255,0.55);
  }
  .pr-src strong { color: var(--y); font-weight: 600; }
  .pr-link {
    background: rgba(255,255,255,0.08);
    color: var(--w);
    padding: 0.45rem 0.85rem;
    font-size: 0.74rem;
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
  }
  .pr-link:hover { background: var(--y); color: var(--k); }

  /* Presse-Row als anklickbarer Link */
  .presse-row-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }
  .presse-row-link:hover {
    transform: translateY(-2px);
    text-decoration: none;
  }
  .presse-row-link:hover .pr-link {
    background: var(--y);
    color: var(--k);
  }
  .presse-row-link:hover .pr-body h3 {
    color: var(--y);
  }
  .presse-row-link:focus-visible {
    outline: 3px solid var(--y);
    outline-offset: 2px;
  }

  /* ═══════════════════════════════════════════════════
     IDEEN-TRACKER (Modul-Vorschau)
     ═══════════════════════════════════════════════════ */
  .ideen { background: var(--w); }

  /* ═══════════════════════════════════════════════════
     BACKEND
     ═══════════════════════════════════════════════════ */
  .back { background: var(--paper); }
  .back-shell {
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 14px 14px 0 var(--y);
    overflow: hidden;
  }
  .back-bar {
    background: var(--k);
    color: var(--w);
    padding: 0.75rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
  }
  .back-bar .dots { display: flex; gap: 0.4rem; }
  .back-bar .dots span {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
  }
  .back-bar .url {
    flex: 1;
    background: rgba(255,255,255,0.08);
    padding: 0.28rem 0.65rem;
    border-radius: 2px;
    opacity: 0.8;
  }
  .back-bar .user {
    background: var(--m);
    color: var(--y);
    padding: 0.22rem 0.65rem;
    font-weight: 700;
    font-size: 0.72rem;
  }
  .back-body { display: grid; grid-template-columns: 240px 1fr; min-height: 540px; }
  .back-side {
    background: var(--paper);
    border-right: 1px solid var(--line);
    padding: 1rem 0;
  }
  .back-side h6 {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(0,0,0,0.45);
    padding: 0.6rem 1.25rem;
    margin-top: 0.5rem;
  }
  .back-side ul { list-style: none; }
  .back-side li {
    padding: 0.6rem 1.25rem;
    font-size: 0.88rem;
    cursor: pointer;
    border-left: 3px solid transparent;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
  }
  .back-side li:hover { background: var(--w); }
  .back-side li.active {
    background: var(--w);
    border-left-color: var(--m);
    color: var(--m);
  }
  .back-main { padding: 1.5rem 2rem; }
  .back-main h4 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .back-hint {
    background: var(--y);
    color: var(--ink);
    padding: 0.8rem 1.1rem;
    font-size: 0.85rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--k);
    line-height: 1.5;
  }

  .folder-layout { display: grid; grid-template-columns: 280px 1fr; gap: 1rem; }
  .folder-tree {
    background: var(--paper);
    padding: 0.85rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.82rem;
    line-height: 1.7;
    border: 1px solid var(--line);
    max-height: 320px;
    overflow-y: auto;
  }
  .folder-tree .f-item {
    cursor: pointer;
    padding: 0.18rem 0.4rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }
  .folder-tree .f-item:hover { background: var(--w); }
  .folder-tree .f-item.active { background: var(--k); color: var(--y); }
  .folder-tree .f-indent { padding-left: 1.5rem; }
  .folder-tree .f-count {
    margin-left: auto;
    background: var(--w);
    padding: 0.05rem 0.4rem;
    font-size: 0.68rem;
    color: rgba(0,0,0,0.55);
  }
  .folder-tree .f-item.active .f-count { background: var(--m); color: var(--y); }

  .folder-view {
    background: var(--w);
    border: 1px solid var(--line);
    padding: 1.25rem;
  }
  .folder-bc {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: rgba(0,0,0,0.6);
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--line);
  }
  .folder-bc strong { color: var(--ink); }
  .upload-zone {
    border: 2px dashed var(--line);
    padding: 1.4rem;
    text-align: center;
    margin-bottom: 1rem;
    background: var(--paper);
    cursor: pointer;
    transition: all 0.15s;
  }
  .upload-zone:hover { border-color: var(--m); background: var(--w); }
  .upload-zone .em { font-size: 1.6rem; margin-bottom: 0.35rem; }
  .upload-zone p { font-size: 0.86rem; margin-bottom: 0.3rem; }
  .upload-zone small { color: rgba(0,0,0,0.55); font-size: 0.74rem; }

  .file-list { display: grid; gap: 0.35rem; }
  .file-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 0.85rem;
    align-items: center;
    padding: 0.6rem 0.85rem;
    background: var(--paper);
    font-size: 0.84rem;
    border-left: 3px solid var(--c);
  }
  .file-icon { font-size: 1.2rem; }
  .file-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(0,0,0,0.55);
  }
  .file-bot {
    background: var(--ok);
    color: var(--w);
    padding: 0.2rem 0.55rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .file-bot.wait { background: var(--y); color: var(--ink); }
  .file-actions { display: flex; gap: 0.3rem; }
  .file-act {
    width: 26px; height: 26px;
    display: grid;
    place-items: center;
    background: transparent;
    border: 1px solid var(--line);
    cursor: pointer;
    font-size: 0.78rem;
  }
  .file-act:hover { background: var(--k); color: var(--w); }

  .bot-status {
    background: var(--k);
    color: var(--w);
    padding: 0.9rem 1.1rem;
    margin-top: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    font-size: 0.85rem;
    flex-wrap: wrap;
  }
  .bot-status strong { color: var(--y); }

  .steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 2.5rem;
  }
  .step {
    background: var(--w);
    border: 1px solid var(--k);
    padding: 1.4rem;
  }
  .step .num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: var(--m);
    letter-spacing: 0.1em;
    margin-bottom: 0.55rem;
  }
  .step h5 { font-size: 0.98rem; font-weight: 800; margin-bottom: 0.4rem; }
  .step p { font-size: 0.82rem; color: rgba(0,0,0,0.7); line-height: 1.5; }

  /* ═══════════════════════════════════════════════════
     FOOTER
     ═══════════════════════════════════════════════════ */
  footer {
    background: var(--k);
    color: var(--w);
    padding: 5rem 0 2rem;
    position: relative;
  }
  footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--y) 0%, var(--y) 33%, var(--m) 33%, var(--m) 66%, var(--c) 66%, var(--c) 100%);
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 2.2fr 1fr 1fr 1fr;
    gap: 3rem;
    margin-bottom: 3rem;
  }
  footer h5 {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--y);
    margin-bottom: 1rem;
  }
  footer ul { list-style: none; display: grid; gap: 0.5rem; }
  footer a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    font-size: 0.88rem;
    transition: color 0.15s;
  }
  footer a:hover { color: var(--y); }
  .footer-logo-block { line-height: 1.4; }
  .footer-logo-block .name {
    font-weight: 900;
    font-size: 1.15rem;
    margin-bottom: 0.3rem;
    display: block;
  }
  .footer-logo-block .name .y { color: var(--y); }
  .footer-logo-block p {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.65);
    max-width: 380px;
    margin-top: 0.75rem;
  }
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 2rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.74rem;
    color: rgba(255,255,255,0.55);
  }

  /* RSS-Feed-Block im Footer */
  .footer-rss-block {
    background: rgba(229, 0, 125, 0.12);
    border: 2px solid var(--m);
    padding: 1.5rem 1.75rem;
    margin: 2rem 0;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.5rem;
    align-items: center;
  }
  .footer-rss-left {
    display: flex;
    gap: 1rem;
    align-items: center;
  }
  .footer-rss-icon {
    font-size: 2rem;
    line-height: 1;
    flex-shrink: 0;
  }
  .footer-rss-block strong {
    color: var(--w);
    font-size: 1.05rem;
    display: block;
    margin-bottom: 0.25rem;
  }
  .footer-rss-block p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    line-height: 1.45;
    margin: 0;
    max-width: 500px;
  }
  .footer-rss-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .footer-rss-btn {
    text-decoration: none;
    padding: 0.65rem 1rem;
    font-size: 0.88rem;
    font-weight: 700;
    text-align: center;
    border: 2px solid;
    transition: all 0.15s;
    white-space: nowrap;
  }
  .footer-rss-btn-prim {
    background: var(--m);
    color: var(--y);
    border-color: var(--m);
  }
  .footer-rss-btn-prim:hover {
    background: var(--y);
    color: var(--k);
    border-color: var(--y);
  }
  .footer-rss-btn-sec {
    background: transparent;
    color: var(--w);
    border-color: rgba(255, 255, 255, 0.4);
  }
  .footer-rss-btn-sec:hover {
    background: var(--w);
    color: var(--k);
    border-color: var(--w);
  }
  @media (max-width: 700px) {
    .footer-rss-block {
      grid-template-columns: 1fr;
      padding: 1.25rem;
    }
    .footer-rss-left { flex-direction: column; align-items: flex-start; gap: 0.5rem; text-align: left; }
  }

  /* ═══════════════════════════════════════════════════
     RESPONSIVE
     ═══════════════════════════════════════════════════ */
  @media (max-width: 1100px) {
    nav.primary ul {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: var(--w);
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 0;
      border-top: 4px solid var(--m);
      box-shadow: 0 10px 24px rgba(0,0,0,0.18);
      z-index: 999;
      max-height: calc(100vh - 80px);
      overflow-y: auto;
    }
    nav.primary.open ul {
      display: flex;
    }
    nav.primary li {
      width: 100%;
    }
    nav.primary > ul > li {
      border-bottom: 1px solid rgba(0,0,0,0.08);
    }
    nav.primary > ul > li:last-child {
      border-bottom: none;
    }
    /* Top-Level-Links: kräftig, gut sichtbar */
    nav.primary > ul > li > a {
      padding: 0.95rem 1.5rem;
      font-size: 1rem;
      font-weight: 700;
      width: 100%;
      color: var(--k);
      background: var(--w);
      border-bottom: none;
    }
    nav.primary > ul > li > a:hover {
      background: var(--y);
      color: var(--k);
    }
    /* Dropdown-Header: zeigt dass darunter mehr kommt */
    nav.primary > ul > li.has-dropdown > a {
      background: rgba(11, 42, 62, 0.04);
    }
    .nav-toggle { display: block; }
    .hero-inner { grid-template-columns: 1fr; gap: 3rem; }
    .hero-visual { max-width: 360px; margin: 0 auto; }
    .actstrip-inner { grid-template-columns: 1fr; text-align: left; gap: 0.85rem; }
    .schulden-grid { grid-template-columns: 1fr; gap: 2rem; }
    .about-grid { grid-template-columns: 1fr; }
    .about-photo-wrap { position: relative; top: 0; max-width: 360px; margin: 0 auto; }
    .aus-grid { grid-template-columns: 1fr; }
    .anf-grid { grid-template-columns: 1fr; }
    .ig-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .sitz-card, .ant-row, .pr-row { grid-template-columns: 1fr; gap: 0.85rem; }
    .sitz-actions { flex-direction: row; flex-wrap: wrap; }
    .folder-layout { grid-template-columns: 1fr; }
    .back-body { grid-template-columns: 1fr; }
    .steps-grid { grid-template-columns: 1fr 1fr; }
    .login-grid { grid-template-columns: 1fr !important; gap: 2rem !important; }
    .contact-block { grid-template-columns: 1fr !important; gap: 2rem !important; }
    .kompass-claims { grid-template-columns: 1fr; }
  }
  @media (max-width: 700px) {
    /* Hero-Komposition kompakter */
    h1 { font-size: 2.2rem !important; }
    h2 { font-size: 1.8rem !important; }
    h3 { font-size: 1.15rem !important; }
    .hero-corner-c { font-size: 0.7rem; }
    .hero-stamp { font-size: 0.72rem; padding: 0.65rem 0.85rem; }
    .hcy-year { font-size: 3.2rem; }
    .hcy-prefix { font-size: 0.66rem; max-width: 180px; }
    .hck-row { grid-template-columns: 80px 1fr; font-size: 0.72rem; }
    .hck-tag { font-size: 0.6rem; }
    /* Container Padding */
    .container { padding-left: 1rem; padding-right: 1rem; }
    section { padding: 3.5rem 0; }
    /* Tabs scrollbar */
    .tabs, .ptab-row, .stab-row { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
    .tab, .ptab, .stab { flex-shrink: 0; white-space: nowrap; font-size: 0.8rem; padding: 0.6rem 0.85rem; }
    /* Section-Heads: Counter unter Headline */
    .section-head { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .blog-counter { align-self: flex-start; }
    /* Schuldenuhr */
    .uhr-stats { grid-template-columns: 1fr 1fr; gap: 0.8rem; }
    .uhr-num { font-size: 2.2rem !important; }
    /* Wertekompass-Claims */
    .kompass-claims { grid-template-columns: 1fr; gap: 1rem; }
    /* Bertelsmann-Grid */
    .bert-grid { grid-template-columns: 1fr !important; }
    /* Wieso-FDP-Steps */
    .wechsel-step { padding: 1.25rem 1rem; }
    /* Blog */
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card { padding: 1.25rem 1.1rem; }
    /* Anfragen-Karten */
    .anf-content { grid-template-columns: 1fr; }
    .anf-timeline { font-size: 0.78rem; }
    /* Sitzungen-Termine */
    .termin-row { grid-template-columns: 56px 1fr !important; }
    .tr-badge { grid-column: 2; justify-self: flex-start; align-self: flex-start; padding: 0.22rem 0.5rem; }
    /* Footer */
    .footer-grid { grid-template-columns: 1fr; }
    /* Bot mobile fullscreen */
    .bot-widget { width: calc(100vw - 1rem) !important; height: 70vh !important; right: 0.5rem !important; bottom: 0.5rem !important; }
    .bot-toggle { right: 0.75rem !important; bottom: 0.75rem !important; }
    /* HFA-Erklärbox */
    .hfa-explain { grid-template-columns: 1fr; gap: 0.7rem; }
    .hfa-bar { height: 4px; width: 50px; }
  }
  @media (max-width: 600px) {
    section { padding: 3rem 0; }
    .hero { padding: 2.5rem 0 3rem; }
    .footer-grid { grid-template-columns: 1fr; }
    .steps-grid { grid-template-columns: 1fr; }
    /* Header schmaler */
    .nav { padding: 0.75rem 1rem; }
    .brand { gap: 0.5rem; }
    .brand .sep { height: 28px; }
    .brand-text .name { font-size: 0.92rem; }
    .brand-text .sub { font-size: 0.58rem; letter-spacing: 0.08em; }
    .fdp-logo .top, .fdp-logo .mid { font-size: 0.7rem; }
    .fdp-logo .bar-mini { font-size: 0.65rem; }
    /* Ausschuss-Karten */
    .aus-card { padding: 1.25rem !important; }
    .aus-leitung { grid-template-columns: 1fr; }
    /* Termin-Monat */
    .termin-monat { padding: 1rem 1rem; }
    .tm-h strong { font-size: 1rem; }
    /* Presse-Rows */
    .pr-row { gap: 0.5rem; padding: 0.85rem 0.75rem; }
    .pr-row h4 { font-size: 0.95rem; }
    /* Bot toggle ein bisschen kleiner */
    .bot-toggle { transform: scale(0.9); }
  }

  @media (max-width: 420px) {
    /* Sehr schmale Smartphones: Untertitel komplett aus */
    .brand-text .sub { display: none; }
    .nav { padding: 0.65rem 0.85rem; }
  }

  /* ═══════════════════════════════════════════════════
     WERTEKOMPASS — Wofür ich stehe
     ═══════════════════════════════════════════════════ */
  .kompass {
    background: var(--paper);
    padding: 6rem 0;
    position: relative;
  }
  .kompass .section-head h2 { color: var(--ink); }
  .kompass .section-lead { color: rgba(0,0,0,0.75); max-width: 720px; }

  .kompass-wrap { display: none; }  /* alte SVG-Hülle deaktiviert */
  .kompass-svg { display: none; }    /* falls noch irgendwo referenziert */

  /* ═══════ NEUER KOMPASS-ANKER (Ehrlichkeit) ═══════ */
  .kompass-anchor {
    background: var(--k);
    color: var(--w);
    border: 3px solid var(--k);
    box-shadow: 10px 10px 0 var(--m);
    padding: 2rem 1.75rem;
    margin: 2.25rem 0 1.5rem;
    text-align: center;
    position: relative;
  }
  .kompass-anchor::before,
  .kompass-anchor::after {
    content: '';
    position: absolute;
    top: 50%;
    height: 2px;
    width: 28px;
    background: var(--m);
    transform: translateY(-50%);
  }
  .kompass-anchor::before { left: -32px; }
  .kompass-anchor::after { right: -32px; }
  .ka-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--m);
    margin-bottom: 0.55rem;
  }
  .ka-h {
    font-size: clamp(1.6rem, 4vw, 2.5rem);
    font-weight: 900;
    color: var(--y);
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 0.65rem;
  }
  .ka-p {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.85);
    line-height: 1.4;
  }

  /* ═══════ KOMPASS-GRID (4 Quadranten) ═══════ */
  .kompass-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 2.5rem;
  }
  .kq {
    padding: 1.75rem 1.5rem 1.5rem;
    border: 3px solid var(--k);
    box-shadow: 8px 8px 0 var(--k);
    display: flex;
    flex-direction: column;
  }
  .kq-y { background: var(--y); color: var(--k); }
  .kq-k { background: var(--k); color: var(--y); }
  .kq-c { background: var(--c); color: var(--k); }
  .kq-m { background: var(--m); color: var(--y); }

  .kq-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    opacity: 0.7;
    margin-bottom: 0.5rem;
  }
  .kq-h {
    font-size: clamp(1.7rem, 3.2vw, 2.4rem);
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 0.9rem;
    text-transform: uppercase;
  }
  .kq-sub {
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.2rem;
  }
  .kq-sub2 {
    font-size: 0.82rem;
    line-height: 1.3;
    opacity: 0.75;
    margin-bottom: 1rem;
  }
  .kq-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.2rem 0;
    border-left: 4px solid currentColor;
    padding-left: 0.85rem;
  }
  .kq-list li {
    font-size: 0.9rem;
    line-height: 1.45;
    padding: 0.2rem 0;
  }
  .kq-list li::before {
    content: '→  ';
    font-weight: 700;
    opacity: 0.7;
  }
  .kq-foot {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.4;
    margin-top: auto;
    padding-top: 0.85rem;
    border-top: 1px dashed currentColor;
    opacity: 0.85;
  }
  /* Spezifische Foot-Anpassung (besserer Kontrast bei dunklen Karten) */
  .kq-k .kq-foot { color: var(--y); border-color: rgba(255,237,0,0.4); }
  .kq-m .kq-foot { color: var(--y); border-color: rgba(255,237,0,0.4); }

  .kompass-claims {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
  }
  .kclaim {
    background: var(--k);
    color: var(--w);
    padding: 1.75rem 1.5rem;
    border-left: 6px solid var(--y);
    position: relative;
  }
  .kclaim:nth-child(2) { border-left-color: var(--m); }
  .kclaim:nth-child(3) { border-left-color: var(--c); }
  .kclaim-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    color: var(--y);
    letter-spacing: 0.15em;
    margin-bottom: 0.65rem;
    font-weight: 700;
  }
  .kclaim:nth-child(2) .kclaim-num { color: var(--m); }
  .kclaim:nth-child(3) .kclaim-num { color: var(--c); }
  .kclaim-h {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 0.85rem;
  }
  .kclaim-p {
    font-size: 0.92rem;
    line-height: 1.55;
    color: rgba(255,255,255,0.78);
  }

  @media (max-width: 900px) {
    .kompass-claims { grid-template-columns: 1fr; }
    .kompass-grid { grid-template-columns: 1fr; gap: 0.8rem; }
    .kompass-anchor::before, .kompass-anchor::after { display: none; }
    .kq { padding: 1.4rem 1.2rem 1.2rem; box-shadow: 5px 5px 0 var(--k); }
    .kq-h { font-size: 1.7rem; }
    .ka-h { font-size: 1.8rem; }
  }

  /* ═══════════════════════════════════════════════════
     CHATBOT — Floating Widget rechts unten
     ═══════════════════════════════════════════════════ */
  .bot-fab {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--m);
    color: var(--y);
    border: 3px solid var(--k);
    box-shadow: 4px 4px 0 var(--k);
    cursor: pointer;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    transition: transform 0.15s;
  }
  .bot-fab:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--k); }
  .bot-fab.hidden { display: none; }

  .bot-fab-pulse {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 22px;
    height: 22px;
    background: var(--c);
    color: var(--w);
    border-radius: 50%;
    border: 2px solid var(--k);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    font-weight: 700;
    display: grid;
    place-items: center;
  }

  .bot-panel {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 380px;
    max-width: calc(100vw - 2rem);
    height: 560px;
    max-height: calc(100vh - 3rem);
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 8px 8px 0 var(--k);
    display: none;
    flex-direction: column;
    z-index: 9999;
    font-family: inherit;
  }
  .bot-panel.open { display: flex; }

  .bot-head {
    background: var(--k);
    color: var(--w);
    padding: 0.95rem 1.1rem;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border-bottom: 3px solid var(--y);
  }
  .bot-head-av {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--m);
    color: var(--y);
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 0.9rem;
    flex-shrink: 0;
    border: 2px solid var(--y);
  }
  .bot-head-info { flex: 1; min-width: 0; }
  .bot-head-name {
    font-weight: 800;
    font-size: 0.92rem;
    line-height: 1.1;
  }
  .bot-head-sub {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.68rem;
    color: rgba(255,255,255,0.6);
    letter-spacing: 0.05em;
    margin-top: 0.15rem;
  }
  .bot-head-sub::before {
    content: '● ';
    color: #00FF66;
  }
  .bot-close {
    background: none;
    border: none;
    color: var(--w);
    font-size: 1.3rem;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    line-height: 1;
  }

  .bot-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    background: var(--paper);
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }

  .bot-msg {
    max-width: 88%;
    padding: 0.7rem 0.9rem;
    font-size: 0.88rem;
    line-height: 1.5;
    border: 2px solid var(--k);
  }
  .bot-msg.bot {
    align-self: flex-start;
    background: var(--w);
    border-left: 4px solid var(--m);
  }
  .bot-msg.user {
    align-self: flex-end;
    background: var(--y);
    border-left: 4px solid var(--k);
  }
  .bot-msg-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    color: rgba(0,0,0,0.5);
    letter-spacing: 0.08em;
    margin-top: 0.4rem;
  }
  .bot-msg.bot .bot-msg-meta::before {
    content: '↳ Quelle: ';
  }

  /* Follow-up-Vorschläge nach jeder Bot-Antwort */
  .bot-followups {
    align-self: flex-start;
    max-width: 92%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: -0.25rem;
    padding-left: 0.5rem;
  }
  .bot-fu-h {
    width: 100%;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.66rem;
    color: rgba(0,0,0,0.5);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.15rem;
  }
  .bot-fu-btn {
    background: rgba(229, 0, 125, 0.06);
    border: 1px solid var(--m);
    color: var(--m);
    padding: 0.35rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s;
    text-align: left;
    line-height: 1.3;
  }
  .bot-fu-btn:hover {
    background: var(--m);
    color: var(--w);
  }

  /* Typing-Indikator */
  .bot-msg.bot-typing {
    display: inline-flex;
    gap: 0.3rem;
    padding: 0.85rem 1rem;
    align-items: center;
  }
  .bot-dot {
    width: 7px;
    height: 7px;
    background: var(--m);
    border-radius: 50%;
    animation: bdot 1.2s infinite ease-in-out;
  }
  .bot-dot:nth-child(2) { animation-delay: 0.15s; }
  .bot-dot:nth-child(3) { animation-delay: 0.3s; }
  @keyframes bdot {
    0%, 80%, 100% { opacity: 0.25; transform: translateY(0); }
    40% { opacity: 1; transform: translateY(-3px); }
  }

  .bot-suggestions {
    padding: 0 1rem 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    background: var(--paper);
  }
  .bot-sugg {
    background: var(--w);
    border: 2px solid var(--k);
    padding: 0.4rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    color: var(--ink);
  }
  .bot-sugg:hover { background: var(--y); }

  .bot-foot {
    padding: 0.85rem;
    border-top: 3px solid var(--k);
    background: var(--w);
    display: flex;
    gap: 0.5rem;
  }
  .bot-input {
    flex: 1;
    border: 2px solid var(--k);
    padding: 0.65rem 0.85rem;
    font-family: inherit;
    font-size: 0.88rem;
    background: var(--w);
  }
  .bot-input:focus { outline: none; background: var(--y); }
  .bot-send {
    background: var(--m);
    color: var(--y);
    border: 2px solid var(--k);
    padding: 0 0.95rem;
    font-weight: 800;
    cursor: pointer;
    font-size: 1rem;
  }
  .bot-send:hover { background: var(--k); color: var(--y); }

  .bot-disclaimer {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.62rem;
    color: rgba(0,0,0,0.55);
    text-align: center;
    padding: 0.45rem;
    background: var(--paper);
    border-top: 1px solid rgba(0,0,0,0.1);
    letter-spacing: 0.04em;
  }

  @media (max-width: 600px) {
    .bot-panel { right: 0.5rem; bottom: 0.5rem; height: calc(100vh - 1rem); }
    .bot-fab { bottom: 1rem; right: 1rem; }
  }

  /* ═══════════════════════════════════════════════════
     WIESO FDP? — Parteiwechsel-Story als Zeitstrahl
     ═══════════════════════════════════════════════════ */
  .wechsel {
    background: var(--k);
    color: var(--w);
    padding: 6rem 0;
    position: relative;
    overflow: hidden;
  }
  .wechsel::before {
    content: '';
    position: absolute;
    top: 0;
    right: -50px;
    width: 250px;
    height: 250px;
    background: var(--m);
    opacity: 0.18;
    transform: rotate(45deg);
    pointer-events: none;
  }
  .wechsel::after {
    content: 'WIESO FDP?';
    position: absolute;
    bottom: -20px;
    right: 1rem;
    font-family: 'Inter', sans-serif;
    font-size: 8rem;
    font-weight: 900;
    color: rgba(229, 0, 125, 0.06);
    letter-spacing: -0.05em;
    pointer-events: none;
    line-height: 1;
  }

  .wechsel-card {
    display: grid;
    grid-template-columns: 1fr 1.7fr;
    gap: 5rem;
    align-items: flex-start;
    position: relative;
    z-index: 2;
  }
  .wechsel-left {
    position: sticky;
    top: 6rem;
  }
  .wechsel-left h2 {
    color: var(--w);
    font-size: clamp(2.5rem, 5vw, 3.8rem);
    line-height: 0.95;
    margin: 1rem 0 1.5rem;
  }
  .wechsel-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: rgba(255,255,255,0.75);
  }

  .wechsel-right {
    display: grid;
    gap: 2rem;
  }
  .wechsel-step {
    background: rgba(255,255,255,0.04);
    border-left: 4px solid var(--y);
    padding: 1.75rem 2rem 1.75rem 2.5rem;
    position: relative;
    transition: all 0.2s;
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 1.5rem;
    align-items: start;
  }
  .wechsel-step:hover {
    background: rgba(255,255,255,0.08);
    transform: translateX(4px);
  }
  .wechsel-step.active {
    background: rgba(229, 0, 125, 0.15);
    border-left-color: var(--m);
    border-left-width: 6px;
  }
  .wechsel-step .ws-num {
    font-family: 'Inter', sans-serif;
    font-size: 1.65rem;
    font-weight: 900;
    color: var(--y);
    letter-spacing: -0.01em;
    line-height: 0.95;
    text-align: center;
    background: rgba(255, 237, 0, 0.08);
    border: 2px solid rgba(255, 237, 0, 0.25);
    padding: 0.75rem 0.4rem;
    align-self: start;
  }
  .wechsel-step.active .ws-num {
    color: var(--m);
    background: rgba(229, 0, 125, 0.12);
    border-color: rgba(229, 0, 125, 0.35);
  }
  .wechsel-step .ws-num br + * { font-size: 1rem; }
  .ws-body { min-width: 0; }
  .wechsel-step .ws-h {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 0.7rem;
    line-height: 1.25;
  }
  .wechsel-step .ws-p {
    font-size: 0.92rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.8);
  }

  .wechsel-claim {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: 6px 1fr;
    gap: 1.5rem;
    background: var(--y);
    color: var(--k);
    padding: 1.75rem 2rem;
    position: relative;
    z-index: 2;
  }
  .wclaim-bar { background: var(--m); width: 6px; }
  .wclaim-h {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: var(--m);
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom: 0.4rem;
  }
  .wclaim-p {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.45;
  }

  @media (max-width: 900px) {
    .wechsel-card { grid-template-columns: 1fr; gap: 2.5rem; }
    .wechsel-left { position: static; }
    .wechsel::after { font-size: 4rem; }
    .wechsel-step { grid-template-columns: 80px 1fr; padding: 1.5rem 1.5rem 1.5rem 1.75rem; }
  }
  @media (max-width: 600px) {
    .wechsel-step { grid-template-columns: 1fr; gap: 0.85rem; }
    .wechsel-step .ws-num { justify-self: start; padding: 0.5rem 1rem; }
  }

  /* ═══════════════════════════════════════════════════
     BERTELSMANN-DATEN — Wegweiser Kommune
     ═══════════════════════════════════════════════════ */
  .bert-wrap {
    margin-top: 4rem;
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 12px 12px 0 var(--k);
    padding: 2.5rem;
  }
  .bert-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1.75rem;
    border-bottom: 2px solid var(--k);
  }
  .bert-h {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 900;
    line-height: 1.05;
    margin-bottom: 0.65rem;
    color: var(--k);
  }
  .bert-h em {
    background: var(--y);
    font-style: normal;
    padding: 0 0.25em;
  }
  .bert-lead {
    color: rgba(0,0,0,0.7);
    line-height: 1.55;
    font-size: 0.95rem;
    max-width: 580px;
  }
  .bert-badge {
    background: var(--k);
    color: var(--y);
    padding: 1.25rem 1.5rem;
    text-align: center;
    border: 3px solid var(--m);
  }
  .bert-badge-num {
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
  }
  .bert-badge-lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    color: rgba(255, 237, 0, 0.75);
    letter-spacing: 0.1em;
    margin-top: 0.5rem;
    line-height: 1.3;
  }

  .bert-tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.75rem;
    flex-wrap: wrap;
  }
  .bert-tab {
    background: var(--paper);
    color: var(--ink);
    border: 2px solid var(--k);
    padding: 0.7rem 1.1rem;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.15s;
  }
  .bert-tab:hover { background: var(--y); }
  .bert-tab.active {
    background: var(--k);
    color: var(--y);
  }

  .bert-panel { display: none; }
  .bert-panel.active { display: block; }

  .bert-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  .bert-card {
    background: var(--paper);
    border-left: 5px solid var(--k);
    padding: 1.3rem 1.4rem;
    transition: transform 0.15s;
  }
  .bert-card:hover { transform: translateY(-3px); }
  .bert-card.hl-m { border-left-color: var(--m); }
  .bert-card.hl-y { border-left-color: var(--y); }
  .bert-card.hl-c { border-left-color: var(--c); }

  .bc-lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(0,0,0,0.65);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 0.55rem;
  }
  .bc-val {
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    color: var(--ink);
    letter-spacing: -0.02em;
    margin-bottom: 0.65rem;
  }
  .bc-val span {
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(0,0,0,0.55);
    letter-spacing: 0;
    margin-left: 0.2em;
  }
  .bc-note {
    font-size: 0.83rem;
    color: rgba(0,0,0,0.7);
    line-height: 1.5;
  }

  .bert-foot {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(0,0,0,0.1);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(0,0,0,0.55);
    line-height: 1.5;
  }
  .bert-foot a {
    color: var(--m);
    text-decoration: underline;
    font-weight: 700;
  }

  @media (max-width: 900px) {
    .bert-grid { grid-template-columns: 1fr 1fr; }
    .bert-head { grid-template-columns: 1fr; }
    .bert-badge { justify-self: start; }
    .bert-wrap { padding: 1.5rem; box-shadow: 6px 6px 0 var(--k); }
  }
  @media (max-width: 600px) {
    .bert-grid { grid-template-columns: 1fr; }
  }

  /* ═══════════════════════════════════════════════════
     ANTRÄGE — neue strukturierte Karten
     ═══════════════════════════════════════════════════ */
  .ant-intro {
    display: grid;
    grid-template-columns: 6px 1fr;
    gap: 1.25rem;
    background: var(--w);
    padding: 1.25rem 1.5rem;
    margin-bottom: 2rem;
    border: 1px solid rgba(0,0,0,0.1);
  }
  .ant-intro-bar { background: var(--m); }
  .ant-intro-h {
    font-weight: 800;
    font-size: 1.05rem;
    margin-bottom: 0.4rem;
    line-height: 1.3;
  }
  .ant-intro p {
    font-size: 0.9rem;
    color: rgba(0,0,0,0.7);
    line-height: 1.55;
    margin: 0;
  }

  .ant-list { display: grid; gap: 1rem; }

  .ant-row {
    display: grid;
    grid-template-columns: 130px 1fr 180px;
    gap: 1.5rem;
    background: var(--w);
    border-left: 5px solid var(--c);
    padding: 1.4rem 1.5rem;
    transition: all 0.15s;
  }
  .ant-row:hover {
    transform: translateX(4px);
    box-shadow: 4px 4px 0 var(--k);
  }
  .ant-row.alt { border-left-color: var(--m); }
  .ant-row.koa { border-left-color: var(--c); }

  .ant-date {
    border-right: 1px solid rgba(0,0,0,0.08);
    padding-right: 1rem;
  }
  .ant-d-num {
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
  }
  .ant-d-y {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: rgba(0,0,0,0.55);
    margin-top: 0.2rem;
    letter-spacing: 0.1em;
  }
  .ant-d-id {
    margin-top: 0.85rem;
    background: var(--k);
    color: var(--y);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    padding: 0.18rem 0.45rem;
    display: inline-block;
    font-weight: 700;
    letter-spacing: 0.05em;
  }

  .ant-body h4 {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 0.6rem;
    color: var(--ink);
  }
  .ant-text {
    font-size: 0.89rem;
    line-height: 1.55;
    color: rgba(0,0,0,0.72);
    margin-bottom: 0.7rem;
  }
  .ant-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
  }
  .ant-meta span {
    color: rgba(0,0,0,0.55);
    letter-spacing: 0.05em;
  }

  .ant-result {
    border-left: 1px solid rgba(0,0,0,0.08);
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.5rem;
  }
  .ant-status {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0.4rem 0.6rem;
    text-align: center;
    line-height: 1.25;
  }
  .ant-status .st-mod {
    display: block;
    font-size: 0.65rem;
    font-weight: 500;
    margin-top: 0.15rem;
    opacity: 0.85;
  }
  .ant-status.st-ok { background: #1A8754; color: var(--w); }
  .ant-status.st-bad { background: #C12626; color: var(--w); }
  .ant-status.st-ref { background: var(--c); color: var(--w); }
  .ant-status.st-ber { background: var(--y); color: var(--k); }

  .ant-votes {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(0,0,0,0.65);
    text-align: center;
    background: var(--paper);
    padding: 0.3rem 0.4rem;
    border: 1px solid rgba(0,0,0,0.08);
  }
  .ant-comment {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: var(--m);
    font-style: italic;
    line-height: 1.4;
    padding-top: 0.2rem;
  }

  @media (max-width: 800px) {
    .ant-row { grid-template-columns: 1fr; gap: 0.9rem; padding: 1.2rem; }
    .ant-date { border-right: none; padding-right: 0; padding-bottom: 0.8rem; border-bottom: 1px solid rgba(0,0,0,0.08); display: flex; align-items: center; gap: 0.8rem; }
    .ant-d-id { margin-top: 0; }
    .ant-result { border-left: none; padding-left: 0; padding-top: 0.8rem; border-top: 1px solid rgba(0,0,0,0.08); flex-direction: row; align-items: center; flex-wrap: wrap; }
  }

  /* ═══════════════════════════════════════════════════
     ANFRAGEN — neue Card-Komponente
     ═══════════════════════════════════════════════════ */
  .anf-card {
    background: var(--w);
    border-left: 5px solid var(--c);
    padding: 1.75rem 2rem;
    margin-bottom: 1.5rem;
    box-shadow: 4px 4px 0 rgba(0,0,0,0.08);
  }
  .anf-card.behandelt { border-left-color: #1A8754; }
  .anf-card.laufend { border-left-color: var(--warn); background: linear-gradient(180deg, #FFFBE6 0%, var(--w) 60%); }
  .anf-card.hervorgehoben {
    border-left-color: var(--m);
    border-left-width: 7px;
    background: linear-gradient(180deg, rgba(229,0,125,0.04) 0%, var(--w) 80%);
  }
  .anf-card.minor {
    padding: 1.25rem 1.5rem;
    background: var(--paper);
    border-left-color: rgba(0,0,0,0.2);
  }

  .anf-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }
  .anf-id {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--k);
    background: var(--y);
    padding: 0.3rem 0.55rem;
    letter-spacing: 0.05em;
  }
  .anf-status-pill {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.3rem 0.6rem;
    letter-spacing: 0.04em;
  }
  .anf-status-pill.ok { background: #1A8754; color: var(--w); }
  .anf-status-pill.warn { background: var(--warn, #D97706); color: var(--w); }

  .anf-h {
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 1rem;
    color: var(--ink);
  }

  .anf-timeline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    background: var(--paper);
    padding: 0.7rem 0.9rem;
    margin-bottom: 1.25rem;
    font-size: 0.82rem;
  }
  .anf-timeline strong {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700;
    color: var(--m);
    margin-right: 0.3rem;
  }
  .anf-timeline .arr { color: rgba(0,0,0,0.4); font-weight: 700; }
  .anf-timeline .arr.warn { color: var(--m); }
  .anf-timeline .open {
    background: var(--warn, #D97706);
    color: var(--w);
    padding: 0.25rem 0.55rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    font-weight: 700;
  }

  .anf-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  .anf-q, .anf-a {
    padding: 1rem 1.2rem;
    background: var(--paper);
    border-left: 3px solid rgba(0,0,0,0.15);
  }
  .anf-a {
    border-left-color: #1A8754;
    background: rgba(26, 135, 84, 0.04);
  }
  .anf-a.warn {
    border-left-color: var(--warn, #D97706);
    background: rgba(217, 119, 6, 0.04);
  }
  .anf-q-h, .anf-a-h {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(0,0,0,0.6);
    letter-spacing: 0.1em;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.65rem;
  }
  .anf-q p, .anf-a p {
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--ink);
    margin-bottom: 0.65rem;
  }
  .anf-q p:last-child, .anf-a p:last-child { margin-bottom: 0; }

  .anf-quote {
    background: var(--w);
    border-left: 3px solid var(--m);
    padding: 0.8rem 1rem;
    margin: 0.7rem 0;
    font-size: 0.86rem;
    line-height: 1.55;
    font-style: italic;
    color: var(--ink);
  }
  .anf-quote code {
    background: rgba(229,0,125,0.08);
    color: var(--m);
    padding: 0.05em 0.3em;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.9em;
    font-style: normal;
  }

  .anf-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .anf-bullets li {
    font-size: 0.86rem;
    line-height: 1.55;
    color: var(--ink);
    padding-left: 1.2rem;
    position: relative;
    margin-bottom: 0.55rem;
  }
  .anf-bullets li::before {
    content: '▸';
    position: absolute;
    left: 0;
    color: var(--m);
    font-weight: 700;
  }
  .anf-bullets li strong { color: var(--m); }

  .anf-source {
    margin-top: 0.85rem;
    padding-top: 0.6rem;
    border-top: 1px dashed rgba(0,0,0,0.12);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(0,0,0,0.55);
    line-height: 1.5;
  }
  .anf-source a {
    color: var(--m);
    text-decoration: underline;
    font-weight: 700;
  }

  .anf-mini {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 0.8rem;
  }
  .anf-mini-row {
    display: grid;
    grid-template-columns: 100px 1fr 160px;
    gap: 0.9rem;
    align-items: center;
    padding: 0.55rem 0;
    border-bottom: 1px dashed rgba(0,0,0,0.1);
  }
  .anf-mini-row:last-of-type { border-bottom: none; }
  .anf-mini-d {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    color: var(--m);
    font-weight: 700;
  }
  .anf-mini-h {
    font-size: 0.88rem;
    line-height: 1.4;
  }
  .anf-mini-s {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.04em;
  }
  .anf-mini-s.ok { background: #1A8754; color: var(--w); }

  .anf-todo {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 1.25rem;
    align-items: start;
    background: linear-gradient(180deg, rgba(255, 237, 0, 0.12) 0%, var(--w) 60%);
    border: 2px dashed var(--y);
    padding: 1.5rem 1.75rem;
    margin-top: 1.5rem;
  }
  .anf-todo-icon { font-size: 2.5rem; line-height: 1; }
  .anf-todo-h {
    font-weight: 800;
    font-size: 1.05rem;
    margin-bottom: 0.5rem;
    color: var(--ink);
  }
  .anf-todo-body p {
    font-size: 0.9rem;
    line-height: 1.6;
    color: rgba(0,0,0,0.78);
    margin: 0 0 0.55rem 0;
  }
  .anf-todo-foot {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem !important;
    color: rgba(0,0,0,0.55) !important;
    line-height: 1.55 !important;
  }

  @media (max-width: 700px) {
    .anf-todo { grid-template-columns: 1fr; }
    .anf-todo-icon { font-size: 2rem; }
  }

  @media (max-width: 800px) {
    .anf-content { grid-template-columns: 1fr; }
    .anf-card { padding: 1.25rem; }
    .anf-mini-row { grid-template-columns: 1fr; gap: 0.3rem; padding: 0.7rem 0; }
  }

  /* ═══════════════════════════════════════════════════
     BLOG — Texte / Standpunkte
     ═══════════════════════════════════════════════════ */
  .blog {
    background: var(--paper);
    padding: 6rem 0;
    position: relative;
  }
  .blog::before {
    content: 'BLOG';
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    font-size: 7rem;
    font-weight: 900;
    color: rgba(0,0,0,0.04);
    letter-spacing: -0.05em;
    line-height: 1;
    pointer-events: none;
  }
  .blog-counter {
    background: var(--k);
    color: var(--y);
    padding: 1rem 1.4rem;
    text-align: center;
    border: 3px solid var(--m);
    flex-shrink: 0;
  }
  .bc-num {
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
  }
  .bc-lbl {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.65rem;
    color: rgba(255, 237, 0, 0.7);
    letter-spacing: 0.1em;
    margin-top: 0.35rem;
    line-height: 1.3;
  }

  .blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-top: 2rem;
  }
  .blog-card {
    background: var(--w);
    padding: 1.5rem 1.4rem;
    transition: all 0.2s;
    border-bottom: 4px solid var(--k);
    display: flex;
    flex-direction: column;
  }
  .blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 6px 6px 0 rgba(0,0,0,0.1);
  }
  .blog-card.feature {
    grid-column: 1 / -1;
    background: var(--k);
    color: var(--w);
    padding: 2.2rem 2rem;
    border-bottom-color: var(--m);
    border-bottom-width: 6px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem 2rem;
    align-items: start;
  }
  .blog-card.feature .bc-cat { align-self: start; margin-bottom: 0; grid-row: span 4; writing-mode: vertical-rl; transform: rotate(180deg); padding: 0.6rem 0.45rem; }
  .blog-card.feature .bc-h { color: var(--w); font-size: 1.8rem; grid-column: 2; }
  .blog-card.feature .bc-excerpt { color: rgba(255,255,255,0.85); grid-column: 2; font-size: 0.98rem; }
  .blog-card.feature .bc-meta { color: rgba(255,255,255,0.6); grid-column: 2; }
  .blog-card.feature .bc-link { color: var(--y); grid-column: 2; }
  .blog-card.archiv {
    background: var(--paper);
    border-bottom-color: rgba(0,0,0,0.2);
  }

  .bc-cat {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.35rem 0.6rem;
    align-self: flex-start;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
  }

  .bc-h {
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 0.65rem;
    color: var(--ink);
  }
  .bc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(0,0,0,0.55);
    margin-bottom: 0.85rem;
  }
  .bc-meta span:first-child {
    color: var(--m);
    font-weight: 700;
  }
  .bc-excerpt {
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(0,0,0,0.75);
    margin-bottom: 1rem;
    flex-grow: 1;
  }
  .bc-link {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--m);
    text-decoration: none;
    align-self: flex-start;
    transition: gap 0.15s;
  }
  .bc-link:hover { color: var(--ink); }

  .blog-foot {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.5rem;
    align-items: center;
    background: var(--w);
    padding: 1.5rem 1.75rem;
    border-left: 5px solid var(--k);
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(0,0,0,0.7);
  }

  @media (max-width: 900px) {
    .blog-grid { grid-template-columns: 1fr 1fr; }
    .blog-card.feature { grid-column: 1 / -1; grid-template-columns: 1fr; gap: 0.8rem; }
    .blog-card.feature .bc-cat { writing-mode: horizontal-tb; transform: none; align-self: flex-start; grid-row: auto; grid-column: 1; }
    .blog-card.feature .bc-h, .blog-card.feature .bc-meta, .blog-card.feature .bc-excerpt, .blog-card.feature .bc-link { grid-column: 1; }
  }
  @media (max-width: 600px) {
    .blog-grid { grid-template-columns: 1fr; }
    .blog::before { display: none; }
    .blog-foot { grid-template-columns: 1fr; }
  }

  /* AUSSCHUSS-LEGENDE */
  .aus-legende {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.5rem;
    background: var(--w);
    padding: 0.85rem 1.25rem;
    margin-bottom: 2rem;
    border-left: 4px solid var(--k);
  }
  .aus-leg-h {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: rgba(0,0,0,0.6);
    letter-spacing: 0.08em;
    font-weight: 700;
    text-transform: uppercase;
  }
  .aus-leg-item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.92rem;
    font-weight: 600;
  }
  .aus-leg-item .dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 2px;
  }
  .aus-leg-item.fdp .dot { background: var(--y); border: 1px solid var(--k); }
  .aus-leg-item.me .dot { background: var(--m); }

  @media (max-width: 600px) {
    .aus-legende { gap: 0.6rem 1rem; padding: 0.85rem 1rem; }
    .aus-leg-h { width: 100%; }
  }

  /* HFA-Erklärbox */
  .hfa-explain {
    display: grid;
    grid-template-columns: 5px 1fr;
    gap: 1.1rem;
    background: var(--paper);
    padding: 1rem 1.25rem;
    margin: 0.9rem 0 1.1rem 0;
  }
  .hfa-bar { background: var(--c); }
  .hfa-h {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.74rem;
    color: var(--c);
    letter-spacing: 0.08em;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0.45rem;
  }
  .hfa-explain p {
    font-size: 0.9rem;
    line-height: 1.6;
    color: rgba(0,0,0,0.78);
    margin: 0;
  }
  .hfa-explain.sokuspo .hfa-bar { background: var(--m); }
  .hfa-explain.sokuspo .hfa-h { color: var(--m); }

  /* Geschäfts-Blöcke (Zeydler, Lohnkempe, Bienenhof) */
  .biz-block {
    margin: 1rem 0 1.1rem;
    padding: 1.1rem 1.3rem;
    background: var(--paper);
    border-left: 4px solid var(--k);
  }
  .biz-block.highlight {
    background: linear-gradient(180deg, rgba(255, 237, 0, 0.18) 0%, var(--paper) 100%);
    border-left-color: var(--m);
    border-left-width: 6px;
  }
  .biz-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.55rem;
  }
  .biz-name {
    font-weight: 900;
    font-size: 1.15rem;
    color: var(--ink);
  }
  .biz-link {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--m);
    text-decoration: none;
    padding: 0.25rem 0.55rem;
    background: var(--w);
    border: 1px solid var(--m);
    transition: all 0.15s;
  }
  .biz-link:hover {
    background: var(--m);
    color: var(--w);
  }
  .biz-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.7rem;
  }
  .biz-tags span {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.55rem;
    background: var(--w);
    color: rgba(0,0,0,0.65);
    border: 1px solid rgba(0,0,0,0.15);
  }
  .biz-tags span.acc {
    background: var(--m);
    color: var(--y);
    border-color: var(--m);
  }
  .biz-block p {
    font-size: 0.92rem;
    line-height: 1.6;
    color: rgba(0,0,0,0.78);
    margin: 0;
  }

  /* TERMIN-LISTE */
  .termin-intro {
    display: grid;
    grid-template-columns: 6px 1fr;
    gap: 1.25rem;
    background: var(--w);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid rgba(0,0,0,0.1);
  }
  .termin-intro-bar { background: var(--y); }
  .termin-intro-h {
    font-weight: 800;
    font-size: 1rem;
    margin-bottom: 0.4rem;
  }
  .termin-intro p {
    font-size: 0.88rem;
    color: rgba(0,0,0,0.72);
    line-height: 1.55;
    margin: 0;
  }

  .termin-legende {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
  }
  .leg-item {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.35rem 0.7rem;
    letter-spacing: 0.04em;
    color: var(--w);
  }
  .leg-gv { background: var(--m); }
  .leg-hfa { background: var(--c); }
  .leg-aus { background: var(--k); color: var(--y); }

  .termin-monat {
    margin-bottom: 1.5rem;
    background: var(--w);
    border-left: 4px solid var(--k);
    padding: 1.25rem 1.5rem;
  }
  .tm-h {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
    color: rgba(0,0,0,0.65);
    padding-bottom: 0.85rem;
    margin-bottom: 0.85rem;
    border-bottom: 1px dashed rgba(0,0,0,0.12);
  }
  .tm-h strong {
    color: var(--ink);
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 1.15rem;
    margin-right: 0.4rem;
  }
  .tm-hint {
    color: var(--m);
    font-style: italic;
    margin-left: 0.5rem;
  }

  .termin-list {
    display: grid;
    gap: 0.65rem;
  }
  .termin-row {
    display: grid;
    grid-template-columns: 70px 1fr 130px;
    gap: 1rem;
    align-items: center;
    padding: 0.85rem 1rem;
    background: var(--paper);
    border-left: 3px solid rgba(0,0,0,0.15);
    transition: transform 0.15s;
  }
  .termin-row:hover { transform: translateX(3px); }
  .termin-row.gv { border-left-color: var(--m); }
  .termin-row.hfa { border-left-color: var(--c); background: rgba(0, 158, 227, 0.04); }
  .termin-row.aus { border-left-color: var(--k); }

  .tr-date {
    text-align: center;
    line-height: 1;
  }
  .tr-date strong {
    display: block;
    font-size: 1.7rem;
    font-weight: 900;
    color: var(--ink);
  }
  .tr-date small {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.7rem;
    color: rgba(0,0,0,0.55);
    letter-spacing: 0.08em;
    margin-top: 0.25rem;
  }

  .tr-h {
    font-weight: 800;
    font-size: 0.95rem;
    line-height: 1.3;
    margin-bottom: 0.35rem;
  }
  .tr-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    color: rgba(0,0,0,0.55);
  }
  .tr-meta .own {
    color: var(--c);
    background: rgba(0, 158, 227, 0.08);
    padding: 0.1rem 0.4rem;
    font-weight: 700;
  }
  .tr-meta .hint {
    font-style: italic;
    color: rgba(0,0,0,0.5);
  }

  .tr-badge {
    text-align: center;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.4rem 0.5rem;
    letter-spacing: 0.04em;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .tr-badge.gv { background: var(--m); color: var(--w); }
  .tr-badge.hfa { background: var(--c); color: var(--w); }
  .tr-badge.aus { background: var(--k); color: var(--y); }

  @media (max-width: 700px) {
    .termin-row {
      grid-template-columns: 60px 1fr;
      grid-template-rows: auto auto;
    }
    .tr-date { grid-row: span 2; }
    .tr-badge {
      grid-column: 2;
      align-self: start;
      justify-self: start;
      padding: 0.25rem 0.55rem;
    }
  }
  /* ═══════════════════════════════════════════════════
     BLOG-MODAL (Volltext-Reader)
     ═══════════════════════════════════════════════════ */
  .blog-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
  }
  .blog-modal.open { display: flex; }
  .blog-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.72);
    backdrop-filter: blur(6px);
    cursor: pointer;
  }
  .blog-modal-frame {
    position: relative;
    background: var(--w);
    width: min(820px, 100%);
    max-height: 90vh;
    overflow: hidden;
    border: 3px solid var(--k);
    box-shadow: 16px 16px 0 var(--m);
    display: flex;
    flex-direction: column;
  }
  .blog-modal-close {
    position: absolute;
    top: 0.6rem;
    right: 0.85rem;
    width: 40px;
    height: 40px;
    background: var(--k);
    color: var(--y);
    border: none;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
    transition: background 0.15s;
  }
  .blog-modal-close:hover { background: var(--m); }
  .blog-modal-content {
    padding: 2.5rem 2.25rem 2rem;
    overflow-y: auto;
    overflow-x: hidden;
  }
  .blog-modal-content .bmc-cat {
    display: inline-block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.74rem;
    font-weight: 700;
    padding: 0.35rem 0.65rem;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
  }
  .blog-modal-content .bmc-h {
    font-size: clamp(1.4rem, 3vw, 1.95rem);
    font-weight: 900;
    line-height: 1.15;
    margin-bottom: 0.7rem;
    color: var(--ink);
  }
  .blog-modal-content .bmc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.74rem;
    color: rgba(0,0,0,0.55);
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--paper);
  }
  .blog-modal-content .bmc-meta strong { color: var(--m); }
  .blog-modal-content .bmc-body {
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(0,0,0,0.85);
  }
  .blog-modal-content .bmc-body p {
    margin: 0 0 1.1rem 0;
  }
  .blog-modal-content .bmc-body h4 {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 1.8rem 0 0.7rem;
    color: var(--ink);
  }
  .blog-modal-content .bmc-body ul,
  .blog-modal-content .bmc-body ol {
    margin: 0 0 1.1rem 1.4rem;
  }
  .blog-modal-content .bmc-body li { margin-bottom: 0.4rem; }
  .blog-modal-content .bmc-body blockquote {
    border-left: 4px solid var(--m);
    background: var(--paper);
    margin: 1.2rem 0;
    padding: 1rem 1.25rem;
    font-style: italic;
    color: rgba(0,0,0,0.75);
  }
  .blog-modal-content .bmc-pointed {
    background: var(--k);
    color: var(--y);
    padding: 1.2rem 1.4rem;
    margin: 1.4rem 0;
    border-left: 6px solid var(--m);
    font-weight: 600;
  }
  .blog-modal-content .bmc-foot {
    margin-top: 1.8rem;
    padding-top: 1.2rem;
    border-top: 2px dashed var(--paper);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: rgba(0,0,0,0.55);
    line-height: 1.55;
  }
  .bc-link.bc-open {
    background: none;
    border: none;
    font: inherit;
    cursor: pointer;
    padding: 0;
    color: var(--m);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    font-weight: 700;
  }
  .bc-link.bc-open:hover { color: var(--ink); }

  @media (max-width: 700px) {
    .blog-modal { padding: 0.5rem; }
    .blog-modal-frame { max-height: 95vh; box-shadow: 6px 6px 0 var(--m); }
    .blog-modal-content { padding: 2rem 1.2rem 1.5rem; }
  }

  /* ═══════════════════════════════════════════════════
     OFFENE ANFRAGEN — auffällige Hervorhebung
     ═══════════════════════════════════════════════════ */
  .anf-offen-block {
    margin: 2rem 0 2.5rem;
    border: 4px solid var(--m);
    background: linear-gradient(135deg, rgba(229,0,125,0.08) 0%, rgba(255,237,0,0.05) 100%);
    padding: 0.5rem;
    position: relative;
    animation: anfOffenFrame 2.4s ease-in-out infinite;
  }
  @keyframes anfOffenFrame {
    0%, 100% { box-shadow: 0 0 0 0 rgba(229,0,125,0.5), 8px 8px 0 var(--k); }
    50% { box-shadow: 0 0 0 8px rgba(229,0,125,0); box-shadow: 0 0 24px rgba(229,0,125,0.4), 8px 8px 0 var(--k); }
  }
  .anf-offen-h {
    background: var(--m);
    color: var(--y);
    padding: 0.85rem 1.25rem;
    margin: -0.5rem -0.5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .anf-offen-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .anf-offen-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: rgba(255,237,0,0.85);
    letter-spacing: 0.04em;
  }
  .anf-block-offen {
    background: var(--w) !important;
    border: 3px solid var(--m) !important;
    box-shadow: 0 0 0 0 rgba(229,0,125,0.7), 8px 8px 0 var(--y) !important;
    animation: anfBlockGlow 2.5s ease-in-out infinite;
    margin-top: 0;
    position: relative;
  }
  .anf-block-offen::before {
    content: 'OFFEN';
    position: absolute;
    top: -14px;
    right: 16px;
    background: var(--m);
    color: var(--y);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    padding: 0.3rem 0.8rem;
    box-shadow: 3px 3px 0 var(--k);
  }
  @keyframes anfBlockGlow {
    0%, 100% {
      box-shadow: 0 0 0 0 rgba(229,0,125,0.7), 8px 8px 0 var(--y);
    }
    50% {
      box-shadow: 0 0 0 12px rgba(229,0,125,0), 8px 8px 0 var(--y);
    }
  }
  .anf-pulse {
    animation: anfPulse 1.5s ease-in-out infinite;
    background: var(--m) !important;
    color: var(--y) !important;
    font-weight: 800 !important;
  }
  @keyframes anfPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
  }


  /* ═══════════════════════════════════════════════════
     WIESO FDP — HELLE VERSION (weniger Schwarz)
     ═══════════════════════════════════════════════════ */
  .wechsel-light { background: var(--paper); padding: 5rem 0; }
  .wechsel-card-light {
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 12px 12px 0 var(--m);
    padding: 3rem;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 3rem;
    align-items: flex-start;
  }
  .wechsel-card-light .wechsel-left h2 { color: var(--ink); }
  .wechsel-card-light .wechsel-lead { color: var(--ink); }
  .wechsel-step-light {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 1.25rem;
    padding: 1rem 0;
    border-top: 1px dashed rgba(0,0,0,0.12);
  }
  .wechsel-step-light:first-child { border-top: 0; padding-top: 0; }
  .wechsel-step-light .ws-num {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--m);
  }
  .wechsel-step-light .ws-h {
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--ink);
    margin-bottom: 0.35rem;
  }
  .wechsel-step-light .ws-p {
    font-size: 0.95rem;
    line-height: 1.55;
    color: rgba(0,0,0,0.72);
  }
  .wechsel-step-light.highlight {
    background: rgba(229,0,125,0.08);
    margin: 0.75rem -1rem;
    padding: 1rem;
    border-left: 4px solid var(--m);
    border-top: 0;
  }
  .wechsel-step-light.highlight .ws-num { color: var(--m); }
  .wechsel-step-light.highlight .ws-h { color: var(--m); }
  @media (max-width: 900px) {
    .wechsel-card-light {
      grid-template-columns: 1fr;
      gap: 2rem;
      padding: 1.75rem;
      box-shadow: 6px 6px 0 var(--m);
    }
    .wechsel-step-light { grid-template-columns: 70px 1fr; gap: 0.85rem; }
  }

  /* ═══════════════════════════════════════════════════
     KOMPASS — HELLE VERSION
     ═══════════════════════════════════════════════════ */
  .kompass-light { background: var(--paper); padding: 5rem 0; color: var(--ink); }
  .kompass-light h2 { color: var(--ink); }
  .kompass-light h2 em { color: var(--m); }
  .kompass-light .section-lead { color: rgba(0,0,0,0.7); }
  .kompass-anchor-light {
    background: var(--y);
    border: 3px solid var(--k);
    box-shadow: 8px 8px 0 var(--m);
    padding: 2.25rem 2rem;
    text-align: center;
    margin: 2rem auto 0;
    max-width: 520px;
  }
  .ka-tag-light {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--m);
    margin-bottom: 0.5rem;
  }
  .ka-h-light {
    font-size: clamp(2.2rem, 4vw, 3rem);
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--k);
    margin: 0.25rem 0;
  }
  .ka-p-light {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.9rem;
    color: var(--k);
    letter-spacing: 0.04em;
  }

  /* ═══════════════════════════════════════════════════
     ANTRÄGE — 3-SPALTEN-GRID auf Startseite
     ═══════════════════════════════════════════════════ */
  .ant-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin: 2rem 0;
  }
  .ant-card {
    background: var(--paper);
    border: 2px solid var(--k);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }
  .ant-card.koa {
    border-left: 8px solid var(--m);
    background: var(--w);
  }
  .ant-card-date {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: var(--m);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .ant-card h4 {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
    color: var(--ink);
  }
  .ant-card-text {
    font-size: 0.92rem;
    line-height: 1.5;
    color: rgba(0,0,0,0.75);
    flex: 1;
  }
  .ant-card .ant-status {
    align-self: flex-start;
    margin-top: 0;
    font-size: 0.8rem;
    padding: 0.35rem 0.75rem;
  }
  @media (max-width: 980px) {
    .ant-grid-3 { grid-template-columns: 1fr; }
  }

  /* ═══════════════════════════════════════════════════
     PRESSE-TABS auf Startseite
     ═══════════════════════════════════════════════════ */
  .presse-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1.5rem 0 0;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--k);
  }
  .presse-tab {
    background: var(--w);
    color: var(--ink);
    border: 2px solid var(--k);
    padding: 0.7rem 1.1rem;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.15s;
  }
  .presse-tab:hover { background: var(--paper); }
  .presse-tab.active {
    background: var(--m);
    color: var(--y);
    border-color: var(--m);
  }
  .presse-tab .pt-count {
    background: rgba(0,0,0,0.1);
    color: inherit;
    padding: 0.1rem 0.45rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 800;
  }
  .presse-tab.active .pt-count {
    background: var(--y);
    color: var(--m);
  }
  .presse-panel { display: none; }
  .presse-panel.active { display: block; }
  .pm-badge {
    display: inline-block;
    background: var(--m);
    color: var(--y);
    padding: 0.1rem 0.4rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    margin-left: 0.4rem;
  }

  /* ═══════════════════════════════════════════════════
     WIESO-FDP HELLE VERSION — RICHTIG durchgesetzt
     ═══════════════════════════════════════════════════ */
  section.wechsel.wechsel-light {
    background: var(--paper) !important;
    color: var(--ink) !important;
    padding: 5rem 0 !important;
    overflow: visible;
  }
  section.wechsel.wechsel-light::before,
  section.wechsel.wechsel-light::after {
    display: none !important;
    content: none !important;
  }
  section.wechsel.wechsel-light .wechsel-card-light {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 3rem;
    align-items: flex-start;
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 12px 12px 0 var(--m);
    padding: 2.5rem;
  }
  section.wechsel.wechsel-light .wechsel-left {
    position: static;
    top: auto;
  }
  section.wechsel.wechsel-light .wechsel-left h2 {
    color: var(--ink) !important;
    font-size: clamp(2.2rem, 4vw, 3rem);
    line-height: 0.95;
    margin: 1rem 0 1.25rem;
  }
  section.wechsel.wechsel-light .wechsel-lead {
    color: var(--ink) !important;
    font-size: 1rem;
    line-height: 1.55;
  }
  section.wechsel.wechsel-light .wechsel-right {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  section.wechsel.wechsel-light .wechsel-step-light {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 1.25rem;
    padding: 1.25rem 0;
    border-top: 1px dashed rgba(0,0,0,0.15);
  }
  section.wechsel.wechsel-light .wechsel-step-light:first-child {
    border-top: 0;
    padding-top: 0;
  }
  section.wechsel.wechsel-light .wechsel-step-light .ws-num {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--m);
    letter-spacing: 0.02em;
  }
  section.wechsel.wechsel-light .wechsel-step-light .ws-h {
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--ink);
    margin-bottom: 0.4rem;
  }
  section.wechsel.wechsel-light .wechsel-step-light .ws-p {
    font-size: 0.93rem;
    line-height: 1.55;
    color: rgba(0,0,0,0.72);
  }
  section.wechsel.wechsel-light .wechsel-step-light.highlight {
    background: rgba(229,0,125,0.06);
    border-left: 4px solid var(--m);
    border-top: 0;
    margin: 0.5rem 0;
    padding: 1.1rem 1rem;
  }
  section.wechsel.wechsel-light .wechsel-step-light.highlight + .wechsel-step-light {
    border-top: 0;
  }
  @media (max-width: 980px) {
    section.wechsel.wechsel-light .wechsel-card-light {
      grid-template-columns: 1fr;
      gap: 2rem;
      padding: 1.75rem;
      box-shadow: 6px 6px 0 var(--m);
    }
    section.wechsel.wechsel-light .wechsel-step-light {
      grid-template-columns: 70px 1fr;
      gap: 0.85rem;
    }
  }

  /* ═══════════════════════════════════════════════════
     LEGAL-SEITEN (Impressum, Datenschutz, Barrierefreiheit)
     ═══════════════════════════════════════════════════ */
  section.legal {
    background: var(--paper);
    padding: 4rem 0 5rem;
  }
  section.legal h1 {
    color: var(--ink);
  }
  .legal-content {
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 12px 12px 0 var(--y);
    padding: 2.5rem 3rem;
    font-size: 0.98rem;
    line-height: 1.65;
    color: var(--ink);
  }
  .legal-content .legal-intro {
    font-size: 1.05rem;
    font-weight: 500;
    border-left: 4px solid var(--m);
    padding-left: 1rem;
    margin: 0 0 1.75rem;
    background: rgba(229,0,125,0.04);
    padding: 1rem 1.25rem;
  }
  .legal-content h2 {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--ink);
    margin: 2.5rem 0 1rem;
    padding-top: 1.25rem;
    border-top: 2px solid var(--k);
    letter-spacing: -0.01em;
  }
  .legal-content h2:first-of-type {
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
  }
  .legal-content h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--ink);
    margin: 1.5rem 0 0.6rem;
  }
  .legal-content p {
    margin: 0 0 1rem;
  }
  .legal-content ul {
    margin: 0 0 1.25rem 1.5rem;
    padding: 0;
  }
  .legal-content ul li {
    margin-bottom: 0.5rem;
  }
  .legal-content a {
    color: var(--m);
    font-weight: 600;
    word-break: break-word;
  }
  .legal-content a:hover {
    text-decoration: underline;
  }
  .legal-content .legal-stand {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px dashed rgba(0,0,0,0.2);
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.85rem;
    color: rgba(0,0,0,0.6);
  }
  .legal-content .legal-note {
    margin-top: 2rem;
    padding: 1rem 1.25rem;
    background: rgba(255,214,0,0.18);
    border-left: 4px solid var(--y);
    font-size: 0.92rem;
  }
  @media (max-width: 720px) {
    .legal-content {
      padding: 1.5rem 1.25rem;
      box-shadow: 6px 6px 0 var(--y);
    }
    .legal-content h2 {
      font-size: 1.2rem;
    }
  }

  /* ═══════════════════════════════════════════════════
     FORMULARE (Kontakt + Anliegen)
     ═══════════════════════════════════════════════════ */
  section.contact-form-section {
    background: var(--paper);
    padding: 4rem 0 5rem;
  }
  .sg-form {
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 12px 12px 0 var(--m);
    padding: 2.5rem;
  }
  .sg-form .form-row {
    margin-bottom: 1.5rem;
  }
  .sg-form .form-row-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
  .sg-form label {
    display: block;
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--ink);
    margin-bottom: 0.4rem;
    letter-spacing: 0.01em;
  }
  .sg-form .form-required {
    color: var(--m);
    font-weight: 700;
  }
  .sg-form .form-optional {
    font-weight: 400;
    color: rgba(0,0,0,0.55);
    font-size: 0.85rem;
  }
  .sg-form input[type="text"],
  .sg-form input[type="email"],
  .sg-form textarea,
  .sg-form select {
    width: 100%;
    padding: 0.75rem 0.9rem;
    border: 2px solid var(--k);
    background: var(--w);
    font-family: inherit;
    font-size: 1rem;
    color: var(--ink);
    transition: border-color 0.15s, box-shadow 0.15s;
  }
  .sg-form input:focus,
  .sg-form textarea:focus,
  .sg-form select:focus {
    outline: 0;
    border-color: var(--m);
    box-shadow: 0 0 0 3px rgba(229,0,125,0.18);
  }
  .sg-form textarea {
    resize: vertical;
    min-height: 140px;
    line-height: 1.55;
  }
  .sg-form .form-hint {
    display: block;
    font-size: 0.83rem;
    color: rgba(0,0,0,0.6);
    margin-top: 0.3rem;
  }
  .sg-form .form-checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.7rem;
    align-items: start;
    font-weight: 400;
    font-size: 0.92rem;
    line-height: 1.5;
    cursor: pointer;
  }
  .sg-form .form-checkbox input[type="checkbox"] {
    margin-top: 0.2rem;
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--m);
    cursor: pointer;
  }
  .sg-form .form-checkbox a {
    color: var(--m);
    font-weight: 600;
  }
  .sg-form .form-row-submit {
    margin-top: 1.75rem;
  }
  .sg-form .form-footer-note {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px dashed rgba(0,0,0,0.2);
    font-size: 0.85rem;
    color: rgba(0,0,0,0.65);
  }
  /* Honeypot - unsichtbar (global für alle Formulare) */
  .hp-field,
  .sg-form .hp-field {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Status-Meldungen nach Submit */
  .form-status {
    padding: 1.25rem 1.5rem;
    margin-bottom: 2rem;
    border: 3px solid var(--k);
  }
  .form-status strong {
    display: block;
    font-size: 1.05rem;
    margin-bottom: 0.4rem;
  }
  .form-status p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
  }
  .form-status-success {
    background: rgba(0,150,75,0.1);
    border-color: #008347;
  }
  .form-status-success strong {
    color: #006135;
  }
  .form-status-error {
    background: rgba(220,30,30,0.08);
    border-color: #c41e1e;
  }
  .form-status-error strong {
    color: #a01818;
  }
  .form-status a {
    color: var(--m);
    font-weight: 600;
  }

  @media (max-width: 720px) {
    .sg-form {
      padding: 1.5rem 1.25rem;
      box-shadow: 6px 6px 0 var(--m);
    }
    .sg-form .form-row-2col {
      grid-template-columns: 1fr;
    }
  }

  /* ═══════════════════════════════════════════════════
     SUCHE
     ═══════════════════════════════════════════════════ */
  .search-form-wrap {
    background: var(--paper);
    padding: 4rem 0 5rem;
  }
  .search-results-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 2rem 0;
  }
  .search-result-item {
    background: var(--w);
    border: 2px solid var(--k);
    box-shadow: 6px 6px 0 var(--y);
    padding: 1.5rem 1.75rem;
    transition: transform 0.15s, box-shadow 0.15s;
  }
  .search-result-item:hover {
    transform: translate(-2px, -2px);
    box-shadow: 8px 8px 0 var(--m);
  }
  .search-result-item h3 {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0 0 0.5rem;
  }
  .search-result-item h3 a {
    color: var(--ink);
    text-decoration: none;
  }
  .search-result-item h3 a:hover {
    color: var(--m);
  }
  .search-result-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.78rem;
    color: rgba(0,0,0,0.55);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0.4rem;
  }
  .search-result-item p {
    margin: 0.5rem 0 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: rgba(0,0,0,0.78);
  }
  .search-form-main {
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 8px 8px 0 var(--m);
    padding: 1.5rem;
    margin-bottom: 2.5rem;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
  }
  .search-form-main input[type="search"] {
    border: 2px solid var(--k);
    padding: 0.75rem 1rem;
    font-size: 1.05rem;
    font-family: inherit;
    background: var(--w);
  }
  .search-form-main input[type="search"]:focus {
    outline: 0;
    border-color: var(--m);
  }
  .search-no-results {
    background: var(--w);
    border: 2px dashed rgba(0,0,0,0.3);
    padding: 2rem;
    text-align: center;
    color: rgba(0,0,0,0.6);
    margin: 2rem 0;
  }

  /* ═══════════════════════════════════════════════════
     SPRECHSTUNDE-WIDGET (auf Startseite, unter Hero)
     ═══════════════════════════════════════════════════ */
  section.sprechstunde-block {
    background: linear-gradient(180deg, var(--paper) 0%, var(--w) 100%);
    padding: 3.5rem 0 4rem;
    border-bottom: 1px dashed rgba(0,0,0,0.1);
  }
  .sp-wrap {
    background: var(--w);
    border: 3px solid var(--k);
    box-shadow: 14px 14px 0 var(--m);
    padding: 2.25rem 2.5rem 2.5rem;
    max-width: 920px;
    margin: 0 auto;
  }
  .sp-header {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.25rem;
  }
  .sp-emoji {
    font-size: 2.6rem;
    line-height: 1;
  }
  .sp-h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 900;
    line-height: 1.1;
    margin: 0;
    letter-spacing: -0.01em;
    color: var(--ink);
  }
  .sp-lead {
    font-size: 1rem;
    line-height: 1.55;
    color: rgba(0,0,0,0.78);
    margin: 0 0 1.5rem;
    max-width: 720px;
  }
  .sp-status {
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    border: 2px solid var(--k);
  }
  .sp-status strong { display: block; font-size: 1.05rem; margin-bottom: 0.3rem; }
  .sp-status p { margin: 0; font-size: 0.95rem; }
  .sp-status-ok { background: rgba(0,150,75,0.08); border-color: #008347; }
  .sp-status-ok strong { color: #006135; }
  .sp-status-err { background: rgba(220,30,30,0.06); border-color: #c41e1e; }
  .sp-status-err strong { color: #a01818; }

  .sp-meeting {
    background: rgba(255,214,0,0.18);
    border-left: 4px solid var(--y);
    padding: 0.9rem 1.1rem;
    margin: 0 0 1.5rem;
  }
  .sp-meeting-meta {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--ink);
    margin-bottom: 0.3rem;
  }
  .sp-meeting-titel {
    font-weight: 700;
    font-size: 1rem;
    color: var(--ink);
  }

  .sp-form {
    /* hier kein extra Rahmen, wir sind schon in sp-wrap */
  }
  .sp-slots {
    margin-bottom: 1.75rem;
  }
  .sp-slots-label {
    font-weight: 700;
    margin-bottom: 0.6rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(0,0,0,0.7);
  }
  .sp-slot {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    gap: 0.9rem;
    align-items: center;
    padding: 0.85rem 1rem;
    border: 2px solid var(--k);
    margin-bottom: 0.6rem;
    cursor: pointer;
    transition: all 0.1s;
    background: var(--w);
  }
  .sp-slot:hover:not(.sp-slot-booked) {
    background: rgba(255,214,0,0.12);
    box-shadow: 3px 3px 0 var(--m);
    transform: translate(-1px, -1px);
  }
  .sp-slot input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--m);
    cursor: pointer;
  }
  .sp-slot-time {
    font-weight: 800;
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
  }
  .sp-slot-info { text-align: right; }
  .sp-slot-badge {
    display: inline-block;
    padding: 0.18rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .sp-slot-badge-free { background: #008347; color: var(--w); }
  .sp-slot-badge-booked { background: rgba(0,0,0,0.3); color: var(--w); }
  .sp-slot-booked {
    opacity: 0.55;
    cursor: not-allowed;
    background: rgba(0,0,0,0.04);
  }
  .sp-slot-booked input[type="radio"] {
    cursor: not-allowed;
  }

  .sp-fields { display: flex; flex-direction: column; gap: 1rem; }
  .sp-field label {
    display: block;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--ink);
    margin-bottom: 0.35rem;
    letter-spacing: 0.01em;
  }
  .sp-field input[type="text"],
  .sp-field input[type="email"],
  .sp-field input[type="tel"],
  .sp-field textarea {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 2px solid var(--k);
    background: var(--w);
    font-family: inherit;
    font-size: 1rem;
  }
  .sp-field input:focus, .sp-field textarea:focus {
    outline: 0;
    border-color: var(--m);
    box-shadow: 0 0 0 3px rgba(229,0,125,0.18);
  }
  .sp-field textarea { resize: vertical; min-height: 110px; line-height: 1.55; }
  .sp-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .sp-field .form-checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.6rem;
    align-items: start;
    font-weight: 400;
    font-size: 0.92rem;
    line-height: 1.5;
  }
  .sp-field .form-checkbox input { margin-top: 0.2rem; accent-color: var(--m); }

  @media (max-width: 720px) {
    .sp-wrap {
      padding: 1.5rem 1.25rem;
      box-shadow: 7px 7px 0 var(--m);
    }
    .sp-header { grid-template-columns: 48px 1fr; }
    .sp-emoji { font-size: 2.1rem; }
    .sp-slot { grid-template-columns: 24px 1fr auto; gap: 0.7rem; padding: 0.7rem 0.85rem; }
    .sp-slot-time { font-size: 1rem; }
    .sp-field-row { grid-template-columns: 1fr; }
  }

  /* ═══════════════════════════════════════════════════
     BLOG-BILDER (eingebettete <figure>-Elemente)
     ═══════════════════════════════════════════════════ */
  .blog-image {
    margin: 2rem 0 2.5rem;
    padding: 0;
  }
  .blog-image img {
    display: block;
    width: 100%;
    height: auto;
    border: 2px solid var(--k);
    box-shadow: 8px 8px 0 var(--m);
  }
  .blog-image figcaption {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.82rem;
    color: rgba(0,0,0,0.65);
    margin-top: 0.8rem;
    padding-left: 0.6rem;
    border-left: 3px solid var(--m);
    line-height: 1.5;
  }
  .blog-image figcaption em {
    font-style: normal;
    color: rgba(0,0,0,0.45);
    font-size: 0.78rem;
  }
  
  /* Hero-Bild: groß, prominent */
  .blog-image-hero {
    margin: 0 0 2.5rem;
  }
  .blog-image-hero img {
    box-shadow: 12px 12px 0 var(--m);
  }
  
  /* Bild seitlich (für kürzere Anekdoten) */
  .blog-image-side {
    float: right;
    width: 40%;
    margin: 0 0 1.5rem 2rem;
  }
  .blog-image-side img { box-shadow: 5px 5px 0 var(--m); }
  
  @media (max-width: 700px) {
    .blog-image { margin: 1.5rem 0 2rem; }
    .blog-image img { box-shadow: 5px 5px 0 var(--m); }
    .blog-image-hero img { box-shadow: 6px 6px 0 var(--m); }
    .blog-image-side {
      float: none;
      width: 100%;
      margin: 1.5rem 0 2rem;
    }
  }

  /* ═══════════════════════════════════════════════════
     KOALITIONS-FOTO BANNER (Startseite)
     ═══════════════════════════════════════════════════ */
  section.koalition-banner {
    background: linear-gradient(135deg, var(--paper) 0%, rgba(255,214,0,0.2) 100%);
    padding: 3.5rem 0 4rem;
    border-bottom: 1px dashed rgba(0,0,0,0.1);
  }
  .koalition-banner-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 3rem;
    align-items: center;
  }
  .koalition-banner-img {
    position: relative;
  }
  .koalition-banner-img img {
    display: block;
    width: 100%;
    height: auto;
    border: 3px solid var(--k);
    box-shadow: 12px 12px 0 var(--m);
  }
  .koalition-banner-text .eyebrow {
    color: var(--m);
    margin-bottom: 0.7rem;
  }
  .koalition-banner-text h2 {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin-bottom: 1.25rem;
    color: var(--ink);
  }
  .koalition-banner-text p {
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0.85rem 0;
    color: rgba(0,0,0,0.78);
  }
  .koalition-banner-text strong {
    background: linear-gradient(180deg, transparent 60%, rgba(255,214,0,0.55) 60%);
    padding: 0 2px;
    font-weight: 700;
  }
  @media (max-width: 880px) {
    .koalition-banner-grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .koalition-banner-img img {
      box-shadow: 7px 7px 0 var(--m);
    }
    .koalition-banner-text h2 { font-size: 1.6rem; }
  }

/* ═══════════════════════════════════════════════════
   HEADER-DROPDOWN (Mitmachen-Menü)
   ═══════════════════════════════════════════════════ */
.primary ul li.has-dropdown {
  position: relative;
}
.primary ul li.has-dropdown > a {
  cursor: pointer;
}
.primary ul li.has-dropdown .dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--w);
  border: 1px solid var(--line);
  border-top: 3px solid var(--m);
  min-width: 220px;
  padding: 0.4rem 0;
  margin: 0;
  list-style: none;
  z-index: 1000;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.primary ul li.has-dropdown:hover .dropdown,
.primary ul li.has-dropdown:focus-within .dropdown {
  display: block;
}
.primary ul li.has-dropdown .dropdown li {
  display: block;
  margin: 0;
}
.primary ul li.has-dropdown .dropdown li a {
  display: block;
  padding: 0.65rem 1.1rem;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  border: none;
  border-radius: 0;
  background: transparent;
  transition: background 0.12s, color 0.12s, padding 0.12s;
}
.primary ul li.has-dropdown .dropdown li a:hover {
  background: var(--y);
  color: var(--k);
  font-weight: 700;
  padding-left: 1.35rem;
}

@media (max-width: 1100px) {
  /* Mobil: Dropdown immer offen / stapeln */
  .primary ul li.has-dropdown .dropdown {
    position: static;
    display: block;
    box-shadow: none;
    border: none;
    background: rgba(229, 0, 125, 0.03);
    margin: 0;
    padding: 0.25rem 0 0.5rem 0;
    min-width: 0;
    width: 100%;
  }
  .primary ul li.has-dropdown .dropdown li {
    border-bottom: none !important;
  }
  .primary ul li.has-dropdown .dropdown li a {
    padding: 0.6rem 1.5rem 0.6rem 2.5rem;
    font-size: 0.92rem;
    color: var(--ink);
    font-weight: 500;
    border-bottom: none;
    position: relative;
  }
  .primary ul li.has-dropdown .dropdown li a::before {
    content: '›';
    position: absolute;
    left: 1.6rem;
    color: var(--m);
    font-weight: 700;
  }
  .primary ul li.has-dropdown .dropdown li a:hover {
    background: var(--y);
    color: var(--k);
    padding-left: 2.5rem;
  }
}

/* ═══════════════════════════════════════════════════
   ANFRAGEN-BLÖCKE auf der STARTSEITE
   Karten-Stil mit großzügigem Abstand
   ═══════════════════════════════════════════════════ */
.anf .anf-block {
  background: var(--paper);
  border: 2px solid var(--k);
  padding: 1.75rem 2rem;
  margin-bottom: 1.5rem;
  box-shadow: 6px 6px 0 rgba(0,0,0,0.06);
  transition: box-shadow 0.15s, transform 0.15s;
}
.anf .anf-block:hover {
  box-shadow: 8px 8px 0 var(--m);
  transform: translateY(-2px);
}
.anf .anf-block:first-of-type {
  margin-top: 2.5rem;
}
.anf .anf-block:last-of-type {
  margin-bottom: 0;
}
.anf .anf-block .anf-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.anf .anf-block .anf-id {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  color: rgba(11,42,62,0.65);
  letter-spacing: 0.05em;
  font-weight: 700;
}
.anf .anf-block h3 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--k);
  margin: 0;
  line-height: 1.3;
}
.anf .anf-block .anf-status-pill {
  display: inline-block;
  background: #16a34a;
  color: var(--w);
  padding: 0.3rem 0.75rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.anf .anf-block .anf-status-pill.warn { background: var(--m); color: var(--y); }

/* OFFEN-Block bekommt extra Magenta-Höhepunkt + großer Top-Abstand */
.anf .anf-block-offen {
  background: var(--w);
  border: 3px solid var(--m);
  box-shadow: 8px 8px 0 var(--y);
  position: relative;
  margin-top: 2.5rem;
  margin-bottom: 2rem;
  animation: anfBlockGlow 2.5s ease-in-out infinite;
}
.anf .anf-block-offen::before {
  content: '🔥 OFFEN';
  position: absolute;
  top: -14px;
  right: 16px;
  background: var(--m);
  color: var(--y);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  padding: 0.3rem 0.8rem;
  box-shadow: 3px 3px 0 var(--k);
}
@media (max-width: 720px) {
  .anf .anf-block { padding: 1.25rem 1.5rem; margin-bottom: 1.25rem; }
}

/* ═══ FEATURED GAME (Spiel des Monats) — mobile ═══ */
@media (max-width: 700px) {
  .featured-game {
    grid-template-columns: 1fr !important;
    text-align: left;
    padding: 1.25rem !important;
    gap: 1rem !important;
  }
  .featured-game > button {
    width: 100%;
    justify-self: stretch !important;
  }
  .featured-game > div:first-of-type {
    font-size: 2.2rem !important;
  }
}

/* ═══ SMASH BALLOON INSTAGRAM FEED — Wrapper ═══ */
.sg-ig-feed-wrap {
  margin: 1.5rem 0;
  min-height: 200px;
}
.sg-ig-feed-wrap #sb_instagram,
.sg-ig-feed-wrap #sbi_images {
  max-width: 100% !important;
}
/* Etwas mehr Abstand zwischen Posts, FDP-Look */
.sg-ig-feed-wrap .sbi_item {
  transition: transform 0.15s;
}
.sg-ig-feed-wrap .sbi_item:hover {
  transform: translateY(-2px);
}
/* "Load More"-Button im FDP-Style */
.sg-ig-feed-wrap .sbi_load_btn,
.sg-ig-feed-wrap #sbi_load .sbi_load_btn {
  background: var(--m) !important;
  color: var(--y) !important;
  border: 2px solid var(--m) !important;
  font-weight: 700 !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: 0 !important;
  transition: all 0.15s !important;
  cursor: pointer !important;
}
.sg-ig-feed-wrap .sbi_load_btn:hover {
  background: var(--k) !important;
  color: var(--y) !important;
  border-color: var(--k) !important;
}

/* ═══ SG-EDITABLE-CONTENT — Inhalte aus dem WordPress-Editor ═══
   Sorgt dafür, dass Texte aus dem Gutenberg/Classic-Editor
   auf den editierbaren Seiten (Über mich, Wieso FDP, Kompass,
   Koalition) im FDP-Design erscheinen. */
.sg-editable-content h2 {
  font-size: clamp(1.3rem, 2.6vw, 1.8rem);
  font-weight: 800;
  color: var(--k);
  margin: 1.8rem 0 0.8rem 0;
  line-height: 1.25;
}
.sg-editable-content h3 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--k);
  margin: 1.5rem 0 0.6rem 0;
  line-height: 1.3;
}
.sg-editable-content h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--k);
  margin: 1.2rem 0 0.5rem 0;
}
.sg-editable-content p {
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--ink);
  margin: 0 0 1rem 0;
}
.sg-editable-content ul,
.sg-editable-content ol {
  margin: 0 0 1.2rem 1.3rem;
  padding: 0;
}
.sg-editable-content li {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink);
  margin-bottom: 0.4rem;
}
.sg-editable-content a {
  color: var(--m);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.sg-editable-content a:hover {
  background: var(--y);
  color: var(--k);
  text-decoration: none;
}
.sg-editable-content blockquote {
  border-left: 4px solid var(--m);
  margin: 1.5rem 0;
  padding: 0.5rem 0 0.5rem 1.25rem;
  font-style: italic;
  color: rgba(11,42,62,0.85);
}
.sg-editable-content strong {
  color: var(--k);
  font-weight: 700;
}
.sg-editable-content img {
  max-width: 100%;
  height: auto;
  border: 2px solid var(--k);
  margin: 1rem 0;
}
.sg-editable-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}
.sg-editable-content table th,
.sg-editable-content table td {
  border: 1px solid rgba(0,0,0,0.15);
  padding: 0.6rem 0.85rem;
  text-align: left;
}
.sg-editable-content table th {
  background: var(--k);
  color: var(--w);
  font-weight: 700;
}

