/* Pressespiegel (Kanzlei-Design, 29.10.2026) – seitenspezifisch, Präfix kx-ps- */
.kx-ps { --ps-aufsicht:#3e5566; --ps-verbraucher:#45604a; --ps-politik:#7a5c22; --ps-konzern:#a07f3c; --ps-medien:#2b2f38; --ps-verfahren:#8b1e24; }

/* Hero */
.kx-ps-hero { background: var(--kx-ink); color: #ece7dd; padding: clamp(40px, 6vw, 84px) 0 clamp(36px, 5vw, 64px); position: relative; overflow: hidden; }
.kx-ps-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(1200px 520px at 88% 0%, rgba(139,30,36,.28), transparent 62%), radial-gradient(900px 420px at 0% 100%, rgba(184,151,88,.12), transparent 60%); pointer-events: none; }
.kx-ps-hero .kx-wrap { position: relative; }
.kx-ps-hero .kx-eyebrow { color: var(--kx-gold); }
.kx-ps-hero h1 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(2rem, 4.6vw, 3.5rem); line-height: 1.06; letter-spacing: -.01em; color: #fff; margin: 18px 0 22px; max-width: 20ch; }
.kx-ps-hero h1 em { font-style: normal; color: var(--kx-gold); display: block; }
.kx-ps-hero__lead { font-family: var(--f-serif); font-size: clamp(1.04rem, 1.45vw, 1.2rem); line-height: 1.62; color: #ddd7cb; max-width: 70ch; margin: 0 0 14px; }
.kx-ps-hero__lead2 { font-family: var(--f-sans); font-size: .95rem; line-height: 1.65; color: #c9c3b7; max-width: 76ch; margin: 0; }
.kx-ps-hero .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-ps-hero strong { color: #fff; }
.kx-ps-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.kx-ps-actions .kx-button--gold { background: var(--kx-gold); color: var(--kx-ink) !important; border-color: var(--kx-gold); }
.kx-ps-actions .kx-button--line { background: transparent; border: 1px solid rgba(236,231,221,.45); }
.kx-ps-actions .kx-button--line:hover { background: rgba(236,231,221,.1); }
.kx-ps-note { margin: 28px 0 0; padding: 12px 16px; border-left: 2px solid var(--kx-gold); font-family: var(--f-sans); font-size: .8rem; line-height: 1.55; color: #b8b2a6; max-width: 92ch; }

/* Leitgrafik: Konvergenz */
.kx-ps-conv { background: #101217; color: #ece7dd; padding: clamp(36px, 5vw, 72px) 0; border-top: 1px solid rgba(184,151,88,.25); }
.kx-ps-conv .kx-eyebrow { color: var(--kx-gold); }
.kx-ps-conv h2 { font-family: var(--f-serif); font-weight: 600; font-size: clamp(1.45rem, 2.6vw, 2.1rem); line-height: 1.18; color: #fff; margin: 10px 0 10px; max-width: 30ch; }
.kx-ps-conv__intro { font-family: var(--f-sans); font-size: .95rem; line-height: 1.6; color: #c9c3b7; max-width: 72ch; margin: 0 0 22px; }
.kx-ps-conv svg { display: block; width: 100%; height: auto; }
.kx-ps-conv svg text { font-family: var(--f-sans); }
.kx-ps-conv .t-year { font-family: var(--f-mono); font-size: 11px; fill: #8f8a80; }
.kx-ps-conv .t-dot { font-size: 11.5px; fill: #d9d3c7; }
.kx-ps-conv .t-dot-sub { font-family: var(--f-mono); font-size: 10px; fill: #8f8a80; }
.kx-ps-conv .t-goal { font-family: var(--f-serif); font-size: 17px; font-weight: 600; fill: #fff; }
.kx-ps-conv .t-goal-sub { font-family: var(--f-mono); font-size: 10.5px; fill: #e9dfc9; }
.kx-ps-conv .flow { fill: none; stroke-width: 1.6; opacity: .62; }
.kx-ps-conv a:focus-visible circle, .kx-ps-conv a:hover circle { stroke: #fff; stroke-width: 2; }
.kx-ps-conv a:hover .t-dot { fill: #fff; text-decoration: underline; }
.kx-ps-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 18px 0 0; padding: 0; list-style: none; font-family: var(--f-sans); font-size: .78rem; color: #c9c3b7; }
.kx-ps-legend li { display: flex; align-items: center; gap: 8px; }
.kx-ps-legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.kx-ps-conv__list { display: none; }
@media (max-width: 760px) {
  .kx-ps-conv svg { display: none; }
  .kx-ps-conv__list { display: block; list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 1px solid rgba(184,151,88,.4); }
  .kx-ps-conv__list li { position: relative; padding: 0 0 14px 6px; font-family: var(--f-sans); font-size: .9rem; color: #ddd7cb; }
  .kx-ps-conv__list li::before { content: ""; position: absolute; left: -24px; top: 6px; width: 11px; height: 11px; border-radius: 50%; background: var(--c, var(--kx-gold)); }
  .kx-ps-conv__list b { font-family: var(--f-mono); font-weight: 400; font-size: .78rem; color: #8f8a80; display: block; }
  .kx-ps-conv__list a { color: #ece7dd; }
  .kx-ps-conv__list .goal { color: #fff; font-family: var(--f-serif); font-size: 1.05rem; }
  .kx-ps-conv__list .goal::before { background: var(--kx-bordeaux); width: 15px; height: 15px; left: -26px; border-radius: 2px; }
}

/* Vergleich: bisher / im Verfahren */
.kx-ps-shift { display: grid; gap: 0; margin: 30px 0 0; border-top: 1px solid var(--kx-line); }
.kx-ps-shift__head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) minmax(0, 1.5fr); gap: 0 28px; padding: 0 0 10px; font-family: var(--f-sans); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); border-bottom: 1px solid var(--kx-line); padding-top: 14px; }
.kx-ps-shift__head span:last-child { color: var(--kx-bordeaux); }
.kx-ps-row { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) minmax(0, 1.5fr); gap: 0 28px; padding: 26px 0; border-bottom: 1px solid var(--kx-line); align-items: start; }
.kx-ps-row__dim { font-family: var(--f-serif); }
.kx-ps-row__dim b { display: block; font-family: var(--f-mono); font-weight: 400; font-size: .78rem; color: var(--kx-gold); letter-spacing: .06em; margin: 0 0 6px; }
.kx-ps-row__dim strong { font-size: 1.18rem; line-height: 1.25; color: var(--kx-ink); font-weight: 600; }
.kx-ps-row__dim small { display: block; font-family: var(--f-mono); font-size: .74rem; color: var(--kx-muted); margin-top: 6px; }
.kx-ps-row__then { position: relative; font-family: var(--f-sans); font-size: .9rem; line-height: 1.6; color: var(--kx-muted); padding-right: 22px; }
.kx-ps-row__then::after { content: "→"; position: absolute; right: -18px; top: 0; font-family: var(--f-serif); font-size: 1.4rem; color: var(--kx-gold); }
.kx-ps-row__now { background: var(--kx-cream); border-left: 3px solid var(--kx-bordeaux); padding: 14px 18px; font-family: var(--f-sans); font-size: .92rem; line-height: 1.62; color: var(--kx-ink-2); }
.kx-ps-row__now strong { color: var(--kx-ink); }
.kx-ps-row__big { display: block; font-family: var(--f-serif); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 600; color: var(--kx-bordeaux); line-height: 1.1; margin: 0 0 6px; font-variant-numeric: tabular-nums; }
.kx-ps-stance { margin: 18px 0 0; padding: 14px 18px; background: #efece5; border-left: 3px solid var(--kx-ink); font-family: var(--f-sans); font-size: .86rem; line-height: 1.6; color: var(--kx-ink-2); }
.kx-ps-stance b { display: block; font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-ink); margin: 0 0 4px; }
@media (max-width: 900px) {
  .kx-ps-shift__head { display: none; }
  .kx-ps-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .kx-ps-row__then { padding: 0 0 0 14px; border-left: 2px solid var(--kx-line); }
  .kx-ps-row__then::before { content: attr(data-label); display: block; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 4px; }
  .kx-ps-row__then::after { content: "↓"; position: static; display: block; margin: 8px 0 -4px; }
  .kx-ps-row__now::before { content: attr(data-label); display: block; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 6px; }
}

/* Filter + Karten */
.kx-ps-filter { padding: 14px 0; margin: 22px 0 8px; border-bottom: 1px solid var(--kx-line); }
.kx-ps-filter ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.kx-ps-filter button { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-sans); font-size: .8rem; font-weight: 600; padding: 8px 14px; border: 1px solid var(--kx-line); background: #fff; color: var(--kx-ink); cursor: pointer; border-radius: 999px; min-height: 40px; }
.kx-ps-filter button i { width: 9px; height: 9px; border-radius: 50%; background: var(--c, var(--kx-ink)); }
.kx-ps-filter button[aria-pressed="true"] { background: var(--kx-ink); color: #fff; border-color: var(--kx-ink); }
.kx-ps-filter button:focus-visible { outline: 2px solid var(--kx-gold); outline-offset: 2px; }
.kx-ps-filter__count { font-family: var(--f-mono); font-size: .74rem; color: var(--kx-muted); margin: 8px 0 0; }
@media (max-width: 760px) { .kx-ps-filter { position: static; } .kx-ps-filter ul { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } .kx-ps-filter button { white-space: nowrap; } }

.kx-ps-cluster { margin: 46px 0 0; scroll-margin-top: 150px; }
.kx-ps-cluster[hidden] { display: none; }
.kx-ps-cluster__head { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; align-items: baseline; padding: 0 0 14px; border-bottom: 2px solid var(--c); margin: 0 0 18px; }
.kx-ps-cluster__num { grid-row: span 2; font-family: var(--f-serif); font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: 1; color: var(--c); font-weight: 600; }
.kx-ps-cluster__h { font-family: var(--f-serif); font-size: clamp(1.25rem, 2vw, 1.55rem); font-weight: 600; margin: 0; color: var(--kx-ink); line-height: 1.2; }
.kx-ps-cluster__sub { font-family: var(--f-sans); font-size: .86rem; color: var(--kx-muted); margin: 0; }
.kx-ps-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 860px) { .kx-ps-grid { grid-template-columns: minmax(0, 1fr); } }
.kx-ps-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--kx-line); border-top: 3px solid var(--c); padding: 20px 22px 18px; min-width: 0; }
.kx-ps-card--wide { grid-column: 1 / -1; }
.kx-ps-card__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--c); margin: 0 0 8px; }
.kx-ps-card__meta time, .kx-ps-card__meta span.d { font-family: var(--f-mono); font-weight: 400; letter-spacing: .02em; text-transform: none; color: var(--kx-muted); font-size: .76rem; }
.kx-ps-card__h { font-family: var(--f-serif); font-size: 1.16rem; line-height: 1.3; font-weight: 600; margin: 0 0 10px; color: var(--kx-ink); }
.kx-ps-card--wide .kx-ps-card__h { font-size: clamp(1.2rem, 1.9vw, 1.45rem); }
.kx-ps-card__label { font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); margin: 6px 0 4px; }
.kx-ps-card p { font-family: var(--f-sans); font-size: .9rem; line-height: 1.62; color: var(--kx-ink-2); margin: 0 0 8px; }
.kx-ps-card__facts { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 6px 0 10px; padding: 0; list-style: none; }
.kx-ps-card__facts li { font-family: var(--f-sans); font-size: .78rem; color: var(--kx-muted); max-width: 22ch; line-height: 1.4; }
.kx-ps-card__facts b { display: block; font-family: var(--f-serif); font-size: 1.7rem; font-weight: 600; color: var(--kx-ink); line-height: 1.1; font-variant-numeric: tabular-nums; }
.kx-ps-card__src { font-family: var(--f-sans); font-size: .82rem; margin: 2px 0 0; }
.kx-ps-card__src a { color: var(--kx-ink); font-weight: 600; text-underline-offset: 3px; }
.kx-ps-card__src a::after { content: " ↗"; color: var(--kx-gold); }
.kx-ps-card__src span { color: var(--kx-muted); }
.kx-ps-link { margin-top: auto; padding: 14px 16px 12px; background: var(--kx-cream); border-left: 3px solid var(--kx-bordeaux); }
.kx-ps-card > .kx-ps-link { margin-top: 14px; }
.kx-ps-link__label { display: block; font-family: var(--f-sans); font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-bordeaux); margin: 0 0 6px; }
.kx-ps-link p { font-size: .86rem; margin: 0; }
.kx-ps-card .kx-ps-push { margin-top: auto; }

/* Kompakte Pressezeilen */
.kx-ps-press { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--kx-line); }
.kx-ps-press li { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 6px 22px; padding: 16px 0; border-bottom: 1px solid var(--kx-line); align-items: baseline; }
.kx-ps-press__when { font-family: var(--f-mono); font-size: .76rem; color: var(--kx-muted); }
.kx-ps-press__src { display: block; font-family: var(--f-sans); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c); margin: 0 0 3px; }
.kx-ps-press__t { font-family: var(--f-serif); font-size: 1.04rem; font-weight: 600; color: var(--kx-ink); line-height: 1.3; }
.kx-ps-press p { font-family: var(--f-sans); font-size: .86rem; line-height: 1.55; color: var(--kx-ink-2); margin: 4px 0 0; }
.kx-ps-press__go { font-family: var(--f-sans); font-size: .8rem; font-weight: 600; white-space: nowrap; color: var(--kx-ink); text-underline-offset: 3px; }
.kx-ps-press__go::after { content: " ↗"; color: var(--kx-gold); }
@media (max-width: 760px) { .kx-ps-press li { grid-template-columns: minmax(0, 1fr); } }

/* Finanzband (dunkel) */
.kx-ps-money { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 30px; align-items: start; margin: 0; background: var(--kx-ink); color: #ece7dd; padding: clamp(22px, 3vw, 34px); }
.kx-ps-money .kx-ref { background: transparent; color: var(--kx-gold); border-color: rgba(184,151,88,.5); }
.kx-ps-money__h { font-family: var(--f-serif); font-size: 1.3rem; font-weight: 600; color: #fff; margin: 0 0 8px; }
.kx-ps-money p { font-family: var(--f-sans); font-size: .88rem; line-height: 1.6; color: #cfc9bd; margin: 0 0 10px; }
.kx-ps-money svg { width: 100%; height: auto; display: block; }
.kx-ps-money svg text { font-family: var(--f-sans); fill: #cfc9bd; font-size: 12px; }
.kx-ps-money svg .big { font-family: var(--f-serif); font-size: 22px; font-weight: 600; fill: #fff; }
.kx-ps-money svg .mono { font-family: var(--f-mono); font-size: 11px; fill: #8f8a80; }
.kx-ps-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(184,151,88,.3); border: 1px solid rgba(184,151,88,.3); margin: 14px 0 0; }
.kx-ps-kpis div { background: var(--kx-ink); padding: 14px 16px; }
.kx-ps-kpis b { display: block; font-family: var(--f-serif); font-size: 1.65rem; color: #fff; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.kx-ps-kpis span { font-family: var(--f-sans); font-size: .78rem; color: #b8b2a6; line-height: 1.45; display: block; margin-top: 4px; }
@media (max-width: 900px) { .kx-ps-money { grid-template-columns: minmax(0, 1fr); } }

/* Gutachten-Ring */
.kx-ps-ring { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(22px, 4vw, 54px); align-items: center; margin: 26px 0 0; }
.kx-ps-ring svg { width: 100%; height: auto; display: block; max-width: 560px; margin: 0 auto; }
.kx-ps-ring svg text { font-family: var(--f-sans); }
.kx-ps-ring .n-code { font-family: var(--f-mono); font-size: 13px; fill: #fff; font-weight: 700; }
.kx-ps-ring .n-dis { font-size: 12.5px; fill: var(--kx-ink); font-weight: 600; }
.kx-ps-ring .c-code { font-family: var(--f-mono); font-size: 14px; fill: #fff; font-weight: 700; }
.kx-ps-ring .c-txt { font-size: 11.5px; fill: #e9dfc9; }
.kx-ps-ring a:hover circle.n, .kx-ps-ring a:focus-visible circle.n { stroke: var(--kx-gold); stroke-width: 4; }
.kx-ps-experts { list-style: none; margin: 0; padding: 0; counter-reset: ex; }
.kx-ps-experts li { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 4px 16px; padding: 14px 0; border-bottom: 1px solid var(--kx-line); scroll-margin-top: 140px; }
.kx-ps-experts li:first-child { border-top: 1px solid var(--kx-line); }
.kx-ps-experts .code { grid-row: span 3; font-family: var(--f-mono); font-size: .9rem; font-weight: 700; color: var(--kx-bordeaux); }
.kx-ps-experts .dis { font-family: var(--f-sans); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kx-muted); }
.kx-ps-experts .who { font-family: var(--f-serif); font-size: 1.02rem; font-weight: 600; color: var(--kx-ink); }
.kx-ps-experts p { font-family: var(--f-sans); font-size: .86rem; line-height: 1.58; color: var(--kx-ink-2); margin: 2px 0 0; }
.kx-ps-experts li:target { background: var(--kx-cream); }
@media (max-width: 900px) { .kx-ps-ring { grid-template-columns: minmax(0, 1fr); } .kx-ps-ring svg { max-width: 420px; } }

/* Abschluss */
.kx-ps-cta { background: var(--kx-ink); color: #ece7dd; padding: clamp(48px, 7vw, 96px) 0; position: relative; overflow: hidden; }
.kx-ps-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 400px at 100% 100%, rgba(139,30,36,.3), transparent 60%); pointer-events: none; }
.kx-ps-cta .kx-wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.kx-ps-cta h2 { font-family: var(--f-serif); font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.14; color: #fff; font-weight: 600; margin: 10px 0 14px; }
.kx-ps-cta p { font-family: var(--f-sans); font-size: .96rem; line-height: 1.65; color: #cfc9bd; margin: 0 0 10px; }
.kx-ps-cta .kx-eyebrow { color: var(--kx-gold); }
.kx-ps-date { border: 1px solid rgba(184,151,88,.45); border-top: 3px solid var(--kx-gold); padding: 22px 24px; background: rgba(255,255,255,.02); }
.kx-ps-date b { display: block; font-family: var(--f-serif); font-size: clamp(1.6rem, 3vw, 2.3rem); color: #fff; font-weight: 600; line-height: 1.1; }
.kx-ps-date span { display: block; font-family: var(--f-sans); font-size: .86rem; color: #cfc9bd; line-height: 1.55; margin-top: 8px; }
.kx-ps-date small { display: block; font-family: var(--f-mono); font-size: .74rem; color: var(--kx-gold); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; }
@media (max-width: 860px) { .kx-ps-cta .kx-wrap { grid-template-columns: minmax(0, 1fr); } }

.kx-ps-rule { font-family: var(--f-sans); font-size: .86rem; line-height: 1.6; color: var(--kx-muted); max-width: 86ch; margin: 34px 0 0; padding: 16px 0 0; border-top: 1px solid var(--kx-line); }
@media (prefers-reduced-motion: reduce) { .kx-ps-filter { backdrop-filter: none; } }
.kx-ps-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(28px, 4vw, 64px); align-items: end; }
.kx-ps-hero__stats { border-left: 1px solid rgba(184,151,88,.35); padding-left: 24px; display: grid; gap: 18px; }
.kx-ps-hero__stats b { display: block; font-family: var(--f-serif); font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight: 600; color: #fff; line-height: 1.05; font-variant-numeric: tabular-nums; }
.kx-ps-hero__stats div:last-child b { color: var(--kx-gold); }
.kx-ps-hero__stats span { display: block; font-family: var(--f-sans); font-size: .8rem; color: #b8b2a6; line-height: 1.45; margin-top: 4px; }
@media (max-width: 980px) { .kx-ps-hero__grid { grid-template-columns: minmax(0, 1fr); } .kx-ps-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; padding-left: 0; border-top: 1px solid rgba(184,151,88,.35); padding-top: 18px; } }
.kx-ps-kpis span.kx-ref { display: inline-block; margin-top: 6px; }
.kx-ps-ring { align-items: start; }
.kx-ps-ring > div:first-child { position: sticky; top: 150px; }
@media (max-width: 900px) { .kx-ps-ring > div:first-child { position: static; } }
.kx-ps-date b em { display: block; font-style: normal; color: var(--kx-gold); }
.kx-ps-mlegend { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-family: var(--f-sans); font-size: .76rem; color: #cfc9bd; }
.kx-ps-mlegend li { display: flex; align-items: center; gap: 8px; }
.kx-ps-mlegend i { width: 10px; height: 10px; display: inline-block; }
.kx-ps-mlegend i.dash { width: 22px; height: 0; border-top: 2px dashed #fff; }
@media (max-width: 520px) { .kx-ps-kpis { grid-template-columns: minmax(0, 1fr); } }
