/* ==========================================================================
   Kanzlei-Designsystem v1 (26.10.2026) – justiz.teslanow.de
   Zurückhaltend, seriös, großzügige Weißräume, Serif für Aussagen, Sans für Belege.
   Farben: Tinte #161920 · Bordeaux #8b1e24 · Gold #b89758 · Papier #f7f5f0
   Nur eigene Mittel (keine Fremdbibliotheken), Muster angelehnt an moderne Komponenten-Kits.
   ========================================================================== */
.kx { --kx-ink:#161920; --kx-ink-2:#2b2f38; --kx-bordeaux:#8b1e24; --kx-gold:#b89758; --kx-gold-soft:#e9dfc9;
      --kx-paper:#f7f5f0; --kx-cream:#fbf8f1; --kx-line:#ddd6c8; --kx-muted:#5d6068;
      margin: 56px 0 8px; color: var(--kx-ink); }
.kx * { box-sizing: border-box; }
.kx-block { margin: 0 0 64px; }
.kx-eyebrow { display:flex; align-items:center; gap:12px; font-family: var(--f-sans); font-size:.72rem; font-weight:700;
      letter-spacing:.16em; text-transform:uppercase; color: var(--kx-bordeaux); margin:0 0 14px; }
.kx-eyebrow::before { content:""; width:28px; height:1px; background: var(--kx-gold); }
.kx-h { font-family: var(--f-serif); font-weight:600; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height:1.18;
      letter-spacing:-.005em; margin:0 0 10px; color: var(--kx-ink); }
.kx-lede { font-family: var(--f-serif); font-size:1.08rem; line-height:1.6; color: var(--kx-ink-2); max-width: 62ch; margin:0 0 26px; }
.kx-legend { display:flex; flex-wrap:wrap; gap:6px 22px; font-family: var(--f-mono); font-size:.76rem; color: var(--kx-muted); margin:0 0 18px; }

/* --- Sendungskacheln ---------------------------------------------------- */
.kx-tiles { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:1px; background: var(--kx-line);
      border:1px solid var(--kx-line); }
.kx-tile { background:#fff; padding:22px 20px 20px; display:flex; flex-direction:column; gap:4px; position:relative; }
.kx-tile::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background: var(--kx-ink); }
.kx-tile--haupt::before { background: var(--kx-bordeaux); }
.kx-tile__org { font-family: var(--f-sans); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color: var(--kx-muted); }
.kx-tile__typ { font-family: var(--f-serif); font-size:1rem; color: var(--kx-ink); }
.kx-tile__e { font-family: var(--f-serif); font-size: clamp(2.2rem, 4vw, 3rem); font-weight:600; line-height:1; margin:14px 0 8px;
      font-variant-numeric: tabular-nums lining-nums; color: var(--kx-ink); }
.kx-tile--haupt .kx-tile__e { color: var(--kx-bordeaux); }
.kx-tile__meta { font-family: var(--f-sans); font-size:.84rem; color: var(--kx-ink-2); }
.kx-tile__code { margin-top:auto; padding-top:12px; border-top:1px solid var(--kx-line); font-family: var(--f-mono); font-size:.76rem;
      color: var(--kx-muted); letter-spacing:.02em; }
@media (max-width: 900px) { .kx-tiles { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) { .kx-tiles { grid-template-columns: 1fr; } }

/* --- Dunkles Kennzahlfeld ----------------------------------------------- */
.kx-metric { background: var(--kx-ink); color:#f4f1ea; padding: 36px clamp(22px, 4vw, 48px) 32px; margin-top:24px; position:relative; }
.kx-metric::after { content:""; position:absolute; left: clamp(22px, 4vw, 48px); right: clamp(22px, 4vw, 48px); top:0; height:1px; background: var(--kx-gold); }
.kx-metric__label { font-family: var(--f-sans); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color: var(--kx-gold); margin:0 0 16px; }
.kx-metric__row { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 22px; }
.kx-metric__value { font-family: var(--f-serif); font-weight:600; font-size: clamp(2.3rem, 6.4vw, 4.4rem); line-height:1; letter-spacing:-.01em;
      font-variant-numeric: tabular-nums lining-nums; color:#fff; }
.kx-metric__chip { font-family: var(--f-mono); font-size:.8rem; color: var(--kx-gold); border:1px solid rgba(184,151,88,.55); padding:4px 10px; }
.kx-metric__formula { font-family: var(--f-mono); font-size:.86rem; color:#cfc9bd; margin:16px 0 0; }
.kx-note { font-family: var(--f-sans); font-size:.9rem; line-height:1.65; color: var(--kx-ink-2); background:#fff; border:1px solid var(--kx-line);
      border-top:0; padding:20px clamp(22px, 4vw, 48px) 22px; }
.kx-note strong { color: var(--kx-ink); }

/* --- Vergleichsboxen ---------------------------------------------------- */
.kx-compare { display:grid; grid-template-columns: 1fr 1fr; gap:24px; }
@media (max-width: 800px) { .kx-compare { grid-template-columns: 1fr; } }
.kx-card { background: var(--kx-paper); border:1px solid var(--kx-line); padding:26px 26px 24px; position:relative; }
.kx-card__nr { font-family: var(--f-serif); font-size:.9rem; color: var(--kx-gold); letter-spacing:.08em; margin-bottom:8px; }
.kx-card__h { font-family: var(--f-serif); font-weight:600; font-size:1.18rem; line-height:1.3; margin:0 0 12px; color: var(--kx-ink); }
.kx-card p { font-family: var(--f-sans); font-size:.93rem; line-height:1.68; color: var(--kx-ink-2); margin:0; }

/* --- Hervorhebung (Creme/Gold, Bordeaux-Linie) -------------------------- */
.kx-highlight { background: var(--kx-cream); border:1px solid var(--kx-gold-soft); border-left:4px solid var(--kx-bordeaux);
      padding: 30px clamp(22px, 4vw, 44px); }
.kx-highlight__h { font-family: var(--f-serif); font-weight:600; font-size: clamp(1.2rem, 2vw, 1.45rem); margin:0 0 18px; color: var(--kx-ink); }
.kx-quote { margin:0 0 22px; padding:0 0 0 22px; border-left:1px solid var(--kx-gold); }
.kx-quote p { font-family: var(--f-serif); font-style:italic; font-size:1.12rem; line-height:1.55; color: var(--kx-ink); margin:0 0 8px; }
.kx-quote cite { font-family: var(--f-sans); font-style:normal; font-size:.78rem; letter-spacing:.04em; color: var(--kx-muted); }
.kx-highlight__lead { font-family: var(--f-sans); font-weight:700; font-size:.95rem; color: var(--kx-bordeaux); margin:0 0 6px; }
.kx-highlight p.kx-body { font-family: var(--f-sans); font-size:.95rem; line-height:1.7; color: var(--kx-ink-2); margin:0; }

/* --- Faktencheck -------------------------------------------------------- */
.kx-check { border-top:1px solid var(--kx-ink); }
.kx-check__item { display:grid; grid-template-columns: 72px 1fr; gap:0 24px; padding:30px 0; border-bottom:1px solid var(--kx-line); }
.kx-check__nr { font-family: var(--f-serif); font-size:2.2rem; line-height:1; color: var(--kx-gold); font-variant-numeric: lining-nums; }
.kx-check__h { font-family: var(--f-serif); font-weight:600; font-size: clamp(1.1rem, 1.8vw, 1.32rem); line-height:1.3; margin:2px 0 18px; }
.kx-check__cols { display:grid; grid-template-columns: 1fr 1fr; gap:22px; }
@media (max-width: 860px) { .kx-check__cols { grid-template-columns: 1fr; } .kx-check__item { grid-template-columns: 48px 1fr; gap:0 14px; } .kx-check__nr { font-size:1.6rem; } }
.kx-check__label { font-family: var(--f-sans); font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color: var(--kx-muted); margin:0 0 10px; }
.kx-check__orig { background:#fff; border:1px solid var(--kx-line); padding:18px 20px; }
.kx-check__orig blockquote { margin:0 0 12px; padding:0; border:0; font-family: var(--f-serif); font-style:italic; font-size:.98rem; line-height:1.55; color: var(--kx-ink); }
.kx-check__orig blockquote:last-child { margin-bottom:0; }
.kx-check__ana { padding:2px 0 0; }
.kx-check__ana .kx-check__label { color: var(--kx-bordeaux); }
.kx-check__ana strong.kx-lead { display:block; font-family: var(--f-serif); font-size:1.06rem; line-height:1.4; color: var(--kx-ink); margin:0 0 10px; }
.kx-check__ana p { font-family: var(--f-sans); font-size:.93rem; line-height:1.7; color: var(--kx-ink-2); margin:0; }
.kx-verdict { background: var(--kx-ink); color:#ebe6dc; padding: 28px clamp(22px, 4vw, 44px); margin-top:28px; }
.kx-verdict__h { font-family: var(--f-sans); font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color: var(--kx-gold); margin:0 0 12px; }
.kx-verdict p { font-family: var(--f-serif); font-size:1.06rem; line-height:1.65; margin:0; color:#f4f1ea; }
.kx-actions { margin:26px 0 0; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.kx-button { display:inline-flex; align-items:center; gap:12px; padding:14px 22px; background: var(--kx-ink); color:#fff !important; text-decoration:none;
      font-family: var(--f-sans); font-weight:600; font-size:.92rem; letter-spacing:.02em; border:1px solid var(--kx-ink); transition: background .15s, border-color .15s; }
.kx-button::after { content:"→"; color: var(--kx-gold); transition: transform .15s; }
.kx-button:hover, .kx-button:focus-visible { background: var(--kx-bordeaux); border-color: var(--kx-bordeaux); outline:none; }
.kx-button:hover::after { transform: translateX(3px); }
.kx-fine { font-family: var(--f-sans); font-size:.78rem; line-height:1.6; color: var(--kx-muted); margin:18px 0 0; }
@media (prefers-reduced-motion: reduce) { .kx-button, .kx-button::after { transition:none; } }

/* --- Feinschliff 26.10.2026 ------------------------------------------- */
.kx-tile__typ { min-height: 2.7em; }
@media (max-width: 480px) { .kx-tile__typ { min-height: 0; } }
.kx-check__ana p.kx-check__label, .kx-check__orig p.kx-check__label { font-family: var(--f-sans); font-size:.68rem; font-weight:700; letter-spacing:.14em;
      text-transform:uppercase; line-height:1.5; margin:0 0 10px; }
.kx-verdict p.kx-verdict__h { font-family: var(--f-sans); font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color: var(--kx-gold); margin:0 0 12px; line-height:1.5; }
.kx-check__orig blockquote { background:none; border:0; border-left:2px solid var(--kx-gold); padding:2px 0 2px 14px; box-shadow:none; }
.kx-check__orig blockquote::before, .kx-quote::before { content:none; }
.kx-highlight .kx-quote { background:none; box-shadow:none; }
/* Kacheln: gemeinsame Zeilenhoehen je Reihe (Subgrid), damit die E-Werte auf einer Linie stehen */
@supports (grid-template-rows: subgrid) {
  .kx-tile { display:grid; grid-row: span 6; grid-template-rows: subgrid; row-gap:4px; align-content:start; }
  .kx-tile__typ { min-height:0; }
  .kx-tile__code { margin-top:0; align-self:end; }
}

/* ==========================================================================
   v2 (26.10.2026): Seitenbausteine für den Rollout
   ========================================================================== */
.kxp { --kx-ink:#161920; --kx-ink-2:#2b2f38; --kx-bordeaux:#8b1e24; --kx-gold:#b89758; --kx-gold-soft:#e9dfc9;
      --kx-paper:#f7f5f0; --kx-cream:#fbf8f1; --kx-line:#ddd6c8; --kx-muted:#5d6068; color: var(--kx-ink); }
.kxp .kx { margin-top: 40px; }
.kx-wrap { max-width: 1200px; margin: 0 auto; padding: 0 clamp(18px, 4vw, 40px); }
.kx-section { padding: clamp(56px, 8vw, 104px) 0; border-top: 1px solid var(--kx-line); scroll-margin-top: 96px; }
.kx-section--paper { background: var(--kx-paper); }
.kx-section--ink { background: var(--kx-ink); color: #ece7dd; border-top: 0; }

/* Hero */
.kx-hero { padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 6vw, 72px); }
.kx-hero__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
@media (max-width: 960px) { .kx-hero__grid { grid-template-columns: 1fr; } }
.kx-hero h1 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(2.1rem, 5.2vw, 3.9rem); line-height: 1.06; letter-spacing: -.015em; margin: 0 0 22px; color: var(--kx-ink); }
.kx-hero__lead { font-family: var(--f-serif); font-size: clamp(1.05rem, 1.6vw, 1.24rem); line-height: 1.62; color: var(--kx-ink-2); margin: 0; }
.kx-badge { border: 1px solid var(--kx-line); background: #fff; padding: 26px 26px 22px; position: relative; }
.kx-badge::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--kx-gold); }
.kx-badge__num { font-family: var(--f-serif); font-size: clamp(2.6rem, 5vw, 3.6rem); font-weight: 600; line-height: 1; color: var(--kx-bordeaux); font-variant-numeric: lining-nums; }
.kx-badge__label { font-family: var(--f-serif); font-size: 1.08rem; margin: 6px 0 12px; }
.kx-badge p { font-family: var(--f-sans); font-size: .84rem; line-height: 1.6; color: var(--kx-muted); margin: 0; }
.kx-standard { margin-top: clamp(32px, 5vw, 56px); display: grid; grid-template-columns: 180px 1fr; gap: 0 32px; border-top: 1px solid var(--kx-ink); padding-top: 26px; }
@media (max-width: 760px) { .kx-standard { grid-template-columns: 1fr; gap: 10px; } }
.kx-standard__label { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-bordeaux); line-height: 1.5; }
.kx-standard blockquote { margin: 0 0 10px; padding: 0; border: 0; background: none; font-family: var(--f-serif); font-style: italic; font-size: clamp(1.1rem, 1.8vw, 1.35rem); line-height: 1.5; color: var(--kx-ink); }
.kx-standard cite, .kx-src { font-family: var(--f-sans); font-style: normal; font-size: .8rem; color: var(--kx-muted); }
.kx-standard cite a, .kx-src a { color: var(--kx-bordeaux); }
.kx-standard p { font-family: var(--f-sans); font-size: .95rem; line-height: 1.7; color: var(--kx-ink-2); margin: 12px 0 0; max-width: 74ch; }

/* Klagegebäude */
.kx-temple { margin: 0 auto; max-width: 1080px; }
.kx-temple__roof { position: relative; background: var(--kx-ink); color: #f1ece2; clip-path: polygon(50% 0, 100% 100%, 0 100%);
      padding: clamp(46px, 7vw, 78px) 18% clamp(16px, 2.4vw, 24px); text-align: center; }
.kx-temple__roof strong { display: block; font-family: var(--f-serif); font-size: clamp(1rem, 2.2vw, 1.45rem); font-weight: 600; color: #fff; }
.kx-temple__roof span { display: block; font-family: var(--f-sans); font-size: clamp(.62rem, 1.1vw, .78rem); letter-spacing: .08em; color: var(--kx-gold); margin-top: 6px; }
.kx-temple__beam { height: 10px; background: var(--kx-gold); margin: 6px 3% 0; }
.kx-temple__cols { display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(8px, 1.6vw, 18px); padding: 0 4%; }
.kx-col { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: var(--kx-ink); padding: 16px 6px 18px; margin-top: 10px;
      background: linear-gradient(90deg, #ece6da 0, #fbf8f1 18%, #fff 50%, #fbf8f1 82%, #ece6da 100%); border: 1px solid var(--kx-line);
      min-height: 230px; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; position: relative; }
.kx-col::before, .kx-col::after { content: ""; position: absolute; left: -6px; right: -6px; height: 8px; background: var(--kx-ink-2); }
.kx-col::before { top: -9px; } .kx-col::after { bottom: -9px; }
.kx-col__num { font-family: var(--f-serif); font-size: clamp(1.3rem, 2.4vw, 1.9rem); color: var(--kx-gold); line-height: 1; margin-top: 8px; }
.kx-col__title { font-family: var(--f-serif); font-size: clamp(.82rem, 1.25vw, .98rem); line-height: 1.3; text-align: center; margin-top: auto; padding-top: 18px; hyphens: auto; }
.kx-col:hover, .kx-col:focus-visible { transform: translateY(-6px); border-color: var(--kx-gold); box-shadow: 0 14px 30px -18px rgba(22,25,32,.45); outline: none; }
.kx-col:hover .kx-col__num, .kx-col:focus-visible .kx-col__num { color: var(--kx-bordeaux); }
.kx-temple__base { margin: 18px 0 0; background: var(--kx-ink); color: #ece7dd; padding: 20px clamp(18px, 4vw, 40px); text-align: center; border-top: 4px solid var(--kx-gold); }
.kx-temple__base a { color: inherit; text-decoration: none; }
.kx-temple__base strong { display: block; font-family: var(--f-sans); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--kx-gold); }
.kx-temple__base span { display: block; font-family: var(--f-serif); font-size: clamp(.98rem, 1.8vw, 1.2rem); margin-top: 6px; }
.kx-temple__base small { display: block; font-family: var(--f-sans); font-size: .78rem; color: #b9b3a7; margin-top: 4px; }
@media (max-width: 760px) {
  .kx-temple__roof { padding: 40px 12% 14px; }
  .kx-temple__cols { grid-template-columns: repeat(3, 1fr); row-gap: 26px; }
  .kx-col { min-height: 150px; }
}

/* Säulen-Kopf und Dossier */
.kx-pillar__head { display: grid; grid-template-columns: auto 1fr; gap: 0 clamp(18px, 3vw, 36px); align-items: end; margin-bottom: clamp(26px, 4vw, 42px); }
.kx-pillar__num { font-family: var(--f-serif); font-size: clamp(3.4rem, 9vw, 6.4rem); line-height: .82; color: var(--kx-gold); font-weight: 400; }
.kx-pillar__eyebrow { font-family: var(--f-sans); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 8px; }
.kx-pillar__title { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.55rem, 3.2vw, 2.4rem); line-height: 1.15; margin: 0; color: var(--kx-ink); }
.kx-pillar__sub { font-family: var(--f-serif); font-size: 1.05rem; color: var(--kx-ink-2); margin: 8px 0 0; }
.kx-dossier { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--kx-line); background: #fff; }
@media (max-width: 980px) { .kx-dossier { grid-template-columns: 1fr; } }
.kx-dossier__col { padding: 26px 24px 28px; border-right: 1px solid var(--kx-line); position: relative; }
.kx-dossier__col:last-child { border-right: 0; }
@media (max-width: 980px) { .kx-dossier__col { border-right: 0; border-bottom: 1px solid var(--kx-line); } .kx-dossier__col:last-child { border-bottom: 0; } }
.kx-dossier__col::before { content: ""; position: absolute; top: -1px; left: -1px; right: -1px; height: 3px; background: var(--kx-bordeaux); }
.kx-dossier__col--def { background: var(--kx-paper); }
.kx-dossier__col--def::before { background: #9a9ca2; }
.kx-dossier__col--res { background: var(--kx-ink); color: #ece7dd; }
.kx-dossier__col--res::before { background: var(--kx-gold); }
.kx-dossier__step { font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-muted); margin: 0 0 6px; }
.kx-dossier__col--res .kx-dossier__step { color: var(--kx-gold); }
.kx-dossier__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.12rem; line-height: 1.3; margin: 0 0 12px; }
.kx-dossier__col p { font-family: var(--f-sans); font-size: .93rem; line-height: 1.72; margin: 0 0 10px; color: var(--kx-ink-2); }
.kx-dossier__col--res p { color: #ddd7cb; }
.kx-dossier__col--res em { color: #fff; }
.kx-ref { display: inline-block; font-family: var(--f-mono); font-size: .74em; letter-spacing: .02em; padding: 1px 6px; margin: 0 1px; border: 1px solid var(--kx-line);
      background: var(--kx-paper); color: var(--kx-ink); white-space: nowrap; vertical-align: 1px; }
.kx-dossier__col--res .kx-ref { background: transparent; border-color: rgba(184,151,88,.5); color: var(--kx-gold); }
.kx-video { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; }
@media (max-width: 860px) { .kx-video { grid-template-columns: 1fr; } }
.kx-video__text { font-family: var(--f-serif); font-size: 1rem; line-height: 1.6; color: var(--kx-ink-2); }
.kx-video__text strong { display: block; font-family: var(--f-sans); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-bordeaux); margin-bottom: 8px; }

/* Datentabelle */
.kx-table-wrap { overflow-x: auto; border: 1px solid var(--kx-line); background: #fff; }
.kx-table { width: 100%; border-collapse: collapse; font-family: var(--f-sans); font-size: .9rem; min-width: 720px; }
.kx-table th, .kx-table td { padding: 14px 16px; border-bottom: 1px solid var(--kx-line); text-align: right; vertical-align: top; }
.kx-table th:first-child, .kx-table td:first-child { text-align: left; }
.kx-table thead th { background: var(--kx-ink); color: #ece7dd; font-weight: 600; font-size: .8rem; letter-spacing: .02em; }
.kx-table tbody tr.kx-row-strong td { background: var(--kx-cream); font-weight: 700; }
.kx-table td.kx-num { font-family: var(--f-serif); font-size: 1.06rem; font-variant-numeric: tabular-nums lining-nums; }
.kx-delta { display: inline-block; font-family: var(--f-mono); font-size: .8rem; padding: 2px 8px; border: 1px solid var(--kx-line); white-space: nowrap; }
.kx-delta--bad { color: var(--kx-bordeaux); border-color: rgba(139,30,36,.35); background: rgba(139,30,36,.05); }
.kx-delta small { display: block; font-family: var(--f-sans); font-size: .72rem; color: var(--kx-muted); white-space: normal; margin-top: 4px; text-align: right; }
.kx-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--kx-line); border: 1px solid var(--kx-line); margin: 0 0 26px; }
@media (max-width: 760px) { .kx-stats { grid-template-columns: 1fr; } }
.kx-stat { background: #fff; padding: 22px 22px 20px; }
.kx-stat__num { font-family: var(--f-serif); font-size: clamp(2.2rem, 4.6vw, 3.2rem); font-weight: 600; line-height: 1; color: var(--kx-bordeaux); font-variant-numeric: lining-nums; }
.kx-stat__label { font-family: var(--f-sans); font-size: .86rem; line-height: 1.55; color: var(--kx-ink-2); margin-top: 10px; }

/* Gutachter und Dokumentenkette */
.kx-experts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.kx-expert { background: #fff; border: 1px solid var(--kx-line); border-top: 3px solid var(--kx-ink); padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 6px; }
.kx-expert__k { font-family: var(--f-mono); font-size: .78rem; color: var(--kx-gold); }
.kx-expert__disc { font-family: var(--f-serif); font-weight: 600; font-size: 1rem; line-height: 1.3; }
.kx-expert__who { font-family: var(--f-sans); font-size: .84rem; color: var(--kx-ink-2); }
.kx-expert__what { font-family: var(--f-sans); font-size: .82rem; line-height: 1.6; color: var(--kx-muted); margin-top: 4px; }
.kx-chain { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--kx-gold); }
.kx-chain li { position: relative; padding: 0 0 22px 28px; font-family: var(--f-sans); font-size: .94rem; line-height: 1.68; color: var(--kx-ink-2); }
.kx-chain li::before { content: ""; position: absolute; left: -5px; top: 7px; width: 9px; height: 9px; background: var(--kx-paper); border: 1px solid var(--kx-gold); transform: rotate(45deg); }
.kx-chain strong { color: var(--kx-ink); }

/* Verflechtung */
.kx-network { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { .kx-network { grid-template-columns: 1fr; } }
.kx-node { border-top: 1px solid var(--kx-gold); padding-top: 18px; }
.kx-node__fig { font-family: var(--f-serif); font-size: clamp(2.4rem, 5vw, 3.4rem); font-weight: 600; line-height: 1; color: var(--kx-bordeaux); }
.kx-node__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.1rem; margin: 10px 0 8px; }
.kx-node p { font-family: var(--f-sans); font-size: .92rem; line-height: 1.7; color: var(--kx-ink-2); margin: 0; }

/* Verfahrensband (dunkel) */
.kx-section--ink .kx-pillar__eyebrow { color: var(--kx-gold); }
.kx-section--ink .kx-pillar__title { color: #fff; }
.kx-figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(184,151,88,.35); border: 1px solid rgba(184,151,88,.35); margin: 28px 0; }
@media (max-width: 860px) { .kx-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kx-figure { background: var(--kx-ink); padding: 22px 20px; }
.kx-figure__num { font-family: var(--f-serif); font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 600; line-height: 1; color: #fff; font-variant-numeric: lining-nums; }
.kx-figure__label { font-family: var(--f-sans); font-size: .82rem; line-height: 1.5; color: #c9c2b5; margin-top: 10px; }
.kx-section--ink .kx-prose p { color: #ddd7cb; }
.kx-prose p { font-family: var(--f-serif); font-size: 1.06rem; line-height: 1.72; color: var(--kx-ink-2); margin: 0 0 16px; max-width: 78ch; }
.kx-section--ink .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-button--gold { background: var(--kx-gold); border-color: var(--kx-gold); color: var(--kx-ink) !important; }
.kx-button--gold::after { color: var(--kx-ink); }
.kx-button--gold:hover, .kx-button--gold:focus-visible { background: #fff; border-color: #fff; }
.kx-button--line { background: transparent; border-color: rgba(236,231,221,.6); }
.kx-button--line:hover, .kx-button--line:focus-visible { background: rgba(236,231,221,.08); border-color: #fff; }

/* Seitenleiste */
.kx-rail { position: fixed; right: 22px; top: 50%; transform: translateY(-50%); z-index: 40; display: none; flex-direction: column; gap: 6px; }
@media (min-width: 1280px) { .kx-rail { display: flex; } }
.kx-rail a { display: flex; align-items: center; justify-content: flex-end; gap: 10px; text-decoration: none; font-family: var(--f-serif); font-size: .9rem; color: #8a8d93; padding: 2px 0; }
.kx-rail a span { opacity: 0; transform: translateX(6px); transition: opacity .2s, transform .2s; font-family: var(--f-sans); font-size: .74rem; color: var(--kx-ink); background: rgba(255,255,255,.92); padding: 2px 8px; border: 1px solid var(--kx-line); white-space: nowrap; }
.kx-rail a:hover span, .kx-rail a:focus-visible span { opacity: 1; transform: none; }
.kx-rail a b { width: 28px; text-align: center; font-weight: 400; border-right: 2px solid transparent; }
.kx-rail a.is-active { color: var(--kx-bordeaux); }
.kx-rail a.is-active b { border-right-color: var(--kx-bordeaux); }

/* Einblenden (nur mit JS, nur ohne reduzierte Bewegung) */
.kx-js .kx-reveal { opacity: 0; transform: translateY(10px); transition: opacity .45s ease, transform .45s ease; }
.kx-js .kx-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .kx-js .kx-reveal { opacity: 1; transform: none; transition: none; } .kx-col { transition: none; } }
@media print { .kx-rail { display: none !important; } .kx-js .kx-reveal { opacity: 1 !important; transform: none !important; } }
/* Hervorhebungen auf dunklem Grund lesbar halten */
.kx-section--ink strong, .kx-section--ink b, .kx-dossier__col--res strong, .kx-verdict strong, .kx-metric strong { color: #fff; }
.kx-section--ink em, .kx-section--ink .kx-prose em { color: #f1ece2; }
.kx-section--ink a:not(.kx-button) { color: var(--kx-gold); }
.kx-button--ghost { background: transparent; color: var(--kx-ink, #161920) !important; border-color: var(--kx-ink, #161920); }
.kx-button--ghost::after { color: var(--kx-bordeaux, #8b1e24); }
.kx-button--ghost:hover, .kx-button--ghost:focus-visible { background: var(--kx-ink, #161920); border-color: var(--kx-ink, #161920); color: #fff !important; }
.kx-befund { display:block; font-family: var(--f-sans); font-size:.86rem; line-height:1.55; color: var(--kx-bordeaux,#8b1e24); border-left:2px solid var(--kx-bordeaux,#8b1e24); padding:2px 0 2px 10px; }

/* ==========================================================================
   v3 (26.10.2026): Chronologie – Kennzahlen, Aktuell-Band, Phasenleiste,
   Akteursfilter, Zeitleiste, Rechtskästen. Mobil strikt einspaltig.
   ========================================================================== */
.kx-chr-hero { padding: clamp(22px, 2.6vw, 34px) 0 clamp(22px, 3vw, 34px); }
.kx-chr-hero h1 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.95rem, 4.1vw, 3.05rem); line-height: 1.08;
      letter-spacing: -.015em; margin: 0 0 16px; color: var(--kx-ink); max-width: 20ch; }
.kx-chr-hero .kx-hero__lead { max-width: 74ch; font-size: clamp(1.02rem, 1.4vw, 1.14rem); }
.kx-perspective { display: flex; gap: 12px; align-items: baseline; margin: 14px 0 0; font-family: var(--f-sans); font-size: .84rem;
      font-style: italic; color: var(--kx-muted); }
.kx-perspective::before { content: ""; flex: 0 0 22px; height: 1px; background: var(--kx-gold); transform: translateY(-4px); }

/* Kennzahl-Kacheln */
.kx-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--kx-line);
      border: 1px solid var(--kx-line); margin: 22px 0 0; }
.kx-kpi { background: #fff; padding: 18px 18px 16px; position: relative; }
.kx-kpi::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: var(--kx-bordeaux); }
.kx-kpi:nth-child(2)::before { background: var(--kx-ink); }
.kx-kpi__num { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.75rem, 2.9vw, 2.35rem); line-height: 1; color: var(--kx-bordeaux);
      font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.01em; }
.kx-kpi:nth-child(2) .kx-kpi__num { color: var(--kx-ink); }
.kx-kpi__label { font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); margin: 10px 0 6px; }
.kx-kpi p { font-family: var(--f-sans); font-size: .8rem; line-height: 1.5; color: var(--kx-ink-2); margin: 0; }
.kx-kpis-src { font-family: var(--f-sans); font-size: .76rem; line-height: 1.5; color: var(--kx-muted); margin: 10px 0 0; max-width: 110ch; }
@media (max-width: 1000px) { .kx-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .kx-kpis { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 1px; -webkit-overflow-scrolling: touch; }
  .kx-kpi { flex: 0 0 82%; scroll-snap-align: start; }
}

/* Aktuell-Band */
.kx-now { position: relative; overflow: hidden; background: var(--kx-ink); color: #ece7dd; margin: 18px 0 0;
      display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, 1fr) auto; gap: 18px 28px; align-items: center;
      padding: 20px clamp(18px, 3vw, 30px); }
.kx-now::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--kx-gold); }
.kx-now > * { position: relative; z-index: 1; }
.kx-now__label { font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 6px; }
.kx-now p { font-family: var(--f-sans); font-size: .88rem; line-height: 1.55; margin: 0; color: #ddd7cb; }
.kx-now a:not(.kx-button) { color: #fff; }
.kx-now__date { font-family: var(--f-serif); font-size: 1.25rem; color: #fff; line-height: 1.25; }
.kx-now__date small { display: block; font-family: var(--f-sans); font-size: .76rem; color: #bfb8aa; margin-top: 4px; }
.kx-now__atmos { position: absolute; inset: 0 0 0 auto; width: 46%; z-index: 0; opacity: .22; pointer-events: none;
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%); mask-image: linear-gradient(90deg, transparent, #000 45%); }
.kx-now__atmos video { width: 100%; height: 100%; object-fit: cover; display: block; }
.kx-now__credit { position: absolute; right: 10px; bottom: 6px; z-index: 1; font-family: var(--f-mono); font-size: .6rem; color: rgba(236,231,221,.55); }
@media (max-width: 900px) { .kx-now { grid-template-columns: 1fr; } .kx-now__atmos { display: none; } .kx-now__credit { display: none; } }

/* Drei Fragen */
.kx-questions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; counter-reset: q; margin: 8px 0 0; padding: 0; list-style: none; }
.kx-questions li { counter-increment: q; border-top: 1px solid var(--kx-ink); padding: 18px 0 0; font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.55; color: var(--kx-ink); }
.kx-questions li::before { content: "0" counter(q); display: block; font-family: var(--f-serif); font-size: 1.6rem; color: var(--kx-gold); margin-bottom: 8px; }
@media (max-width: 900px) { .kx-questions { grid-template-columns: 1fr; } }

/* Haftende Phasen- und Filterleiste */
.kx-chr-bar { position: sticky; top: var(--kx-head, 72px); z-index: 30; background: rgba(247,245,240,.97); border-top: 1px solid var(--kx-line);
      border-bottom: 1px solid var(--kx-line); backdrop-filter: saturate(140%) blur(8px); }
.kx-chr-bar__inner { max-width: 1200px; margin: 0 auto; padding: 0 clamp(12px, 3vw, 40px); }
.kx-phases { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; margin: 0; padding: 0; list-style: none; }
.kx-phases::-webkit-scrollbar { display: none; }
.kx-phases a { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: baseline; padding: 10px 16px 9px; min-width: 0;
      text-decoration: none; color: var(--kx-ink-2); border-bottom: 2px solid transparent; white-space: nowrap; }
.kx-phases a b { font-family: var(--f-serif); font-weight: 400; color: var(--kx-gold); font-size: .95rem; }
.kx-phases a span { font-family: var(--f-sans); font-size: .8rem; font-weight: 600; }
.kx-phases a small { grid-column: 2; font-family: var(--f-mono); font-size: .66rem; color: var(--kx-muted); }
.kx-phases a:hover, .kx-phases a:focus-visible { background: #fff; outline: none; }
.kx-phases a.is-active { border-bottom-color: var(--kx-bordeaux); color: var(--kx-ink); background: #fff; }
.kx-filters { display: flex; align-items: center; gap: 6px; overflow-x: auto; scrollbar-width: none; padding: 7px 0 8px; border-top: 1px solid var(--kx-line); }
.kx-filters::-webkit-scrollbar { display: none; }
.kx-filters__label { font-family: var(--f-sans); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); margin-right: 4px; white-space: nowrap; }
.kx-pill { font: 600 .78rem/1 var(--f-sans); color: var(--kx-ink-2); background: #fff; border: 1px solid var(--kx-line); border-radius: 999px;
      padding: 7px 13px; cursor: pointer; white-space: nowrap; transition: background .15s, color .15s, border-color .15s; }
.kx-pill:hover { border-color: var(--kx-ink); }
.kx-pill:focus-visible { outline: 2px solid var(--kx-bordeaux); outline-offset: 2px; }
.kx-pill[aria-pressed="true"] { background: var(--kx-ink); border-color: var(--kx-ink); color: #fff; }
.kx-filters__count { margin-left: auto; padding-left: 12px; font-family: var(--f-mono); font-size: .7rem; color: var(--kx-muted); white-space: nowrap; }
@media (max-width: 760px) { .kx-phases a { padding: 8px 12px 7px; } .kx-phases a small { display: none; } .kx-filters__count { display: none; } }
@media (prefers-reduced-motion: reduce) { .kx-pill { transition: none; } }

/* Phasen und Zeitleiste */
.kx-phase { scroll-margin-top: calc(var(--kx-head, 72px) + 110px); padding: clamp(46px, 6vw, 76px) 0 10px; }
.kx-phase__head { display: grid; grid-template-columns: auto 1fr; gap: 0 22px; align-items: end; max-width: 980px; margin: 0 auto 30px;
      padding-bottom: 18px; border-bottom: 1px solid var(--kx-ink); }
.kx-phase__num { font-family: var(--f-serif); font-size: clamp(2.6rem, 5vw, 3.8rem); line-height: .9; color: var(--kx-gold); }
.kx-phase__eyebrow { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 6px; }
.kx-phase__title { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.35rem, 2.6vw, 1.9rem); line-height: 1.2; margin: 0; color: var(--kx-ink); }
.kx-tl { max-width: 980px; margin: 0 auto; }
.kx-tl-year { display: flex; align-items: center; gap: 14px; margin: 34px 0 18px; font-family: var(--f-sans); font-size: .7rem; font-weight: 700;
      letter-spacing: .16em; text-transform: uppercase; color: var(--kx-muted); }
.kx-tl-year::after { content: ""; flex: 1; height: 1px; background: var(--kx-line); }
.kx-tl-group > .kx-tl-year:first-child { margin-top: 6px; }
.kx-tl-item { display: grid; grid-template-columns: 148px 30px minmax(0, 1fr); align-items: start; scroll-margin-top: calc(var(--kx-head, 72px) + 120px); }
.kx-tl-date { padding: 22px 0 0; text-align: right; font-family: var(--f-serif); font-size: 1.02rem; line-height: 1.25; color: var(--kx-ink);
      font-variant-numeric: lining-nums tabular-nums; }
.kx-tl-date small { display: block; font-family: var(--f-sans); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--kx-bordeaux); margin-top: 4px; }
.kx-tl-rail { position: relative; align-self: stretch; }
.kx-tl-rail::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--kx-gold-soft); transform: translateX(-.5px); }
.kx-tl-rail::after { content: ""; position: absolute; left: 50%; top: 27px; width: 11px; height: 11px; margin-left: -5.5px; border-radius: 50%;
      background: var(--kx-paper); border: 2px solid var(--kx-gold); }
.kx-tl-item--key .kx-tl-rail::after { background: var(--kx-bordeaux); border-color: var(--kx-bordeaux); }
.kx-tl-card { background: #fff; border: 1px solid var(--kx-line); padding: 20px 24px 18px; margin: 0 0 16px; position: relative; }
.kx-tl-item--key .kx-tl-card { border-left: 3px solid var(--kx-bordeaux); }
.kx-tl-actors { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.kx-tl-actor { font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--kx-muted);
      border: 1px solid var(--kx-line); padding: 3px 7px; }
.kx-tl-actor--klaegerin { color: var(--kx-bordeaux); border-color: rgba(139,30,36,.35); }
.kx-tl-actor--gericht, .kx-tl-actor--verwaltung { color: var(--kx-ink); border-color: rgba(22,25,32,.35); }
.kx-tl-title { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.06rem, 1.6vw, 1.2rem); line-height: 1.32; margin: 0 0 10px; color: var(--kx-ink); }
.kx-tl-body { font-family: var(--f-sans); font-size: .93rem; line-height: 1.68; color: var(--kx-ink-2); }
.kx-tl-body p { margin: 0 0 10px; }
.kx-tl-body p:last-child { margin-bottom: 0; }
.kx-tl-body ol, .kx-tl-body ul { margin: 6px 0 10px; padding-left: 1.3em; }
.kx-tl-body li { margin: 0 0 6px; }
.kx-tl-quote { margin: 12px 0; padding: 12px 16px; background: var(--kx-cream); border-left: 3px solid var(--kx-gold); }
.kx-tl-quote--court { border-left-color: var(--kx-bordeaux); }
.kx-tl-quote p { font-family: var(--f-serif); font-style: italic; font-size: 1rem; line-height: 1.55; color: var(--kx-ink); margin: 0 0 4px; }
.kx-tl-quote cite { font-family: var(--f-sans); font-style: normal; font-size: .74rem; letter-spacing: .03em; color: var(--kx-muted); }
.kx-tl-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--kx-line); }
.kx-tl-foot__label { font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--kx-muted); }
.kx-tl-foot .kx-ref { font-size: .7rem; }
.kx-tl-link { margin-left: auto; font-family: var(--f-sans); font-size: .82rem; font-weight: 600; color: var(--kx-bordeaux); text-decoration: none; white-space: nowrap; }
.kx-tl-link::after { content: " →"; color: var(--kx-gold); }
.kx-tl-link:hover, .kx-tl-link:focus-visible { text-decoration: underline; }
.kx-tl-more { margin: 12px 0 0; border: 1px solid var(--kx-line); background: var(--kx-paper); }
.kx-tl-more summary { cursor: pointer; list-style: none; padding: 10px 14px; font-family: var(--f-sans); font-size: .82rem; font-weight: 700; color: var(--kx-ink); display: flex; gap: 10px; align-items: center; }
.kx-tl-more summary::-webkit-details-marker { display: none; }
.kx-tl-more summary::before { content: "+"; font-family: var(--f-mono); color: var(--kx-bordeaux); width: 12px; }
.kx-tl-more[open] summary::before { content: "–"; }
.kx-tl-more summary:focus-visible { outline: 2px solid var(--kx-bordeaux); outline-offset: -2px; }
.kx-tl-more > div { padding: 0 16px 14px 36px; font-family: var(--f-sans); font-size: .88rem; line-height: 1.62; color: var(--kx-ink-2); }
.kx-tl-more ul { margin: 0; padding-left: 1.1em; }
.kx-tl-more li { margin: 0 0 6px; }
.kx-stance { margin: 0 0 16px 178px; padding: 14px 18px; background: #efece5; border-left: 3px solid var(--kx-ink); }
.kx-stance__label { display: block; font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-ink); margin: 0 0 6px; }
.kx-stance p { font-family: var(--f-sans); font-size: .86rem; line-height: 1.6; color: var(--kx-ink-2); margin: 0; }
.kx-tl-item--next .kx-tl-card { background: var(--kx-ink); border-color: var(--kx-ink); color: #ece7dd; }
.kx-tl-item--next .kx-tl-title { color: #fff; }
.kx-tl-item--next .kx-tl-body { color: #ddd7cb; }
.kx-tl-item--next .kx-tl-body strong { color: #fff; }
.kx-tl-item--next .kx-tl-actor { color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-tl-item--next .kx-tl-foot { border-top-color: rgba(236,231,221,.2); }
.kx-tl-item--next .kx-tl-foot__label { color: #bfb8aa; }
.kx-tl-item--next .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-tl-item--next .kx-tl-rail::after { background: var(--kx-gold); border-color: var(--kx-gold); box-shadow: 0 0 0 5px rgba(184,151,88,.2); }
.kx-tl-empty { max-width: 980px; margin: 0 auto; font-family: var(--f-sans); font-size: .9rem; color: var(--kx-muted); padding: 10px 0 0 178px; }
@media (max-width: 760px) {
  .kx-tl-item { grid-template-columns: 18px minmax(0, 1fr); }
  .kx-tl-date { grid-column: 2; grid-row: 1; text-align: left; padding: 4px 0 6px; font-size: .95rem; }
  .kx-tl-date small { display: inline; margin: 0 0 0 8px; }
  .kx-tl-rail { grid-column: 1; grid-row: 1 / span 2; }
  .kx-tl-rail::before { left: 6px; }
  .kx-tl-rail::after { left: 6px; top: 9px; width: 9px; height: 9px; margin-left: -4.5px; }
  .kx-tl-card { grid-column: 2; grid-row: 2; padding: 16px 16px 14px; }
  .kx-stance { margin-left: 18px; }
  .kx-tl-empty { padding-left: 18px; }
  .kx-phase__head { gap: 0 14px; }
  .kx-tl-link { margin-left: 0; white-space: normal; }
}

/* Tabelle mit Text, Rechtskästen, Abschluss */
.kx-table--text th, .kx-table--text td { text-align: left; }
.kx-table--text td { line-height: 1.55; }
.kx-table--text td:first-child { font-family: var(--f-serif); font-weight: 600; min-width: 190px; }
.kx-table--text td:last-child { color: var(--kx-ink); }
.kx-law { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--kx-line); border: 1px solid var(--kx-line); }
.kx-law__item { background: #fff; padding: 24px 26px 22px; }
.kx-law__norm { font-family: var(--f-mono); font-size: .76rem; color: var(--kx-bordeaux); letter-spacing: .02em; margin: 0 0 8px; }
.kx-law__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.12rem; line-height: 1.3; margin: 0 0 10px; color: var(--kx-ink); }
.kx-law__item p { font-family: var(--f-sans); font-size: .9rem; line-height: 1.66; color: var(--kx-ink-2); margin: 0 0 8px; }
.kx-law__item p:last-child { margin-bottom: 0; }
.kx-law__item a { color: var(--kx-bordeaux); }
@media (max-width: 860px) { .kx-law { grid-template-columns: 1fr; } }
.kx-next { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(236,231,221,.18); border: 1px solid rgba(236,231,221,.18); margin-top: 30px; }
.kx-next a { display: flex; flex-direction: column; gap: 10px; padding: 24px 24px 22px; background: var(--kx-ink); color: #ece7dd; text-decoration: none; min-height: 150px; transition: background .15s; }
.kx-next a b { font-family: var(--f-sans); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-gold); }
.kx-next a span { font-family: var(--f-serif); font-size: 1.12rem; line-height: 1.4; color: #fff; }
.kx-next a::after { content: "→"; margin-top: auto; color: var(--kx-gold); font-size: 1.2rem; }
.kx-next a:hover, .kx-next a:focus-visible { background: #22262f; outline: none; }
@media (max-width: 860px) { .kx-next { grid-template-columns: 1fr; } .kx-next a { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .kx-next a { transition: none; } }
@media print { .kx-chr-bar, .kx-now__atmos { display: none !important; } .kx-tl-more > div { display: block !important; } }
.kxp [hidden] { display: none !important; }
.kx-button--down::after { content: "↓"; }
.kx-button--down:hover::after { transform: translateY(2px); }
/* Chronologie-Einstieg: zweispaltig, Aktuell-Band rechts */
.kx-chr-hero__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); gap: 22px clamp(28px, 4vw, 48px); align-items: stretch; }
.kx-chr-hero h1 { max-width: none; font-size: clamp(1.95rem, 3.6vw, 2.75rem); }
.kx-chr-hero__grid .kx-now { margin: 0; grid-template-columns: 1fr; align-content: center; gap: 16px; }
.kx-chr-hero__grid .kx-now__atmos { width: 70%; }
.kx-chr-hero__grid .kx-now .kx-button { width: 100%; justify-content: space-between; }
.kx-kpi p { font-size: .78rem; }
@media (max-width: 960px) { .kx-chr-hero__grid { grid-template-columns: 1fr; } .kx-chr-hero__grid .kx-now__atmos { display: none; } }
.kx-kpi__num small { font-size: .46em; font-weight: 600; letter-spacing: 0; color: inherit; white-space: nowrap; }
.kx-kpi__num { white-space: nowrap; }
.kx-kpi p { line-height: 1.45; }
.kx-chr-hero__grid .kx-now { padding: 18px 22px; gap: 12px; }
.kx-chr-hero__grid .kx-now p { font-size: .84rem; line-height: 1.5; }
@media (min-width: 761px) { .kx-phases { justify-content: space-between; } .kx-phases a { padding: 9px 10px 8px; column-gap: 6px; } .kx-phases a span { font-size: .76rem; } }
.kx-jump { display: none; }
@media (max-width: 960px) {
  .kx-chr-hero .kx-wrap { display: flex; flex-direction: column; }
  .kx-chr-hero__grid { display: contents; }
  .kx-chr-hero__grid > div:first-child { order: 1; }
  .kx-chr-hero .kx-kpis { order: 2; }
  .kx-chr-hero .kx-kpis-src { order: 3; }
  .kx-chr-hero__grid .kx-now { order: 4; margin-top: 18px; }
  .kx-jump { display: inline-flex; align-items: center; gap: 10px; margin: 16px 0 0; padding: 11px 16px; background: var(--kx-ink); color: #fff;
        font-family: var(--f-sans); font-size: .84rem; font-weight: 600; text-decoration: none; align-self: flex-start; }
  .kx-jump::after { content: "↓"; color: var(--kx-gold); }
  .kx-chr-hero .kx-kpis { margin-top: 16px; }
}
@media (max-width: 960px) { .kx-chr-hero .kx-wrap > *, .kx-chr-hero__grid > * { min-width: 0; max-width: 100%; } }
/* Begriffserklärungen: unsichtbare Tooltips dürfen die Seitenbreite nicht vergrößern (mobil sonst Auszoomen) */
abbr.tip::after { display: none; max-width: min(320px, calc(100vw - 32px)); white-space: normal; }
abbr.tip:hover::after, abbr.tip:focus::after { display: block; }

/* ==========================================================================
   v4 (26.10.2026): Chronologie mit echter Hierarchie – Akteursfarben,
   Schlüsselereignisse als große Karten, Nebenereignisse als Zeilen,
   Datums-Typografie, Kapitelöffner, zwei Erklärgrafiken.
   ========================================================================== */
.kxp { --a-kl: #8b1e24; --a-ge: #161920; --a-bk: #a8843f; --a-vw: #4f5d6e; --a-vp: #8e8577; }
.kx-a-kl { --a: var(--a-kl); } .kx-a-ge { --a: var(--a-ge); } .kx-a-bk { --a: var(--a-bk); } .kx-a-vw { --a: var(--a-vw); } .kx-a-vp { --a: var(--a-vp); }

/* Datum */
.kx-tl-date b { display: block; font-family: var(--f-serif); font-weight: 600; font-size: 1.12rem; line-height: 1.15; color: var(--kx-ink); letter-spacing: -.005em; }
.kx-tl-date > span { display: block; font-family: var(--f-mono); font-size: .68rem; letter-spacing: .1em; color: var(--kx-muted); margin-top: 3px; }
.kx-tl-item--key .kx-tl-date { padding-top: 26px; }
.kx-tl-item--key .kx-tl-date b { font-size: clamp(1.4rem, 2.1vw, 1.75rem); color: var(--a); }
.kx-tl-item--minor .kx-tl-date { padding-top: 14px; }

/* Zeitleiste: Punkte in Akteursfarbe */
.kx-tl-rail::after { border-color: var(--a, var(--kx-gold)); }
.kx-tl-item--minor .kx-tl-rail::after { top: 19px; width: 9px; height: 9px; margin-left: -4.5px; background: #fff; }
.kx-tl-item--key .kx-tl-rail::after { top: 33px; width: 15px; height: 15px; margin-left: -7.5px; background: var(--a); border-color: var(--a); box-shadow: 0 0 0 4px var(--kx-paper, #f7f5f0); }

/* Schlüsselereignis: große Karte */
.kx-tl-item--key .kx-tl-card { border: 1px solid var(--kx-line); border-top: 4px solid var(--a); border-left: 1px solid var(--kx-line);
      padding: 24px 30px 20px; margin: 10px 0 26px; box-shadow: 0 22px 44px -34px rgba(22,25,32,.45); }
.kx-tl-item--key .kx-tl-title { font-size: clamp(1.18rem, 1.9vw, 1.42rem); line-height: 1.28; margin-bottom: 12px; }
.kx-tl-item--key .kx-tl-body { font-size: .95rem; }
.kx-tl-item--key .kx-tl-quote { padding: 16px 20px; margin: 16px 0; }
.kx-tl-item--key .kx-tl-quote p { font-size: 1.1rem; }

/* Nebenereignis: kompakte Zeile */
.kx-tl-item--minor .kx-tl-card { background: transparent; border: 0; border-bottom: 1px solid var(--kx-line); padding: 12px 4px 16px; margin: 0 0 4px; box-shadow: none; }
.kx-tl-item--minor .kx-tl-actors { margin-bottom: 6px; }
.kx-tl-item--minor .kx-tl-actor { font-size: .58rem; padding: 2px 6px; }
.kx-tl-item--minor .kx-tl-title { font-size: 1.02rem; margin-bottom: 6px; }
.kx-tl-item--minor .kx-tl-body { font-size: .88rem; line-height: 1.62; color: #4a4d55; }
.kx-tl-item--minor .kx-tl-quote { background: transparent; padding: 4px 0 4px 14px; margin: 8px 0; }
.kx-tl-item--minor .kx-tl-quote p { font-size: .94rem; }
.kx-tl-item--minor .kx-tl-foot { border-top: 0; padding-top: 0; margin-top: 8px; }
.kx-tl-item--minor .kx-tl-more { background: transparent; }

/* Akteursmarken */
.kx-tl-actor { border-color: color-mix(in srgb, var(--a, #8e8577) 40%, transparent); color: var(--a, var(--kx-muted)); }
.kx-tl-actor--klaegerin { color: var(--a-kl); border-color: rgba(139,30,36,.4); }
.kx-tl-actor--beklagte { color: #7d6125; border-color: rgba(168,132,63,.5); }
.kx-tl-actor--gericht { color: var(--a-ge); border-color: rgba(22,25,32,.4); }
.kx-tl-actor--verwaltung, .kx-tl-actor--datenschutz { color: var(--a-vw); border-color: rgba(79,93,110,.45); }

/* Filter mit Farbpunkt */
.kx-pill::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 7px; vertical-align: 1px; background: var(--dot, transparent); }
.kx-pill--alle::before { display: none; }
.kx-pill--klaegerin { --dot: var(--a-kl); } .kx-pill--beklagte { --dot: var(--a-bk); } .kx-pill--gericht { --dot: var(--a-ge); }
.kx-pill--verwaltung, .kx-pill--datenschutz { --dot: var(--a-vw); }
.kx-pill[aria-pressed="true"]::before { box-shadow: 0 0 0 2px #fff; }

/* Kapitelöffner */
#phase-2, #phase-4 { background: var(--kx-cream); }
.kx-phase { border-top: 1px solid var(--kx-line); }
.kx-phase__head { padding-bottom: 22px; margin-bottom: 26px; }
.kx-phase__num { font-size: clamp(3.2rem, 7vw, 5.6rem); line-height: .82; }
.kx-phase__stats { margin: 10px 0 0; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .06em; color: var(--kx-muted); }
.kx-phase__stats b { color: var(--kx-ink); font-weight: 700; }
.kx-kpis__label { font-family: var(--f-sans); font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-muted); margin: 20px 0 8px; }
.kx-kpis__label + .kx-kpis { margin-top: 0; }

/* Das Verfahren in zwei Bildern */
.kx-bilder { background: #fff; }
.kx-bilder__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 28px; margin-top: 26px; }
@media (max-width: 1020px) { .kx-bilder__grid { grid-template-columns: 1fr; } }
.kx-speed, .kx-shift { margin: 0; background: var(--kx-paper); border: 1px solid var(--kx-line); padding: 24px 26px 22px; position: relative; }
.kx-speed::before, .kx-shift::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--kx-ink); }
.kx-bilder__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.18rem; margin: 0 0 6px; color: var(--kx-ink); }
.kx-speed figcaption p, .kx-shift figcaption p { font-family: var(--f-sans); font-size: .84rem; line-height: 1.55; color: var(--kx-muted); margin: 0; }
.kx-bilder__src { font-family: var(--f-sans); font-size: .72rem; color: var(--kx-muted); margin: 16px 0 0; }
.kx-speed { --lab: 150px; }
.kx-speed__axis { position: relative; height: 16px; margin: 22px 0 6px calc(var(--lab) + 14px); font-family: var(--f-mono); font-size: .64rem; color: var(--kx-muted); }
.kx-speed__axis span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.kx-speed__axis span:first-child { transform: none; }
.kx-speed__rows { list-style: none; margin: 0; padding: 0; }
.kx-speed__row { display: grid; grid-template-columns: var(--lab) minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 9px 0; border-top: 1px solid #e7e1d4; }
.kx-speed__lab { font-family: var(--f-sans); font-size: .78rem; line-height: 1.3; color: var(--kx-ink-2); }
.kx-speed__lab b { display: block; font-size: .82rem; color: var(--kx-ink); }
.kx-speed__track { position: relative; height: 24px;
      background-image: repeating-linear-gradient(90deg, #e3dccd 0 1px, transparent 1px 21.2121%); }
.kx-speed__bar { position: absolute; top: 2px; bottom: 2px; background: var(--kx-ink); }
.kx-speed__row--haupt .kx-speed__bar { background: var(--kx-bordeaux); }
.kx-speed__val { position: absolute; left: 100%; top: 50%; transform: translateY(-50%); padding-left: 8px; white-space: nowrap;
      font-family: var(--f-serif); font-weight: 600; font-size: .95rem; color: var(--kx-ink); }
.kx-speed__row--haupt .kx-speed__val { left: auto; right: 8px; padding: 0; color: #fff; }
.kx-speed__meta { grid-column: 2; font-family: var(--f-mono); font-size: .62rem; color: var(--kx-muted); margin-top: 4px; }
@media (max-width: 560px) {
  .kx-speed { --lab: 0px; padding: 20px 16px 18px; }
  .kx-speed__row { grid-template-columns: 1fr; row-gap: 6px; }
  .kx-speed__meta { grid-column: 1; }
  .kx-speed__axis { margin-left: 0; }
  .kx-speed__lab b { display: inline; margin-right: 4px; }
}
.kx-shift__plot { position: relative; height: 214px; margin: 14px 14px 0; }
.kx-shift__line { position: absolute; left: 0; right: 0; top: 96px; height: 2px; background: var(--kx-ink); }
.kx-shift__arc { --c: var(--kx-ink); position: absolute; height: var(--h); border: 2px solid var(--c); }
.kx-shift__arc--up { bottom: calc(214px - 96px); border-bottom: 0; border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.kx-shift__arc--down { top: 98px; border-top: 0; border-radius: 0 0 50% 50% / 0 0 100% 100%; --c: #9a9ca3; border-style: dashed; }
.kx-shift__arc--down + .kx-shift__arc--up { --c: var(--kx-bordeaux); }
.kx-shift__arc--up::after { content: ""; position: absolute; right: -6px; bottom: -3px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 8px solid var(--c); }
.kx-shift__arc--down::after { content: ""; position: absolute; left: -6px; top: -3px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 8px solid var(--c); }
.kx-shift__arc em { position: absolute; left: 50%; transform: translate(-50%, -50%); top: 0; font-style: normal; font-family: var(--f-serif); font-weight: 600;
      font-size: .9rem; color: var(--c); background: var(--kx-paper); padding: 0 6px; white-space: nowrap; }
.kx-shift__arc--down em { top: auto; bottom: 0; transform: translate(-50%, 50%); }
.kx-shift__pt { position: absolute; top: 90px; width: 0; }
.kx-shift__pt::before { content: ""; position: absolute; left: -7px; top: -1px; width: 12px; height: 12px; border-radius: 50%; background: var(--kx-paper); border: 2px solid var(--kx-ink); }
.kx-shift__pt--alt::before { border-color: #9a9ca3; }
.kx-shift__pt--jetzt::before { background: var(--kx-bordeaux); border-color: var(--kx-bordeaux); box-shadow: 0 0 0 5px rgba(139,30,36,.15); }
.kx-shift__pt b, .kx-shift__pt small { position: absolute; left: 0; transform: translateX(-50%); white-space: nowrap; }
.kx-shift__pt b { top: 60px; font-family: var(--f-serif); font-size: .92rem; color: var(--kx-ink); }
.kx-shift__pt small { top: 80px; font-family: var(--f-sans); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; color: var(--kx-muted); }
.kx-shift__pt--alt b { color: #8a8d93; text-decoration: line-through; text-decoration-thickness: 1px; }
.kx-shift__pt--jetzt b { color: var(--kx-bordeaux); }
.kx-shift__pt--start b, .kx-shift__pt--start small { transform: none; left: -6px; }
.kx-shift__pt--jetzt b, .kx-shift__pt--jetzt small { transform: translateX(-85%); }
.kx-shift__months { position: absolute; left: 0; right: 0; top: 196px; height: 16px; border-top: 1px solid #e3dccd; font-family: var(--f-mono); font-size: .6rem; color: var(--kx-muted); }
.kx-shift__months span { position: absolute; top: 3px; }
.kx-shift__steps { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--kx-line); display: grid; grid-template-columns: 1fr 1fr; gap: 8px 22px; counter-reset: s; }
.kx-shift__steps li { font-family: var(--f-sans); font-size: .8rem; line-height: 1.45; color: var(--kx-ink-2); }
.kx-shift__steps li b { font-family: var(--f-mono); font-weight: 600; color: var(--kx-ink); margin-right: 4px; }
.kx-shift__steps li strong { color: var(--kx-bordeaux); white-space: nowrap; }
.kx-shift__total { margin: 16px 0 0; font-family: var(--f-sans); font-size: .82rem; color: var(--kx-ink-2); }
.kx-shift__total b { font-family: var(--f-serif); font-size: 2rem; color: var(--kx-bordeaux); margin-right: 8px; vertical-align: -4px; }
@media (max-width: 560px) {
  .kx-shift { padding: 20px 14px 18px; }
  .kx-shift__plot { margin: 10px 4px 0; }
  .kx-shift__pt small { display: none; }
  .kx-shift__pt b { font-size: .74rem; }
  .kx-shift__arc em { font-size: .74rem; }
  .kx-shift__steps { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .kx-tl-date b, .kx-tl-item--key .kx-tl-date b { display: inline; font-size: 1.05rem; }
  .kx-tl-date > span { display: inline; margin-left: 6px; }
  .kx-tl-item--key .kx-tl-date, .kx-tl-item--minor .kx-tl-date { padding-top: 6px; }
  .kx-tl-item--key .kx-tl-card { padding: 18px 18px 16px; margin-bottom: 18px; }
  .kx-tl-item--key .kx-tl-rail::after { top: 10px; width: 11px; height: 11px; margin-left: -5.5px; }
  .kx-tl-item--minor .kx-tl-rail::after { top: 11px; }
  .kx-tl-item--minor .kx-tl-card { padding: 4px 0 14px; }
}
.kx-shift__pt--jetzt b { top: 96px; transform: translateX(-70%); font-size: 1rem; }
.kx-shift__pt--jetzt small { top: 117px; transform: translateX(-70%); color: var(--kx-bordeaux); }
.kx-shift__pt--jetzt::after { content: ""; position: absolute; left: -1px; top: 14px; width: 1px; height: 80px; background: rgba(139,30,36,.35); }
.kx-shift__plot { height: 252px; }
.kx-shift__arc--up { bottom: calc(252px - 96px); }
.kx-shift__months { top: 234px; }
.kx-tl-item--key .kx-tl-date b.kx-d-multi { font-size: 1.12rem; }
.kx-tl-date b.kx-d-multi { font-size: 1rem; }
@media (max-width: 960px) {
  .kx-chr-hero .kx-kpis__label { order: 2; margin-top: 18px; }
  .kx-chr-hero .kx-kpis { order: 3; margin-top: 0; }
  .kx-chr-hero .kx-kpis-src { order: 4; }
  .kx-chr-hero__grid .kx-now { order: 5; }
}
.kx-shift__pt b, .kx-shift__pt small { line-height: 1.1; }

/* ==========================================================================
   v5 (26.10.2026): Rechtsstaat – Befund-Karte, Einbahn-Skizze, Planbalken,
   Countdown, 135-Tage-Balken, 40er-Raster, Fermi-Kasten, Weggabelung,
   Sperrgründe-Tabelle (mobil als Karten), Forderungen, Vertiefung.
   ========================================================================== */
.kx-rs-claim { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.02rem, 1.4vw, 1.14rem); line-height: 1.5; color: var(--kx-bordeaux);
      border-left: 3px solid var(--kx-bordeaux); padding-left: 16px; margin: 18px 0 0; max-width: 62ch; }
.kx-rs-now { align-content: start !important; }
.kx-rs-now__intro { margin: 0 0 10px !important; font-style: italic; }
.kx-rs-findings { list-style: none; counter-reset: f; margin: 0; padding: 0; }
.kx-rs-findings li { counter-increment: f; position: relative; padding: 9px 0 9px 30px; border-top: 1px solid rgba(236,231,221,.16);
      font-family: var(--f-sans); font-size: .82rem; line-height: 1.5; color: #ddd7cb; }
.kx-rs-findings li::before { content: counter(f); position: absolute; left: 0; top: 8px; font-family: var(--f-serif); font-size: 1.05rem; color: var(--kx-gold); }
.kx-rs-findings strong, .kx-rs-findings em { color: #fff; }
.kx-rs-findings .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-kpi__num small { font-size: .46em; }
.kx-phases--rs a { padding-left: 12px; padding-right: 12px; }
.kx-rs-sec { scroll-margin-top: calc(var(--kx-head, 72px) + 64px); }
.kx-rs-cols { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 34px; align-items: start; }
@media (max-width: 1020px) { .kx-rs-cols { grid-template-columns: 1fr; } }
.kx-rs-side { position: sticky; top: calc(var(--kx-head, 72px) + 76px); }
@media (max-width: 1020px) { .kx-rs-side { position: static; } }
.kx-rs-turn { margin: 30px 0; }
.kx-rs-two { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 30px; }
@media (max-width: 900px) { .kx-rs-two { grid-template-columns: 1fr; } }
.kx-rs-path { display: block; font-family: var(--f-mono); font-size: .72rem; font-weight: 400; color: var(--kx-muted); margin-top: 4px; letter-spacing: .02em; }
.kx-rs-list { margin: 8px 0 0; padding-left: 1.1em; font-family: var(--f-sans); font-size: .9rem; line-height: 1.62; color: var(--kx-ink-2); }
.kx-rs-list li { margin-bottom: 8px; }
.kx-rs-motto { font-family: var(--f-serif); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.4; color: var(--kx-ink); max-width: 46ch; margin: 0 0 18px;
      padding: 14px 0 14px 20px; border-left: 4px solid var(--kx-bordeaux); }
.kx-rs-laws { font-family: var(--f-sans); font-size: .8rem; line-height: 1.7; color: var(--kx-muted); margin: 14px 0 0; }
.kx-rs-laws a { color: var(--kx-bordeaux); }
.kx-rs-final { font-family: var(--f-serif); font-size: clamp(1.15rem, 2vw, 1.4rem); color: #fff; margin: 30px 0 0; max-width: 52ch; }
.kx-tl-quote { break-inside: avoid; }
.kx-prose .kx-tl-quote p { font-size: 1.02rem; }

/* Einbahn-Skizze */
.kx-oneway { margin: 0; background: #fff; border: 1px solid var(--kx-line); padding: 22px 22px 18px; }
.kx-oneway__row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 16px 0 12px; }
.kx-oneway__box { font-family: var(--f-serif); font-weight: 600; font-size: .98rem; padding: 12px 14px; border: 2px solid var(--kx-ink); text-align: center; }
.kx-oneway__box small { display: block; font-family: var(--f-sans); font-weight: 400; font-size: .68rem; color: var(--kx-muted); }
.kx-oneway__box--k { border-color: var(--kx-bordeaux); color: var(--kx-bordeaux); }
.kx-oneway__arrow { position: relative; height: 54px; display: flex; align-items: flex-end; }
.kx-oneway__arrow::before { content: ""; position: absolute; left: 0; right: 10px; top: 50%; height: 2px; background: var(--kx-bordeaux); }
.kx-oneway__arrow::after { content: ""; position: absolute; right: 0; top: calc(50% - 6px); border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 11px solid var(--kx-bordeaux); }
.kx-oneway__arrow span { position: absolute; left: 0; right: 0; top: 0; text-align: center; font-family: var(--f-sans); font-size: .64rem; line-height: 1.3; color: var(--kx-muted); }
.kx-oneway__back { font-family: var(--f-sans); font-size: .78rem; color: var(--kx-ink-2); margin: 4px 0 0; text-align: center; }
.kx-oneway__back s { color: var(--kx-bordeaux); text-decoration-thickness: 2px; }

/* Planbalken */
.kx-gvp, .kx-count, .kx-seg, .kx-waffle { margin: 0; background: #fff; border: 1px solid var(--kx-line); padding: 22px 24px 20px; position: relative; }
.kx-gvp::before, .kx-count::before, .kx-seg::before, .kx-waffle::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--kx-ink); }
.kx-gvp figcaption p, .kx-count figcaption p, .kx-seg figcaption p, .kx-waffle figcaption p { font-family: var(--f-sans); font-size: .82rem; line-height: 1.5; color: var(--kx-muted); margin: 0; }
.kx-gvp__bar { display: flex; height: 54px; margin: 18px 0 10px; }
.kx-gvp__seg { display: flex; flex-direction: column; justify-content: center; padding: 0 12px; font-family: var(--f-sans); font-size: .74rem; color: #fff; overflow: hidden; white-space: nowrap; }
.kx-gvp__seg b { font-family: var(--f-serif); font-size: 1.15rem; }
.kx-gvp__seg--a { background: var(--kx-ink); }
.kx-gvp__seg--b { background: var(--a-bk, #a8843f); }
.kx-gvp__zero { margin: 6px 0 0; padding: 10px 12px; border: 2px dashed var(--kx-bordeaux); font-family: var(--f-sans); font-size: .82rem; color: var(--kx-bordeaux); }
.kx-gvp__zero b { font-family: var(--f-serif); font-size: 1.15rem; margin-right: 6px; }

/* Countdown */
.kx-count__plot { position: relative; height: 150px; margin: 18px 10px 0; }
.kx-count__line { position: absolute; left: 0; right: 0; top: 40px; height: 2px; background: var(--kx-line); }
.kx-count__pts { list-style: none; margin: 0; padding: 0; }
.kx-count__pt { position: absolute; top: 34px; width: 0; }
.kx-count__pt::before { content: ""; position: absolute; left: -7px; top: 0; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--kx-ink); }
.kx-count__pt--kl::before { border-color: var(--kx-bordeaux); }
.kx-count__pt--rw::before { background: var(--kx-bordeaux); border-color: var(--kx-bordeaux); box-shadow: 0 0 0 5px rgba(139,30,36,.15); }
.kx-count__pt--alt::before { border-color: #9a9ca3; }
.kx-count__pt b, .kx-count__pt span { position: absolute; left: 0; white-space: nowrap; }
.kx-count__pt b { top: 22px; font-family: var(--f-serif); font-size: .9rem; transform: translateX(-50%); }
.kx-count__pt span { top: 42px; font-family: var(--f-sans); font-size: .66rem; color: var(--kx-muted); transform: translateX(-50%); }
.kx-count__pt:first-child b, .kx-count__pt:first-child span { transform: none; left: -6px; }
.kx-count__pt--kl:nth-child(2) b, .kx-count__pt--kl:nth-child(2) span { top: -36px; }
.kx-count__pt--kl:nth-child(2) span { top: -20px; }
.kx-count__pt--kl:nth-child(3) b { top: -36px; transform: translateX(-90%); }
.kx-count__pt--kl:nth-child(3) span { top: -20px; transform: translateX(-90%); }
.kx-count__pt--rw b { color: var(--kx-bordeaux); top: 62px; transform: translateX(-80%); }
.kx-count__pt--rw span { top: 82px; transform: translateX(-80%); color: var(--kx-bordeaux); }
.kx-count__pt--alt b { text-decoration: line-through; color: #8a8d93; transform: translateX(-100%); }
.kx-count__pt--alt span { transform: translateX(-100%); }
.kx-count__bracket { position: absolute; top: 112px; height: 18px; border: 2px solid var(--kx-bordeaux); border-top: 0; font-family: var(--f-serif); font-weight: 600;
      font-size: .8rem; color: var(--kx-bordeaux); text-align: center; line-height: 30px; white-space: nowrap; }
.kx-count__bracket { padding-top: 14px; }

/* 135-Tage-Balken */
.kx-seg__bar { display: flex; height: 44px; margin: 18px 0 12px; }
.kx-seg__p { display: flex; align-items: center; justify-content: center; font-family: var(--f-serif); font-size: .95rem; color: #fff; }
.kx-seg__p--a { background: var(--kx-ink); } .kx-seg__p--b { background: #5d6068; } .kx-seg__p--c { background: var(--kx-bordeaux); }
.kx-seg__legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.kx-seg__l { font-family: var(--f-sans); font-size: .8rem; color: var(--kx-ink-2); padding-left: 18px; position: relative; }
.kx-seg__l::before { content: ""; position: absolute; left: 0; top: 4px; width: 10px; height: 10px; }
.kx-seg__l--a::before { background: var(--kx-ink); } .kx-seg__l--b::before { background: #5d6068; } .kx-seg__l--c::before { background: var(--kx-bordeaux); }
.kx-seg__l b { font-family: var(--f-serif); color: var(--kx-ink); }
.kx-seg__end { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--kx-line); font-family: var(--f-serif); font-size: .98rem; color: var(--kx-ink); }

/* 40er-Raster */
.kx-waffle__grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 5px; margin: 18px 0 12px; }
.kx-waffle__grid span { aspect-ratio: 1; background: var(--kx-bordeaux); }
.kx-waffle__legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-family: var(--f-sans); font-size: .8rem; color: var(--kx-muted); }
.kx-waffle__legend b { font-family: var(--f-serif); font-size: 1.05rem; color: var(--kx-ink); margin-right: 4px; }
.kx-waffle__l--neg b { color: var(--kx-bordeaux); }

/* Fermi-Kasten */
.kx-fermi { margin: 34px 0 0; background: var(--kx-ink); color: #ddd7cb; border: 2px solid var(--kx-gold); padding: clamp(24px, 4vw, 40px); }
.kx-fermi__label { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 10px; }
.kx-fermi__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.25rem, 2.4vw, 1.7rem); line-height: 1.3; color: #fff; margin: 0 0 20px; }
.kx-fermi__cols { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 30px; }
@media (max-width: 800px) { .kx-fermi__cols { grid-template-columns: 1fr; } }
.kx-fermi__fig { display: flex; flex-direction: column; gap: 4px; border-right: 1px solid rgba(184,151,88,.35); padding-right: 24px; }
@media (max-width: 800px) { .kx-fermi__fig { border-right: 0; padding-right: 0; } }
.kx-fermi__fig b { font-family: var(--f-serif); font-size: 2.6rem; line-height: 1; color: var(--kx-gold); margin-top: 8px; }
.kx-fermi__fig span { font-family: var(--f-sans); font-size: .78rem; line-height: 1.45; color: #bfb8aa; }
.kx-fermi p { font-family: var(--f-sans); font-size: .93rem; line-height: 1.7; margin: 0 0 12px; }
.kx-fermi strong { color: #fff; }
.kx-fermi .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }

/* Weggabelung */
.kx-fork { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0 18px; align-items: stretch; }
.kx-fork__card { background: #fff; border: 1px solid var(--kx-line); border-top: 4px solid var(--kx-ink); padding: 26px 26px 22px; position: relative; }
.kx-fork__card:last-child { border-top-color: var(--kx-bordeaux); }
.kx-fork__k { position: absolute; top: -22px; left: 22px; width: 40px; height: 40px; border-radius: 50%; background: var(--kx-ink); color: #fff;
      font-family: var(--f-serif); font-size: 1.2rem; display: flex; align-items: center; justify-content: center; }
.kx-fork__card:last-child .kx-fork__k { background: var(--kx-bordeaux); }
.kx-fork__lead { font-family: var(--f-serif); font-weight: 600; font-size: 1.08rem; line-height: 1.4; color: var(--kx-ink); margin: 10px 0 12px; }
.kx-fork__card p:not(.kx-fork__lead) { font-family: var(--f-sans); font-size: .9rem; line-height: 1.68; color: var(--kx-ink-2); margin: 0; }
.kx-fork__or { align-self: center; font-family: var(--f-serif); font-style: italic; font-size: 1.1rem; color: var(--kx-gold); }
@media (max-width: 900px) { .kx-fork { grid-template-columns: 1fr; gap: 30px; } .kx-fork__or { text-align: center; margin: -10px 0; } }

/* Sperrgründe-Tabelle */
.kx-sperr { min-width: 980px; }
.kx-sperr th, .kx-sperr td { text-align: left; vertical-align: top; line-height: 1.55; }
.kx-sperr thead th { font-size: .74rem; }
.kx-sperr__nr { font-family: var(--f-serif); font-size: 1.6rem; font-weight: 600; color: var(--kx-bordeaux); width: 54px; }
.kx-sperr tbody th { width: 230px; font-weight: 400; }
.kx-sperr__name { display: block; font-family: var(--f-serif); font-weight: 600; font-size: 1rem; color: var(--kx-ink); margin-bottom: 6px; }
.kx-sperr__norm { display: block; font-family: var(--f-mono); font-size: .72rem; color: #7d6125; }
.kx-sperr .kx-befund { display: block; font-weight: 700; color: var(--kx-ink); margin-bottom: 8px; }
.kx-sperr__ask { display: block; font-style: italic; color: var(--kx-bordeaux); }
.kx-sperr__ask::before { content: "→ "; font-style: normal; }
.kx-sperr tbody tr:nth-child(even) td, .kx-sperr tbody tr:nth-child(even) th { background: #fcfbf7; }
@media (max-width: 860px) {
  .kx-sperr-wrap { overflow: visible; border: 0; background: transparent; }
  .kx-sperr { min-width: 0; display: block; }
  .kx-sperr thead { display: none; }
  .kx-sperr tbody { display: grid; gap: 16px; }
  .kx-sperr tr { display: block; background: #fff; border: 1px solid var(--kx-line); border-top: 4px solid var(--kx-bordeaux); padding: 14px 16px 12px; position: relative; }
  .kx-sperr td, .kx-sperr th { display: block; padding: 8px 0; border: 0; background: transparent !important; width: auto; }
  .kx-sperr td[data-label]:not(.kx-sperr__nr)::before, .kx-sperr th[data-label]::before { content: attr(data-label); display: block; font-family: var(--f-sans); font-size: .62rem; font-weight: 700;
        letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); margin-bottom: 4px; }
  .kx-sperr__nr { position: absolute; top: 8px; right: 14px; padding: 0 !important; font-size: 1.9rem; }
  .kx-sperr th { padding-right: 40px; }
}

/* Leitsatz */
.kx-pull { margin: 34px auto; max-width: 820px; text-align: center; padding: 26px 20px; border-top: 1px solid var(--kx-gold); border-bottom: 1px solid var(--kx-gold); }
.kx-pull p { font-family: var(--f-serif); font-size: clamp(1.4rem, 3vw, 2.1rem); line-height: 1.3; color: var(--kx-ink); margin: 0; }

/* Forderungen */
.kx-demands { list-style: none; counter-reset: d; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(236,231,221,.18); border: 1px solid rgba(236,231,221,.18); }
.kx-demands li { counter-increment: d; background: var(--kx-ink); padding: 26px 26px 24px; }
.kx-demands li::before { content: "0" counter(d); display: block; font-family: var(--f-serif); font-size: 2rem; color: var(--kx-gold); margin-bottom: 8px; }
.kx-demands b { display: block; font-family: var(--f-serif); font-size: 1.16rem; color: #fff; margin-bottom: 8px; line-height: 1.35; }
.kx-demands p { font-family: var(--f-sans); font-size: .9rem; line-height: 1.66; color: #cfc9bd; margin: 0; }
.kx-demands em { color: var(--kx-gold); }
@media (max-width: 860px) { .kx-demands { grid-template-columns: 1fr; } }

/* Vertiefung */
.kx-deep { background: var(--kx-cream); border-top: 6px double var(--kx-gold); padding: clamp(46px, 6vw, 70px) 0 clamp(26px, 3vw, 34px); }
.kx-deep .kx-h { max-width: 30ch; }
.kx-deep-intro h2 { margin-top: 0; }
.section-image--wide img { width: 100%; height: auto; max-height: 420px; object-fit: cover; display: block; }
@media (max-width: 560px) {
  .kx-count__plot { height: 170px; margin: 18px 4px 0; }
  .kx-count__pt span { display: none; }
  .kx-count__pt b { font-size: .74rem; }
  .kx-gvp__seg { font-size: .62rem; padding: 0 8px; }
  .kx-oneway__row { grid-template-columns: 1fr; }
  .kx-oneway__arrow { height: 56px; }
  .kx-oneway__arrow::before { left: 50%; right: auto; top: 0; bottom: 10px; width: 2px; height: auto; }
  .kx-oneway__arrow::after { left: calc(50% - 7px); right: auto; top: auto; bottom: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 11px solid var(--kx-bordeaux); border-bottom: 0; }
  .kx-oneway__arrow span { left: calc(50% + 12px); right: 0; top: 8px; text-align: left; }
}
@media (min-width: 961px) {
  .kx-chr-hero__grid:has(.kx-rs-now) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
  .kx-rs-now { padding: 18px 22px !important; gap: 10px !important; }
  .kx-rs-findings li { font-size: .79rem; line-height: 1.45; padding: 7px 0 7px 26px; }
  .kx-rs-now .kx-now__date { font-size: 1.1rem; }
}
.kx-oneway__arrow { height: 20px; min-width: 60px; }
.kx-oneway__why { font-family: var(--f-sans); font-size: .76rem; line-height: 1.45; color: var(--kx-muted); text-align: center; margin: 0 0 8px; }
@media (max-width: 560px) { .kx-oneway__arrow { height: 40px; } }
.kx-gvp__seg b { color: #fff; }
/* Countdown als Zählleiste */
.kx-count__list { list-style: none; margin: 16px 0 0; padding: 0; }
.kx-count__row { display: grid; grid-template-columns: 62px 22px minmax(0, 1fr); align-items: start; position: relative; padding: 0 0 14px; }
.kx-count__row::before { content: ""; position: absolute; left: 72px; top: 14px; bottom: -2px; width: 2px; background: var(--kx-line); }
.kx-count__row:last-child::before { display: none; }
.kx-count__t { font-family: var(--f-serif); font-weight: 600; font-size: 1.3rem; line-height: 1.1; color: var(--kx-ink); text-align: right; padding-right: 10px; font-variant-numeric: lining-nums; }
.kx-count__dot { width: 12px; height: 12px; margin: 5px 0 0 5px; border-radius: 50%; background: #fff; border: 2px solid var(--kx-ink); position: relative; z-index: 1; }
.kx-count__txt { font-family: var(--f-sans); font-size: .84rem; line-height: 1.45; color: var(--kx-ink-2); padding-left: 6px; }
.kx-count__txt b { font-family: var(--f-mono); font-size: .8rem; color: var(--kx-ink); margin-right: 4px; }
.kx-count__row--kl .kx-count__dot { border-color: var(--kx-bordeaux); }
.kx-count__row--rw { background: rgba(139,30,36,.06); margin: 0 -10px 10px; padding: 8px 10px 8px; }
.kx-count__row--rw::before { left: 82px; }
.kx-count__row--rw .kx-count__t, .kx-count__row--rw .kx-count__txt { color: var(--kx-bordeaux); font-weight: 600; }
.kx-count__row--rw .kx-count__dot { background: var(--kx-bordeaux); border-color: var(--kx-bordeaux); box-shadow: 0 0 0 4px rgba(139,30,36,.15); }
.kx-count__row--alt .kx-count__t { color: #8a8d93; }
.kx-count__row--alt .kx-count__txt b { text-decoration: line-through; color: #8a8d93; }
.kx-count__row--alt .kx-count__dot { border-color: #9a9ca3; }
.kxp table.table--norms, .kxp .prose table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 760px) { .kx-rs-claim { font-size: .95rem; margin-top: 14px; } .kx-chr-hero .kx-hero__lead { font-size: 1rem; } }
.kxp .prose p, .kxp .prose li, .kxp .kx-prose p, .kx-tl-body p { overflow-wrap: break-word; hyphens: auto; }
/* Rechtsstaat: nummerierte Verfahrensschritte */
.kx-rs-steps { list-style: none; margin: 34px 0 0; padding: 0; counter-reset: st; display: grid; gap: 22px; }
.kx-rs-steps > li { counter-increment: st; position: relative; background: #fff; border: 1px solid var(--kx-line); border-left: 4px solid var(--kx-ink); padding: 22px 26px 18px 74px; }
.kx-rs-steps > li:nth-child(1), .kx-rs-steps > li:nth-child(3) { border-left-color: var(--kx-bordeaux); }
.kx-rs-steps > li:nth-child(2) { border-left-color: var(--kx-gold); }
.kx-rs-steps > li::before { content: counter(st); position: absolute; left: 22px; top: 18px; font-family: var(--f-serif); font-size: 2.2rem; line-height: 1; color: var(--kx-gold); }
.kx-rs-steps__k { font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 6px; }
.kx-rs-steps__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.1rem, 1.8vw, 1.3rem); line-height: 1.3; margin: 0 0 12px; color: var(--kx-ink); }
.kx-rs-steps p, .kx-rs-steps li li { font-family: var(--f-sans); font-size: .93rem; line-height: 1.68; color: var(--kx-ink-2); }
.kx-rs-steps p { margin: 0 0 10px; }
.kx-rs-steps ul { margin: 6px 0 4px; padding-left: 1.2em; }
.kx-rs-steps li li { margin-bottom: 8px; }
@media (max-width: 640px) { .kx-rs-steps > li { padding: 18px 16px 14px 16px; } .kx-rs-steps > li::before { position: static; display: block; margin-bottom: 6px; font-size: 1.8rem; } }
/* ==========================================================================
   v6 (26.10.2026): Rechtsrahmen – Norm-Badges, Zwei-Achsen-Raster, Achsenband,
   Vorsatzskala, zwei Lager, Balken, Erst-recht-Schluss, Zurechnungswege,
   Vorgreiflichkeit, Gesamtschau-Mosaik, Forderungen (5).
   ========================================================================== */
.kx-norm { display: inline-block; font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
      background: var(--kx-ink); color: var(--kx-gold); padding: 6px 12px 5px; margin: 0 0 12px; border-left: 3px solid var(--kx-gold); line-height: 1.4; }
.kx-h3 { font-family: var(--f-serif); font-weight: 600; font-size: 1.18rem; line-height: 1.3; color: var(--kx-ink); margin: 26px 0 8px; }
.kx-prose .kx-h3:first-child { margin-top: 0; }
.kx-prose ul { font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.7; color: var(--kx-ink-2); padding-left: 1.2em; margin: 0 0 16px; }
.kx-prose li { margin-bottom: 8px; }
.kx-prose a, .kx-rs-laws a, .kx-law__item a { color: var(--kx-bordeaux); }
.kx-rs-laws b { color: var(--kx-ink); font-weight: 700; }
/* Einstieg */
.kx-rr-hero h1 { max-width: none; }
.kx-rr-komplexe { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--kx-line); border: 1px solid var(--kx-line); }
.kx-rr-komplexe a { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; padding: 11px 14px 10px; background: #fff; text-decoration: none; color: var(--kx-ink);
      font-family: var(--f-serif); font-weight: 600; font-size: .95rem; line-height: 1.25; transition: background .15s; height: 100%; }
.kx-rr-komplexe b { grid-row: span 2; font-family: var(--f-serif); font-weight: 400; font-size: 1.5rem; line-height: 1; color: var(--kx-gold); }
.kx-rr-komplexe small { font-family: var(--f-mono); font-weight: 400; font-size: .66rem; color: var(--kx-muted); margin-top: 3px; }
.kx-rr-komplexe a:hover, .kx-rr-komplexe a:focus-visible { background: var(--kx-cream); outline: none; }
@media (max-width: 560px) { .kx-rr-komplexe { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kx-rr-now { align-content: start !important; }
.kx-rr-now .kx-rs-findings li { font-size: .84rem; }
/* Zwei Achsen */
.kx-axes-sec { padding: clamp(40px, 5vw, 64px) 0; }
.kx-axes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 22px; }
@media (max-width: 900px) { .kx-axes { grid-template-columns: 1fr; } }
.kx-axes__col { background: #fff; border: 1px solid var(--kx-line); border-top: 4px solid var(--kx-bordeaux); padding: 22px 22px 12px; }
.kx-axes__col--ii { border-top-color: var(--kx-ink); }
.kx-axes__k { font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 4px; }
.kx-axes__col--ii .kx-axes__k { color: var(--kx-ink); }
.kx-axes__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.3rem; line-height: 1.25; margin: 0 0 6px; color: var(--kx-ink); }
.kx-axes__sub { font-family: var(--f-mono); font-size: .68rem; line-height: 1.55; color: var(--kx-muted); margin: 0 0 12px; }
.kx-axes ol { list-style: none; margin: 0; padding: 0; }
.kx-axes li a { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 10px; padding: 12px 0; border-top: 1px solid #ebe5d8; text-decoration: none; color: var(--kx-ink); }
.kx-axes li a b { grid-row: span 2; font-family: var(--f-serif); font-weight: 400; font-size: 1.7rem; line-height: 1; color: var(--kx-gold); }
.kx-axes__norm { font-family: var(--f-mono); font-size: .7rem; color: #7d6125; line-height: 1.4; }
.kx-axes__t { font-family: var(--f-serif); font-weight: 600; font-size: 1.02rem; line-height: 1.3; }
.kx-axes li a::after { content: "→"; grid-column: 2; justify-self: end; margin-top: -1.4em; color: var(--kx-gold); transition: transform .15s; }
.kx-axes li a:hover .kx-axes__t, .kx-axes li a:focus-visible .kx-axes__t { color: var(--kx-bordeaux); }
.kx-axes li a:hover::after { transform: translateX(3px); }
.kx-axes li a:focus-visible { outline: 2px solid var(--kx-gold); outline-offset: 2px; }
.kx-phases--rr a { padding-left: 8px; padding-right: 8px; }
/* Achsenband */
.kx-axisband { background: var(--kx-ink); color: #ece7dd; padding: clamp(36px, 5vw, 60px) 0; border-top: 4px solid var(--kx-gold); scroll-margin-top: calc(var(--kx-head, 72px) + 64px); }
.kx-axisband__in { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 clamp(20px, 4vw, 48px); align-items: center; }
.kx-axisband__nr { font-family: var(--f-serif); font-size: clamp(4.5rem, 12vw, 8.5rem); line-height: .8; color: var(--kx-gold); }
.kx-axisband__k { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 6px; }
.kx-axisband__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.5rem, 3.2vw, 2.4rem); line-height: 1.15; color: #fff; margin: 0 0 10px; }
.kx-axisband__t { font-family: var(--f-serif); font-size: 1.05rem; line-height: 1.6; color: #cfc9bd; margin: 0; max-width: 70ch; }
/* Vorsatzskala */
.kx-scale, .kx-camps, .kx-hbars, .kx-fortiori, .kx-pre, .kx-mosaic { margin: 0; background: #fff; border: 1px solid var(--kx-line); padding: 22px 22px 18px; position: relative; }
.kx-scale::before, .kx-camps::before, .kx-hbars::before, .kx-fortiori::before, .kx-pre::before, .kx-mosaic::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--kx-ink); }
.kx-section--paper .kx-scale, .kx-section--paper .kx-mosaic { background: #fff; }
.kx-scale figcaption p, .kx-camps figcaption p, .kx-hbars figcaption p, .kx-mosaic figcaption p { font-family: var(--f-sans); font-size: .84rem; line-height: 1.55; color: var(--kx-muted); margin: 0; }
.kx-scale__list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 6px; }
.kx-scale__s { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 10px; padding: 10px 12px; background: var(--kx-paper); border-left: 4px solid var(--kx-ink); counter-increment: sc; }
.kx-scale__list { counter-reset: sc; }
.kx-scale__s::before { content: counter(sc); grid-row: span 2; font-family: var(--f-serif); font-size: 1.5rem; line-height: 1; color: var(--kx-gold); }
.kx-scale__s b { font-family: var(--f-serif); font-size: 1rem; color: var(--kx-ink); }
.kx-scale__s span { font-family: var(--f-sans); font-size: .8rem; line-height: 1.45; color: var(--kx-ink-2); }
.kx-scale__s--key { background: rgba(139,30,36,.07); border-left-color: var(--kx-bordeaux); }
.kx-scale__s--key b { color: var(--kx-bordeaux); }
.kx-scale__s--out { order: 5; background: transparent; border-left-color: #b9bbc0; opacity: .75; }
.kx-scale__s--out b { text-decoration: line-through; text-decoration-color: rgba(22,25,32,.35); }
.kx-scale__line { order: 4; margin: 4px 0; position: relative; text-align: center; }
.kx-scale__list, .kx-scale__line { position: relative; }
.kx-scale__line { border-top: 2px dashed var(--kx-bordeaux); padding-top: 0; height: 0; margin: 14px 0 22px; }
.kx-scale__line span { position: relative; top: -.8em; background: #fff; padding: 0 10px; font-family: var(--f-sans); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-bordeaux); }
/* zwei Lager */
.kx-camps__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.kx-camps__side { padding: 14px 14px 12px; border: 2px solid var(--kx-ink); text-align: center; }
.kx-camps__side--kunde { border-color: var(--kx-gold); background: var(--kx-cream); }
.kx-camps__side--prod { background: var(--kx-ink); color: #ece7dd; }
.kx-camps__k { font-family: var(--f-sans); font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); margin: 0 0 6px; }
.kx-camps__side--prod .kx-camps__k { color: var(--kx-gold); }
.kx-camps__side--prod b { color: #fff; }
.kx-camps__side--kunde b { color: var(--kx-ink); }
.kx-camps__side b { display: block; font-family: var(--f-serif); font-size: 1.05rem; line-height: 1.25; }
.kx-camps__side span { display: block; font-family: var(--f-sans); font-size: .76rem; line-height: 1.4; margin-top: 6px; }
.kx-camps__side--prod .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-camps__pull { display: grid; gap: 8px; margin: 14px 0 0; }
.kx-camps__arrow { position: relative; margin: 0; padding: 10px 14px; font-family: var(--f-sans); font-size: .8rem; line-height: 1.45; color: var(--kx-ink-2); background: var(--kx-paper); }
.kx-camps__arrow span { font-weight: 600; color: var(--kx-ink); }
.kx-camps__arrow--l { border-left: 4px solid var(--kx-gold); }
.kx-camps__arrow--l::before { content: "← "; color: var(--kx-gold); font-weight: 700; }
.kx-camps__arrow--r { border-right: 4px solid var(--kx-ink); text-align: right; }
.kx-camps__arrow--r::after { content: " →"; color: var(--kx-ink); font-weight: 700; }
.kx-camps__law { font-family: var(--f-serif); font-style: italic; font-size: .92rem; line-height: 1.5; color: var(--kx-bordeaux); margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--kx-line); }
/* Balken */
.kx-hbars__list { list-style: none; margin: 16px 0 0; padding: 0; }
.kx-hbar { display: grid; grid-template-columns: minmax(0, 1fr) 84px; grid-template-areas: "l v" "t t"; gap: 4px 10px; padding: 9px 0; border-top: 1px solid #ebe5d8; }
.kx-hbar__l { grid-area: l; font-family: var(--f-sans); font-size: .8rem; line-height: 1.35; color: var(--kx-ink-2); }
.kx-hbar__v { grid-area: v; font-family: var(--f-serif); font-size: 1.25rem; line-height: 1; text-align: right; color: var(--kx-ink); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.kx-hbar__t { grid-area: t; height: 14px; background: #eee9dd; }
.kx-hbar__b { display: block; height: 100%; background: #9a9ca2; }
.kx-hbar--b .kx-hbar__b { background: var(--kx-ink); }
.kx-hbar--c .kx-hbar__b, .kx-hbar--d .kx-hbar__b { background: var(--kx-bordeaux); }
.kx-hbar--c .kx-hbar__v, .kx-hbar--d .kx-hbar__v { color: var(--kx-bordeaux); font-weight: 600; }
.kx-hbars .kx-bilder__src a { color: var(--kx-bordeaux); }
/* Tabelle Vermittlerrecht */
@media (min-width: 861px) { .kx-rr-norms { min-width: 860px; } .kx-rr-norms tbody th { width: 240px; } }
/* Erst-recht-Schluss */
.kx-fortiori__row { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 14px; }
.kx-fortiori__card { padding: 14px 16px 14px; border: 1px solid var(--kx-line); background: var(--kx-paper); }
.kx-fortiori__card--we { background: var(--kx-ink); color: #ece7dd; border-color: var(--kx-ink); }
.kx-fortiori__k { font-family: var(--f-mono); font-size: .68rem; color: #7d6125; margin: 0 0 6px; }
.kx-fortiori__card--we .kx-fortiori__k { color: var(--kx-gold); }
.kx-fortiori__card b { display: block; font-family: var(--f-serif); font-size: 1.08rem; line-height: 1.25; }
.kx-fortiori__card span { display: block; font-family: var(--f-sans); font-size: .78rem; line-height: 1.4; color: var(--kx-muted); margin: 4px 0 8px; }
.kx-fortiori__card--we span { color: #bfb8aa; }
.kx-fortiori__card em { display: block; font-family: var(--f-sans); font-style: normal; font-weight: 600; font-size: .84rem; line-height: 1.45; color: var(--kx-bordeaux); }
.kx-fortiori__card--we em, .kx-fortiori__card--we b { color: #fff; }
.kx-fortiori__card b { color: var(--kx-ink); }
.kx-fortiori__card--we b { color: #fff; }
.kx-fortiori__then { display: flex; align-items: center; justify-content: center; height: 54px; position: relative; }
.kx-fortiori__then::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: var(--kx-bordeaux); }
.kx-fortiori__then::after { content: ""; position: absolute; bottom: -1px; left: calc(50% - 7px); border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 11px solid var(--kx-bordeaux); }
.kx-fortiori__then span { position: relative; z-index: 1; background: #fff; padding: 2px 10px; font-family: var(--f-serif); font-style: italic; font-size: .98rem; color: var(--kx-bordeaux); }
/* Verflechtung und Zurechnungswege */
.kx-kpis--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 26px; }
@media (max-width: 1000px) { .kx-kpis--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kx-kpis--5 { display: flex; } }
.kx-paths { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 980px) { .kx-paths { grid-template-columns: 1fr; } }
.kx-path { background: #fff; border: 1px solid var(--kx-line); border-top: 4px solid var(--kx-bordeaux); padding: 20px 22px 18px; position: relative; }
.kx-path:nth-child(2) { border-top-color: var(--kx-gold); }
.kx-path:nth-child(3) { border-top-color: var(--kx-ink); }
.kx-path__n { position: absolute; top: 12px; right: 16px; font-family: var(--f-serif); font-size: 2.2rem; line-height: 1; color: var(--kx-gold); }
.kx-path__norm { font-family: var(--f-mono); font-size: .7rem; color: #7d6125; margin: 0 40px 6px 0; line-height: 1.45; }
.kx-path__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.12rem; line-height: 1.3; margin: 0 40px 10px 0; color: var(--kx-ink); }
.kx-path p:not(.kx-path__norm) { font-family: var(--f-sans); font-size: .9rem; line-height: 1.66; color: var(--kx-ink-2); margin: 0; overflow-wrap: break-word; hyphens: auto; }
.kx-path a { color: var(--kx-bordeaux); }
/* Vorgreiflichkeit */
.kx-pre__top { margin-top: 14px; background: var(--kx-ink); color: #ece7dd; padding: 14px 16px; border-top: 3px solid var(--kx-gold); }
.kx-pre__k { font-family: var(--f-sans); font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 6px; }
.kx-pre__top b { display: block; font-family: var(--f-serif); font-size: 1rem; line-height: 1.35; color: #fff; }
.kx-pre__top span { display: block; font-family: var(--f-sans); font-size: .76rem; color: #bfb8aa; margin-top: 6px; }
.kx-pre__stem { height: 26px; width: 2px; margin: 0 auto; background: var(--kx-gold); }
.kx-pre__leaves { list-style: none; margin: 0; padding: 12px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border-top: 2px solid var(--kx-gold); }
.kx-pre__leaves li { font-family: var(--f-sans); font-size: .8rem; font-weight: 600; text-align: center; padding: 10px 8px; background: var(--kx-paper); border: 1px solid var(--kx-line); color: var(--kx-ink); }
.kx-pre__note { font-family: var(--f-sans); font-size: .72rem; color: var(--kx-muted); text-align: center; margin: 10px 0 0; font-style: italic; }
/* Gesamtschau-Mosaik */
.kx-pull cite { display: block; margin-top: 12px; font-family: var(--f-sans); font-style: normal; font-size: .8rem; color: var(--kx-muted); }
.kx-pull cite a { color: var(--kx-bordeaux); }
.kx-mosaic__grid { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.kx-mosaic__grid a { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; padding: 10px 12px; height: 100%; background: var(--kx-paper); border: 1px solid var(--kx-line); text-decoration: none; color: var(--kx-ink); transition: border-color .15s, background .15s; }
.kx-mosaic__grid b { grid-row: span 2; font-family: var(--f-serif); font-weight: 400; font-size: 1.2rem; color: var(--kx-gold); }
.kx-mosaic__grid span { font-family: var(--f-serif); font-weight: 600; font-size: .95rem; line-height: 1.25; }
.kx-mosaic__grid small { font-family: var(--f-sans); font-size: .74rem; line-height: 1.35; color: var(--kx-muted); margin-top: 3px; }
.kx-mosaic__grid a:hover, .kx-mosaic__grid a:focus-visible { border-color: var(--kx-gold); background: #fff; outline: none; }
.kx-mosaic__sum { margin: 14px 0 0; position: relative; text-align: center; padding-top: 30px; }
.kx-mosaic__sum::before { content: ""; position: absolute; top: 0; left: 8%; right: 8%; height: 20px; border: 2px solid var(--kx-bordeaux); border-top: 0; }
.kx-mosaic__sum::after { content: ""; position: absolute; top: 20px; left: 50%; width: 2px; height: 10px; background: var(--kx-bordeaux); }
.kx-mosaic__sum span { display: inline-block; background: var(--kx-bordeaux); color: #fff; font-family: var(--f-sans); font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 10px 16px; }
.kx-rr-docs { margin: 4px 0 0; padding-left: 1.1em; font-family: var(--f-sans); font-size: .9rem; line-height: 1.6; color: var(--kx-ink-2); }
.kx-rr-docs li { margin-bottom: 6px; }
/* Forderungen (5) */
.kx-demands--5 li:last-child { grid-column: 1 / -1; }
@media (max-width: 560px) {
  .kx-camps__grid { grid-template-columns: 1fr; }
  .kx-mosaic__grid { grid-template-columns: 1fr; }
  .kx-pre__leaves { grid-template-columns: 1fr; }
  .kx-axisband__in { grid-template-columns: 1fr; }
  .kx-axisband__nr { font-size: 3.6rem; margin-bottom: 8px; }
  .kx-camps__arrow--r { text-align: left; }
}
.kx-rs-sec .kx-lede { max-width: 80ch; }
.kx-kpis--5 .kx-kpi__label { letter-spacing: .1em; hyphens: manual; overflow-wrap: break-word; }
.kx-rr-hero h1 span { display: block; }
.kx-rs-side .kx-speed { --lab: 118px; }
.kx-rs-side .kx-speed__axis span:nth-child(2) { display: none; }
.kx-norm { max-width: 100%; overflow-wrap: anywhere; }
.kx-pillar__head > div { min-width: 0; }
.kx-pillar__title { overflow-wrap: break-word; hyphens: auto; }
.kx-rr-komplexe a { grid-template-columns: auto minmax(0, 1fr); }
.kx-rr-komplexe small { overflow-wrap: anywhere; }
.kx-rr-komplexe a { overflow-wrap: break-word; }
@media (max-width: 560px) { .kx-rr-komplexe a { font-size: .88rem; padding: 10px 10px 9px; column-gap: 8px; } }
.kx-rr-komplexe li, .kx-mosaic__grid li, .kx-paths > li, .kx-axes li { margin: 0; }
@media (max-width: 560px) { .kx-camps__arrow--l::before { content: "↑ "; } .kx-camps__arrow--r::after { content: " ↓"; } .kx-camps__arrow--r { border-right: 0; border-left: 4px solid var(--kx-ink); } }
/* ==========================================================================
   v7 (26.10.2026): Presse – Terminbox, Recherche-Zugänge, Zwei-Spuren-Schaubild,
   Dokumentgruppen, Pressekontakt; Modul „Im Namen des Volkes“.
   ========================================================================== */
.kx-pr-hero h1 span, .kx-rr-hero h1 span { display: block; }
.kx-pr-hero h1 { font-size: clamp(1.9rem, 3.3vw, 2.6rem); margin-bottom: 14px; }
.kx-pr-hero .kx-hero__lead { font-size: clamp(.98rem, 1.25vw, 1.06rem); line-height: 1.58; }
.kx-pr-lead2 { font-family: var(--f-serif); font-size: .98rem; line-height: 1.55; color: var(--kx-ink-2); margin: 10px 0 0; max-width: 74ch; }
.kx-pr-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.kx-pr-actions .kx-button { padding: 12px 18px; font-size: .9rem; }
.kx-pr-date { grid-template-columns: 1fr !important; align-content: start; gap: 14px !important; margin: 0 !important; padding: 20px 22px !important; }
.kx-pr-date__day { font-family: var(--f-serif) !important; font-size: 1.35rem !important; line-height: 1.2 !important; color: #fff !important; margin: 0 0 8px !important; }
.kx-pr-date__day b { display: block; font-size: 1.9rem; color: var(--kx-gold); font-weight: 600; }
.kx-pr-date__where { font-size: .86rem !important; line-height: 1.5 !important; }
.kx-pr-date__contact { border-top: 1px solid rgba(236,231,221,.18); padding-top: 12px; }
.kx-pr-date__contact a { font-family: var(--f-serif); font-size: 1.1rem; color: #fff; }
.kx-pr-date__contact p:last-child { font-size: .78rem !important; color: #bfb8aa !important; margin-top: 4px !important; }
.kx-pr-kpis { margin-top: 20px; }
.kx-pr-kpis .kx-kpi { padding: 14px 16px 12px; }
.kx-pr-kpis .kx-kpi__num { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.kx-pr-kpis .kx-kpi__label { margin: 8px 0 4px; }
.kx-pr-kpis .kx-kpi p { font-size: .76rem; line-height: 1.42; }
/* Recherche-Zugänge */
.kx-beats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 22px; }
@media (max-width: 1020px) { .kx-beats { grid-template-columns: 1fr; } }
.kx-beat { background: #fff; border: 1px solid var(--kx-line); border-top: 4px solid var(--kx-bordeaux); padding: 22px 22px 18px; display: flex; flex-direction: column; }
.kx-beat:nth-child(2) { border-top-color: var(--kx-ink); }
.kx-beat:nth-child(3) { border-top-color: var(--kx-gold); }
.kx-beat__k { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 10px; }
.kx-beat__k b { grid-row: span 2; font-family: var(--f-serif); font-size: 2rem; font-weight: 400; line-height: 1; color: var(--kx-gold); letter-spacing: 0; }
.kx-beat__k small { font-family: var(--f-mono); font-weight: 400; font-size: .66rem; letter-spacing: 0; text-transform: none; color: var(--kx-muted); margin-top: 3px; }
.kx-beat__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.18rem; line-height: 1.3; color: var(--kx-ink); margin: 0 0 12px; }
.kx-beat__label { font-family: var(--f-sans) !important; font-size: .64rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted) !important; margin: 10px 0 4px !important; }
.kx-beat p { font-family: var(--f-sans); font-size: .88rem; line-height: 1.62; color: var(--kx-ink-2); margin: 0; overflow-wrap: break-word; hyphens: auto; }
.kx-beat__go { margin-top: auto; padding-top: 16px; font-family: var(--f-sans); font-weight: 600; font-size: .86rem; color: var(--kx-bordeaux); text-decoration: none; }
.kx-beat__go::after { content: " →"; color: var(--kx-gold); }
.kx-beat__go:hover { text-decoration: underline; }
/* Zwei-Spuren-Schaubild */
.kx-tracks { margin: 0; background: #fff; border: 1px solid var(--kx-line); padding: 22px 22px 18px; position: relative; }
.kx-tracks::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--kx-ink); }
.kx-tracks figcaption p { font-family: var(--f-sans); font-size: .84rem; color: var(--kx-muted); margin: 0; }
.kx-tracks__root { margin: 16px auto 0; max-width: 300px; text-align: center; padding: 12px 14px; background: var(--kx-ink); color: #fff; font-family: var(--f-serif); font-weight: 600; font-size: 1rem; border-bottom: 3px solid var(--kx-gold); }
.kx-tracks__root small { display: block; font-family: var(--f-sans); font-weight: 400; font-size: .72rem; color: #bfb8aa; margin-top: 3px; }
.kx-tracks__fork { height: 22px; margin: 0 25%; border: 2px solid var(--kx-line); border-bottom: 0; position: relative; }
.kx-tracks__fork::before { content: ""; position: absolute; left: 50%; top: -12px; width: 2px; height: 12px; background: var(--kx-line); }
.kx-tracks__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kx-tracks__lane { padding: 14px 14px 12px; border: 1px solid var(--kx-line); background: var(--kx-paper); font-family: var(--f-sans); font-size: .8rem; line-height: 1.45; color: var(--kx-ink-2); }
.kx-tracks__lane b { display: block; font-family: var(--f-serif); font-size: 1rem; color: var(--kx-ink); }
.kx-tracks__lane > span { display: block; font-size: .74rem; color: var(--kx-muted); margin: 3px 0 8px; }
.kx-tracks__lane ul { margin: 0 0 8px; padding-left: 1.05em; }
.kx-tracks__lane li { margin-bottom: 4px; }
.kx-tracks__lane li b { display: inline; font-family: var(--f-mono); font-size: .76rem; }
.kx-tracks__k { font-size: .62rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); margin: 0 0 6px; }
.kx-tracks__lane--data { border: 2px dashed var(--kx-bordeaux); background: rgba(139,30,36,.04); }
.kx-tracks__lane--data .kx-tracks__k { color: var(--kx-bordeaux); }
.kx-tracks__stamp { margin: 8px 0 0; padding: 8px 10px; background: var(--kx-bordeaux); color: #fff; font-weight: 600; font-size: .78rem; line-height: 1.4; transform: rotate(-1.2deg); }
.kx-tracks__stamp .kx-ref { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
@media (max-width: 560px) { .kx-tracks__grid { grid-template-columns: 1fr; } .kx-tracks__fork { margin: 0 12%; } }
/* Dokumente */
.kx-docgroup { margin-top: 30px; }
.kx-docgroup__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.3rem; margin: 0; color: var(--kx-ink); }
.kx-docgroup__sub { font-family: var(--f-sans); font-size: .82rem; color: var(--kx-muted); margin: 4px 0 14px; }
.kx-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.kx-docs > li { margin: 0; }
.kx-doc { background: #fff; border: 1px solid var(--kx-line); border-left: 4px solid var(--kx-ink); padding: 16px 18px 14px; display: flex; flex-direction: column; }
.kx-docgroup:first-of-type .kx-doc { border-left-color: var(--kx-bordeaux); }
.kx-doc__ref { font-family: var(--f-mono); font-size: .72rem; color: #7d6125; margin: 0 0 4px; }
.kx-doc__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.05rem; line-height: 1.3; margin: 0 0 4px; color: var(--kx-ink); }
.kx-doc__meta { font-family: var(--f-sans); font-size: .76rem; color: var(--kx-muted); margin: 0 0 8px; }
.kx-doc__use { font-family: var(--f-sans); font-size: .84rem; line-height: 1.55; color: var(--kx-ink-2); margin: 0 0 12px; }
.kx-doc__act { margin: auto 0 0; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; font-family: var(--f-sans); font-size: .8rem; }
.kx-doc__ask, .kx-doc__dl { display: inline-block; padding: 7px 12px; background: var(--kx-ink); color: #fff !important; text-decoration: none; font-weight: 600; }
.kx-doc__ask:hover, .kx-doc__dl:hover { background: var(--kx-bordeaux); }
.kx-doc__more { color: var(--kx-bordeaux); }
/* Pressekontakt */
.kx-pr-contact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(236,231,221,.18); border: 1px solid rgba(236,231,221,.18); }
@media (max-width: 860px) { .kx-pr-contact { grid-template-columns: 1fr; } }
.kx-pr-contact > div { background: var(--kx-ink); padding: 20px 22px; }
.kx-pr-contact__k { font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 6px; }
.kx-pr-contact__v { font-family: var(--f-serif); font-size: 1.15rem; line-height: 1.35; color: #fff; margin: 0; overflow-wrap: anywhere; }
.kx-pr-contact__v a { color: #fff; }
.kx-pr-contact__v small { display: block; font-family: var(--f-sans); font-size: .78rem; color: #bfb8aa; margin-top: 4px; }
.kx-pr-note { font-family: var(--f-sans); font-size: .82rem; color: #bfb8aa; margin: 14px 0 0; }
.kx-next--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .kx-next--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kx-next--4 { grid-template-columns: 1fr; } }
/* Im Namen des Volkes */
.kx-volk { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 34px; align-items: start; }
@media (max-width: 1020px) { .kx-volk { grid-template-columns: 1fr; } }
.kx-volk__box { background: var(--kx-bordeaux); color: #f6efe6; padding: 26px 26px 22px; position: sticky; top: calc(var(--kx-head, 72px) + 76px); border-top: 4px solid var(--kx-gold); }
@media (max-width: 1020px) { .kx-volk__box { position: static; } }
.kx-volk__box p { font-family: var(--f-serif); font-size: 1.02rem; line-height: 1.6; margin: 0 0 14px; color: #f6efe6; }
.kx-volk__box p:last-child { margin-bottom: 0; }
.kx-volk__box strong { color: #fff; }
.kx-volk__lead { font-size: 1.35rem !important; line-height: 1.3 !important; color: var(--kx-gold) !important; font-weight: 600; }
.kx-volk__box .kx-ref { background: transparent; color: #fff; border-color: rgba(255,255,255,.45); }
.kx-pillar__num:not(:empty) { font-variant-numeric: lining-nums; }
.kx-volk-band { border-top: 4px solid var(--kx-bordeaux); }
.kx-volk-band__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.8rem, 3.6vw, 2.8rem); color: #fff; margin: 0 0 14px; }
.kx-volk-band__t { font-family: var(--f-serif); font-size: 1.12rem; line-height: 1.65; color: #ddd7cb; max-width: 70ch; margin: 0 0 22px; }
@media (max-width: 760px) { .kx-pr-actions .kx-button { width: 100%; justify-content: space-between; } }
.kx-pr-hero { padding-top: clamp(16px, 2vw, 26px); }
@media (min-width: 961px) {
  .kx-pr-hero .kx-chr-hero__grid { grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); }
  .kx-pr-hero h1 { font-size: clamp(1.8rem, 2.6vw, 2.3rem); }
  .kx-pr-actions { flex-wrap: wrap; }
  .kx-pr-actions .kx-button { padding: 11px 14px; font-size: .84rem; white-space: nowrap; }
}
@media (max-width: 760px) { .kx-pr-lead2 { display: none; } .kx-pr-hero h1 { font-size: 1.75rem; } .kx-pr-hero .kx-chr-hero__grid { gap: 16px; } }
/* ==========================================================================
   v8 (26.10.2026): Kasten „Paket-Paradoxon“ (/rechtsstaat #datenbeiziehung, /presse/ #zustelldokumentation)
   ========================================================================== */
.kx-paket { --pk-ink: #161920; --pk-paper: #F5F2EB; --pk-gold: #D4B06A; --pk-wine: #7A263A;
      background: var(--pk-ink); color: var(--pk-paper); border-left: 6px solid var(--pk-gold); box-shadow: inset 0 4px 0 var(--pk-wine);
      padding: clamp(24px, 4vw, 44px) clamp(20px, 4vw, 48px) clamp(22px, 3vw, 36px); margin: 0 0 clamp(30px, 4vw, 44px); }
.kx-paket > *, .kx-paket__case > * { max-width: 65ch; }
.kx-paket__k { font-family: var(--f-sans); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--pk-gold); margin: 0 0 8px; }
.kx-paket__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.6rem, 3.2vw, 2.3rem); line-height: 1.15; color: #fff; margin: 0 0 18px; }
.kx-paket p, .kx-paket li { font-family: var(--f-serif); font-size: 1.15rem; line-height: 1.5; color: var(--pk-paper); }
.kx-paket__lead { margin: 0 0 10px; font-style: italic; }
.kx-paket__steps { list-style: none; counter-reset: pk; margin: 0 0 22px; padding: 0; }
.kx-paket__steps li { counter-increment: pk; position: relative; padding: 10px 0 10px 48px; border-top: 1px solid rgba(245,242,235,.16); margin: 0; }
.kx-paket__steps li::before { content: counter(pk); position: absolute; left: 0; top: 4px; font-family: var(--f-serif); font-size: 1.9rem; line-height: 1.2; color: var(--pk-gold); }
.kx-paket__core { margin: 0 0 6px; padding: 16px 20px; background: var(--pk-wine); }
.kx-paket__core strong { color: #fff; font-weight: 700; }
.kx-paket__case { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(212,176,106,.45); }
.kx-paket__k2 { font-family: var(--f-sans) !important; font-size: .74rem !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--pk-gold) !important; margin: 0 0 10px; }
.kx-paket__case p { margin: 0 0 14px; font-size: 1.125rem; }
.kx-paket__id { font-family: var(--f-mono); font-weight: 600; letter-spacing: .02em; color: var(--pk-gold); white-space: nowrap; }
.kx-paket__q { margin: 0 0 14px; padding: 12px 18px; border-left: 3px solid var(--pk-gold); background: rgba(245,242,235,.06); }
.kx-paket__q p { font-style: italic; margin: 0 0 4px !important; color: #fff; }
.kx-paket__q cite { font-family: var(--f-sans); font-style: normal; font-size: .82rem; color: #cfc8b9; }
.kx-paket__ford strong { color: #fff; }
.kx-paket a { color: var(--pk-gold); text-decoration: underline; text-underline-offset: 2px; }
.kx-paket a:focus-visible { outline: 2px solid var(--pk-gold); outline-offset: 2px; }
.kx-paket__src { font-family: var(--f-sans) !important; font-size: .86rem !important; color: #cfc8b9 !important; margin: 6px 0 0 !important; }
.kx-paket .kx-ref { background: transparent; color: var(--pk-gold); border-color: rgba(212,176,106,.5); }
@media (max-width: 560px) { .kx-paket { padding: 22px 20px 20px; border-left-width: 4px; } .kx-paket__steps li { padding-left: 38px; } .kx-paket__steps li::before { font-size: 1.6rem; } .kx-paket__id { white-space: normal; overflow-wrap: anywhere; } }
/* ==========================================================================
   v9 (26.10.2026): Animation „Die Blackbox vor der Haustür“ (blackbox.js)
   ========================================================================== */
.kx-bb { margin: 0 0 clamp(30px, 4vw, 44px); background: #fff; border: 1px solid var(--kx-line); border-top: 4px solid var(--kx-gold); padding: clamp(18px, 3vw, 30px); }
.kx-bb__k { font-family: var(--f-sans); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 6px; }
.kx-bb__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.35rem, 2.6vw, 1.8rem); line-height: 1.2; color: var(--kx-ink); margin: 0 0 10px; }
.kx-bb__prompt { display: inline-block; margin: 0 0 12px; padding: 9px 16px; background: var(--kx-ink); color: #fff; font-family: var(--f-sans); font-size: .9rem; font-weight: 600; line-height: 1.4; border-left: 4px solid var(--kx-gold); animation: kxbbpulse 2.2s ease-in-out infinite; }
@keyframes kxbbpulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(184,151,88,.55); } 50% { box-shadow: 0 0 0 8px rgba(184,151,88,0); } }
.kx-bb__stage { position: relative; max-width: 860px; margin: 0 auto; }
.kx-bb__svg { display: block; width: 100%; height: auto; background: var(--kx-paper); border: 1px solid var(--kx-line); }
.kx-bb__day { font-family: var(--f-serif); font-size: 24px; font-weight: 600; fill: var(--kx-ink); }
.kx-bb__date { font-family: var(--f-mono); font-size: 14px; fill: var(--kx-muted); }
.kx-bb__court path, .kx-bb__court rect { fill: #d9d2c3; stroke: var(--kx-ink); stroke-width: 1.5; }
.kx-bb__lab { font-family: var(--f-sans); font-size: 15px; font-weight: 700; fill: var(--kx-ink); }
.kx-bb__sub { font-family: var(--f-sans); font-size: 13px; fill: var(--kx-muted); }
.kx-bb__road { stroke: #c9c1b1; stroke-width: 3; stroke-dasharray: 8 7; }
.kx-bb__roadt { font-family: var(--f-sans); font-size: 12px; fill: var(--kx-muted); font-style: italic; }
.kx-bb__house path { fill: #8b8f98; } .kx-bb__house rect { fill: #e9e4d8; stroke: var(--kx-ink); stroke-width: 1.5; }
.kx-bb__house .kx-bb__door { fill: #6b4e2e; }
.kx-bb__hl { font-family: var(--f-sans); font-size: 11.5px; font-weight: 700; fill: var(--kx-ink); }
.kx-bb__hs { font-family: var(--f-sans); font-size: 11px; fill: var(--kx-muted); }
.kx-bb__huh circle { fill: #fff; stroke: var(--kx-ink); stroke-width: 1.5; }
.kx-bb__huhq { font-family: var(--f-serif); font-size: 19px; font-weight: 700; fill: var(--kx-ink); }
.kx-bb__box { cursor: pointer; outline: none; }
.kx-bb__box rect { fill: #111216; stroke: var(--kx-gold); stroke-width: 2; transition: stroke-width .15s; }
.kx-bb__box .kx-bb__lid { fill: #2a2d35; stroke: var(--kx-gold); transform-box: fill-box; transform-origin: 0% 100%; }
.kx-bb__box:hover > .kx-bb__boxi > rect:first-child, .kx-bb__box:focus-visible > .kx-bb__boxi > rect:first-child { stroke-width: 5; }
.kx-bb__boxq { font-family: var(--f-serif); font-size: 40px; font-weight: 700; fill: var(--kx-gold); }
.kx-bb__count { font-family: var(--f-mono); font-size: 12px; font-weight: 700; fill: #fff; }
.kx-bb__boxi { transform-box: fill-box; transform-origin: 50% 100%; }
.kx-bb__box.is-shake .kx-bb__boxi { animation: kxbbshake .42s ease-in-out; }
.kx-bb__box.is-shake .kx-bb__lid { animation: kxbblid .42s ease-in-out; }
@keyframes kxbbshake { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-4deg); } 40% { transform: rotate(4deg); } 60% { transform: rotate(-3deg); } 80% { transform: rotate(2deg); } }
@keyframes kxbblid { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-24deg); } }
.kx-bb__env rect { fill: #fff; stroke: var(--kx-ink); stroke-width: 1.5; }
.kx-bb__env path { fill: none; stroke: var(--kx-ink); stroke-width: 1.2; }
.kx-bb__env--hk rect { fill: var(--kx-bordeaux); } .kx-bb__env--hk path { stroke: #fff; }
.kx-bb__env--fs rect { fill: var(--kx-gold); }
.kx-bb__pop rect { fill: #fff; stroke: var(--kx-ink); stroke-width: 1.5; }
.kx-bb__popt { font-family: var(--f-mono); font-size: 10.5px; font-weight: 600; fill: var(--kx-ink); }
.kx-bb__pop, .kx-bb__slip { animation: kxbbplopp .5s cubic-bezier(.2, 1.7, .4, 1) both; transform-box: fill-box; transform-origin: center; transition: opacity .6s; }
.kx-bb__pop.is-out { opacity: 0; }
@keyframes kxbbplopp { from { opacity: 0; scale: .2; } to { opacity: 1; scale: 1; } }
.kx-bb__slip rect { fill: #f6dd78; stroke: #8a6d12; stroke-width: 1.5; }
.kx-bb__slipt { font-family: var(--f-mono); font-size: 11px; font-weight: 700; fill: #3b2f07; }
.kx-bb__slips { font-family: var(--f-sans); font-size: 9.5px; font-weight: 600; fill: var(--kx-bordeaux); }
.kx-bb__vstamp rect { fill: rgba(255,255,255,.9); stroke: var(--kx-bordeaux); stroke-width: 4; }
.kx-bb__vstampt { font-family: var(--f-sans); font-size: 17px; font-weight: 800; letter-spacing: 2px; fill: var(--kx-bordeaux); }
.kx-bb__vstamp.is-on { animation: kxbbslam .5s ease-out .25s both; }
@keyframes kxbbslam { from { opacity: 0; } 60% { opacity: 1; } to { opacity: 1; } }
.kx-bb__dlg { position: absolute; inset: 3% 4% auto 4%; background: #fff; border: 2px solid var(--kx-ink); box-shadow: 0 18px 40px -18px rgba(22,25,32,.55); padding: 18px 20px 16px; z-index: 2; max-height: 90%; overflow: auto; }
.kx-bb__stamp { display: inline-block; margin: 0 0 12px; padding: 5px 14px; border: 3px solid var(--kx-bordeaux); color: var(--kx-bordeaux); background: #fff; font-family: var(--f-sans); font-weight: 800; font-size: 1.15rem; letter-spacing: .1em; text-transform: uppercase; transform: rotate(-4deg); }
.kx-bb__stamp.is-on { animation: kxbbstamp .35s ease-out both; }
@keyframes kxbbstamp { from { transform: rotate(-4deg) scale(2.2); opacity: 0; } to { transform: rotate(-4deg) scale(1); opacity: 1; } }
.kx-bb__dlg blockquote { margin: 0 0 8px; padding: 10px 14px; border-left: 3px solid var(--kx-bordeaux); background: var(--kx-cream); }
.kx-bb__qt { font-family: var(--f-serif); font-style: italic; font-size: 1.05rem; line-height: 1.5; margin: 0 0 4px; color: var(--kx-ink); }
.kx-bb__qc { font-family: var(--f-sans); font-style: normal; font-size: .78rem; color: var(--kx-muted); }
.kx-bb__qn { font-family: var(--f-sans); font-size: .86rem; color: var(--kx-ink-2); margin: 0 0 6px; }
.kx-bb__qn:empty { display: none; }
.kx-bb__try { font-family: var(--f-serif); font-weight: 600; font-size: .98rem; color: var(--kx-bordeaux); margin: 0 0 10px; }
.kx-bb__btns { margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.kx-bb__close, .kx-bb__again, .kx-bb__replay { font-family: var(--f-sans); font-weight: 600; font-size: .86rem; padding: 9px 16px; background: var(--kx-ink); color: #fff; border: 0; cursor: pointer; }
.kx-bb__again { background: var(--kx-bordeaux); }
.kx-bb__close:hover, .kx-bb__again:hover, .kx-bb__replay:hover, .kx-bb__close:focus-visible, .kx-bb__again:focus-visible, .kx-bb__replay:focus-visible { filter: brightness(1.15); outline: 2px solid var(--kx-gold); outline-offset: 2px; }
.kx-bb__legend { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; font-family: var(--f-sans); font-size: .82rem; color: var(--kx-ink-2); }
.kx-bb__legend li { margin: 0; }
.kx-bb__lg::before { content: ""; display: inline-block; width: 18px; height: 12px; margin-right: 8px; vertical-align: -1px; border: 1.5px solid var(--kx-ink); }
.kx-bb__lg--hk::before { background: var(--kx-bordeaux); } .kx-bb__lg--fs::before { background: var(--kx-gold); }
.kx-bb__list { list-style: none; margin: 10px 0 0; padding: 0; min-height: 4.6em; }
.kx-bb__row { font-family: var(--f-sans); font-size: .88rem; line-height: 1.5; color: var(--kx-ink-2); padding: 3px 0 3px 12px; border-left: 3px solid var(--kx-gold); margin: 0 0 4px; }
.kx-bb__row--hk { border-left-color: var(--kx-bordeaux); }
.kx-bb__row strong { color: var(--kx-ink); }
.kx-bb__replay { margin-top: 10px; }
.kx-bb__text { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--kx-line); }
.kx-bb__text > p { font-family: var(--f-serif); font-size: 1.1rem; line-height: 1.6; color: var(--kx-ink); margin: 0 0 12px; max-width: 72ch; }
.kx-bb__def { margin: 0; padding: 10px 14px; border-left: 3px solid #8b8f98; background: var(--kx-paper); max-width: 72ch; }
.kx-bb__def p { font-family: var(--f-serif); font-size: .98rem; line-height: 1.5; margin: 0 0 3px; color: var(--kx-ink-2); }
.kx-bb__def b { font-family: var(--f-sans); font-size: .8rem; color: var(--kx-ink); }
.kx-bb__def cite { font-family: var(--f-sans); font-style: normal; font-size: .76rem; color: var(--kx-muted); }
.kx-bb__note { font-family: var(--f-sans); font-size: .78rem; line-height: 1.5; color: var(--kx-muted); margin: 12px 0 0; max-width: 80ch; }
@media (max-width: 560px) { .kx-bb__dlg { inset: 2% 2% auto 2%; padding: 14px 14px 12px; } .kx-bb__prompt { font-size: .84rem; } .kx-bb__text > p { font-size: 1rem; } }
@media (prefers-reduced-motion: reduce) { .kx-bb__pop, .kx-bb__slip, .kx-bb__stamp.is-on, .kx-bb__vstamp.is-on, .kx-bb__box.is-shake .kx-bb__boxi, .kx-bb__box.is-shake .kx-bb__lid, .kx-bb__prompt { animation: none; } .kx-bb__vstamp.is-on { opacity: 1; } }
.kx-bb__svg--p ~ .kx-bb__dlg { position: fixed; top: auto !important; left: 12px; right: 12px; bottom: 12px; max-height: 72vh; z-index: 60; box-shadow: 0 -10px 40px -12px rgba(22,25,32,.6); }
/* ==========================================================================
   v9 (26.10.2026): Bildmotive – Achsenbänder mit Hintergrundbild, Atmos im
   Rechtsrahmen-Einstieg, Bildbalken im Modul „Im Namen des Volkes“.
   ========================================================================== */
.kx-axisband { position: relative; overflow: hidden; }
.kx-axisband__bg { position: absolute; inset: 0; z-index: 0; }
.kx-axisband__bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .55; filter: saturate(.85); }
.kx-axisband::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(22,25,32,.95) 0%, rgba(22,25,32,.8) 45%, rgba(22,25,32,.3) 100%); }
.kx-axisband > .kx-wrap { position: relative; z-index: 1; }
.kx-axisband__credit { position: absolute; right: 12px; bottom: 8px; z-index: 1; font-family: var(--f-mono); font-size: .6rem; color: rgba(236,231,221,.55); }
.kx-rr-now { position: relative; overflow: hidden; }
.kx-volk__fig { margin: 0 0 30px; position: relative; }
.kx-volk__fig img { width: 100%; height: clamp(180px, 26vw, 340px); object-fit: cover; display: block; }
.kx-volk__fig figcaption { position: absolute; right: 10px; bottom: 8px; font-family: var(--f-mono); font-size: .6rem; color: rgba(255,255,255,.8); text-shadow: 0 1px 2px rgba(0,0,0,.6); }
@media (max-width: 560px) { .kx-axisband__bg img { opacity: .18; } .kx-axisband__credit { display: none; } }
#achse-2 .kx-axisband__bg img { object-position: 70% 30%; } #achse-1 .kx-axisband__bg img { object-position: 80% 50%; }
.kx-axisband__bg picture { display: block; width: 100%; height: 100%; }
/* ==========================================================================
   v10 (26.10.2026): Startseite – dunkler Einstieg mit Justitia-Bewegtbild,
   Kennzahlen, Schadenquoten-Grafik, EVIL-Akronym, Video mit Kapiteln, Kacheln.
   ========================================================================== */
.kx-hp-hero { position: relative; overflow: hidden; background: var(--kx-ink); color: #ece7dd; padding: clamp(36px, 5vw, 72px) 0 clamp(70px, 8vw, 110px); }
.kx-hp-hero__media { position: absolute; inset: 0; z-index: 0; }
.kx-hp-hero__media picture, .kx-hp-hero__media img, .kx-hp-hero__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; }
.kx-hp-hero__media video { filter: grayscale(1) contrast(1.05); }
.kx-hp-hero__media img { filter: grayscale(1); }
.kx-hp-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(22,25,32,.96) 0%, rgba(22,25,32,.86) 48%, rgba(22,25,32,.55) 100%); }
.kx-hp-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(260px, 1fr); gap: 28px clamp(28px, 4vw, 56px); align-items: start; }
@media (max-width: 960px) { .kx-hp-hero__grid { grid-template-columns: 1fr; } }
.kx-hp-hero__credit { position: absolute; right: 12px; bottom: 10px; z-index: 1; font-family: var(--f-mono); font-size: .6rem; color: rgba(236,231,221,.5); }
.kx-eyebrow--light { color: var(--kx-gold) !important; }
.kx-hp-hero h1 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.1; letter-spacing: -.015em; color: #fff; margin: 0 0 16px; max-width: 30ch; }
.kx-hp-hero h1 span { color: var(--kx-gold); }
.kx-hp-lead { font-family: var(--f-serif); font-size: clamp(1rem, 1.35vw, 1.12rem); line-height: 1.6; color: #ddd7cb; margin: 0 0 14px; max-width: 70ch; }
.kx-hp-two { list-style: none; counter-reset: two; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(236,231,221,.16); border: 1px solid rgba(236,231,221,.16); }
@media (max-width: 760px) { .kx-hp-two { grid-template-columns: 1fr; } }
.kx-hp-two li { counter-increment: two; background: rgba(22,25,32,.72); padding: 14px 16px; margin: 0; }
.kx-hp-two b { display: block; font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold); margin-bottom: 6px; }
.kx-hp-two b::before { content: counter(two) " · "; }
.kx-hp-two span { font-family: var(--f-sans); font-size: .86rem; line-height: 1.55; color: #ddd7cb; }
.kx-hp-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.kx-hp-actions .kx-button { padding: 11px 16px; font-size: .86rem; }
.kx-hp-actions .kx-button--line { color: #fff !important; border: 1px solid rgba(236,231,221,.55); }
.kx-hp-date { background: rgba(22,25,32,.78); border: 1px solid rgba(184,151,88,.45); border-top: 3px solid var(--kx-gold); padding: 20px 22px; backdrop-filter: blur(4px); }
.kx-hp-date__day { font-family: var(--f-serif); font-size: 1.35rem; line-height: 1.2; color: #fff; margin: 0 0 6px; }
.kx-hp-date__day b { display: block; font-size: 1.9rem; color: var(--kx-gold); font-weight: 600; }
.kx-hp-date__where { font-family: var(--f-sans); font-size: .84rem; line-height: 1.5; color: #ddd7cb; margin: 0; }
.kx-hp-date__where .kx-ref, .kx-hp-two .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-hp-date__stand { font-family: var(--f-mono); font-size: .66rem; color: #a9a294; margin: 14px 0 0; }
.kx-hp-kpis { position: relative; z-index: 2; margin-top: clamp(-56px, -5vw, -36px); padding-bottom: clamp(28px, 4vw, 44px); }
.kx-hp-kpis .kx-kpis { margin: 0; box-shadow: 0 18px 40px -24px rgba(22,25,32,.5); }
/* Schadenquoten-Grafik */
.kx-sq { margin: 0; background: #fff; border: 1px solid var(--kx-line); padding: 22px 22px 18px; position: relative; }
.kx-sq::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--kx-ink); }
.kx-sq figcaption p { font-family: var(--f-sans); font-size: .84rem; color: var(--kx-muted); margin: 0; }
.kx-sq__list { list-style: none; margin: 18px 0 6px; padding: 0; position: relative; }
.kx-sq__row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 0; margin: 0; font-family: var(--f-sans); font-size: .82rem; }
.kx-sq__row b { font-family: var(--f-serif); font-size: 1.2rem; color: var(--kx-ink); white-space: nowrap; }
.kx-sq__y { font-family: var(--f-mono); font-size: .76rem; color: var(--kx-muted); }
.kx-sq__t { position: relative; height: 18px; background: #eee9dd; background-image: linear-gradient(90deg, transparent calc(55% - 1px), rgba(46,125,50,.7) calc(55% - 1px), rgba(46,125,50,.7) 55%, transparent 55%, transparent calc(70% - 1px), var(--kx-bordeaux) calc(70% - 1px), var(--kx-bordeaux) calc(70% + 1px), transparent calc(70% + 1px)); }
.kx-sq__b { display: block; height: 100%; background: var(--kx-ink); }
.kx-sq__row:last-child .kx-sq__b { background: #2e7d32; }
.kx-sq__axis { position: relative; height: 30px; margin-left: 54px; margin-right: 90px; font-family: var(--f-sans); font-size: .66rem; color: var(--kx-muted); }
.kx-sq__axis span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.kx-sq__axis span:last-child { color: var(--kx-bordeaux); font-weight: 700; top: 14px; }
.kx-sq .kx-bilder__src a { color: var(--kx-bordeaux); }
/* EVIL-Akronym */
.kx-evil { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--kx-line); border: 1px solid var(--kx-line); margin: 6px 0 28px; }
@media (max-width: 760px) { .kx-evil { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kx-evil__l { background: #fff; padding: 18px 18px 16px; }
.kx-evil__l b { display: block; font-family: var(--f-serif); font-size: clamp(2.6rem, 5vw, 3.6rem); line-height: 1; color: var(--kx-bordeaux); }
.kx-evil__l span { display: block; font-family: var(--f-serif); font-weight: 600; font-size: 1.05rem; color: var(--kx-ink); margin: 6px 0 4px; overflow-wrap: break-word; hyphens: manual; }
.kx-evil__l small { display: block; font-family: var(--f-sans); font-size: .78rem; line-height: 1.45; color: var(--kx-muted); }
/* Video mit Kapiteln und Kacheln */
.kx-hp-video { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, 1fr); gap: 28px; align-items: start; }
@media (max-width: 960px) { .kx-hp-video { grid-template-columns: 1fr; } }
.kx-hp-video figcaption { color: #ddd7cb; }
.kx-hp-video figcaption strong { color: #fff; }
.kx-hp-kap { margin: 6px 0 0; padding-left: 1.3em; font-family: var(--f-serif); font-size: 1rem; line-height: 1.55; color: #ddd7cb; }
.kx-hp-kap li { margin-bottom: 10px; }
.kx-hp-kap li::marker { color: var(--kx-gold); }
.kx-hptiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(236,231,221,.18); border: 1px solid rgba(236,231,221,.18); margin-top: 34px; }
@media (max-width: 1000px) { .kx-hptiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kx-hptiles { grid-template-columns: 1fr; } }
.kx-hptile { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 20px; background: var(--kx-ink); color: #ece7dd; text-decoration: none; transition: background .15s; }
.kx-hptile b { font-family: var(--f-serif); font-weight: 400; font-size: 1.6rem; color: var(--kx-gold); }
.kx-hptile__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.15rem; color: #fff; }
.kx-hptile__t { font-family: var(--f-sans); font-size: .84rem; line-height: 1.55; color: #bfb8aa; }
.kx-hptile::after { content: "→"; margin-top: auto; color: var(--kx-gold); font-size: 1.2rem; }
.kx-hptile:hover, .kx-hptile:focus-visible { background: #22262f; outline: none; }
@media (max-width: 767px) { .kx-hp-hero__media video { display: none; } }
@media (prefers-reduced-motion: reduce) { .kx-hp-hero__media video { display: none; } .kx-hptile { transition: none; } }
.kx-hp-hero { padding-top: clamp(26px, 3.5vw, 52px); } .kx-hp-two span { font-size: .82rem; } .kx-hp-two li { padding: 12px 14px; }
.kx-sq__row { grid-template-columns: 44px minmax(0, 1fr) auto auto; }
.kx-sq__legend { font-family: var(--f-sans); font-size: .72rem; line-height: 1.6; color: var(--kx-muted); margin: 10px 0 0; }
.kx-sq__m { display: inline-block; width: 3px; height: 12px; vertical-align: -2px; margin: 0 6px 0 10px; }
.kx-sq__m--g { background: rgba(46,125,50,.8); margin-left: 0; }
.kx-sq__m--r { background: var(--kx-bordeaux); }
.kx-compare--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } @media (max-width: 960px) { .kx-compare--3 { grid-template-columns: 1fr; } }
.kx-hptile--duo::after { display: none; }
.kx-hptile__links { margin-top: auto; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.kx-hptile__links a { font-family: var(--f-sans); font-size: .84rem; font-weight: 600; color: var(--kx-gold); text-decoration: none; }
.kx-hptile__links a::after { content: " →"; }
.kx-hptile__links a:hover, .kx-hptile__links a:focus-visible { color: #fff; }

/* ==========================================================================
   v11 (26.10.2026): Presse – Einstieg als dunkle Medienwand (AdobeStock #1401089600,
   einmal mit 60 % Tempo, danach Standbild), helle Typo, Gold-Akzente.
   ========================================================================== */
.kx-pr-hero--media { position: relative; overflow: hidden; background: var(--kx-ink); color: #ece7dd; padding-bottom: clamp(26px, 3vw, 40px); }
.kx-pr-hero__media { position: absolute; inset: 0; z-index: 0; }
.kx-pr-hero__media video, .kx-pr-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; }
.kx-pr-hero--media::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(22,25,32,.93) 0%, rgba(22,25,32,.78) 40%, rgba(22,25,32,.38) 72%, rgba(22,25,32,.22) 100%), linear-gradient(0deg, rgba(22,25,32,.85) 0%, rgba(22,25,32,0) 32%); }
.kx-pr-hero--media > .kx-wrap { position: relative; z-index: 1; }
.kx-pr-hero--media .kx-eyebrow { color: var(--kx-gold); }
.kx-pr-hero--media .kx-eyebrow::before { background: var(--kx-gold); }
.kx-pr-hero--media h1 { color: #fff; }
.kx-pr-hero--media h1 span + span { color: var(--kx-gold); }
.kx-pr-hero--media .kx-hero__lead { color: #e4ded2; }
.kx-pr-hero--media .kx-pr-lead2 { color: #c9c2b5; }
.kx-pr-hero--media .kx-hero__lead .kx-ref, .kx-pr-hero--media .kx-pr-lead2 .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.55); }
.kx-pr-hero--media .kx-pr-actions .kx-button--down { background: var(--kx-gold); color: var(--kx-ink) !important; border-color: var(--kx-gold); }
.kx-pr-hero--media .kx-pr-actions .kx-button--ghost { color: #fff !important; border-color: rgba(236,231,221,.55); background: rgba(22,25,32,.35); }
.kx-pr-hero--media .kx-pr-actions .kx-button--ghost:hover { background: rgba(236,231,221,.12); }
.kx-pr-hero--media .kx-pr-date { background: rgba(22,25,32,.78) !important; border: 1px solid rgba(184,151,88,.45); border-top: 3px solid var(--kx-gold); backdrop-filter: blur(4px); }
.kx-pr-hero--media .kx-pr-kpis { box-shadow: 0 22px 44px -26px rgba(0,0,0,.8); }
.kx-pr-hero__credit { position: absolute; right: 12px; bottom: 8px; z-index: 1; font-family: var(--f-mono); font-size: .6rem; color: rgba(236,231,221,.5); }
@media (max-width: 760px) { .kx-pr-hero--media::after { background: linear-gradient(180deg, rgba(22,25,32,.9) 0%, rgba(22,25,32,.94) 100%); } }
@media (prefers-reduced-motion: reduce) { .kx-pr-hero__media video { display: none; } }

/* ==========================================================================
   v12 (27.10.2026): Startseite – Hero mit sichtbarer Justitia und Termin daneben
   (Video gespiegelt), Zwei-Fragen-Band, EVIL als große Buchstabenkarten auf Anthrazit.
   ========================================================================== */
.kx-hp-hero--v12 { min-height: min(calc(100vh - 76px), 860px); display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 4vw, 56px) 0 clamp(56px, 6vw, 80px); }
.kx-hp-hero--v12 .kx-hp-hero__media video, .kx-hp-hero--v12 .kx-hp-hero__media img { transform: scaleX(-1); object-position: 30% 35%; filter: grayscale(1) contrast(1.08) brightness(1.05); }
.kx-hp-hero--v12::after { background: linear-gradient(90deg, rgba(22,25,32,.95) 0%, rgba(22,25,32,.86) 34%, rgba(22,25,32,.25) 58%, rgba(22,25,32,.05) 72%, rgba(22,25,32,.35) 100%), linear-gradient(0deg, rgba(22,25,32,.75) 0%, rgba(22,25,32,0) 30%); }
.kx-hp-hero--v12 .kx-hp-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr) minmax(240px, 270px); align-items: end; }
.kx-hp-hero--v12 .kx-hp-hero__text { grid-column: 1; }
.kx-hp-hero--v12 .kx-hp-hero__grid { align-items: stretch; }
.kx-hp-hero--v12 .kx-hp-hero__text { align-self: end; }
.kx-hp-hero--v12 .kx-hp-date { grid-column: 3; align-self: end; background: rgba(22,25,32,.7); }
@media (min-width: 1320px) { .kx-hp-hero--v12 .kx-hp-date { margin-right: -90px; } }
.kx-hp-hero--v12 h1 { font-size: clamp(2rem, 3.2vw, 3rem); max-width: 19ch; margin-bottom: 18px; }
.kx-hp-hero--v12 .kx-hp-lead { font-size: clamp(1.02rem, 1.3vw, 1.14rem); max-width: 52ch; margin-bottom: 22px; }
.kx-hp-hero__scroll { position: absolute; left: 50%; bottom: 18px; z-index: 1; width: 26px; height: 40px; margin-left: -13px; border: 1.5px solid rgba(236,231,221,.6); border-radius: 14px; }
.kx-hp-hero__scroll span { position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px; background: var(--kx-gold); border-radius: 2px; animation: kxScroll 1.8s ease-in-out infinite; }
@keyframes kxScroll { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(12px); opacity: 0; } 100% { opacity: 0; } }
@media (max-width: 1100px) { .kx-hp-hero--v12 .kx-hp-hero__grid { grid-template-columns: minmax(0, 1.4fr) minmax(250px, 1fr); } .kx-hp-hero--v12 .kx-hp-date { grid-column: 2; } }
@media (max-width: 760px) {
  .kx-hp-hero--v12 { min-height: 0; padding-top: 0; }
  .kx-hp-hero--v12 .kx-hp-hero__media { position: relative; height: 56vw; min-height: 210px; }
  .kx-hp-hero--v12::after { background: linear-gradient(180deg, rgba(22,25,32,0) 0%, rgba(22,25,32,.1) 22vw, rgba(22,25,32,1) 56vw); }
  .kx-hp-hero--v12 .kx-hp-hero__grid { grid-template-columns: 1fr; margin-top: -40px; }
  .kx-hp-hero--v12 .kx-hp-date { grid-column: 1; }
  .kx-hp-hero__scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) { .kx-hp-hero__scroll span { animation: none; } }
.kx-hp-hero--v12 + .kx-hp-intro { }
.kx-hp-intro { background: #f7f5f0; padding: clamp(40px, 5vw, 64px) 0 clamp(26px, 3vw, 36px); }
.kx-hp-intro__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.2; color: var(--kx-ink); margin: 0 0 22px; max-width: 34ch; }
.kx-hp-intro .kx-hp-two { background: var(--kx-line); border-color: var(--kx-line); margin: 0; }
.kx-hp-intro .kx-hp-two li { background: #fff; padding: 20px 22px; }
.kx-hp-intro .kx-hp-two b { color: #8b1e24; font-size: .72rem; }
.kx-hp-intro .kx-hp-two span { font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.6; color: var(--kx-ink-2); }
.kx-hp-intro + .kx-hp-kpis { margin-top: 0; background: #f7f5f0; padding-top: 6px; }

.kx-hp-evil { background: var(--kx-ink); color: #ece7dd; position: relative; overflow: hidden; }
.kx-hp-evil::before { content: "EVIL"; position: absolute; right: -1vw; top: -4vw; font-family: var(--f-serif); font-weight: 700; font-size: clamp(8rem, 22vw, 20rem); line-height: 1; color: rgba(184,151,88,.05); pointer-events: none; }
.kx-hp-evil .kx-wrap { position: relative; }
.kx-hp-evil__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.8rem, 3.2vw, 2.7rem); line-height: 1.12; color: #fff; margin: 0 0 16px; }
.kx-hp-evil__h .evil-letter { color: var(--kx-gold); }
.kx-hp-evil__lede { font-family: var(--f-serif); font-size: clamp(1.02rem, 1.35vw, 1.14rem); line-height: 1.65; color: #ddd7cb; max-width: 72ch; margin: 0 0 34px; }
.kx-hp-evil__lede strong { color: #fff; }
.kx-hp-evil .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-hp-evil__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(184,151,88,.28); border: 1px solid rgba(184,151,88,.28); }
@media (max-width: 1000px) { .kx-hp-evil__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kx-hp-evil__grid { grid-template-columns: 1fr; } }
.kx-hp-evil__card { position: relative; background: #1b1e26; padding: 26px 24px 22px; display: flex; flex-direction: column; transition: background .2s; overflow: hidden; }
.kx-hp-evil__card:hover { background: #20242d; }
.kx-hp-evil__l { font-family: var(--f-serif); font-weight: 700; font-size: clamp(5rem, 8vw, 7.5rem); line-height: .9; color: var(--kx-gold); margin-bottom: 14px; text-shadow: 0 0 40px rgba(184,151,88,.25); }
.kx-hp-evil__card::after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: var(--kx-gold); transform: scaleX(.18); transform-origin: left; transition: transform .35s; }
.kx-hp-evil__card:hover::after { transform: scaleX(1); }
.kx-hp-evil__w { font-family: var(--f-serif); font-weight: 600; font-size: 1.3rem; color: #fff; margin: 0 0 10px; }
.kx-hp-evil__w .evil-letter { color: var(--kx-gold); }
.kx-hp-evil__t { font-family: var(--f-sans); font-size: .9rem; line-height: 1.62; color: #cfc8bb; margin: 0 0 16px; }
.kx-hp-evil__ev { margin: auto 0 0; padding-top: 12px; border-top: 1px solid rgba(236,231,221,.14); font-family: var(--f-sans); font-size: .78rem; line-height: 1.5; color: #e8e2d6; }
.kx-hp-evil__proof { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px 28px; align-items: center; margin-top: 34px; padding: 22px 26px; border: 1px solid rgba(184,151,88,.45); border-left: 4px solid #8b1e24; background: rgba(255,255,255,.03); }
@media (max-width: 860px) { .kx-hp-evil__proof { grid-template-columns: 1fr; } }
.kx-hp-evil__num { font-family: var(--f-serif); font-weight: 700; font-size: clamp(2.6rem, 5vw, 3.8rem); line-height: 1; color: #fff; margin: 0; }
.kx-hp-evil__txt { font-family: var(--f-sans); font-size: .92rem; line-height: 1.6; color: #ddd7cb; margin: 0; }
@media (prefers-reduced-motion: reduce) { .kx-hp-evil__card, .kx-hp-evil__card::after { transition: none; } }
.kx-hp-intro__stand { margin: 16px 0 0; font-family: var(--f-sans); font-size: .86rem; line-height: 1.55; color: var(--kx-ink-2); }
.kx-hp-intro__stand b { display: inline-block; margin-right: 10px; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #8b1e24; }

/* ==========================================================================
   v13 (27.10.2026): /evil – Zwei-Gesichter-Regler, Farbbänder E/V/I/L,
   1.000-Punkte-Raster, Konvergenz-Ring, 135-Tage-Kalender (evil.js).
   Farbcode: E Gold #b89758 · V Terrakotta #b0563a · I Schieferblau #3e5c76 · L Bordeaux #8b1e24
   ========================================================================== */
.kx-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kx-ev-hero { position: relative; overflow: hidden; background: var(--kx-ink); color: #ece7dd; padding: clamp(34px, 5vw, 64px) 0 clamp(72px, 8vw, 104px); }
.kx-ev-hero::before { content: "EVIL"; position: absolute; right: -2vw; top: -3vw; font-family: var(--f-serif); font-weight: 700; font-size: clamp(9rem, 24vw, 22rem); line-height: 1; letter-spacing: -.04em; color: rgba(184,151,88,.05); pointer-events: none; }
.kx-ev-hero .kx-wrap { position: relative; }
.kx-ev-hero h1 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.06; letter-spacing: -.015em; color: #fff; margin: 0 0 16px; }
.kx-ev-hero h1 .evil-letter { color: var(--kx-gold); margin-right: .2em; }
.kx-ev-hero h1 span:not(.evil-letter) { display: block; color: #fff; font-weight: 500; font-size: .62em; letter-spacing: 0; margin-top: 6px; }
.kx-ev-lead { font-family: var(--f-serif); font-size: clamp(1.04rem, 1.4vw, 1.18rem); line-height: 1.55; color: #ece7dd; margin: 0 0 22px; max-width: 78ch; }
.kx-ev-lead em { color: var(--kx-gold); font-style: normal; font-family: var(--f-sans); font-size: .8em; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.kx-ev-lead2 { font-family: var(--f-serif); font-size: clamp(.98rem, 1.2vw, 1.06rem); line-height: 1.65; color: #cfc8bb; margin: 22px 0 0; max-width: 84ch; }
.kx-ev-hero .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }

/* Zwei Gesichter */
.kx-ev-faces { --ev-split: 50%; position: relative; height: clamp(300px, 34vw, 380px); border: 1px solid rgba(184,151,88,.5); overflow: hidden; user-select: none; }
.kx-ev-faces__side { position: absolute; inset: 0; padding: clamp(22px, 3vw, 40px); display: flex; flex-direction: column; justify-content: center; }
.kx-ev-faces__side--in { background: linear-gradient(135deg, #0f1116, #1d2029); color: #ece7dd; padding-left: calc(50% + clamp(24px, 3vw, 44px)); }
.kx-ev-faces__side--out { background: linear-gradient(135deg, #fbf7ee, #efe6d4); color: var(--kx-ink); clip-path: inset(0 calc(100% - var(--ev-split)) 0 0); padding-right: calc(50% + clamp(24px, 3vw, 44px)); }
.kx-ev-faces__k { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 14px; }
.kx-ev-faces__side--in .kx-ev-faces__k { color: var(--kx-gold); }
.kx-ev-faces__side--out .kx-ev-faces__k { color: #b0563a; }
.kx-ev-faces__side--out .kx-ref { color: #8a5a2b; border-color: rgba(138,90,43,.4); }
.kx-ev-faces__slogan { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.9rem, 3.6vw, 3.2rem); line-height: 1.05; margin: 0 0 16px; color: var(--kx-ink); }
.kx-ev-faces__slogan span { color: #b0563a; }
.kx-ev-faces__q { font-family: var(--f-serif); font-size: clamp(1.02rem, 1.6vw, 1.32rem); line-height: 1.45; margin: 0 0 16px; padding: 0 0 0 16px; border: 0; border-left: 3px solid var(--kx-gold); background: none; box-shadow: none; color: #fff; font-style: normal; quotes: none; }
.kx-ev-faces__q::before, .kx-ev-faces__q::after { content: none !important; }
.kx-ev-faces__s { font-family: var(--f-sans); font-size: .8rem; line-height: 1.55; margin: 0; opacity: .85; }
.kx-ev-faces__seam { position: absolute; top: 0; bottom: 0; left: var(--ev-split); width: 2px; margin-left: -1px; background: var(--kx-gold); pointer-events: none; }
.kx-ev-faces__seam b { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 44px; height: 44px; border-radius: 50%; background: var(--kx-gold); color: var(--kx-ink); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; box-shadow: 0 6px 18px rgba(0,0,0,.4); }
.kx-ev-faces__ctl { position: absolute; inset: 0; margin: 0; }
.kx-ev-faces__ctl input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y; }
.kx-ev-faces__ctl input:focus-visible + * { outline: none; }
.kx-ev-faces:focus-within .kx-ev-faces__seam b { outline: 3px solid #fff; outline-offset: 3px; }
.kx-ev-faces:not(.is-js) .kx-ev-faces__seam { display: none; }
@media (max-width: 760px) {
  .kx-ev-faces { height: auto; }
  .kx-ev-faces__side, .kx-ev-faces.is-js .kx-ev-faces__side { position: relative; padding: 22px !important; clip-path: none !important; }
  .kx-ev-faces__side--out { order: -1; }
  .kx-ev-faces { display: flex; flex-direction: column; }
  .kx-ev-faces__seam, .kx-ev-faces__ctl { display: none; }
}
.kx-ev-kpis { background: #f7f5f0; }

/* Farbbänder */
.kx-ev-anat { padding-bottom: 12px; }
.kx-ev-band { --ev-c: var(--kx-gold); position: relative; background: #fff; border-top: 1px solid var(--kx-line); padding: clamp(36px, 5vw, 64px) 0; overflow: hidden; }
.kx-ev-band--v { --ev-c: #b0563a; background: #fcfaf6; }
.kx-ev-band--i { --ev-c: #3e5c76; }
.kx-ev-band--l { --ev-c: #8b1e24; background: #fcfaf6; }
.kx-ev-band::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--ev-c); }
.kx-ev-band__grid { display: grid; grid-template-columns: clamp(110px, 13vw, 190px) minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px clamp(24px, 3.5vw, 48px); align-items: start; }
@media (max-width: 1000px) { .kx-ev-band__grid { grid-template-columns: 90px minmax(0, 1fr); } .kx-ev-band__fig { grid-column: 1 / -1; } }
@media (max-width: 560px) { .kx-ev-band__grid { grid-template-columns: 1fr; } }
.kx-ev-band__big { font-family: var(--f-serif); font-weight: 700; font-size: clamp(6rem, 13vw, 11rem); line-height: .8; color: var(--ev-c); }
@media (max-width: 560px) { .kx-ev-band__big { font-size: 5rem; } }
.kx-ev-band__k { font-family: var(--f-sans); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ev-c); margin: 0 0 6px; }
.kx-ev-band__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.4rem, 2.3vw, 1.85rem); line-height: 1.18; color: var(--kx-ink); margin: 0 0 12px; }
.kx-ev-band__what { font-family: var(--f-serif); font-size: 1.06rem; line-height: 1.62; color: var(--kx-ink-2); margin: 0 0 16px; }
.kx-ev-band__ev { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.kx-ev-band__ev li { position: relative; margin: 0; padding: 0 0 0 20px; font-family: var(--f-sans); font-size: .9rem; line-height: 1.62; color: var(--kx-ink-2); }
.kx-ev-band__ev li::before { content: ""; position: absolute; left: 0; top: .62em; width: 9px; height: 9px; background: var(--ev-c); }
.kx-ev-band__fig { align-self: center; color: var(--ev-c); }
.kx-ev-svg { display: block; width: 100%; max-width: 360px; margin: 0 auto; color: var(--ev-c); }
.kx-ev-svg text { fill: var(--kx-ink); }
.kx-ev-trust { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.kx-ev-trust li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; padding: 14px 16px; border: 1px solid var(--kx-line); background: #fff; }
.kx-ev-trust li b { font-family: var(--f-serif); font-size: 1.2rem; color: var(--kx-ink); }
.kx-ev-trust li span { font-family: var(--f-sans); font-size: .78rem; color: var(--kx-muted); text-align: right; }
.kx-ev-trust li:last-child { border-color: var(--ev-c); border-width: 2px; }
.kx-ev-trust li:last-child b { color: var(--ev-c); }
.kx-ev-trust li:last-child span { color: var(--kx-ink); font-weight: 600; }
.kx-ev-chain { list-style: none; counter-reset: ch; margin: 0; padding: 0; display: grid; gap: 0; }
.kx-ev-chain li { counter-increment: ch; position: relative; margin: 0; padding: 10px 0 18px 44px; border-left: 2px solid var(--ev-c); margin-left: 15px; }
.kx-ev-chain li:last-child { border-left-color: transparent; padding-bottom: 0; }
.kx-ev-chain li::before { content: counter(ch); position: absolute; left: -16px; top: 6px; width: 30px; height: 30px; border-radius: 50%; background: var(--ev-c); color: #fff; font-family: var(--f-mono); font-size: .8rem; display: flex; align-items: center; justify-content: center; }
.kx-ev-chain b { display: block; font-family: var(--f-sans); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ev-c); }
.kx-ev-chain span:not(.kx-ref) { display: block; font-family: var(--f-serif); font-size: 1.02rem; color: var(--kx-ink); margin: 2px 0 4px; }
.kx-ev-band--l .kx-camps { margin: 0; }

/* Studie */
.kx-ev-study { background: #f7f5f0; }
.kx-ev-study__intro { margin-bottom: 30px; }
.kx-ev-bf__win { border: 1px solid var(--kx-line); background: #fff; box-shadow: 0 14px 34px -24px rgba(22,25,32,.5); }
.kx-ev-bf__bar { display: flex; gap: 6px; padding: 8px 10px; background: #ece8df; border-bottom: 1px solid var(--kx-line); }
.kx-ev-bf__bar i { width: 9px; height: 9px; border-radius: 50%; background: #c9c3b6; }
.kx-ev-bf__body { position: relative; padding: 30px 22px 34px; background: linear-gradient(135deg, #fbf7ee, #efe6d4); min-height: 180px; display: flex; flex-direction: column; justify-content: center; }
.kx-ev-bf__body b { display: block; font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.15; color: var(--kx-ink); }
.kx-ev-bf__body b + b { color: #b0563a; }
.kx-ev-bf__lines { display: grid; gap: 7px; margin-top: 16px; max-width: 70%; }
.kx-ev-bf__lines i { display: block; height: 7px; background: rgba(22,25,32,.1); }
.kx-ev-bf__lines i:nth-child(2) { width: 85%; } .kx-ev-bf__lines i:nth-child(3) { width: 60%; }
.kx-ev-bf__foot { padding: 6px 12px; font-family: var(--f-sans); font-size: .56rem; line-height: 1.4; color: #8a8d93; background: #f4f2ed; border-top: 1px solid var(--kx-line); }
.kx-ev-bf__tag { position: absolute; right: 10px; top: 8px; font-family: var(--f-mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: #b0563a; }
.kx-ev-bf__foot .kx-ev-bf__tag { position: static; margin-right: 8px; color: #8b1e24; }

.kx-ev-waffle { background: #fff; border: 1px solid var(--kx-line); padding: clamp(18px, 3vw, 32px); margin: 0; }
.kx-ev-waffle__btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 20px; }
.kx-ev-waffle__btn { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--kx-line); background: #f7f5f0; font-family: var(--f-sans); font-size: .86rem; color: var(--kx-ink); cursor: pointer; }
.kx-ev-waffle__btn b { font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: var(--kx-muted); }
.kx-ev-waffle__btn.is-on { background: var(--kx-ink); border-color: var(--kx-ink); color: #fff; }
.kx-ev-waffle__btn.is-on b { color: var(--kx-gold); }
.kx-ev-waffle__btn:focus-visible { outline: 3px solid var(--kx-gold); outline-offset: 2px; }
.kx-ev-waffle:not(.is-js) .kx-ev-waffle__btns, .kx-ev-waffle:not(.is-js) .kx-ev-waffle__body { display: none; }
.kx-ev-waffle__body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px 32px; align-items: center; margin-bottom: 18px; }
@media (max-width: 860px) { .kx-ev-waffle__body { grid-template-columns: 1fr; } }
.kx-ev-waffle__grid { display: grid; grid-template-columns: repeat(40, 1fr); gap: 2px; }
.kx-ev-waffle__grid i { display: block; aspect-ratio: 1; border-radius: 50%; background: #d8d3c8; transition: background .5s; }
@media (max-width: 560px) { .kx-ev-waffle__grid { grid-template-columns: repeat(25, 1fr); } }
.kx-ev-waffle__grid i.is-v, .kx-ev-waffle__legend .is-v::before { background: #8b1e24; }
.kx-ev-waffle__grid i.is-k, .kx-ev-waffle__legend .is-k::before { background: #b89758; }
.kx-ev-waffle__grid i.is-n, .kx-ev-waffle__legend .is-n::before { background: #e6dcc2; }
.kx-ev-waffle__grid i.is-u, .kx-ev-waffle__legend .is-u::before { background: #cfd2d6; }
.kx-ev-waffle__read { font-family: var(--f-serif); font-size: 1.12rem; line-height: 1.55; color: var(--kx-ink); margin: 0 0 16px; min-height: 5.2em; }
.kx-ev-waffle__read b { color: #8b1e24; }
.kx-ev-waffle__legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.kx-ev-waffle__legend li { position: relative; margin: 0; padding-left: 20px; font-family: var(--f-sans); font-size: .8rem; line-height: 1.45; color: var(--kx-ink-2); }
.kx-ev-waffle__legend li::before { content: ""; position: absolute; left: 0; top: .3em; width: 11px; height: 11px; border-radius: 50%; }
.kx-ev-wtab th[scope="row"] { font-family: var(--f-sans); font-size: .82rem; font-weight: 600; text-align: left; }
@media (prefers-reduced-motion: reduce) { .kx-ev-waffle__grid i { transition: none; } }

/* Konvergenz-Ring */
.kx-ev-conv__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.7rem, 3vw, 2.5rem); color: #fff; margin: 0 0 12px; }
.kx-ev-conv__lede { font-family: var(--f-serif); font-size: 1.05rem; line-height: 1.62; color: #cfc8bb; max-width: 74ch; margin: 0 0 30px; }
.kx-ev-ring { position: relative; width: min(100%, 520px); aspect-ratio: 1; margin: 0 auto 30px; }
.kx-ev-ring__lines { position: absolute; inset: 0; width: 100%; height: 100%; color: rgba(184,151,88,.55); }
.kx-ev-ring__hub { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 36%; aspect-ratio: 1; border-radius: 50%; background: #8b1e24; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 14px; font-family: var(--f-serif); font-size: clamp(.78rem, 1.4vw, .98rem); line-height: 1.3; box-shadow: 0 0 0 8px rgba(139,30,36,.25); }
.kx-ev-ring__hub b { font-family: var(--f-sans); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #f1d9a8; margin-bottom: 6px; }
.kx-ev-ring__nodes { list-style: none; margin: 0; padding: 0; }
.kx-ev-ring__n { position: absolute; width: 26%; transform: translate(-50%, -50%); background: #1b1e26; border: 1px solid rgba(184,151,88,.6); padding: 8px 6px; text-align: center; margin: 0; }
.kx-ev-ring__n b { display: block; font-family: var(--f-mono); font-size: .82rem; color: var(--kx-gold); }
.kx-ev-ring__n span { display: block; font-family: var(--f-sans); font-size: clamp(.6rem, 1.1vw, .74rem); line-height: 1.3; color: #ece7dd; }
.kx-ev-ring__n--0 { left: 50%; top: 12.5%; border-color: #8b1e24; } .kx-ev-ring__n--1 { left: 82.5%; top: 31.25%; } .kx-ev-ring__n--2 { left: 82.5%; top: 68.75%; }
.kx-ev-ring__n--3 { left: 50%; top: 87.5%; } .kx-ev-ring__n--4 { left: 17.5%; top: 68.75%; } .kx-ev-ring__n--5 { left: 17.5%; top: 31.25%; }
.kx-ev-exps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(184,151,88,.25); border: 1px solid rgba(184,151,88,.25); }
@media (max-width: 900px) { .kx-ev-exps { grid-template-columns: 1fr 1fr; } } @media (max-width: 560px) { .kx-ev-exps { grid-template-columns: 1fr; } }
.kx-ev-exp { background: #1b1e26; padding: 16px 18px; }
.kx-ev-exp__k { font-family: var(--f-sans); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 4px; }
.kx-ev-exp__w { font-family: var(--f-sans); font-size: .76rem; color: #a9a294; margin: 0 0 8px; }
.kx-ev-exp__t { font-family: var(--f-serif); font-size: .96rem; line-height: 1.5; color: #ece7dd; margin: 0; }

/* Gegenüberstellung */
.kx-ev-vgl th[scope="row"] { font-family: var(--f-sans); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8b1e24; vertical-align: top; width: 14%; }
.kx-ev-vgl td { vertical-align: top; font-size: .92rem; line-height: 1.55; width: 43%; }
.kx-ev-vgl td:nth-child(2) { background: #fbf7ee; }
.kx-ev-vgl td:nth-child(3) { background: #1d2029; color: #ece7dd; }
.kx-ev-vgl td:nth-child(3) .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-ev-vgl thead .kx-ev-vgl__out { color: #b0563a; } .kx-ev-vgl thead .kx-ev-vgl__in { color: var(--kx-gold); }

/* Kalender */
.kx-ev-cal { background: #fff; border: 1px solid var(--kx-line); padding: 20px 20px 18px; margin: 0; }
.kx-ev-cal__rows { list-style: none; margin: 12px 0 14px; padding: 0; display: grid; gap: 6px; }
.kx-ev-cal__rows li { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 8px; margin: 0; }
.kx-ev-cal__m { font-family: var(--f-sans); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--kx-muted); }
.kx-ev-cal__ds { display: grid; grid-template-columns: repeat(31, minmax(0, 1fr)); gap: 2px; }
.kx-ev-cal__d { display: block; aspect-ratio: 1; background: #b89758; }
.kx-ev-cal.is-js .kx-ev-cal__d { background: #e9e4da; transition: background .25s; }
.kx-ev-cal.is-js .kx-ev-cal__d.is-on, .kx-ev-cal.is-full .kx-ev-cal__d { background: #b89758; }
.kx-ev-cal .kx-ev-cal__d--f, .kx-ev-cal.is-js .kx-ev-cal__d--f.is-on { background: #3e5c76; }
.kx-ev-cal .kx-ev-cal__d--a, .kx-ev-cal.is-js .kx-ev-cal__d--a.is-on { background: #b0563a; }
.kx-ev-cal .kx-ev-cal__d--e, .kx-ev-cal.is-js .kx-ev-cal__d--e.is-on { background: #8b1e24; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #8b1e24; }
.kx-ev-cal__legend { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 4px; }
.kx-ev-cal__legend li { position: relative; margin: 0; padding-left: 18px; font-family: var(--f-sans); font-size: .76rem; line-height: 1.45; color: var(--kx-ink-2); }
.kx-ev-cal__legend li::before { content: ""; position: absolute; left: 0; top: .3em; width: 10px; height: 10px; }
.kx-ev-cal__l--f::before { background: #3e5c76; } .kx-ev-cal__l--a::before { background: #b0563a; } .kx-ev-cal__l--e::before { background: #8b1e24; }
.kx-ev-cal__q { margin: 0; padding: 14px 16px; background: var(--kx-ink); color: #fff; font-family: var(--f-serif); font-size: 1.08rem; line-height: 1.45; }
.kx-ev-cal__q p { margin: 0 0 4px; } .kx-ev-cal__q cite { font-family: var(--f-mono); font-size: .7rem; font-style: normal; color: var(--kx-gold); }
@media (prefers-reduced-motion: reduce) { .kx-ev-cal.is-js .kx-ev-cal__d { transition: none; } }
.kx-ev-note { margin: 24px 0 0; padding: 16px 18px; border-left: 3px solid #8b1e24; background: #fff; font-family: var(--f-sans); font-size: .9rem; line-height: 1.6; color: var(--kx-ink-2); }
.kx-ev-next { grid-template-columns: 1fr !important; margin-top: 10px; }
@media (max-width: 760px) { .kx-ev-lead em { display: none; } }
@media (max-width: 560px) { .kx-ev-ring__n { width: 27%; padding: 5px 3px; } .kx-ev-ring__n span { font-size: .58rem; } .kx-ev-ring__hub { width: 30%; font-size: .62rem; padding: 6px; } .kx-ev-ring__hub b { font-size: .52rem; margin-bottom: 2px; } }

/* v13b (27.10.2026): Ampel „Drei Lager“ – Makler/Berater grün beim Kunden, Vertreter rot beim Versicherer, Gelb = Anschein */
.kx-ev-amp { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 28px clamp(24px, 4vw, 56px); align-items: center; }
@media (max-width: 640px) { .kx-ev-amp { grid-template-columns: 1fr; } }
.kx-ev-amp__pole { display: flex; flex-direction: column; gap: 16px; align-items: center; padding: 22px 0; width: 120px; margin: 0 auto; background: #0e1014; border: 3px solid #2a2e37; border-radius: 26px; box-shadow: inset 0 0 0 6px #15181e; }
@media (max-width: 640px) { .kx-ev-amp__pole { flex-direction: row; width: auto; padding: 14px 22px; } }
.kx-ev-amp__lamp { width: 74px; height: 74px; border-radius: 50%; border: 0; cursor: pointer; opacity: .28; transition: opacity .25s, box-shadow .25s; }
@media (max-width: 640px) { .kx-ev-amp__lamp { width: 58px; height: 58px; } }
.kx-ev-amp__lamp--r { background: radial-gradient(circle at 35% 35%, #ff8a7a, #c0261c 60%, #6e100b); }
.kx-ev-amp__lamp--y { background: radial-gradient(circle at 35% 35%, #ffe9a0, #e3a71b 60%, #7d5a06); }
.kx-ev-amp__lamp--g { background: radial-gradient(circle at 35% 35%, #b6f5b0, #2f9e44 60%, #134d1f); }
.kx-ev-amp__lamp.is-on, .kx-ev-amp:not(.is-js) .kx-ev-amp__lamp { opacity: 1; }
.kx-ev-amp__lamp--r.is-on { box-shadow: 0 0 28px 6px rgba(192,38,28,.6); }
.kx-ev-amp__lamp--y.is-on { box-shadow: 0 0 28px 6px rgba(227,167,27,.6); }
.kx-ev-amp__lamp--g.is-on { box-shadow: 0 0 28px 6px rgba(47,158,68,.6); }
.kx-ev-amp__lamp:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.kx-ev-amp__panels { display: grid; gap: 14px; }
.kx-ev-amp__p { background: rgba(255,255,255,.04); border: 1px solid rgba(236,231,221,.16); border-left: 5px solid #c0261c; padding: 22px 24px; }
.kx-ev-amp__p--y { border-left-color: #e3a71b; } .kx-ev-amp__p--g { border-left-color: #2f9e44; }
.kx-ev-amp__k { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 6px; }
.kx-ev-amp__p h3 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.3rem, 2.2vw, 1.7rem); color: #fff; margin: 0 0 10px; }
.kx-ev-amp__p p:last-child { font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.62; color: #ddd7cb; margin: 0; }
.kx-ev-amp__p a { color: var(--kx-gold); }
.kx-ev-amp__p .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
@media (prefers-reduced-motion: reduce) { .kx-ev-amp__lamp { transition: none; } }

/* ==========================================================================
   v14 (27.10.2026): /mfk – Hero mit Bewegtbild, Maßstabs-Zoom, Manifest 2×2,
   Hürdenlauf, Prüffeld-Brücke, Weiche Einzelverfahren/VDuG, Aufruf an Verbände.
   ========================================================================== */
.kx-mfk-hero { position: relative; overflow: hidden; background: var(--kx-ink); color: #ece7dd; min-height: min(calc(100vh - 76px), 820px); display: flex; align-items: center; padding: clamp(40px, 6vw, 80px) 0 clamp(70px, 8vw, 104px); }
.kx-mfk-hero__media { position: absolute; inset: 0; z-index: 0; }
.kx-mfk-hero__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; filter: saturate(.85) contrast(1.05); }
.kx-mfk-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(22,25,32,.96) 0%, rgba(22,25,32,.88) 42%, rgba(22,25,32,.45) 75%, rgba(22,25,32,.25) 100%), linear-gradient(0deg, rgba(22,25,32,.85) 0%, rgba(22,25,32,0) 35%); }
.kx-mfk-hero__in { position: relative; z-index: 1; }
.kx-mfk-hero h1 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(2.2rem, 4.4vw, 3.8rem); line-height: 1.04; letter-spacing: -.02em; color: #fff; margin: 0 0 20px; max-width: 15ch; }
.kx-mfk-hero h1 span { display: block; color: var(--kx-gold); }
.kx-mfk-lead { font-family: var(--f-serif); font-size: clamp(1.06rem, 1.45vw, 1.2rem); line-height: 1.55; color: #fff; margin: 0 0 14px; max-width: 62ch; }
.kx-mfk-lead2 { font-family: var(--f-serif); font-size: clamp(.96rem, 1.2vw, 1.04rem); line-height: 1.62; color: #cfc8bb; margin: 0 0 24px; max-width: 70ch; }
.kx-mfk-lead2 strong { color: #fff; }
.kx-mfk-hero .kx-ref, .kx-mfk-hero a:not(.kx-button) { color: var(--kx-gold); }
.kx-mfk-hero .kx-ref { background: transparent; border-color: rgba(184,151,88,.5); }
@media (max-width: 760px) { .kx-mfk-hero { min-height: 0; } .kx-mfk-hero::after { background: linear-gradient(180deg, rgba(22,25,32,.82), rgba(22,25,32,.95)); } }
@media (prefers-reduced-motion: reduce) { .kx-mfk-hero__media video { display: none; } }
.kx-mfk-kpis { background: #f7f5f0; }

/* Manifest */
.kx-mfk-man__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 30px; border: 1px solid var(--kx-line); }
@media (max-width: 760px) { .kx-mfk-man__grid { grid-template-columns: 1fr; } }
.kx-mfk-man__c { position: relative; padding: clamp(24px, 3.4vw, 44px); background: #fff; overflow: hidden; }
.kx-mfk-man__c--1, .kx-mfk-man__c--2 { background: var(--kx-ink); color: #ece7dd; }
@media (max-width: 760px) { .kx-mfk-man__c--2 { background: #fff; color: inherit; } .kx-mfk-man__c--3 { background: var(--kx-ink); color: #ece7dd; } }
.kx-mfk-man__n { display: block; font-family: var(--f-serif); font-weight: 700; font-size: clamp(3.4rem, 6vw, 5.4rem); line-height: .9; color: #8b1e24; margin-bottom: 14px; }
.kx-mfk-man__c--1 .kx-mfk-man__n, .kx-mfk-man__c--2 .kx-mfk-man__n { color: var(--kx-gold); }
@media (max-width: 760px) { .kx-mfk-man__c--2 .kx-mfk-man__n { color: #8b1e24; } .kx-mfk-man__c--3 .kx-mfk-man__n { color: var(--kx-gold); } }
.kx-mfk-man__c h3 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.2; margin: 0 0 12px; color: inherit; }
.kx-mfk-man__c p { font-family: var(--f-serif); font-size: 1.02rem; line-height: 1.62; margin: 0; color: inherit; opacity: .9; }
.kx-mfk-man__c--3 { border-top: 4px solid #8b1e24; }

/* Maßstabs-Zoom */
.kx-mfk-scale-sec { background: #fff; }
.kx-mfk-scale { margin: 0; }
.kx-mfk-scale__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.6rem, 2.8vw, 2.3rem); color: var(--kx-ink); margin: 0 0 6px; }
.kx-mfk-scale figcaption p { font-family: var(--f-sans); font-size: .88rem; color: var(--kx-muted); margin: 0; }
.kx-mfk-scale__btns { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 20px; }
.kx-mfk-scale__btn { min-height: 44px; padding: 10px 18px; border: 1px solid var(--kx-line); background: #f7f5f0; font-family: var(--f-serif); font-size: 1.05rem; color: var(--kx-ink); cursor: pointer; }
.kx-mfk-scale__btn.is-on { background: #8b1e24; border-color: #8b1e24; color: #fff; }
.kx-mfk-scale__btn:focus-visible { outline: 3px solid var(--kx-gold); outline-offset: 2px; }
.kx-mfk-scale__body { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px 36px; align-items: center; }
@media (max-width: 860px) { .kx-mfk-scale__body { grid-template-columns: 1fr; } }
.kx-mfk-scale__field { display: grid; grid-template-columns: repeat(40, 1fr); gap: 3px; min-height: 120px; align-content: start; }
@media (max-width: 560px) { .kx-mfk-scale__field { grid-template-columns: repeat(25, 1fr); } }
.kx-mfk-scale__field i { display: none; aspect-ratio: 1; border-radius: 50%; background: #b89758; animation: kxPop .4s ease-out both; }
@keyframes kxPop { from { transform: scale(0); } to { transform: scale(1); } }
.kx-mfk-scale__field i.is-on { display: block; }
.kx-mfk-scale__field i.is-one { background: #8b1e24; }
.kx-mfk-scale__field i:nth-child(n+2) { animation-delay: calc(var(--d, 0) * 1ms); }
.kx-mfk-scale__field[data-step="s1"] { grid-template-columns: 120px; justify-content: center; padding: 30px 0; }
.kx-mfk-scale__field[data-step="s1"] i.is-one { box-shadow: 0 0 0 14px rgba(139,30,36,.15), 0 0 0 30px rgba(139,30,36,.07); }
.kx-mfk-scale__field[data-step="s2"] { grid-template-columns: repeat(10, 1fr); gap: 6px; max-width: 420px; }
@media (prefers-reduced-motion: reduce) { .kx-mfk-scale__field i { animation: none; } }
.kx-mfk-scale__read { font-family: var(--f-serif); font-size: 1.16rem; line-height: 1.55; color: var(--kx-ink); margin: 0; }
.kx-mfk-scale__read b { color: #8b1e24; }
.kx-mfk-scale.is-js .kx-mfk-scale__static { display: none; }
.kx-mfk-scale:not(.is-js) .kx-mfk-scale__btns, .kx-mfk-scale:not(.is-js) .kx-mfk-scale__body { display: none; }
.kx-mfk-scale__static { margin: 0; padding-left: 20px; font-family: var(--f-serif); line-height: 1.6; }

/* Hürdenlauf */
.kx-mfk-why__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.15; color: #fff; margin: 0 0 14px; max-width: 26ch; }
.kx-mfk-why__lede { font-family: var(--f-serif); font-size: 1.05rem; line-height: 1.62; color: #cfc8bb; max-width: 76ch; margin: 0 0 34px; }
.kx-mfk-why .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-mfk-hurdles { list-style: none; margin: 0; padding: 0 0 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; position: relative; }
.kx-mfk-hurdles::before { content: ""; position: absolute; left: 0; right: 0; top: 64px; height: 2px; background: repeating-linear-gradient(90deg, rgba(236,231,221,.35) 0 10px, transparent 10px 18px); }
@media (max-width: 1000px) { .kx-mfk-hurdles { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; } .kx-mfk-hurdles::before { display: none; } }
@media (max-width: 560px) { .kx-mfk-hurdles { grid-template-columns: 1fr 1fr; } }
.kx-mfk-hurdle { position: relative; margin: 0; padding-top: 80px; }
.kx-mfk-hurdle__bar { position: absolute; left: 12px; top: 6px; width: 64px; height: 58px; border-top: 6px solid var(--kx-gold); border-left: 4px solid #ece7dd; border-right: 4px solid #ece7dd; }
.kx-mfk-hurdle:nth-child(n+3) .kx-mfk-hurdle__bar { border-top-color: #8b1e24; }
.kx-mfk-hurdle b { display: block; font-family: var(--f-sans); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold); margin-bottom: 6px; }
.kx-mfk-hurdle span:not(.kx-ref):not(.kx-mfk-hurdle__bar) { display: block; font-family: var(--f-serif); font-size: .98rem; line-height: 1.45; color: #fff; margin-bottom: 6px; }
.kx-mfk-why__out { margin: 36px 0 0; padding: 18px 22px; border-left: 4px solid #8b1e24; background: rgba(255,255,255,.04); font-family: var(--f-serif); font-size: 1.06rem; line-height: 1.6; color: #ece7dd; }
.kx-mfk-why__out b { color: var(--kx-gold); }

/* Prüffeld-Brücke */
.kx-mfk-lanes__head { display: grid; grid-template-columns: 56px minmax(0, 1.3fr) minmax(150px, .55fr) minmax(0, 1fr); gap: 0 20px; margin: 28px 0 8px; font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--kx-muted); }
.kx-mfk-lanes__head span:first-child { grid-column: 2; }
@media (max-width: 900px) { .kx-mfk-lanes__head { display: none; } }
.kx-mfk-lanes { display: grid; gap: 12px; }
.kx-mfk-lane { display: grid; grid-template-columns: 56px minmax(0, 1.3fr) minmax(150px, .55fr) minmax(0, 1fr); gap: 0 20px; align-items: stretch; background: #fff; border: 1px solid var(--kx-line); }
@media (max-width: 900px) { .kx-mfk-lane { grid-template-columns: 48px minmax(0, 1fr); } .kx-mfk-lane__norm, .kx-mfk-lane__ziel { grid-column: 2; } }
.kx-mfk-lane__nr { display: flex; align-items: center; justify-content: center; background: var(--kx-ink); color: var(--kx-gold); font-family: var(--f-serif); font-weight: 700; font-size: 1.8rem; grid-row: span 3; }
@media (min-width: 901px) { .kx-mfk-lane__nr { grid-row: auto; } }
.kx-mfk-lane__beleg, .kx-mfk-lane__ziel { padding: 16px 0; }
.kx-mfk-lane__ziel { padding-right: 18px; position: relative; }
@media (min-width: 901px) { .kx-mfk-lane__ziel { padding-left: 22px; } .kx-mfk-lane__ziel::before { content: "→"; position: absolute; left: -14px; top: 50%; transform: translateY(-50%); color: var(--kx-gold); font-size: 1.4rem; } }
.kx-mfk-lane__k { font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #8b1e24; margin: 0 0 4px; }
.kx-mfk-lane__ziel .kx-mfk-lane__k { color: #8a6d35; }
.kx-mfk-lane__h { font-family: var(--f-serif); font-weight: 600; font-size: 1.14rem; line-height: 1.25; color: var(--kx-ink); margin: 0 0 6px; }
.kx-mfk-lane p { font-family: var(--f-sans); font-size: .86rem; line-height: 1.58; color: var(--kx-ink-2); margin: 0; }
.kx-mfk-lane__ziel > p:not(.kx-mfk-lane__k) { font-family: var(--f-serif); font-size: .98rem; color: var(--kx-ink); }
.kx-mfk-lane__norm { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 14px 0; }
@media (max-width: 900px) { .kx-mfk-lane__norm { flex-direction: row; flex-wrap: wrap; padding: 0 0 6px; } }
.kx-mfk-norm { display: inline-block; align-self: flex-start; padding: 4px 8px; background: #f7f5f0; border: 1px solid #e3dccd; border-left: 3px solid var(--kx-gold); font-family: var(--f-mono); font-size: .7rem; color: var(--kx-ink); white-space: nowrap; }
.kx-mfk-lane__bekl { margin-top: 10px; }
.kx-mfk-lane__bekl summary { cursor: pointer; font-family: var(--f-sans); font-size: .76rem; color: var(--kx-muted); }
.kx-mfk-lane__bekl p { margin-top: 6px; padding: 8px 10px; background: #f4f2ed; }

/* Weiche */
.kx-mfk-switch { background: #fff; }
.kx-mfk-switch__grid { display: grid; grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr); gap: 0; margin-top: 26px; align-items: stretch; }
@media (max-width: 900px) { .kx-mfk-switch__grid { grid-template-columns: 1fr; } }
.kx-mfk-switch__col { padding: clamp(20px, 3vw, 34px); }
.kx-mfk-switch__col--a { background: var(--kx-ink); color: #ece7dd; }
.kx-mfk-switch__col--a .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-mfk-switch__col--b { background: #f7f5f0; border: 1px solid var(--kx-line); }
.kx-mfk-switch__k { font-family: var(--f-sans); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 14px; }
.kx-mfk-switch__col--b .kx-mfk-switch__k { color: #8b1e24; }
.kx-mfk-switch__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.kx-mfk-switch__col li { margin: 0; font-family: var(--f-serif); font-size: 1rem; line-height: 1.58; }
.kx-mfk-switch__col li b { display: block; font-family: var(--f-sans); font-size: .8rem; letter-spacing: .04em; margin-bottom: 2px; }
.kx-mfk-switch__col--a li b { color: #fff; }
.kx-mfk-switch__mid { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 10px; font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--kx-ink-2); text-align: center; }
.kx-mfk-switch__mid b { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #8b1e24; color: #fff; font-size: 1.8rem; line-height: 1; box-shadow: 0 0 0 8px rgba(139,30,36,.12); }
@media (max-width: 900px) { .kx-mfk-switch__mid { flex-direction: row; background: none; padding: 14px; } .kx-mfk-switch__mid b { transform: rotate(90deg); } }

/* EU */
.kx-mfk-eu__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
@media (max-width: 900px) { .kx-mfk-eu__grid { grid-template-columns: 1fr; } }
.kx-mfk-eu__c { background: #fff; border: 1px solid var(--kx-line); padding: 22px; position: relative; }
.kx-mfk-eu__b { display: inline-block; padding: 6px 12px; background: #1d3a6e; color: #ffd84a; font-family: var(--f-sans); font-weight: 700; font-size: .78rem; letter-spacing: .1em; margin-bottom: 14px; }
.kx-mfk-eu__c h3 { font-family: var(--f-serif); font-weight: 600; font-size: 1.18rem; line-height: 1.25; color: var(--kx-ink); margin: 0 0 8px; }
.kx-mfk-eu__c p { font-family: var(--f-sans); font-size: .88rem; line-height: 1.6; color: var(--kx-ink-2); margin: 0; }

/* Aufruf */
.kx-mfk-cta { background: linear-gradient(135deg, #161920 0%, #1f1418 100%); color: #ece7dd; border-top: 4px solid #8b1e24; }
.kx-mfk-cta__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 28px clamp(28px, 4vw, 56px); align-items: start; }
@media (max-width: 900px) { .kx-mfk-cta__grid { grid-template-columns: 1fr; } }
.kx-mfk-cta__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; color: #fff; margin: 0 0 14px; }
.kx-mfk-cta p { font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.6; color: #ddd7cb; }
.kx-mfk-cta .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-mfk-cta__list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.kx-mfk-cta__list li { margin: 0; padding: 12px 14px 12px 18px; border-left: 3px solid var(--kx-gold); background: rgba(255,255,255,.04); font-family: var(--f-sans); font-size: .9rem; line-height: 1.55; color: #ddd7cb; }
.kx-mfk-cta__list b { color: #fff; }
.kx-mfk-cta__box { background: rgba(22,25,32,.7); border: 1px solid rgba(184,151,88,.5); border-top: 3px solid var(--kx-gold); padding: 22px; }
.kx-mfk-cta__box .kx-button { width: 100%; justify-content: center; margin: 6px 0 10px; }
.kx-mfk-cta__small { font-family: var(--f-sans) !important; font-size: .8rem !important; color: #bfb8aa !important; margin: 0; }
.kx-mfk-cta__date { font-family: var(--f-serif); font-size: 1.2rem !important; color: #fff !important; margin: 4px 0 0; }
.kx-mfk-cta__date small { font-family: var(--f-sans); font-size: .78rem; color: #bfb8aa; }

/* ==========================================================================
   v15 (27.10.2026): /aufsicht – Hero Justitia/EU, „Wer kontrolliert wen?“ (auf.js),
   sechs Forderungskarten, Verantwortungs-Pingpong, Stilllegungsband, Adressaten 2×2.
   ========================================================================== */
.kx-auf-hero { position: relative; overflow: hidden; background: #0f1a33; color: #ece7dd; min-height: min(calc(100vh - 76px), 800px); display: flex; align-items: center; padding: clamp(40px, 6vw, 80px) 0 clamp(70px, 8vw, 104px); }
.kx-auf-hero__media { position: absolute; inset: 0; z-index: 0; }
.kx-auf-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 100% 40%; }
.kx-auf-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(22,25,32,.96) 0%, rgba(22,25,32,.9) 40%, rgba(22,25,32,.4) 70%, rgba(22,25,32,.1) 100%), linear-gradient(0deg, rgba(22,25,32,.8) 0%, rgba(22,25,32,0) 30%); }
.kx-auf-hero__in { position: relative; z-index: 1; }
.kx-auf-hero h1 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(2.1rem, 4vw, 3.5rem); line-height: 1.05; letter-spacing: -.02em; color: #fff; margin: 0 0 20px; max-width: 17ch; }
.kx-auf-hero h1 span { color: var(--kx-gold); }
.kx-auf-lead { font-family: var(--f-serif); font-size: clamp(1.04rem, 1.45vw, 1.2rem); line-height: 1.58; color: #fff; margin: 0 0 14px; max-width: 62ch; }
.kx-auf-lead em { color: var(--kx-gold); }
.kx-auf-lead2 { font-family: var(--f-serif); font-size: clamp(.96rem, 1.2vw, 1.04rem); line-height: 1.62; color: #cfc8bb; margin: 0 0 24px; max-width: 66ch; }
.kx-auf-lead2 strong { color: #fff; }
.kx-auf-hero .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
@media (max-width: 760px) { .kx-auf-hero { min-height: 0; } .kx-auf-hero::after { background: linear-gradient(180deg, rgba(22,25,32,.82), rgba(22,25,32,.95)); } }

/* Dreieck */
.kx-auf-tri { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px clamp(28px, 4vw, 56px); align-items: center; }
@media (max-width: 900px) { .kx-auf-tri { grid-template-columns: 1fr; } }
.kx-auf-tri__map { position: relative; width: min(100%, 460px); aspect-ratio: 400 / 360; margin: 0 auto; }
.kx-auf-tri__lines { position: absolute; inset: 0; width: 100%; height: 100%; color: rgba(184,151,88,.75); }
.kx-auf-tri__lines text { fill: #cfc8bb; }
.kx-auf-tri__n { position: absolute; transform: translate(-50%, -50%); min-width: 116px; min-height: 52px; padding: 8px 12px; border: 1px solid rgba(184,151,88,.6); background: #1b1e26; color: #ece7dd; cursor: pointer; text-align: center; transition: background .2s, box-shadow .2s; }
.kx-auf-tri__n b { display: block; font-family: var(--f-serif); font-size: 1.1rem; color: #fff; }
.kx-auf-tri__n small { display: block; font-family: var(--f-sans); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--kx-gold); }
.kx-auf-tri__n.is-on { background: #8b1e24; border-color: #8b1e24; box-shadow: 0 0 0 6px rgba(139,30,36,.25); }
.kx-auf-tri__n:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.kx-auf-tri__n--top { left: 50%; top: 12%; } .kx-auf-tri__n--left { left: 18%; top: 50%; } .kx-auf-tri__n--right { left: 82%; top: 50%; } .kx-auf-tri__n--bottom { left: 50%; top: 88%; }
.kx-auf-tri__p { background: rgba(255,255,255,.04); border: 1px solid rgba(236,231,221,.16); border-left: 5px solid #8b1e24; padding: 22px 24px; }
.kx-auf-tri:not(.is-js) .kx-auf-tri__panels { display: grid; gap: 12px; }
.kx-auf-tri__k { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold); margin: 0 0 6px; }
.kx-auf-tri__p h3 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.4rem, 2.4vw, 1.8rem); color: #fff; margin: 0 0 10px; }
.kx-auf-tri__p p:last-child { font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.62; color: #ddd7cb; margin: 0; }
.kx-auf-tri__p a { color: var(--kx-gold); }
.kx-auf-tri__p .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }

/* Forderungskarten */
.kx-auf-fs { display: grid; gap: 22px; margin-top: 28px; }
.kx-auf-f { display: grid; grid-template-columns: 120px minmax(0, 1fr); background: #fff; border: 1px solid var(--kx-line); scroll-margin-top: 110px; }
@media (max-width: 700px) { .kx-auf-f { grid-template-columns: 1fr; } }
.kx-auf-f__num { background: var(--kx-ink); color: var(--kx-gold); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 22px 10px; }
.kx-auf-f:nth-child(even) .kx-auf-f__num { background: #8b1e24; color: #f1d9a8; }
@media (max-width: 700px) { .kx-auf-f__num { flex-direction: row; gap: 12px; justify-content: flex-start; padding: 12px 18px; } }
.kx-auf-f__num span { font-family: var(--f-sans); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.kx-auf-f .kx-auf-f__num b { font-family: var(--f-serif); font-weight: 700; font-size: clamp(2.6rem, 5vw, 3.6rem); line-height: 1; color: var(--kx-gold); }
.kx-auf-f:nth-child(even) .kx-auf-f__num b { color: #f1d9a8; }
.kx-auf-f__body { padding: clamp(20px, 3vw, 32px); }
.kx-auf-f__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.35rem, 2.3vw, 1.8rem); line-height: 1.2; color: var(--kx-ink); margin: 0 0 12px; }
.kx-auf-f__t { font-family: var(--f-serif); font-size: 1.04rem; line-height: 1.64; color: var(--kx-ink-2); margin: 0 0 18px; }
.kx-auf-f__ask { background: #f7f5f0; border-left: 4px solid var(--kx-gold); padding: 14px 18px; margin: 0 0 12px; }
.kx-auf-f__k { font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8b1e24; margin: 0 0 8px; }
.kx-auf-f__ask ul { margin: 0; padding-left: 18px; display: grid; gap: 8px; }
.kx-auf-f__ask li { font-family: var(--f-sans); font-size: .92rem; line-height: 1.58; color: var(--kx-ink); margin: 0; }
.kx-auf-f__norms summary { cursor: pointer; font-family: var(--f-sans); font-size: .8rem; color: var(--kx-muted); }
.kx-auf-f__norms p { font-family: var(--f-sans); font-size: .86rem; line-height: 1.6; margin: 8px 0 0; }

/* Pingpong */
.kx-auf-pp { margin: 6px 0 18px; padding: 20px; background: var(--kx-ink); color: #ece7dd; }
.kx-auf-pp .kx-bilder__h { color: #fff; } .kx-auf-pp figcaption p { color: #bfb8aa; }
.kx-auf-pp__court { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, .7fr) minmax(0, 1fr); gap: 16px; align-items: center; margin-top: 14px; }
@media (max-width: 760px) { .kx-auf-pp__court { grid-template-columns: 1fr; } .kx-auf-pp__table { height: 70px; } }
.kx-auf-pp__side { margin: 0; padding: 14px 16px; background: rgba(255,255,255,.05); border-top: 3px solid var(--kx-gold); font-family: var(--f-serif); font-size: 1.02rem; line-height: 1.5; color: #fff; quotes: none; }
.kx-auf-pp__side--r { border-top-color: #8b1e24; }
.kx-auf-pp__side::before, .kx-auf-pp__side::after { content: none !important; }
.kx-auf-pp__side p { margin: 0 0 6px; } .kx-auf-pp__who { font-family: var(--f-sans); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--kx-gold); }
.kx-auf-pp__side cite { font-style: normal; } .kx-auf-pp .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-auf-pp__table { position: relative; height: 110px; background: #1f5134; border: 2px solid #e8e2d6; border-radius: 4px; }
.kx-auf-pp__net { position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: #e8e2d6; }
.kx-auf-pp__ball { position: absolute; top: 45%; left: 8%; width: 14px; height: 14px; border-radius: 50%; background: #ffb347; box-shadow: 0 0 10px rgba(255,179,71,.8); animation: kxPing 1.6s ease-in-out infinite alternate; }
@keyframes kxPing { 0% { left: 6%; top: 60%; } 50% { top: 15%; } 100% { left: calc(94% - 14px); top: 60%; } }
@media (prefers-reduced-motion: reduce) { .kx-auf-pp__ball { animation: none; left: 46%; } }
.kx-auf-pp__law { margin: 14px 0 0; font-family: var(--f-sans); font-size: .9rem; color: #f1d9a8; }
.kx-auf-pp__law a { color: #f1d9a8; }

/* Stilllegungsband */
.kx-auf-band { position: relative; height: clamp(150px, 20vw, 220px); overflow: hidden; margin: 0 0 18px; }
.kx-auf-band video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); }
.kx-auf-band span { position: absolute; right: 8px; bottom: 6px; font-family: var(--f-mono); font-size: .6rem; color: rgba(255,255,255,.75); }
@media (prefers-reduced-motion: reduce) { .kx-auf-band video { display: none; } .kx-auf-band { background: url(/assets/video/aufsicht-pre-8-poster.jpg) center / cover; } }

/* Adressaten */
.kx-auf-adr { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 26px 0 24px; }
@media (max-width: 760px) { .kx-auf-adr { grid-template-columns: 1fr; } }
.kx-auf-adr__c { background: rgba(255,255,255,.04); border: 1px solid rgba(184,151,88,.35); border-top: 3px solid var(--kx-gold); padding: 20px 22px; }
.kx-auf-adr__c:nth-child(2), .kx-auf-adr__c:nth-child(3) { border-top-color: #8b1e24; }
.kx-auf-adr__k { font-family: var(--f-sans) !important; font-size: .68rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-gold) !important; margin: 0 0 4px; }
.kx-auf-adr__c h3 { font-family: var(--f-serif); font-weight: 600; font-size: 1.35rem; color: #fff; margin: 0 0 8px; }
.kx-auf-adr__c p:last-child { font-size: .98rem !important; margin: 0; }
.kx-auf-adr__act { display: flex; flex-wrap: wrap; gap: 10px; }
.kx-auf-adr__act .kx-button--line { color: #fff !important; border-color: rgba(236,231,221,.55); }
@media (max-width: 560px) { .kx-auf-tri__n { min-width: 88px; padding: 6px 8px; } .kx-auf-tri__n b { font-size: .95rem; } .kx-auf-tri__n small { font-size: .52rem; } .kx-auf-tri__n--left { left: 21%; } .kx-auf-tri__n--right { left: 79%; } .kx-auf-tri__lines text { font-size: 13px; } }

/* ===== v16 · Kernbaustein „Ein Barcode, zwei Spuren“ (27.10.2026) – /rechtsstaat, /presse, /saeulen ===== */
.kx-zw { margin: 48px 0 40px; padding: 40px clamp(20px, 4vw, 48px); background: var(--kx-cream); border: 1px solid var(--kx-line); border-top: 4px solid var(--kx-bordeaux); color: var(--kx-ink); }
.kx-zw__k, .kx-zw__limk, .kx-zw__samek { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-bordeaux); font-weight: 700; margin: 0 0 10px; }
.kx-zw__h { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.08; margin: 0 0 10px; color: var(--kx-ink); }
.kx-zw__sub { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.45; color: var(--kx-ink-2); margin: 0 0 28px; max-width: 46em; }
.kx-zw__fig { margin: 0 0 28px; }
.kx-zw__code { max-width: 300px; margin: 0 auto; text-align: center; background: #fff; border: 1px solid var(--kx-line); padding: 14px 18px 10px; }
.kx-zw__bars { display: block; width: 100%; height: 44px; fill: var(--kx-ink); }
.kx-zw__num { font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace; font-size: 15px; letter-spacing: .12em; margin: 6px 0 2px; color: var(--kx-ink); }
.kx-zw__codecap { font-size: 12px; line-height: 1.35; color: var(--kx-muted); margin: 0; }
.kx-zw__fork { display: block; width: 50%; height: 44px; margin: 0 auto; overflow: visible; }
.kx-zw__fork path { fill: none; stroke: var(--kx-gold); stroke-width: 2; vector-effect: non-scaling-stroke; }
.kx-zw__fork path + path { stroke: var(--kx-bordeaux); stroke-dasharray: 6 5; }
.kx-zw__lanes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.kx-zw__lane, .kx-zw__may, .kx-zw__not { min-width: 0; overflow-wrap: anywhere; }
.kx-zw__lane { background: #fff; padding: 22px 22px 18px; border: 2px solid var(--kx-gold); display: flex; flex-direction: column; gap: 8px; }
.kx-zw__lane--trk { border: 2px dashed var(--kx-bordeaux); background: rgba(139,30,36,.035); }
.kx-zw .kx-zw__tag { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--kx-gold); margin: 0; }
.kx-zw__lane--trk .kx-zw__tag, .kx-zw__not .kx-zw__tag { color: var(--kx-bordeaux); }
.kx-zw__lh { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 24px; line-height: 1.15; margin: 0; color: var(--kx-ink); }
.kx-zw__what, .kx-zw__cap { font-size: 14px; line-height: 1.45; color: var(--kx-ink-2); margin: 0; }
.kx-zw__cap { color: var(--kx-muted); }
.kx-zw__days { display: grid; grid-template-columns: repeat(29, minmax(0, 1fr)); gap: 2px; margin: 6px 0 2px; }
.kx-zw__days i { display: block; height: 18px; background: var(--kx-paper); border: 1px solid var(--kx-line); }
.kx-zw__days--pzu i.is-on { background: var(--kx-gold); border-color: var(--kx-gold); }
.kx-zw__days--trk i.is-on { background: repeating-linear-gradient(135deg, rgba(139,30,36,.75) 0 3px, rgba(139,30,36,.25) 3px 6px); border-color: var(--kx-bordeaux); }
.kx-zw__st { margin: auto 0 0; padding-top: 10px; border-top: 1px solid var(--kx-line); font-size: 14px; font-weight: 600; line-height: 1.4; }
.kx-zw__st::before { display: inline-block; width: 1.4em; font-weight: 700; }
.kx-zw__st--ok { color: #3c5a2e; }
.kx-zw__st--ok::before { content: '✓'; }
.kx-zw__st--no { color: var(--kx-bordeaux); }
.kx-zw__st--no::before { content: '✕'; }
.kx-zw__figcap { font-size: 13px; line-height: 1.45; color: var(--kx-muted); margin: 12px 0 0; text-align: center; }
.kx-zw__same { margin: 0 0 28px; padding: 18px 22px; background: var(--kx-ink); color: var(--kx-cream); }
.kx-zw__same .kx-zw__samek { color: var(--kx-gold); }
.kx-zw__same ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 18px; }
.kx-zw__same li { font-size: 15px; line-height: 1.35; padding-left: 26px; position: relative; }
.kx-zw__same li::before { content: '='; position: absolute; left: 0; top: -1px; color: var(--kx-gold); font-weight: 700; font-size: 18px; }
.kx-zw__codes { margin: 14px 0 0; font-size: 12px; color: var(--kx-gold-soft); }
.kx-zw__c { font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace; letter-spacing: .06em; white-space: nowrap; }
.kx-zw__core { margin: 0 0 28px; padding: 18px 0 18px 24px; border-left: 4px solid var(--kx-gold); background: none; font-style: normal; }
.kx-zw__core p { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(20px, 2vw, 25px); line-height: 1.35; margin: 0 0 12px; color: var(--kx-ink); }
.kx-zw__core p + p { font-style: normal; font-family: inherit; font-size: 16px; line-height: 1.55; color: var(--kx-ink-2); }
.kx-zw__core strong { color: var(--kx-bordeaux); }
.kx-zw__core cite { font-size: 13px; font-style: normal; color: var(--kx-muted); }
.kx-zw__lim { margin: 0 0 18px; }
.kx-zw__lead { font-size: 18px; line-height: 1.55; color: var(--kx-ink); margin: 0 0 18px; max-width: 48em; }
.kx-zw__limlead { font-size: 16px; line-height: 1.6; color: var(--kx-ink-2); margin: 0 0 16px; max-width: 52em; }
.kx-zw__limh { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 26px; line-height: 1.15; margin: 0 0 16px; color: var(--kx-ink); }
.kx-zw__cols { display: grid; grid-template-columns: 2fr 3fr; gap: 0; border: 1px solid var(--kx-line); background: #fff; }
.kx-zw__may, .kx-zw__not { padding: 20px 22px; }
.kx-zw__may { border-right: 1px solid var(--kx-line); }
.kx-zw__not { background: rgba(139,30,36,.035); }
.kx-zw__cols ul, .kx-zw__cols ol { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 12px; }
.kx-zw__cols li { font-size: 15px; line-height: 1.5; color: var(--kx-ink-2); }
.kx-zw__may li { padding-left: 22px; position: relative; }
.kx-zw__may li::before { content: '✓'; position: absolute; left: 0; color: #3c5a2e; font-weight: 700; }
.kx-zw__not li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; }
.kx-zw__not li b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--kx-bordeaux); color: #fff; font-size: 14px; }
.kx-zw__out { font-size: 16px; line-height: 1.55; font-weight: 600; color: var(--kx-bordeaux); margin: 0 0 14px; }
.kx-zw__src { font-size: 13px; color: var(--kx-muted); margin: 0; }
.kx-zw a { color: var(--kx-bordeaux); }
.kx-zw__same a { color: var(--kx-gold); }
@media (max-width: 760px) {
  .kx-zw { padding: 28px 18px; margin: 36px 0 32px; }
  .kx-zw__fork { display: none; }
  .kx-zw__code { margin-bottom: 16px; }
  .kx-zw__lanes, .kx-zw__cols { grid-template-columns: minmax(0, 1fr); }
  .kx-zw__days { gap: 1px; }
  .kx-zw__same ul { grid-template-columns: 1fr 1fr; }
  .kx-zw__may { border-right: 0; border-bottom: 1px solid var(--kx-line); }
  .kx-zw__days i { height: 14px; }
}
@media (max-width: 420px) {
  .kx-zw__same ul { grid-template-columns: minmax(0, 1fr); }
}

/* ===== v17 · /faq – Fragen-Kompendium auf Basis des FAQ-Elements der hauseigenen 21st-Bibliothek (hermes Nr. 10) ===== */
.kx-faq { background: var(--kx-paper); color: var(--kx-ink); }
.kx-faq li + li { margin-top: 0; }
.kx-faq__text li + li { margin-top: .45em; }
.kx-faq__hero { background: var(--kx-cream); border-bottom: 1px solid var(--kx-line); padding: clamp(40px, 6vw, 88px) 0 clamp(36px, 5vw, 64px); }
.kx-faq__herogrid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.kx-faq__eb { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--kx-bordeaux); font-weight: 700; margin: 0 0 18px; }
.kx-faq__title { font-family: var(--f-serif); font-weight: 600; font-size: clamp(2.1rem, 4.6vw, 3.7rem); line-height: 1.05; letter-spacing: -.015em; margin: 0 0 20px; color: var(--kx-ink); }
.kx-faq__title span { display: block; }
.kx-faq__title span:nth-child(2) { color: var(--kx-bordeaux); }
.kx-faq__title span:nth-child(3) { color: var(--kx-gold); }
.kx-faq__lead { font-size: clamp(17px, 1.5vw, 19px); line-height: 1.58; color: var(--kx-ink-2); max-width: 36em; margin: 0 0 26px; }
.kx-faq__proof { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--kx-line); border: 1px solid var(--kx-line); border-radius: 11px; overflow: hidden; }
.kx-faq__proof li { background: #fff; padding: 14px 14px 12px; }
.kx-faq__proof b { display: block; font-family: var(--f-serif); font-size: clamp(22px, 2.2vw, 30px); line-height: 1; color: var(--kx-ink); font-weight: 600; margin-bottom: 6px; }
.kx-faq__proof span { font-size: 12.5px; line-height: 1.35; color: var(--kx-muted); }
.kx-faq__date { margin: 18px 0 0; font-size: 14px; color: var(--kx-ink-2); }
.kx-faq__date strong { color: var(--kx-bordeaux); }
.kx-faq__media { margin: 0; position: relative; }
.kx-faq__vid { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 18% 55%; border-radius: 11px; border: 1px solid var(--kx-line); border-bottom: 3px solid var(--kx-bordeaux); box-shadow: 0 1px 2px rgba(28,25,23,.06), 0 18px 40px -24px rgba(28,25,23,.45); background: #f1f1ef; }
.kx-faq__credit { margin: 8px 0 0; font-size: 11px; color: var(--kx-muted); text-align: right; }

.kx-faq__tools { position: sticky; top: 76px; z-index: 5; background: rgba(247,245,240,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--kx-line); padding: 16px 0 12px; }
.kx-faq__toolrow { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.kx-faq__search { flex: 1 1 320px; min-width: 0; }
.kx-faq__search label { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--kx-muted); margin: 0 0 4px; }
.kx-faq__field { display: flex; align-items: center; gap: 10px; border: 1px solid var(--kx-line); background: #fff; border-radius: 11px; padding: 0 12px; box-shadow: 0 1px 2px rgba(28,25,23,.06); }
.kx-faq__field:focus-within { border-color: var(--kx-gold); box-shadow: 0 0 0 3px rgba(184,151,88,.22); }
.kx-faq__field svg { flex: none; width: 18px; height: 18px; color: var(--kx-muted); }
.kx-faq__q { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 17px; padding: 11px 0; color: var(--kx-ink); outline: none; }
.kx-faq__q::-webkit-search-cancel-button { display: none; }
.kx-faq__clear, .kx-faq__reset, .kx-faq__copy { appearance: none; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--kx-bordeaux); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 8px 0; }
.kx-faq__all { appearance: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid var(--kx-ink); border-radius: 11px; background: #fff; color: var(--kx-ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; align-self: flex-end; }
.kx-faq__all svg { width: 14px; height: 14px; transition: transform .3s cubic-bezier(.34,1.4,.64,1); }
.kx-faq__all[aria-pressed="true"] svg { transform: rotate(180deg); }
.kx-faq__all:hover { background: var(--kx-ink); color: var(--kx-cream); }
.kx-faq__count { font-size: 13px; color: var(--kx-muted); min-height: 1.3em; margin: 6px 0 0; font-variant-numeric: tabular-nums; }
.kx-faq__chips { list-style: none; margin: 10px 0 0; padding: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.kx-faq__chips::-webkit-scrollbar { display: none; }
.kx-faq__chip { appearance: none; flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 1px solid var(--kx-line); border-radius: 999px; background: #fff; color: var(--kx-ink-2); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s; }
.kx-faq__chip small { font-size: 12px; font-variant-numeric: tabular-nums; color: var(--kx-muted); }
.kx-faq__chip[aria-pressed="true"] { background: var(--kx-ink); border-color: var(--kx-ink); color: var(--kx-cream); }
.kx-faq__chip[aria-pressed="true"] small { color: var(--kx-gold); }
.kx-faq:not(.is-js) .kx-faq__tools { display: none; }

.kx-faq__body { padding: clamp(36px, 5vw, 64px) 0 clamp(48px, 6vw, 88px); }
.kx-faq__group { margin: 0 0 clamp(36px, 5vw, 56px); scroll-margin-top: 250px; }
.kx-faq__gh { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; align-items: baseline; margin: 0 0 16px; }
.kx-faq__gnum { grid-row: span 2; font-family: var(--f-serif); font-size: clamp(34px, 4vw, 48px); line-height: .9; color: var(--kx-gold); font-weight: 600; }
.kx-faq__gt { font-family: var(--f-serif); font-size: clamp(24px, 2.6vw, 32px); line-height: 1.1; margin: 0; font-weight: 600; color: var(--kx-ink); }
.kx-faq__gsub { font-size: 15px; color: var(--kx-muted); margin: 0; }

/* Element hermes Nr. 10: Kartenliste mit Trennlinien */
.kx-faq__list { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--kx-line); border-radius: 11px; overflow: hidden; box-shadow: 0 1px 2px rgba(28,25,23,.06), 0 4px 10px -8px rgba(28,25,23,.45); }
.kx-faq__item { border-top: 1px solid var(--kx-line); scroll-margin-top: 250px; }
.kx-faq__item:first-child { border-top: 0; }
.kx-faq__item[hidden] { display: none; }
.kx-faq__h { margin: 0; font: inherit; }
.kx-faq__btn { appearance: none; display: flex; width: 100%; align-items: center; gap: 14px; padding: 18px 20px; border: 0; background: none; text-align: left; font: inherit; color: var(--kx-ink-2); cursor: pointer; transition: background-color .15s; }
.kx-faq__btn:hover { background: rgba(22,25,32,.035); }
.kx-faq__btn:focus-visible { outline: none; background: rgba(184,151,88,.08); box-shadow: inset 0 0 0 2px var(--kx-gold); }
.kx-faq__nr { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--kx-line); font-family: var(--f-mono); font-size: 12px; color: var(--kx-muted); font-variant-numeric: tabular-nums; transition: background-color .2s, color .2s, border-color .2s; }
.kx-faq__label { flex: 1; min-width: 0; font-family: var(--f-serif); font-size: clamp(18px, 1.7vw, 21px); line-height: 1.3; font-weight: 600; color: var(--kx-ink-2); transition: color .15s; }
.kx-faq__label mark, .kx-faq__text mark { background: rgba(184,151,88,.35); color: inherit; padding: 0 1px; }
.kx-faq__snip { display: block; margin-top: 6px; font-family: var(--f-sans); font-size: 14px; font-weight: 400; line-height: 1.45; color: var(--kx-muted); }
.kx-faq__meta { flex: none; font-family: var(--f-mono); font-size: 11.5px; color: var(--kx-muted); font-variant-numeric: tabular-nums; }
.kx-faq__chev { flex: none; width: 14px; height: 14px; color: var(--kx-muted); transition: transform .42s cubic-bezier(.34,1.45,.64,1); }
.kx-faq__item[data-open="true"] .kx-faq__chev { transform: rotate(180deg); color: var(--kx-bordeaux); }
.kx-faq__item[data-open="true"] .kx-faq__label { color: var(--kx-ink); }
.kx-faq__item[data-open="true"] .kx-faq__nr { background: var(--kx-bordeaux); border-color: var(--kx-bordeaux); color: #fff; }
.kx-faq.is-js .kx-faq__panel { overflow: hidden; height: 0; transition: height .42s cubic-bezier(.23,1,.32,1); }
.kx-faq__inner { border-top: 1px solid var(--kx-line); background: var(--kx-paper); box-shadow: inset 0 1px 2px rgba(28,25,23,.05); padding: 22px 24px 22px 66px; }
.kx-faq.is-js .kx-faq__inner { opacity: 0; transition: opacity .14s cubic-bezier(.4,0,1,1); }
.kx-faq.is-js .kx-faq__item[data-open="true"] .kx-faq__inner { opacity: 1; transition: opacity .18s cubic-bezier(.23,1,.32,1) .06s; }
.kx-faq__text { max-width: 46em; font-size: 16.5px; line-height: 1.62; color: var(--kx-ink-2); }
.kx-faq__text > p { margin: 0 0 .85em; }
.kx-faq__text .kx-faq__kern { font-size: 18px; line-height: 1.5; color: var(--kx-ink); font-weight: 600; padding-left: 14px; border-left: 3px solid var(--kx-gold); }
.kx-faq__text ul, .kx-faq__text ol { margin: 0 0 .9em; padding-left: 1.2em; }
.kx-faq__text li { margin: 0 0 .45em; }
.kx-faq__text blockquote { margin: 0 0 1em; padding: 12px 16px; background: #fff; border-left: 3px solid var(--kx-bordeaux); font-family: var(--f-serif); font-size: 17.5px; line-height: 1.45; font-style: normal; color: var(--kx-ink); }
.kx-faq__text blockquote cite { display: block; margin-top: 6px; font-family: var(--f-sans); font-size: 13px; font-style: normal; color: var(--kx-muted); }
.kx-faq__text a { color: var(--kx-bordeaux); }
.kx-faq__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--kx-line); }
.kx-faq__more { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--kx-ink); text-decoration: none; border-bottom: 2px solid var(--kx-gold); padding-bottom: 2px; }
.kx-faq__more:hover { color: var(--kx-bordeaux); border-color: var(--kx-bordeaux); }
.kx-faq__empty { padding: 32px 24px; background: #fff; border: 1px solid var(--kx-line); border-radius: 11px; }
.kx-faq__empty p { margin: 0 0 8px; font-family: var(--f-serif); font-size: 22px; }
.kx-faq__contact { margin-top: clamp(36px, 5vw, 56px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: 26px 28px; background: var(--kx-ink); color: var(--kx-cream); border-radius: 11px; }
.kx-faq__contact p { margin: 0; font-family: var(--f-serif); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; }
.kx-faq__contact a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 1px solid var(--kx-gold); border-radius: 11px; color: var(--kx-cream); text-decoration: none; font-weight: 700; }
.kx-faq__contact a:hover { background: var(--kx-gold); color: var(--kx-ink); }
.kx-faq__live, .kx-faq__ta { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 760px) {
  .kx-faq__herogrid { grid-template-columns: minmax(0, 1fr); }
  .kx-faq__media { order: -1; }
  .kx-faq__vid { aspect-ratio: 16 / 9; object-position: 15% 55%; }
  .kx-faq__proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kx-faq__btn { padding: 15px 14px; gap: 10px; align-items: flex-start; }
  .kx-faq__nr { width: 26px; height: 26px; font-size: 11px; margin-top: 1px; }
  .kx-faq__meta { display: none; }
  .kx-faq__chev { margin-top: 6px; }
  .kx-faq__inner { padding: 18px 16px; }
  .kx-faq__tools { position: static; }
  .kx-faq__item, .kx-faq__group { scroll-margin-top: 90px; }
  .kx-faq__all { align-self: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .kx-faq.is-js .kx-faq__panel, .kx-faq.is-js .kx-faq__inner, .kx-faq__chev, .kx-faq__all svg { transition: none !important; }
}
@media print {
  .kx-faq__tools, .kx-faq__copy { display: none !important; }
  .kx-faq.is-js .kx-faq__panel { height: auto !important; }
  .kx-faq.is-js .kx-faq__inner { opacity: 1 !important; }
}

/* ===== v18 · /saeulen#gesamtschau – 40 Beanstandungen als Raster, Verfahrensebene mit Gegenbeispielen (27.10.2026) ===== */
.kx-gs { --gs-vertrag:#8b1e24; --gs-policierung:#b89758; --gs-abrechnung:#2b2f38; --gs-eskalation:#a8552e; --gs-kommunikation:#4a6274; background: var(--kx-cream); }
.kx-gs__h { font-family: var(--f-serif); font-weight: 600; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.08; margin: 0 0 14px; color: var(--kx-ink); max-width: 22em; }
.kx-gs__lead { font-size: clamp(16.5px, 1.4vw, 18.5px); line-height: 1.6; color: var(--kx-ink-2); max-width: 52em; margin: 0 0 26px; }
.kx-gs__board { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; align-items: start; background: #fff; border: 1px solid var(--kx-line); border-radius: 11px; padding: 24px; box-shadow: 0 1px 2px rgba(28,25,23,.06), 0 14px 32px -24px rgba(28,25,23,.45); }
.kx-gs__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }
.kx-gs li + li { margin-top: 0; }
.kx-gs__cell { appearance: none; position: relative; width: 100%; aspect-ratio: 1; border: 0; border-radius: 8px; cursor: pointer; display: grid; place-items: center; color: #fff; font: 600 15px/1 var(--f-mono); transition: transform .15s, box-shadow .15s, opacity .2s; }
.kx-gs__cell--vertrag { background: var(--gs-vertrag); } .kx-gs__cell--policierung { background: var(--gs-policierung); color: #161920; } .kx-gs__cell--abrechnung { background: var(--gs-abrechnung); } .kx-gs__cell--eskalation { background: var(--gs-eskalation); } .kx-gs__cell--kommunikation { background: var(--gs-kommunikation); }
.kx-gs__cell--dup::after { content: ''; position: absolute; inset: 3px; border: 2px dashed rgba(255,255,255,.75); border-radius: 6px; pointer-events: none; }
.kx-gs__cell--policierung.kx-gs__cell--dup::after { border-color: rgba(22,25,32,.55); }
.kx-gs__cell:hover { transform: translateY(-2px); box-shadow: 0 6px 14px -6px rgba(22,25,32,.5); }
.kx-gs__cell:focus-visible { outline: 3px solid var(--kx-gold); outline-offset: 2px; }
.kx-gs__cell[aria-pressed="true"] { box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--kx-ink); transform: scale(1.06); }
.kx-gs.is-filter .kx-gs__cell:not(.is-match) { opacity: .18; }
.kx-gs__legend { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kx-gs__leg { appearance: none; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border: 1px solid var(--kx-line); border-radius: 999px; background: #fff; font: 600 13.5px/1 var(--f-sans); color: var(--kx-ink-2); cursor: pointer; }
.kx-gs__leg i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.kx-gs__leg--vertrag i { background: var(--gs-vertrag); } .kx-gs__leg--policierung i { background: var(--gs-policierung); } .kx-gs__leg--abrechnung i { background: var(--gs-abrechnung); } .kx-gs__leg--eskalation i { background: var(--gs-eskalation); } .kx-gs__leg--kommunikation i { background: var(--gs-kommunikation); }
.kx-gs__leg small { color: var(--kx-muted); font-weight: 600; }
.kx-gs__leg[aria-pressed="true"] { background: var(--kx-ink); color: var(--kx-cream); border-color: var(--kx-ink); }
.kx-gs__leg[aria-pressed="true"] small { color: var(--kx-gold); }
.kx-gs__detail { min-height: 220px; border-left: 3px solid var(--kx-gold); padding: 4px 0 4px 20px; }
.kx-gs__hint { color: var(--kx-muted); font-size: 15px; line-height: 1.55; margin: 0; }
.kx-gs__dnr { font: 600 56px/1 var(--f-serif); color: var(--kx-ink); margin: 0 0 6px; }
.kx-gs__dt { font: 600 21px/1.3 var(--f-serif); color: var(--kx-ink); margin: 0 0 10px; }
.kx-gs__dm { font-size: 14.5px; line-height: 1.55; color: var(--kx-ink-2); margin: 0 0 6px; }
.kx-gs__tag { display: inline-block; font: 700 11px/1 var(--f-sans); letter-spacing: .1em; text-transform: uppercase; padding: 4px 7px; border-radius: 4px; color: #fff; }
.kx-gs__tag--vertrag { background: var(--gs-vertrag); } .kx-gs__tag--policierung { background: var(--gs-policierung); color: #161920; } .kx-gs__tag--abrechnung { background: var(--gs-abrechnung); } .kx-gs__tag--eskalation { background: var(--gs-eskalation); } .kx-gs__tag--kommunikation { background: var(--gs-kommunikation); }
.kx-gs__quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0 18px; }
.kx-gs__quotes blockquote { margin: 0; padding: 16px 18px; background: #fff; border: 1px solid var(--kx-line); border-left: 4px solid var(--kx-bordeaux); font-style: normal; }
.kx-gs__quotes p { font: 400 17px/1.5 var(--f-serif); color: var(--kx-ink); margin: 0 0 8px; }
.kx-gs__quotes cite { font-size: 13px; font-style: normal; color: var(--kx-muted); }
.kx-gs__list { margin: 0 0 22px; border: 1px solid var(--kx-line); border-radius: 11px; background: #fff; }
.kx-gs__list summary { cursor: pointer; padding: 14px 18px; font-weight: 700; color: var(--kx-ink); }
.kx-gs__tablewrap { overflow-x: auto; padding: 0 12px; }
.kx-gs__list table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kx-gs__list th, .kx-gs__list td { text-align: left; padding: 8px 8px; border-top: 1px solid var(--kx-line); vertical-align: top; }
.kx-gs__list th { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--kx-muted); }
.kx-gs__tn { font: 600 13px/1.4 var(--f-mono); color: var(--kx-muted); }
.kx-gs__note { font-size: 13px; color: var(--kx-muted); padding: 10px 18px 16px; margin: 0; }
.kx-gs__counter { background: var(--kx-paper); border: 1px solid var(--kx-line); border-left: 4px solid var(--kx-gold); padding: 14px 18px; font-size: 15px; line-height: 1.6; color: var(--kx-ink-2); max-width: 60em; margin: 0 0 30px; }
.kx-gs__h3 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(22px, 2.3vw, 28px); margin: 14px 0 10px; color: var(--kx-ink); }
.kx-gs__steps { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; counter-reset: gs; }
.kx-gs__steps li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; background: #fff; border: 1px solid var(--kx-line); border-radius: 10px; padding: 14px 16px; font-size: 15px; line-height: 1.55; color: var(--kx-ink-2); }
.kx-gs__steps b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--kx-ink); color: var(--kx-cream); font: 600 14px/1 var(--f-mono); }
.kx-gs__steps strong { color: var(--kx-ink); }
@media (max-width: 860px) {
  .kx-gs__board { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .kx-gs__grid { gap: 6px; }
  .kx-gs__cell { font-size: 13px; border-radius: 6px; }
  .kx-gs__detail { min-height: 0; }
  .kx-gs__quotes, .kx-gs__steps { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .kx-gs__cell { transition: none; } }
