/* Blog im Design-System (CP4, 28.10.2026, Design-Sprint-Brief 5.6: „keep the layout Timon liked. Only align fonts, colours,
   spacing and the header and footer with the system“). Nur auf Seiten mit fgsBlog: true (base.njk), zusätzlich zu fg-system.css.
   Inhalt: die Blog-Regeln aus fg-design.css (Abschnitt „Blog“ bis Ende Artikeltext und der Widget-Hinweis) unverändert übernommen;
   geändert nur .fgd-wrap → .fgs-wrap, .fgd-kicker → .fgs-label, .fgd-textlink → .fgs-link (Markup der Hülle im System).
   Die --fgd-* Werte zeigen auf die Werte des Systems, damit Schrift, Farben und Linien gleich sind; Angleichungen am Ende. */
.fgs {
  --fgd-navy: var(--fgs-navy); --fgd-navy-2: #11113D; --fgd-gold: var(--fgs-gold); --fgd-gold-ink: var(--fgs-gold-text);
  --fgd-paper: var(--fgs-bg); --fgd-stone: #EFEBE1; --fgd-white: #FFFFFF; --fgd-ink: var(--fgs-ink); --fgd-muted: var(--fgs-ink-2);
  --fgd-line: var(--fgs-line); --fgd-on-navy: var(--fgs-on-navy); --fgd-line-navy: var(--fgs-line-navy);
  --fgd-serif: var(--fgs-serif); --fgd-sans: var(--fgs-sans); --fgd-header-h: var(--fgs-header-h); --fgd-radius: var(--fgs-r); --fgd-ease: var(--fgs-ease);
}

/* =========================================================================
   Blog (blog-index.njk, blog-artikel.njk), Brief Design-Pass §4.8
   Textspalte 680 px, Inhaltsverzeichnis links ab 1100 px, Grafiken nur in Markenfarben.
   ========================================================================= */
.fgd-blog-hero { padding: clamp(28px, 4vw, 56px) 0 clamp(36px, 5vw, 64px); }
.fgd-blog-hero .fgs-wrap { display: grid; gap: 32px 64px; align-items: center; }
@media (min-width: 1000px) { .fgd-blog-hero .fgs-wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); } }
.fgd-blog-hero .fgs-label a { text-decoration: none; }
.fgd-blog-hero .fgs-label a:hover { color: var(--fgd-navy); }
.fgd-blog-hero h1 { font-size: clamp(32px, 3.3vw, 48px); line-height: 1.12; }
.fgd-blog-dateline { display: flex; flex-wrap: wrap; gap: 6px 0; margin-top: 26px !important; font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--fgd-muted); }
.fgd-blog-dateline span { white-space: nowrap; }
.fgd-blog-dateline .fgd-blog-by { flex-basis: 100%; white-space: normal; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--fgd-ink); }
.fgd-blog-by a { color: inherit !important; text-decoration: underline; text-decoration-color: var(--fgd-gold); text-underline-offset: 3px; }
.fgd-blog-dateline span:last-child::before { content: "·"; margin: 0 10px; color: var(--fgd-gold-ink); }
/* Design-Pass 2: ohne „Stand“ folgt die Lesezeit direkt auf die Autorenzeile, dann kein Punkt davor */
.fgd-blog-dateline .fgd-blog-by + span:last-child::before { content: none; }
.fgd-blog-lead { margin: 0; }
.fgd-blog-lead img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--fgd-stone); }

/* Spalten: links das Verzeichnis, Mitte der Text; ohne Verzeichnis steht der Text ebenfalls mittig */
.fgd-blog-cols { display: grid; grid-template-columns: minmax(0, 680px); justify-content: center; gap: 24px; padding-bottom: clamp(56px, 7vw, 96px); }
.fgd-blog-cols > * { min-width: 0; }
@media (min-width: 1100px) {
  .fgd-blog-cols { grid-template-columns: minmax(200px, 250px) minmax(0, 680px); gap: 72px; justify-content: start; }
  .fgd-blog-cols .fgd-blog-body { grid-column: 2; grid-row: 1; }
}
.fgd-blog-toc { font-size: 15px; line-height: 1.45; }
.fgd-blog-toc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fgd-gold-ink); }
.fgd-blog-toc summary::-webkit-details-marker { display: none; }
.fgd-blog-toc summary::after { content: "+"; font-size: 20px; font-weight: 400; line-height: 1; letter-spacing: 0; color: var(--fgd-navy); }
.fgd-blog-toc details[open] summary::after { content: "–"; }
.fgd-blog-toc details { background: var(--fgd-white); border-top: 2px solid var(--fgd-gold); }
.fgd-blog-toc ol { margin: 0; padding: 0 18px 12px; list-style: none; counter-reset: toc; }
.fgd-blog-toc li { counter-increment: toc; }
.fgd-blog-toc a { display: grid; grid-template-columns: 30px minmax(0, 1fr); padding: 8px 0; text-decoration: none; color: var(--fgd-ink) !important; border-top: 1px solid var(--fgd-line); }
.fgd-blog-toc a::before { content: counter(toc, decimal-leading-zero); font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--fgd-gold-ink); padding-top: 2px; }
.fgd-blog-toc a:hover { color: var(--fgd-gold-ink) !important; }
@media (min-width: 1100px) {
  .fgd-blog-toc { grid-column: 1; grid-row: 1; align-self: start; position: sticky; top: calc(var(--fgd-header-h) + 32px); } /* ohne align-self streckt das Raster die Spalte, dann klebt nichts */
  .fgd-blog-toc details { background: none; border-top: 0; }
  .fgd-blog-toc summary { padding: 0 0 12px; cursor: default; pointer-events: none; }
  .fgd-blog-toc details summary::after, .fgd-blog-toc details[open] summary::after { content: none; }
  .fgd-blog-toc ol { padding: 0; }
  .fgd-blog-toc a { grid-template-columns: 28px minmax(0, 1fr); padding: 7px 0 7px 12px; border-top: 0; border-left: 2px solid var(--fgd-line); color: var(--fgd-muted) !important; }
  .fgd-blog-toc a:hover { color: var(--fgd-ink) !important; }
  .fgd-blog-toc a[aria-current] { color: var(--fgd-navy) !important; border-left-color: var(--fgd-gold); font-weight: 600; }
}

/* Autorenkasten am Ende des Artikels */
.fgd-blog-author { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--fgd-navy); }
.fgd-blog-author-k { font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--fgd-gold-ink); margin: 0 0 8px !important; }
.fgd-blog-body .fgd-blog-author h2 { font-size: 24px; margin: 0 0 10px; counter-increment: none; }
.fgd-blog-body .fgd-blog-author h2::before { content: none; }
.fgd-blog-author > p:not(.fgd-blog-author-k) { font-size: 15.5px; line-height: 1.6; color: var(--fgd-muted); }
.fgd-blog-author ul { display: grid; gap: 12px; margin-top: 20px; }
@media (min-width: 560px) { .fgd-blog-author ul { grid-template-columns: 1fr 1fr; } }
.fgd-blog-author li a { display: flex; align-items: center; gap: 14px; padding: 12px; background: var(--fgd-white); text-decoration: none; color: var(--fgd-ink) !important; }
.fgd-blog-author li img { flex: none; width: 56px; height: 70px; object-fit: cover; object-position: 50% 20%; }
.fgd-blog-author li strong { display: block; font-family: var(--fgd-serif); font-weight: 400; font-size: 19px; line-height: 1.2; }
.fgd-blog-author li small { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.35; color: var(--fgd-muted); }
.fgd-blog-author li a:hover strong { color: var(--fgd-gold-ink); }

/* Weiterlesen: Leistungen und weitere Artikel */
.fgd-blog-more { display: grid; gap: 40px 56px; }
@media (min-width: 900px) { .fgd-blog-more { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); } .fgd-blog-more--solo { grid-template-columns: minmax(0, 560px); } }
.fgd-blog-more .fgd-blog-cards { margin-top: 24px; }

/* Artikelkarten (Übersicht und Weiterlesen) */
.fgd-blog-cards { display: grid; gap: 28px; }
@media (min-width: 700px) { .fgd-blog-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fgd-blog-cards:not(.fgd-blog-cards--compact) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fgd-blog-card { display: flex; flex-direction: column; background: var(--fgd-white); border: 1px solid var(--fgd-line); text-decoration: none !important; color: var(--fgd-ink) !important; transition: transform 400ms var(--fgs-ease), box-shadow 400ms var(--fgs-ease); }
.fgd-blog-card:hover { transform: translateY(-3px); box-shadow: 0 22px 40px rgba(8, 8, 47, .08); }
.fgd-blog-card img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--fgd-stone); }
.fgd-blog-card-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 22px 24px 26px; }
/* Update 7, Frage 5: keine Großbuchstaben-Labels auf Karten; Kategorie und Lesezeit als schlichte Zeile, 15 px */
.fgd-blog-card-meta { font-size: 15px; color: var(--fgd-muted); }
.fgd-blog-card-meta b { margin-right: 10px; font-weight: 400; }
.fgd-blog-card strong { font-family: var(--fgd-serif); font-weight: 400; font-size: 22px; line-height: 1.25; text-wrap: balance; }
.fgd-blog-cards--compact strong { font-size: 20px; }
.fgd-blog-card-text { font-size: 15.5px; line-height: 1.55; color: var(--fgd-muted); }
.fgd-blog-card .fgs-link { margin-top: auto; align-self: flex-start; }
.fgd-blog-card:hover strong { color: var(--fgd-gold-ink); }

/* Übersicht: Themen und Gruppen */
.fgd-blog-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 40px; }
.fgd-blog-cats a { padding: 7px 14px; font-size: 14px; font-weight: 500; text-decoration: none; color: var(--fgd-ink) !important; border: 1px solid var(--fgd-line); background: var(--fgd-white); }
.fgd-blog-cats a:hover { border-color: var(--fgd-navy); }
.fgd-blog-group + .fgd-blog-group { margin-top: clamp(48px, 6vw, 80px); }
.fgd-blog-group-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 32px; padding-bottom: 14px; margin-bottom: 28px; border-bottom: 1px solid var(--fgd-navy); }
.fgd-blog-group-head p { font-size: 15px; color: var(--fgd-muted); }
.fgd-blog-group-head a { color: var(--fgd-navy) !important; text-decoration: underline; text-decoration-color: var(--fgd-gold); text-underline-offset: 3px; }
.fgd-blog-index #artikel-titel + p, .fgd-blog-index .fgd-head { margin-bottom: 36px; }

/* -------------------------------------------------------------------------
   Artikeltext. Die Bausteine kommen aus der Blog-Vorlage (Blogs/design-muster/muster.css),
   hier auf den Artikel begrenzt und auf die Markenfarben gesetzt: Navy trägt Linien und
   Balken, Gold die Hervorhebung, Navy-Grau die Zwischenstufe. Kein Blau, kein Dunkelmodus.
   ------------------------------------------------------------------------- */
.fgd-blog-body {
  --brand-navy: #08082F; --brand-gold: #D1B464; --brand-sky: #D1B464;
  --navy: #08082F; --on-navy: #FFFFFF; --gold: #D1B464; --gold-ink: #876200;
  --bg: #F4F1E8; --ink: #15151C; --muted: #4A4A55; --rule: #D9D3C3; --soft: #FFFFFF;
  --c1: #A9A28F; --mid: #5B5A70; --illu: #ECE8DD;
  --accent: #08082F; --accent-ink: #08082F; --on-accent: #FFFFFF;
  --c-ki: #08082F; --on-ki: #FFFFFF; --c-hum: #E4D29E; --on-hum: #08082F; --c-mid: #5B5A70;
  --dot-now: #FFFFFF; --dot-now-line: #08082F; --dot-fut: #08082F; --db-bar: #9C9BB0;
  --btn-bg: #D1B464; --btn-ink: #08082F; --warn: #876200;
  --font: var(--fgd-sans); --text: 680px;
  line-height: 1.7; counter-reset: sec;
}
.fgd-blog-body svg [fill="#08082f" i] { fill: var(--navy); } .fgd-blog-body svg [stroke="#08082f" i] { stroke: var(--navy); }
.fgd-blog-body svg [fill="#16162e" i] { fill: var(--ink); } .fgd-blog-body svg [stroke="#16162e" i] { stroke: var(--ink); }
.fgd-blog-body svg [fill="#5d6275" i] { fill: var(--muted); } .fgd-blog-body svg [fill="#8a6a12" i] { fill: var(--gold-ink); }
.fgd-blog-body svg [stroke="#e6e1d6" i] { stroke: var(--rule); } .fgd-blog-body svg [stroke="#a9a28f" i] { stroke: var(--c1); } .fgd-blog-body svg [fill="#a9a28f" i] { fill: var(--c1); }
.fgd-blog-body svg [fill="#f4f1ea" i] { fill: var(--soft); } .fgd-blog-body svg [fill="#f1ebdd" i] { fill: var(--illu); }
.fgd-blog-body svg [fill="#5b8fb0" i] { fill: var(--mid); } .fgd-blog-body svg [stroke="#fff" i] { stroke: var(--bg); }
.fgd-blog-body p { margin: 0 0 1.15em; }
.fgd-blog-body b, .fgd-blog-body strong { font-weight: 600; }
.fgd-blog-body h2 { font-size: clamp(27px, 2.4vw, 34px); line-height: 1.18; margin: 2.1em 0 .6em; scroll-margin-top: calc(var(--fgd-header-h) + 24px); counter-increment: sec; }
.fgd-blog-body h2::before { content: counter(sec, decimal-leading-zero); display: block; width: 44px; padding-top: 10px; margin-bottom: 14px; border-top: 2px solid var(--gold); font: 600 13px/1 var(--fgd-sans); letter-spacing: .16em; color: var(--gold-ink); }
.fgd-blog-body h3 { font-size: 22px; line-height: 1.25; }
.fgd-blog-body h4 { font: 600 16px/1.35 var(--fgd-sans); }
.fgd-blog-body a { color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.fgd-blog-body a:hover { color: var(--gold-ink); }
.fgd-blog-body ul.plain { list-style: disc; padding-left: 1.2em; margin: 0 0 1.15em; }
.fgd-blog-body ul.plain li { margin: .3em 0; }
.fgd-blog-body ul.plain li::marker { color: var(--gold-ink); }
.fgd-blog-body .num { font-variant-numeric: tabular-nums; }
.fgd-blog-body p.answer { font-size: 1.12em; line-height: 1.6; }
.fgd-blog-body .summary { border-top: 2px solid var(--accent); margin: 0 0 34px; padding: 18px 0 0; }
.fgd-blog-body .summary li { position: relative; padding-left: 20px; margin: 0 0 12px; font-size: 1.05rem; line-height: 1.5; }
.fgd-blog-body .summary li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }

/* Das Wichtigste in Kürze */
.fgd-blog-body .kurz { margin: 0 0 2.4em; padding: 20px 24px 8px; background: var(--soft); border-top: 2px solid var(--gold); }
.fgd-blog-body .kurz > p.kurz-h { margin: 0 0 10px !important; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--gold-ink); }
.fgd-blog-body .kurz li { position: relative; padding-left: 20px; margin: 0 0 12px; font-size: 1rem; line-height: 1.55; }
.fgd-blog-body .kurz li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--navy); }

.fgd-blog-body p.formula { text-align: center; font-size: 1.05em; margin: 1.4em 0; padding: 16px 12px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }

/* Grafiken und Tabellen: genau Textbreite */
.fgd-blog-body .chart { margin: 2.2em 0 2.6em; padding-top: 14px; border-top: 2px solid var(--navy); }
.fgd-blog-body .chart h3, .fgd-blog-body .sheet h3, .fgd-blog-body .log h3, .fgd-blog-body .sources h3 { margin: 0; font-size: 22px; line-height: 1.25; }
.fgd-blog-body .chart .sub, .fgd-blog-body .sheet .sub { margin: 6px 0 18px; font-size: .95rem; line-height: 1.5; color: var(--muted); }
.fgd-blog-body .credit { margin: 16px 0 0; font-size: .8rem; color: var(--muted); }
.fgd-blog-body .credit a { color: inherit; }
.fgd-blog-body .explore { display: inline-block; margin-top: 14px; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: var(--navy); }
.fgd-blog-body .hbars { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; align-items: center; font-size: .92rem; }
.fgd-blog-body .hbars .cell { height: 26px; position: relative; }
.fgd-blog-body .hbars .cell span { position: absolute; inset: 0 auto 0 0; display: flex; align-items: center; justify-content: flex-end; padding-right: 8px; background: var(--navy); color: var(--on-navy); font-size: .82rem; font-weight: 600; white-space: nowrap; }
.fgd-blog-body .live .hbars .cell span { transition: width 400ms var(--fgs-ease); }
.fgd-blog-body .hbars .cell.hl span { background: var(--gold); color: var(--brand-navy); }
.fgd-blog-body .ctl { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: flex-end; margin: 0 0 18px; font-size: .9rem; }
.fgd-blog-body .ctl label { display: flex; flex-direction: column; gap: 4px; min-width: 220px; flex: 1; }
.fgd-blog-body .ctl output { font-weight: 600; font-size: 1.05rem; }
.fgd-blog-body input[type=range] { accent-color: var(--navy); }
.fgd-blog-body .seg { display: inline-flex; border: 1px solid var(--navy); }
.fgd-blog-body .seg button { font: 500 .88rem var(--font); background: var(--soft); border: 0; padding: 7px 14px; cursor: pointer; color: var(--navy); }
.fgd-blog-body .seg button + button { border-left: 1px solid var(--navy); }
.fgd-blog-body .seg button[aria-pressed="true"] { background: var(--navy); color: var(--on-navy); }
.fgd-blog-body .pull { margin: 1.8em 0; font-family: var(--fgd-serif); font-size: 1.65rem; line-height: 1.3; color: var(--navy); border-left: 3px solid var(--gold); padding-left: 22px; }
.fgd-blog-body .cmp { width: 100%; border-collapse: collapse; font-size: .92rem; line-height: 1.45; margin: .4em 0 1.6em; }
.fgd-blog-body .cmp th, .fgd-blog-body .cmp td { text-align: left; vertical-align: top; padding: 12px 12px 12px 0; border-bottom: 1px solid var(--rule); }
.fgd-blog-body .cmp thead th { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid var(--navy); }
.fgd-blog-body .cmp tbody th { width: 24%; }
.fgd-blog-body .stat { margin: 2em 0; padding: 22px 0 20px; border-top: 2px solid var(--navy); border-bottom: 6px solid var(--navy); }
.fgd-blog-body .stat b { display: block; font-family: var(--fgd-serif); font-weight: 400; font-size: clamp(3.2rem, 7vw, 4.6rem); line-height: 1; color: var(--navy); }
.fgd-blog-body .stat p { margin: 12px 0 0 !important; font-size: 1.15rem; line-height: 1.4; font-weight: 600; }
.fgd-blog-body .stat p.credit { margin-top: 8px !important; font-size: .8rem; font-weight: 400; color: var(--muted); }
.fgd-blog-body .sheet { margin: 2.2em 0 2.4em; }
.fgd-blog-body .sheet-wrap { overflow-x: auto; }
.fgd-blog-body .sheet table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.4; min-width: 560px; }
.fgd-blog-body .sheet th { text-align: left; font-weight: 600; padding: 0 12px 10px 0; border-bottom: 2px solid var(--ink); vertical-align: bottom; }
.fgd-blog-body .sheet td { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.fgd-blog-body .sheet td:first-child { font-weight: 600; }
.fgd-blog-body .sheet .when { white-space: nowrap; font-variant-numeric: tabular-nums; }
.fgd-blog-body .sheet .lvl { display: inline-flex; gap: 3px; vertical-align: middle; margin-right: 6px; }
.fgd-blog-body .sheet .lvl i { width: 8px; height: 8px; border-radius: 50%; background: var(--c-hum); box-shadow: inset 0 0 0 1px var(--accent); }
.fgd-blog-body .sheet .lvl i.on { background: var(--dot-fut); box-shadow: none; }
.fgd-blog-body .ftab { margin: 1.6em 0 2em; overflow-x: auto; }
.fgd-blog-body .ftab table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.4; font-variant-numeric: tabular-nums; }
.fgd-blog-body .ftab th { text-align: left; font-weight: 600; padding: 0 12px 10px 0; border-bottom: 2px solid var(--ink); vertical-align: bottom; }
.fgd-blog-body .ftab td { padding: 11px 12px 11px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.fgd-blog-body .ftab td:first-child { font-weight: 600; }
.fgd-blog-body .ftab .n, .fgd-blog-body .ftab th.n { text-align: right; }
.fgd-blog-body .ftab tr.total td { border-top: 2px solid var(--ink); border-bottom: 0; }
.fgd-blog-body .ftab tr.hl td { background: var(--soft); }
.fgd-blog-body .ftab.bill { max-width: 520px; margin: 1.6em auto 2em; padding: 20px 22px 14px; background: var(--soft); border-top: 3px dashed var(--rule); }
.fgd-blog-body .ftab.bill th { border-bottom: 1px solid var(--ink); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.fgd-blog-body .ftab.bill td { border-bottom: 1px dotted var(--rule); }
.fgd-blog-body .ftab.bill td:first-child { font-weight: 400; }
.fgd-blog-body .ftab.bill tr.total td { font-weight: 600; font-size: 1rem; padding-top: 12px; }

/* Zitate */
.fgd-blog-body .tq { margin: 2.4em 0; }
.fgd-blog-body .tq blockquote { margin: 0; position: relative; padding-top: 34px; }
.fgd-blog-body .tq blockquote::before { content: ""; position: absolute; top: 0; left: 0; width: 64px; height: 3px; background: var(--gold); }
.fgd-blog-body .tq blockquote p { margin: 0 !important; font-family: var(--fgd-serif); font-size: clamp(22px, 2vw, 26px); line-height: 1.38; color: var(--navy); }
.fgd-blog-body .tq figcaption { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--rule); font-size: .88rem; color: var(--muted); }
.fgd-blog-body .tq figcaption b, .fgd-blog-body .tq figcaption strong { color: var(--ink); }
.fgd-blog-body .side-quote { position: relative; height: 0; margin: 0; }
.fgd-blog-body .side-quote blockquote { position: absolute; top: 0; left: calc(100% + 56px); width: 220px; margin: 0; }
.fgd-blog-body .side-quote q { display: block; quotes: none; font-family: var(--fgd-serif); font-size: 1.45rem; line-height: 1.25; color: var(--navy); text-indent: -.5em; }
.fgd-blog-body .side-quote q::before { content: "„"; } .fgd-blog-body .side-quote q::after { content: "“"; }
.fgd-blog-body .side-quote cite { display: block; margin-top: 12px; font-style: normal; font-size: .8rem; color: var(--muted); }
@media (max-width: 1499px) {
  .fgd-blog-body .side-quote { height: auto; margin: 1.8em 0; }
  .fgd-blog-body .side-quote blockquote { position: static; width: auto; border-left: 3px solid var(--gold); padding-left: 20px; }
}

/* Abschnittsbild direkt unter der Überschrift */
.fgd-blog-body .sec-img { margin: 0 0 1.6em; }
.fgd-blog-body .sec-img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--illu); }
.fgd-blog-body .sec-img figcaption { margin-top: 8px; font-size: .8rem; color: var(--muted); }
.fgd-blog-body .sec-img.missing img { display: none; }
.fgd-blog-body .sec-img.missing::before { content: attr(data-wait); display: grid; place-items: center; aspect-ratio: 3 / 2; background: var(--illu); color: var(--muted); font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; }

/* Aufbau-Bausteine */
.fgd-blog-body .ways { display: grid; grid-template-columns: repeat(3, 1fr); margin: 1.6em 0 2em; border-top: 2px solid var(--ink); }
.fgd-blog-body .ways > div { padding: 14px 16px 4px 0; font-size: .92rem; line-height: 1.5; }
.fgd-blog-body .ways > div + div { padding-left: 16px; border-left: 1px solid var(--rule); }
.fgd-blog-body .ways b.w-h { display: block; font-size: 1.05rem; margin-bottom: 6px; }
.fgd-blog-body .ways p { margin: 0 0 .8em !important; }
.fgd-blog-body .steps { margin: 1.6em 0 2em; padding: 0; counter-reset: st; }
.fgd-blog-body .steps li { display: grid; grid-template-columns: 52px 1fr; gap: 0 14px; padding: 14px 0; border-top: 1px solid var(--rule); counter-increment: st; }
.fgd-blog-body .steps li::before { content: counter(st); font-family: var(--fgd-serif); font-size: 2.2rem; line-height: 1; color: var(--gold-ink); }
.fgd-blog-body .steps li p { margin: 0 !important; }
.fgd-blog-body .tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 1.6em 0 2em; }
.fgd-blog-body .tiles > div { background: var(--soft); padding: 16px 18px; font-size: .94rem; line-height: 1.5; }
.fgd-blog-body .tiles p { margin: 0 !important; }
.fgd-blog-body .parts { margin: 1.4em 0 1.8em; padding: 0; counter-reset: pt; }
.fgd-blog-body .parts li { position: relative; padding: 12px 0 12px 54px; border-bottom: 1px solid var(--rule); counter-increment: pt; }
.fgd-blog-body .parts li::before { content: counter(pt); position: absolute; left: 0; top: 12px; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font-weight: 600; font-size: .95rem; line-height: 1; }
.fgd-blog-body .picks { margin: 1.6em 0 2em; counter-reset: pk; }
.fgd-blog-body .picks > div { position: relative; padding: 14px 0 14px 58px; border-bottom: 1px solid var(--rule); counter-increment: pk; }
.fgd-blog-body .picks > div:first-child { border-top: 2px solid var(--ink); }
.fgd-blog-body .picks > div::before { content: ""; position: absolute; left: 0; top: 16px; width: 38px; height: 38px; border-radius: 50%; border: 2px solid var(--gold); background: radial-gradient(circle, var(--gold) 0 5px, transparent 6px); }
.fgd-blog-body .picks p { margin: 0 !important; }
.fgd-blog-body .picks strong { color: var(--navy); }
.fgd-blog-body .log { margin: 2.2em 0; }
.fgd-blog-body .log .sub, .fgd-blog-body .sources .sub { margin: 4px 0 14px; font-size: .92rem; color: var(--muted); }
.fgd-blog-body .log-key { display: flex; gap: 18px; font-size: .82rem; margin: 0 0 14px; }
.fgd-blog-body .log-key i { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.fgd-blog-body .log ol { margin: 0; padding: 0; list-style: none; }
.fgd-blog-body .log li { display: grid; grid-template-columns: 92px 1fr; gap: 0 18px; }
.fgd-blog-body .log time { padding: 14px 0; font-size: .85rem; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; line-height: 1.3; }
.fgd-blog-body .log time small { display: block; font-weight: 400; color: var(--muted); }
.fgd-blog-body .log li > div { position: relative; padding: 14px 0 14px 26px; border-left: 2px solid var(--rule); font-size: .98rem; line-height: 1.5; }
.fgd-blog-body .log li > div::before { content: ""; position: absolute; left: -8px; top: 18px; width: 10px; height: 10px; border-radius: 50%; background: var(--bg); border: 2px solid var(--c-mid); }
.fgd-blog-body .log li.m > div::before { background: var(--c-ki); border-color: var(--c-ki); }
.fgd-blog-body .log li.m > div { font-weight: 600; }
.fgd-blog-body .log b.who { display: block; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: 2px; }
.fgd-blog-body .log .sum { display: grid; grid-template-columns: 92px 1fr; gap: 0 18px; padding-top: 14px; border-top: 2px solid var(--ink); margin-top: 6px; font-size: .95rem; }
.fgd-blog-body .log .sum b { text-align: right; }
.fgd-blog-body .sources { margin: 2.2em 0; }
.fgd-blog-body .src-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 22px; margin-bottom: 22px; }
.fgd-blog-body .src { border-top: 2px solid var(--ink); padding-top: 12px; }
.fgd-blog-body .src strong { display: block; font-size: 1.02rem; line-height: 1.25; }
.fgd-blog-body .src .acc { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; height: 8px; margin: 10px 0 6px; }
.fgd-blog-body .src .acc i { background: var(--rule); }
.fgd-blog-body .src .acc i.on { background: var(--c-ki); }
.fgd-blog-body .src em { display: block; font-style: normal; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.fgd-blog-body .src p { margin: 8px 0 0 !important; font-size: .88rem; line-height: 1.45; color: var(--muted); }
.fgd-blog-body .check { margin: 2.2em 0; padding: 24px 28px; background: var(--soft); }
.fgd-blog-body .check-top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.fgd-blog-body .check h3 { margin: 0; font-size: 22px; }
.fgd-blog-body .check-count { font-size: .85rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fgd-blog-body .check-bar { height: 4px; background: var(--rule); margin: 12px 0 8px; }
.fgd-blog-body .check-bar span { display: block; height: 100%; width: 0; background: var(--c-ki); transition: width 400ms var(--fgs-ease); }
.fgd-blog-body .check li { border-bottom: 1px solid var(--rule); }
.fgd-blog-body .check li:last-child { border-bottom: 0; }
.fgd-blog-body .check label { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 13px 0; cursor: pointer; font-size: .98rem; line-height: 1.5; }
.fgd-blog-body .check input { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; margin: 2px 0 0; border: 2px solid var(--ink); background: var(--bg); cursor: pointer; display: grid; place-items: center; }
.fgd-blog-body .check input:checked { background: var(--c-ki); border-color: var(--c-ki); }
.fgd-blog-body .check input:checked::after { content: ""; width: 5px; height: 10px; border: solid var(--on-ki); border-width: 0 2.5px 2.5px 0; transform: translateY(-1px) rotate(45deg); }
.fgd-blog-body .check input:checked + span { color: var(--muted); text-decoration: line-through; text-decoration-thickness: 1px; }
.fgd-blog-body .check span b { display: block; }
.fgd-blog-body .letter { display: grid; grid-template-columns: 120px 1fr; gap: 28px; align-items: center; background: var(--navy); color: #fff; padding: 28px 32px; margin: 2.4em 0; border-top: 3px solid var(--gold); }
.fgd-blog-body .letter svg { width: 120px; height: auto; display: block; }
.fgd-blog-body .letter h3 { margin: 0; font-size: 24px; line-height: 1.2; }
.fgd-blog-body .letter p { margin: 6px 0 16px !important; font-size: .98rem; line-height: 1.45; color: var(--fgd-on-navy); }
.fgd-blog-body .letter form { display: flex; gap: 10px; flex-wrap: wrap; }
.fgd-blog-body .letter input { flex: 1 1 200px; font: inherit; font-size: .95rem; background: transparent; border: 0; border-bottom: 1.5px solid currentColor; color: inherit; padding: 6px 2px; outline: none; }
.fgd-blog-body .letter button { font: 600 .9rem var(--font); background: var(--btn-bg); color: var(--btn-ink); border: 0; border-radius: var(--fgd-radius); padding: 9px 18px; cursor: pointer; }
.fgd-blog-body .letter small { display: block; margin-top: 10px; font-size: .78rem; color: var(--fgd-on-navy); min-height: 1.2em; }
.fgd-blog-body .bio { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: center; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--ink); font-size: .95rem; line-height: 1.5; }
.fgd-blog-body .bio img { width: 56px; height: 56px; border-radius: 50%; background: var(--brand-navy); padding: 6px; }
.fgd-blog-body .bio p { margin: 0 !important; }

/* Fragen und Antworten */
.fgd-blog-body .qa { margin: 2.2em 0; border-top: 2px solid var(--ink); counter-reset: qa; }
.fgd-blog-body .qa > p.qa-h { margin: 12px 0 4px !important; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--gold-ink); }
.fgd-blog-body .qa details { border-bottom: 1px solid var(--rule); counter-increment: qa; }
.fgd-blog-body .qa summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 44px 1fr 24px; align-items: baseline; padding: 16px 0; font-weight: 600; font-size: 1.06rem; line-height: 1.4; }
.fgd-blog-body .qa summary::-webkit-details-marker { display: none; }
.fgd-blog-body .qa summary::before { content: "F" counter(qa); font-size: .8rem; letter-spacing: .1em; color: var(--gold-ink); font-weight: 600; }
.fgd-blog-body .qa summary::after { content: "+"; font-size: 1.4rem; line-height: 1; font-weight: 400; text-align: right; color: var(--navy); }
.fgd-blog-body .qa details[open] summary::after { content: "–"; }
.fgd-blog-body .qa summary:hover { color: var(--gold-ink); }
.fgd-blog-body .qa details > div { padding: 0 0 18px 44px; }
.fgd-blog-body .qa details > div p { margin: 0 0 .7em !important; font-size: .98rem; line-height: 1.6; }
.fgd-blog-body .faq details { border-bottom: 1px solid var(--rule); padding: 14px 0; }
.fgd-blog-body .faq summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.fgd-blog-body .faq summary::-webkit-details-marker { display: none; }
.fgd-blog-body .faq summary::after { content: "+"; color: var(--gold-ink); }
.fgd-blog-body .faq details[open] summary::after { content: "–"; }
.fgd-blog-body .faq details p { margin: .6em 0 0; font-size: 1rem; }

/* Einschätzung von Fischer & Geserich */
.fgd-blog-body .pos { margin: 2.6em 0 0; padding: 4px 28px 10px; background: var(--soft); border-top: 3px solid var(--navy); }
.fgd-blog-body .pos h2 { margin-top: .9em !important; }
.fgd-blog-body .pos .pos-by { display: flex; align-items: center; gap: 10px; margin: 0 0 14px !important; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.fgd-blog-body .pos .pos-by img { width: 30px; height: 30px; border-radius: 50%; background: var(--brand-navy); padding: 4px; }

/* Gesprächsangebot im Artikel */
.fgd-blog-body .cta { margin: 2.6em 0; padding: 30px 32px; background: var(--navy); color: #fff; position: relative; overflow: hidden; border-top: 3px solid var(--gold); }
.fgd-blog-body .cta::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 200px; height: 200px; border-radius: 50%; border: 28px solid rgba(209, 180, 100, .14); }
.fgd-blog-body .cta h3 { margin: 0 0 10px; font-size: 24px; line-height: 1.2; position: relative; color: #fff; }
.fgd-blog-body .cta p { margin: 0 0 22px !important; font-size: .98rem; line-height: 1.55; color: var(--fgd-on-navy); position: relative; max-width: 540px; }
.fgd-blog-body .cta a.btn { position: relative; display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; background: var(--btn-bg); color: var(--btn-ink); font-weight: 600; font-size: 15px; text-decoration: none; border-radius: var(--fgd-radius); }
.fgd-blog-body .cta a.btn:hover { background: #fff; color: var(--navy); }

/* Ende: Quellen und Hinweise */
.fgd-blog-body .end { border-top: 1px solid var(--rule); margin-top: 2.5em; padding-top: 1.4em; }
.fgd-blog-body .quellen h3 { margin: 0 0 8px; font: 600 13px/1.4 var(--fgd-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }
.fgd-blog-body .quellen ul { font-size: .92rem; line-height: 1.45; }
.fgd-blog-body .quellen li { padding: 8px 0; border-bottom: 1px solid var(--rule); }
.fgd-blog-body .quellen a { text-decoration-color: var(--rule); overflow-wrap: anywhere; }
.fgd-blog-body .quellen a::after { content: " ↗"; color: var(--muted); }
.fgd-blog-body .terms { display: flex; flex-wrap: wrap; gap: 8px; }
.fgd-blog-body .terms a { font-size: .88rem; text-decoration: none; border: 1px solid var(--rule); padding: 4px 12px; }
.fgd-blog-body .actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0 0; }
.fgd-blog-body .note { font-size: .84rem; line-height: 1.55; color: var(--muted); margin: 20px 0 0 !important; }
.fgd-blog-body .note + .note { margin-top: 8px !important; }

@media (max-width: 860px) {
  .fgd-blog-body .hbars, .fgd-blog-body .cmp { font-size: .82rem; }
  .fgd-blog-body .ways { grid-template-columns: 1fr; }
  .fgd-blog-body .ways > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); }
  .fgd-blog-body .tiles { grid-template-columns: 1fr; }
  .fgd-blog-body .pos { padding: 2px 18px 8px; }
  .fgd-blog-body .cta { padding: 26px 20px; margin-left: calc(-1 * var(--fgd-gutter)); margin-right: calc(-1 * var(--fgd-gutter)); }
  .fgd-blog-body .sec-img { margin: 0 calc(-1 * var(--fgd-gutter)) 1.6em; }
  .fgd-blog-body .sec-img figcaption { padding: 0 var(--fgd-gutter); }
  .fgd-blog-body .src-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .fgd-blog-body .check { padding: 20px 18px; }
  .fgd-blog-body .check-top { flex-direction: column; gap: 4px; }
  .fgd-blog-body .log li, .fgd-blog-body .log .sum { grid-template-columns: 64px 1fr; gap: 0 12px; }
  .fgd-blog-body .letter { grid-template-columns: 1fr; padding: 22px 20px; gap: 14px; }
  .fgd-blog-body .letter svg { width: 84px; }
  .fgd-blog-body .sheet table { min-width: 0; }
  .fgd-blog-body .sheet thead { display: none; }
  .fgd-blog-body .sheet tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding: 14px 0; border-bottom: 1px solid var(--rule); }
  .fgd-blog-body .sheet td { padding: 0; border: 0; }
  .fgd-blog-body .sheet td.when { text-align: right; }
  .fgd-blog-body .sheet td[data-l] { grid-column: 1 / -1; font-size: .92rem; }
  .fgd-blog-body .sheet td[data-l]::before, .fgd-blog-body .ftab:not(.bill) td[data-l]::before { content: attr(data-l); display: block; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--muted); margin-bottom: 1px; line-height: 1.3; }
  .fgd-blog-body .ftab:not(.bill) thead { display: none; }
  .fgd-blog-body .ftab:not(.bill) tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; padding: 14px 0; border-bottom: 1px solid var(--rule); }
  .fgd-blog-body .ftab:not(.bill) td { padding: 0; border: 0; text-align: left !important; }
  .fgd-blog-body .ftab:not(.bill) td:first-child { grid-column: 1 / -1; font-size: 1rem; }
  .fgd-blog-body .ftab:not(.bill) td:first-child:empty { display: none; }
  .fgd-blog-body .ftab:not(.bill) tr.total { border-top: 2px solid var(--ink); }
  .fgd-blog-body .ftab.bill { padding: 16px 14px 10px; font-size: .85rem; }
  .fgd-blog-body .steps li { grid-template-columns: 38px 1fr; }
  .fgd-blog-body .steps li::before { font-size: 1.7rem; }
}
@media (max-width: 460px) { .fgd-blog-body .src-grid { grid-template-columns: 1fr; } }

/* Hinweis am Ende der Finanzierungsartikel (Update 5, Abschnitt 2), verlinkt auf das Widget, lädt selbst nichts */
.fgd-blog-widgetlink { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin: 40px 0 0; padding: 22px 24px; background: var(--fgd-navy); color: #fff; text-decoration: none; }
.fgd-blog-widgetlink strong { display: block; font-family: var(--fgd-serif); font-weight: 400; font-size: clamp(21px, 2vw, 25px); color: #fff; }
.fgd-blog-widgetlink small { display: block; margin-top: 4px; font-size: 15px; color: var(--fgd-on-navy); }
.fgd-blog-body a.fgd-blog-widgetlink { color: #fff; text-decoration: none; }
.fgd-blog-widgetlink .fgd-icon { width: 26px; height: 26px; color: var(--fgd-gold); transition: transform 400ms var(--fgs-ease); }
.fgd-blog-widgetlink:hover .fgd-icon { transform: translateX(4px); }

/* ---------- Angleichung an das System ---------- */
/* Artikeltext: Tinte, Grau, Hintergrund und Goldton wie im System */
.fgs .fgd-blog-body { --ink: var(--fgs-ink); --muted: var(--fgs-ink-2); --bg: var(--fgs-bg); --gold-ink: var(--fgs-gold-text); --warn: var(--fgs-gold-text); font-size: var(--fgs-body); }
.fgs .fgd-blog-body h2, .fgs .fgd-blog-body h3 { font-family: var(--fgs-serif); font-weight: 400; color: var(--fgs-ink); }
/* Kopf: Abstände wie die Titelzeile der übrigen Seiten */
.fgs .fgd-blog-hero { padding: clamp(56px, 9vw, 120px) 0 clamp(40px, 6vw, 72px); }
.fgs .fgd-blog-hero .fgs-wrap > nav { grid-column: 1 / -1; }
.fgs .fgd-blog-hero h1 { margin-top: 16px; font-size: clamp(34px, calc(34px + 14 * (100vw - 390px) / 1050), 48px); line-height: 1.12; }
.fgs .fgd-blog-hero .fgs-label a { color: inherit; }
.fgs .fgd-blog-lead img { border-radius: var(--fgs-r); }
/* Livegang 31.10.2026: Bildzeile unter einem Titelbild, das ein Lizenzfoto ist (A7); wie die Bildzeilen im Text */
.fgs .fgd-blog-lead figcaption { margin-top: 8px; font-size: .8rem; color: var(--fgs-ink-2); }
.fgs .fgd-blog-lead figcaption a { color: inherit; }
/* Karten wie S4: ohne Kasten und Schatten, Foto, eine Zeile Einordnung, Titel, Satz, Textlink */
.fgs .fgd-blog-card { background: none; border: 0; box-shadow: none !important; transform: none !important; color: var(--fgs-ink); }
.fgs .fgd-blog-card img { border-radius: var(--fgs-r); }
.fgs .fgd-blog-card-body { padding: 20px 0 0; gap: 10px; }
.fgs .fgd-blog-card-meta { font-size: 13px; color: var(--fgs-ink-2); }
.fgs .fgd-blog-card-meta b { margin: 0; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--fgs-ink-2); }
.fgs .fgd-blog-card-meta b::after { content: " · "; }
.fgs .fgd-blog-card strong { font-size: var(--fgs-h3); line-height: 1.3; }
.fgs .fgd-blog-card:hover strong { color: var(--fgs-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.fgs .fgd-blog-cards { gap: 64px var(--fgs-gap); }
/* Autorenkasten: Personen ohne weißen Kasten */
.fgs .fgd-blog-author { border-top-color: var(--fgs-ink); }
.fgs .fgd-blog-author li a { background: none; padding: 12px 0; border-top: 1px solid var(--fgs-line); }
.fgs .fgd-blog-author li a:hover strong { color: var(--fgs-ink); text-decoration: underline; text-underline-offset: 4px; }
/* Kurzbio unter Name und Rolle (Jesus Fix 5, 29.10.2026) */
.fgs .fgd-blog-author li p { margin: 4px 0 0; font-size: 15px; line-height: 1.55; color: var(--fgs-ink-2); }
/* Hinweis auf den Rechner: hell mit Linie statt Navy (Navy nur im Abschlussband) */
.fgs .fgd-blog-widgetlink { background: none; color: var(--fgs-ink); padding: 20px 0; border-top: 1px solid var(--fgs-ink); border-bottom: 1px solid var(--fgs-line); }
.fgs .fgd-blog-body a.fgd-blog-widgetlink { color: var(--fgs-ink); }
.fgs .fgd-blog-widgetlink strong { color: var(--fgs-ink); }
.fgs .fgd-blog-widgetlink small { color: var(--fgs-ink-2); }
/* Weiterlesen */
.fgs .fgd-blog-more .fgs-links { display: grid; gap: 14px; margin-top: 24px; }
.fgs .fgd-blog-more .fgs-links .fgs-link { margin-top: 0; justify-self: start; }
.fgs .fgd-blog-more h3 { font-size: var(--fgs-h3); }
/* Übersicht: Leitartikel groß (7 Spalten Foto, 4 Spalten Text), darunter Karten */
.fgs-blog-lead { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--fgs-gap); align-items: center; margin-top: 48px; color: var(--fgs-ink); text-decoration: none; }
.fgs-blog-lead .fgs-media { grid-column: 1 / span 7; aspect-ratio: 3 / 2; }
.fgs-blog-lead .fgs-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms var(--fgs-ease); }
.fgs-blog-lead:hover .fgs-media img { transform: scale(1.03); }
.fgs-blog-lead-body { grid-column: 9 / span 4; }
.fgs-blog-lead-body h3 { margin-top: 12px; font-size: var(--fgs-h2); line-height: 1.15; }
.fgs-blog-lead:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.fgs-blog-lead-body > p:not(.fgs-small) { margin-top: 16px; }
.fgs-blog-lead-body .fgs-link { margin-top: 24px; }
@media (max-width: 899px) { .fgs-blog-lead .fgs-media, .fgs-blog-lead-body { grid-column: 1 / -1; } .fgs-blog-lead-body { margin-top: 24px; } }
.fgs-blog-lead + .fgd-blog-cards { margin-top: 80px; padding-top: 64px; border-top: 1px solid var(--fgs-line); }
@media (prefers-reduced-motion: reduce) { .fgs-blog-lead .fgs-media img { transition: none; } .fgs-blog-lead:hover .fgs-media img { transform: none; } }

.fgs .fgd-blog-more { margin-top: 48px; }
/* Listen ohne Punkte wie bisher (fg-design.css: .fgd ul), gleiche Spezifität, damit ul.plain seine Punkte behält */
:where(.fgs) .fgd-blog-body ul { list-style: none; }
/* Leitartikel: Titel eine Stufe kleiner als H2, damit er in 4 Spalten nicht in sechs Zeilen bricht */
.fgs-blog-lead-body h3 { font-size: clamp(26px, calc(26px + 8 * (100vw - 390px) / 1050), 34px); line-height: 1.2; }
/* CP5 Slop-Liste (Brief 3.7): Karten mit zwei Schriftgrößen (Titel, sonst 15 px); Rechner-Hinweis im Artikel hell mit Linie
   statt Navy-Kasten mit Goldring (Navy nur im Abschlussband, Brief 7.3), Knopf wie im System */
.fgs .fgd-blog-card-meta, .fgs .fgd-blog-card-meta b, .fgs .fgd-blog-card-text, .fgs .fgd-blog-card .fgs-link { font-size: 15px; }
.fgs .fgd-blog-body .cta { background: none; color: var(--fgs-ink); padding: 28px 0; border-top: 1px solid var(--fgs-ink); border-bottom: 1px solid var(--fgs-line); overflow: visible; }
.fgs .fgd-blog-body .cta::after { content: none; }
.fgs .fgd-blog-body .cta h3 { color: var(--fgs-ink); font-size: var(--fgs-h3); }
.fgs .fgd-blog-body .cta p { color: var(--fgs-ink-2); font-size: var(--fgs-body); }
.fgs .fgd-blog-body .cta a.btn { min-height: 56px; padding: 0 28px; background: var(--fgs-gold); color: var(--fgs-navy); font: 500 16px/1.2 var(--fgs-sans); border-radius: var(--fgs-r); }
.fgs .fgd-blog-body .cta a.btn:hover { background: #DCC37D; color: var(--fgs-navy); }
@media (max-width: 860px) { .fgs .fgd-blog-body .cta { padding: 24px 0; margin-left: 0; margin-right: 0; } }

/* Update 7 §3.9 (28.10.2026): Lesetext im Blog mindestens 15 px. Klein bleiben Bildnachweise (.sec-img figcaption, .credit), die Quellenliste (.quellen ul)
   und die Zählziffern vor Überschriften und im Inhaltsverzeichnis. Die Diagrammbeschriftungen stehen inline im Artikel und ändern sich nur über artikel.py. */
.fgd-blog-dateline, .fgd-blog-toc summary, .fgd-blog-author-k, .fgd-blog-author li small, .fgd-blog-cats a,
.fgd-blog-body .kurz > p.kurz-h, .fgd-blog-body .qa > p.qa-h, .fgd-blog-body .quellen h3,
.fgd-blog-body .ftab table, .fgd-blog-body .ftab.bill th, .fgd-blog-body .note, .fgd-blog-body .tq figcaption,
.fgs .fgd-blog-card-meta, .fgs .fgd-blog-card-meta b { font-size: 15px; }
@media (max-width: 640px) { .fgd-blog-body .ftab.bill, .fgd-blog-body .ftab:not(.bill) td[data-l]::before { font-size: 15px; } }

/* Update 23 D3 (31.10.2026): Artikeltitel in der H1-Größe aller Seiten (vorher 48 px), Überschrift → Text 24 px (vorher 0,6 em = 20). */
.fgs .fgd-blog-hero h1 { font-size: var(--fgs-h1); line-height: 1.08; }
@media (max-width: 767px) { .fgs .fgd-blog-hero h1 { line-height: 1.12; } }
/* Überschrift → Bauteil wie überall --fgs-head-gap (48 / 32 px), vorher fest 48. */
.fgs .fgs-wrap > h2 + .fgd-blog-more { margin-top: var(--fgs-head-gap); }
.fgs .fgd-blog-body h2 { margin-bottom: 24px; }
.fgs .fgd-blog-body figure.chart > h3 { line-height: 1.35; }
.fgs .fgd-blog-body aside.cta > h3 { line-height: 1.3; }
/* Update 23 D4 (31.10.2026): Chrome macht waagerecht scrollbare Tabellen per Tastatur erreichbar; auch sie bekommen den goldenen
   Fokusrahmen statt des blauen des Browsers. */
.fgs .fgd-blog-body .ftab:focus-visible { outline: 2px solid var(--fgs-gold-text); outline-offset: 3px; }
