@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/fastwahr/ibm-plex-mono-normal-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/fastwahr/ibm-plex-mono-normal-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400 600;font-display:swap;src:url('/assets/fonts/fastwahr/newsreader-italic-400-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/fastwahr/newsreader-normal-400-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* ============================================================
   FASTWAHR – Magazin-Theme für das UHU-CMS
   Kopf, Fuß und Navigation bleiben UHU-CMS (Dunkelblau/Gold);
   der Hauptteil ist Papier, Tinte und Archiv.
   ============================================================ */
body.fw {
  --fw-papier: #f5efe3; --fw-papier-2: #ebe2cf; --fw-karte: #fbf8f1;
  --fw-tinte: #1f1b16; --fw-tinte-2: #574e42; --fw-linie: #cbbd9f;
  --fw-gold-tinte: #7d5f12; --fw-stempel: #9e2f1c;
  --fw-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --fw-mono: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  background: var(--fw-papier);
}
body.fw #main-content { background: var(--fw-papier); color: var(--fw-tinte); }
.fw-seite { padding-bottom: 5rem; }
.fw-rahmen { max-width: var(--max-width, 1200px); margin: 0 auto; padding: 0 1.5rem; box-sizing: border-box; }

/* Kopf: Logo statt Reychsname */
.fw-logo { gap: 0; }
.fw-logo__bild { height: 58px; width: auto; display: block; }
@media (max-width: 900px) { .fw-logo__bild { height: 48px; } }
@media (max-width: 360px) { .fw-logo__bild { height: 40px; } }

/* Laufzeile mit Running Gags */
.fw-laufzeile { background: #13223f; color: rgba(255,255,255,.85); font-family: var(--fw-mono); font-size: .75rem; letter-spacing: .04em; }
.fw-laufzeile__innen { max-width: var(--max-width, 1200px); margin: 0 auto; padding: 0 1.5rem; min-height: 36px; display: flex; align-items: center; gap: .9rem; overflow: hidden; white-space: nowrap; }
.fw-laufzeile__marke { background: var(--gold, #e8b84b); color: var(--blue-dark, #1a2e5a); font-weight: 500; padding: .1rem .5rem; border-radius: 3px; text-transform: uppercase; letter-spacing: .08em; }
.fw-laufzeile__stern { color: var(--gold, #e8b84b); margin-right: .9rem; }
.fw-laufzeile__punkt { flex: none; }
@media (max-width: 1000px) { .fw-laufzeile__punkt:nth-child(n+4) { display: none; } }
@media (max-width: 640px)  { .fw-laufzeile__punkt:nth-child(n+3) { display: none; } .fw-laufzeile__innen { padding: 0 1rem; } }

/* Kopfzeile unter dem Seitenkopf */
.fw-kopfzeile { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1rem 0; border-bottom: 3px double var(--fw-tinte); font-family: var(--fw-mono); font-size: .75rem; letter-spacing: .06em; color: var(--fw-tinte-2); }
.fw-kopfzeile__mitte { text-transform: uppercase; color: var(--fw-tinte); text-align: center; }
@media (max-width: 900px) { .fw-kopfzeile { justify-content: center; } .fw-kopfzeile > span:not(.fw-kopfzeile__mitte) { display: none; } }

/* Typo-Bausteine */
.fw-kicker { display: flex; flex-wrap: wrap; gap: .75rem; align-items: baseline; margin: 0; font-family: var(--fw-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.fw-kicker__rubrik, a.fw-kicker__rubrik { color: var(--fw-gold-tinte); font-weight: 500; }
a.fw-kicker__rubrik:hover { color: var(--fw-tinte); }
.fw-kicker__ort { color: var(--fw-tinte-2); }
.fw-hinweis { margin: .5rem 0 0; font-family: var(--fw-mono); font-size: .75rem; line-height: 1.5; color: var(--fw-tinte-2); }
.fw-stempel { display: inline-flex; align-items: center; border: 2px solid var(--fw-stempel); color: var(--fw-stempel); font-family: var(--fw-mono); font-weight: 500; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; padding: .3rem .6rem; transform: rotate(-6deg); border-radius: 3px; white-space: nowrap; }
.fw-stempel--klein { font-size: .72rem; transform: rotate(-4deg); }
body.fw a { color: var(--fw-tinte); }
body.fw a:hover { color: var(--fw-gold-tinte); }
body.fw #site-header a, body.fw #site-footer a { color: inherit; }
body.fw #main-nav a { color: var(--white, #fff); }
body.fw #main-nav a:hover, body.fw #main-nav a.active { color: var(--gold, #e8b84b); }
body.fw #site-footer .footer-nav a { color: rgba(255,255,255,.7); }
body.fw #site-footer .footer-nav a:hover { color: var(--gold, #e8b84b); }

/* Knöpfe */
.fw-knoepfe { display: flex; flex-wrap: wrap; gap: .75rem; }
.fw-knopf { display: inline-flex; align-items: center; gap: .6rem; min-height: 48px; padding: 0 1.4rem; border-radius: 999px; font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; font-weight: 700; font-size: 1rem; text-decoration: none; box-sizing: border-box; transition: background .2s, color .2s, border-color .2s; }
body.fw .fw-knopf--gold { background: var(--gold, #e8b84b); color: var(--blue-dark, #1a2e5a); }
body.fw .fw-knopf--gold:hover { background: var(--gold-light, #f5d070); color: var(--blue-dark, #1a2e5a); }
body.fw .fw-knopf--rand { border: 2px solid rgba(255,255,255,.65); color: #fff; font-weight: 600; }
body.fw .fw-knopf--rand:hover { border-color: var(--gold, #e8b84b); color: var(--gold, #e8b84b); }
body.fw .fw-knopf--tinte { background: var(--fw-tinte); color: var(--fw-papier); font-weight: 600; align-self: flex-start; }
body.fw .fw-knopf--tinte:hover { background: var(--blue-dark, #1a2e5a); color: #fff; }
body.fw .fw-knopf--rand-tinte { border: 2px solid var(--fw-tinte); color: var(--fw-tinte); font-weight: 600; }
.fw-pfeil { font-family: var(--fw-mono); font-size: .8rem; letter-spacing: .04em; white-space: nowrap; }

/* Bilder */
.fw-bild { margin: 0; position: relative; overflow: hidden; background: #6f5e45; }
.fw-bild img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fw-bild--quer { aspect-ratio: 3 / 2; }
.fw-bild--top { aspect-ratio: 3 / 2; }
.fw-bild--hero { aspect-ratio: 16 / 9; }
.fw-bild--kartei { aspect-ratio: 4 / 3; }
.fw-bild--inhalt { background: none; margin: 1.5rem 0; overflow: visible; }
.fw-bild--inhalt img { height: auto; }
.fw-bild__leer { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background-color: #6f5e45; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 12px); }
.fw-bild__leer img { width: 40%; height: auto; opacity: .35; object-fit: contain; }

/* Topstory */
.fw-top { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 2.5rem; padding-top: 2.5rem; align-items: start; }
.fw-top__text { display: flex; flex-direction: column; gap: 1.1rem; padding-top: .5rem; }
.fw-top__titel { margin: 0; font-family: var(--fw-serif); font-size: clamp(2.1rem, 3.6vw, 3.2rem); line-height: 1.05; font-weight: 700; letter-spacing: -.01em; color: var(--fw-tinte); text-wrap: balance; }
.fw-top__titel a { color: inherit; }
.fw-top__teaser { margin: 0; font-family: var(--fw-serif); font-size: 1.25rem; line-height: 1.5; color: var(--fw-tinte-2); }
.fw-top__zeile { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: .9rem; border-top: 1px solid var(--fw-linie); font-family: var(--fw-mono); font-size: .75rem; color: var(--fw-tinte-2); }
@media (max-width: 900px) { .fw-top { grid-template-columns: 1fr; gap: 1.25rem; padding-top: 1.25rem; } }

/* Abschnitte */
.fw-abschnitt { padding-top: 4.5rem; display: flex; flex-direction: column; gap: 2rem; }
.fw-abschnitt--oben { padding-top: 2.5rem; }
.fw-abschnitt__kopf { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; border-top: 2px solid var(--fw-tinte); padding-top: .9rem; }
.fw-abschnitt__titel { margin: 0; font-family: var(--fw-serif); font-size: 2.1rem; line-height: 1.1; font-weight: 700; color: var(--fw-tinte); }
.fw-abschnitt__unter { margin: .25rem 0 0; font-family: var(--fw-serif); font-style: italic; font-size: 1.05rem; color: var(--fw-tinte-2); }
@media (max-width: 640px) { .fw-abschnitt { padding-top: 3rem; } .fw-abschnitt__titel { font-size: 1.75rem; } .fw-abschnitt__kopf { flex-direction: column; align-items: flex-start; gap: .5rem; } }

.fw-raster { display: grid; gap: 3rem 2.5rem; }
.fw-raster--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fw-raster--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 1000px) { .fw-raster--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fw-raster--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .fw-raster--3 { grid-template-columns: 1fr; gap: 2.25rem; } }
@media (max-width: 340px) { .fw-raster--4 { grid-template-columns: 1fr; } }

/* Karten */
.fw-karte { display: flex; flex-direction: column; gap: .75rem; }
.fw-karte__bild { display: block; }
.fw-karte__text { display: flex; flex-direction: column; gap: .6rem; }
.fw-karte__titel { margin: 0; font-family: var(--fw-serif); font-size: 1.5rem; line-height: 1.2; font-weight: 600; color: var(--fw-tinte); text-wrap: balance; }
.fw-karte__titel a { color: inherit; }
.fw-karte__teaser { margin: 0; font-family: var(--fw-serif); font-size: 1.06rem; line-height: 1.5; color: var(--fw-tinte-2); }
.fw-karte--gross .fw-karte__titel { font-size: 2rem; line-height: 1.15; }
.fw-karte--gross .fw-bild--quer { aspect-ratio: 16 / 10; }
.fw-karte--klein { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 1.25rem; align-items: start; padding-bottom: 1.6rem; border-bottom: 1px solid var(--fw-linie); }
.fw-karte--klein:last-child { border-bottom: 0; padding-bottom: 0; }
.fw-karte--klein .fw-bild--quer { aspect-ratio: 1 / 1; }
.fw-karte--klein .fw-karte__titel { font-size: 1.35rem; }

/* Band „FASTWAHR ermittelt" */
.fw-band { background: var(--fw-papier-2); margin-top: 5rem; padding-bottom: 4rem; }
.fw-band .fw-abschnitt { padding-top: 4rem; }
.fw-ermittelt { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem; align-items: start; }
.fw-ermittelt__liste { display: flex; flex-direction: column; gap: 1.6rem; }
@media (max-width: 900px) { .fw-ermittelt { grid-template-columns: 1fr; } }

/* Karteikarten „Aus dem Archiv" */
.fw-kartei { display: flex; flex-direction: column; gap: .75rem; background: var(--fw-karte); border: 1px solid var(--fw-linie); padding: .9rem; text-decoration: none; color: var(--fw-tinte); transition: transform .2s, box-shadow .2s; }
.fw-kartei:hover { transform: rotate(-.6deg) translateY(-2px); box-shadow: 0 8px 24px rgba(31,27,22,.12); }
.fw-kartei__kopf { display: flex; justify-content: space-between; gap: .5rem; white-space: nowrap; overflow: hidden; font-family: var(--fw-mono); font-size: .68rem; color: var(--fw-tinte-2); letter-spacing: .05em; }
.fw-kartei__titel { font-family: var(--fw-serif); font-size: 1.2rem; line-height: 1.25; font-weight: 600; }

/* Schluss: Orte + Verdächtige */
.fw-schluss { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3rem; align-items: start; }
.fw-schluss__verd--allein { grid-column: 1 / -1; }
@media (max-width: 900px) { .fw-schluss { grid-template-columns: 1fr; } }
.fw-ortliste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
.fw-ortliste a { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; min-height: 44px; padding: .7rem 0; border-bottom: 1px solid var(--fw-linie); font-family: var(--fw-serif); font-size: 1.25rem; box-sizing: border-box; }
.fw-ortliste--breit { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fw-ortliste__zahl { font-family: var(--fw-mono); font-size: .75rem; color: var(--fw-tinte-2); }
@media (max-width: 640px) { .fw-ortliste, .fw-ortliste--breit { grid-template-columns: 1fr; } }

.fw-verdaechtige { position: relative; background: var(--blue-dark, #1a2e5a); color: #fff; border-radius: 4px; padding: 4rem 2.5rem 2.25rem; margin-top: 3.5rem; display: flex; flex-direction: column; gap: 1rem; }
.fw-verdaechtige__uhu { position: absolute; top: -48px; left: 2.5rem; width: 180px; height: auto; }
.fw-verdaechtige__marke { margin: 0; font-family: var(--fw-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold, #e8b84b); }
.fw-verdaechtige h2 { margin: 0; font-family: var(--fw-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; font-weight: 600; color: #fff; text-wrap: balance; }
.fw-verdaechtige p { margin: 0; font-family: var(--fw-serif); font-size: 1.12rem; line-height: 1.55; color: rgba(255,255,255,.87); }
@media (max-width: 640px) { .fw-verdaechtige { padding: 3.5rem 1.5rem 1.75rem; } .fw-verdaechtige__uhu { left: 1.5rem; width: 150px; top: -40px; } }

/* Listen- und Seitenköpfe */
.fw-listenkopf { padding-top: 3rem; display: flex; flex-direction: column; gap: .75rem; }
.fw-listenkopf h1 { margin: 0; font-family: var(--fw-serif); font-size: clamp(2.4rem, 5vw, 3.6rem); line-height: 1.05; font-weight: 700; color: var(--fw-tinte); }
.fw-listenkopf__unter { margin: 0; font-family: var(--fw-serif); font-style: italic; font-size: 1.2rem; color: var(--fw-tinte-2); }
.fw-blaettern { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; }
.fw-leer { padding-top: 4rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.fw-leer h1 { margin: 0; font-family: var(--fw-serif); font-size: 2.4rem; color: var(--fw-tinte); }
.fw-leer p, .fw-leer__text { font-family: var(--fw-serif); font-size: 1.15rem; color: var(--fw-tinte-2); }

/* Einzelbeitrag */
.fw-pfad { display: flex; flex-wrap: wrap; gap: .5rem; padding-top: 1.25rem; font-family: var(--fw-mono); font-size: .75rem; color: var(--fw-tinte-2); }
body.fw .fw-pfad a { color: var(--fw-tinte-2); }
.fw-beitrag__kopf { max-width: 760px; margin: 0 auto; padding: 3rem 1.5rem 2.25rem; display: flex; flex-direction: column; gap: 1.25rem; box-sizing: content-box; }
.fw-beitrag__titel { margin: 0; font-family: var(--fw-serif); font-size: clamp(2.2rem, 5vw, 3.75rem); line-height: 1.04; font-weight: 700; letter-spacing: -.015em; color: var(--fw-tinte); text-wrap: balance; }
.fw-beitrag__teaser { margin: 0; font-family: var(--fw-serif); font-size: clamp(1.2rem, 2vw, 1.45rem); line-height: 1.45; color: var(--fw-tinte-2); }
.fw-beitrag__zeile { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; padding-top: .9rem; border-top: 1px solid var(--fw-linie); font-family: var(--fw-mono); font-size: .8rem; color: var(--fw-tinte-2); }
.fw-beitrag__zeile .fw-stempel { margin-left: auto; }
.fw-beitrag__hero { max-width: 1080px; margin: 0 auto; padding: 0 1.5rem; box-sizing: content-box; }
.fw-beitrag__text, .fw-beitrag__schluss { max-width: 700px; margin: 0 auto; padding: 3rem 1.5rem 0; box-sizing: content-box; }
.fw-beitrag__schluss { padding-top: 0; }
.fw-text { font-family: var(--fw-serif); font-size: 1.25rem; line-height: 1.65; color: var(--fw-tinte); }
.fw-text p { margin: 0 0 1.4rem; }
.fw-beitrag__text > p:first-child::first-letter { float: left; font-size: 4.75rem; line-height: .85; font-weight: 700; padding: .35rem .6rem 0 0; }
.fw-text h2 { font-family: var(--fw-serif); font-size: 1.75rem; line-height: 1.2; color: var(--fw-tinte); margin: 2.25rem 0 .9rem; }
.fw-text h3 { font-family: var(--fw-serif); font-size: 1.35rem; color: var(--fw-tinte); margin: 1.75rem 0 .6rem; }
.fw-text blockquote { margin: 2rem 0; padding: .25rem 0 .25rem 1.75rem; border-left: 3px solid var(--gold, #e8b84b); font-style: italic; font-size: 1.75rem; line-height: 1.3; }
.fw-text ul, .fw-text ol { margin: 0 0 1.4rem 1.4rem; }
.fw-text li { margin-bottom: .5rem; }
body.fw .fw-text a { color: var(--blue-light, #2a4d9c); text-decoration: underline; text-underline-offset: 3px; }
.fw-text--seite { max-width: 720px; }
@media (max-width: 640px) { .fw-text { font-size: 1.12rem; } .fw-beitrag__kopf { padding-top: 2rem; } .fw-beitrag__hero { padding: 0; } .fw-beitrag__hero .fw-hinweis { padding: 0 1.5rem; } }

/* Faktenbox mit Uhu über der Kante */
.fw-fakten { position: relative; margin-top: 5rem; background: var(--fw-karte); border: 1px solid var(--fw-linie); padding: 3.5rem 2.5rem 2.25rem; display: flex; flex-direction: column; gap: 1rem; }
.fw-fakten__uhu { position: absolute; top: -52px; right: 2.5rem; width: 170px; height: auto; }
.fw-fakten h2 { margin: 0; font-family: var(--fw-serif); font-size: 2rem; font-weight: 700; color: var(--fw-tinte); }
.fw-fakten__liste { margin: 0; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .6rem; font-family: var(--fw-serif); font-size: 1.17rem; line-height: 1.55; }
.fw-fakten__werte { display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; margin: 0; padding-top: .9rem; border-top: 1px solid var(--fw-linie); font-family: var(--fw-mono); font-size: .8rem; color: var(--fw-tinte-2); }
.fw-fakten__quellen-titel { margin: .5rem 0 0; font-family: var(--fw-mono); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--fw-gold-tinte); }
.fw-quellen { margin: 0; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .35rem; font-family: var(--fw-serif); font-size: 1.05rem; line-height: 1.5; }
@media (max-width: 640px) { .fw-fakten { padding: 3rem 1.25rem 1.75rem; } .fw-fakten__uhu { right: 1.25rem; width: 140px; top: -43px; } }

.fw-uebergang { margin-top: 3.5rem; background: var(--blue-dark, #1a2e5a); color: #fff; padding: 2.5rem; border-radius: 4px; display: flex; flex-direction: column; gap: .9rem; }
.fw-uebergang p { margin: 0; font-family: var(--fw-serif); font-size: 1.12rem; line-height: 1.55; color: rgba(255,255,255,.87); }
.fw-uebergang .fw-uebergang__titel { font-size: 1.9rem; line-height: 1.25; font-weight: 600; color: #fff; }
@media (max-width: 640px) { .fw-uebergang { padding: 1.75rem 1.25rem; } .fw-uebergang .fw-uebergang__titel { font-size: 1.5rem; } }

.fw-stimmt { padding: 1.5rem 0; border-bottom: 1px solid var(--fw-linie); }
.fw-stimmt h2 { margin-top: 0; }

/* Fuß: Logo statt Reychsname */
.fw-fuss-logo { display: inline-block; margin-bottom: 1rem; }
.fw-fuss-logo img { height: 96px; width: auto; display: block; }
@media (max-width: 640px) {
  .fw-karte--gross .fw-karte__titel { font-size: 1.6rem; }
  .fw-karte--klein { grid-template-columns: 96px minmax(0, 1fr); gap: 1rem; }
  .fw-karte--klein .fw-karte__titel { font-size: 1.2rem; }
  .fw-raster--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .fw-kartei { padding: .6rem; }
  .fw-kartei__kopf > span:last-child { display: none; }
  .fw-kartei__titel { font-size: 1.05rem; }
}
.fw-top__titel--lang { font-size: clamp(1.9rem, 2.6vw, 2.4rem); }
.fw-top__teaser { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
/* Kleingedrucktes: Pflichthinweise erkennbar, aber zurückhaltend */
.fw-hinweis { font-size: .68rem; letter-spacing: .01em; }
.fw-kleingedruckt { margin: 2rem 0 0; font-family: var(--fw-mono); font-size: .68rem; line-height: 1.55; color: var(--fw-tinte-2); }
body.fw .fw-kleingedruckt a { color: var(--fw-tinte-2); text-decoration: underline; text-underline-offset: 2px; }

/* Lange Komposita („Forschungsgegenstandes“) auf schmalen Bildschirmen trennen */
.fw-beitrag__titel, .fw-top__titel, .fw-karte h3, .fw-karte__titel, .fw-text h2 { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }

/* Datumszeile unter der Überschrift (Ort, Datum der Meldung) */
.fw-beitrag__ortzeile { margin: -.35rem 0 0; font-family: var(--fw-mono); font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--fw-tinte-2); }
.fw-beitrag__ort { font-weight: 700; color: var(--fw-tinte); }

/* ── Zeitungssatz für Beiträge (kompakter, Nachrichtenmagazin) ───────────── */
.fw-beitrag__kopf { max-width: 700px; padding: 2.25rem 1.5rem 1.5rem; gap: .8rem; }
.fw-beitrag__titel { font-size: clamp(2rem, 4.2vw, 3.1rem); line-height: 1.06; }
.fw-beitrag__ortzeile { margin: 0; }
.fw-beitrag__teaser { font-size: clamp(1.1rem, 1.6vw, 1.25rem); line-height: 1.42; font-weight: 600; color: var(--fw-tinte); }
.fw-beitrag__zeile { padding-top: .6rem; }
.fw-beitrag__text, .fw-beitrag__schluss { max-width: 660px; padding-top: 1.6rem; }
.fw-text { font-size: 1.1rem; line-height: 1.5; text-align: justify; hyphens: auto; -webkit-hyphens: auto; hanging-punctuation: first; }
.fw-text p { margin: 0 0 .5em; }
.fw-beitrag__text > p:first-child::first-letter { font-size: 3.35rem; line-height: .82; padding: .3rem .45rem 0 0; }
.fw-text h2 { font-size: 1.2rem; line-height: 1.25; font-weight: 700; margin: 1.35em 0 .3em; text-align: left; letter-spacing: 0; }
.fw-text h3 { font-size: 1.1rem; margin: 1.2em 0 .25em; }
.fw-text ul, .fw-text ol { margin: 0 0 .6em 1.2rem; }
.fw-text li { margin-bottom: .2rem; }
.fw-text blockquote { margin: 1.1rem 0; font-size: 1.35rem; }
.fw-fakten { margin-top: 3rem; padding: 3rem 2.25rem 1.9rem; gap: .75rem; }
.fw-fakten h2 { font-size: 1.6rem; }
.fw-fakten__liste { gap: .35rem; font-size: 1.02rem; line-height: 1.45; }
@media (max-width: 640px) {
  .fw-text { font-size: 1.05rem; text-align: left; }
  .fw-beitrag__kopf { padding-top: 1.5rem; }
  .fw-fakten { padding: 2.75rem 1.25rem 1.5rem; }
}
.fw-text { text-align: left; }
.fw-text p { margin: 0 0 .35em; }
.fw-beitrag__text > p:first-child::first-letter { float: none; font-size: inherit; line-height: inherit; font-weight: inherit; padding: 0; }

/* Weiterführende Informationen (unter der Faktenbox) */
.fw-weiter { margin-top: 2rem; padding-top: 1.1rem; border-top: 2px solid var(--fw-tinte); }
.fw-weiter h2 { margin: 0 0 .6rem; font-family: var(--fw-serif); font-size: 1.35rem; font-weight: 700; color: var(--fw-tinte); }
.fw-weiter h3 { margin: .9rem 0 .35rem; font-family: var(--fw-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--fw-gold-tinte); }
.fw-weiter ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; font-family: var(--fw-serif); font-size: 1.02rem; line-height: 1.4; }
.fw-weiter li { padding: .45rem 0; border-bottom: 1px solid var(--fw-linie); }
.fw-weiter a { color: var(--fw-tinte); text-decoration: underline; text-decoration-color: var(--fw-linie); text-underline-offset: 3px; }
.fw-weiter a:hover { text-decoration-color: currentColor; }
.fw-weiter a::after { content: " ↗"; font-size: .85em; color: var(--fw-tinte-2); }
.fw-weiter__host { display: block; font-family: var(--fw-mono); font-size: .72rem; color: var(--fw-tinte-2); }
.fw-uebergang + .fw-weiter { margin-top: 2.25rem; } .fw-weiter + .fw-kleingedruckt { margin-top: 1.5rem; }
.fw-weiter { padding: 1.1rem 0 0; margin-left: 0; margin-right: 0; }

/* Karten: Teaser wie in der Zeitung auf wenige Zeilen kürzen */
.fw-karte__teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.fw-top__teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; line-clamp: 6; overflow: hidden; }

/* Karten im Raster: einheitliche Zeilen – Rubrikzeile immer eine Zeile,
   Titel immer drei Zeilen hoch (kürzere Titel werden aufgefüllt), Teaser vier Zeilen */
.fw-raster .fw-karte .fw-kicker { flex-wrap: nowrap; overflow: hidden; white-space: nowrap; }
.fw-raster .fw-karte .fw-kicker__ort { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.fw-raster .fw-karte:not(.fw-karte--gross) .fw-karte__titel { font-size: 1.38rem; line-height: 1.2; min-height: 3.6em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; text-wrap: pretty; }
.fw-raster .fw-karte__teaser { min-height: 6em; }
@media (max-width: 640px) {
  .fw-raster .fw-karte:not(.fw-karte--gross) .fw-karte__titel { min-height: 0; }
  .fw-raster .fw-karte__teaser { min-height: 0; }
}
a.fw-beitrag__ort { text-decoration: underline; text-decoration-color: var(--fw-linie); text-underline-offset: 3px; }
a.fw-beitrag__ort:hover { text-decoration-color: currentColor; }
.fw-nur-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Handy: Kartenraster darf nie breiter als der Bildschirm werden
   (die einzeilige Rubrikzeile hatte die Spalte auf ihre Textbreite aufgezogen) */
.fw-raster > *, .fw-karte, .fw-karte__text { min-width: 0; }
@media (max-width: 640px) { .fw-raster--3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 340px) { .fw-raster--4 { grid-template-columns: minmax(0, 1fr); } }
.fw-bild img, .fw-karte img { max-width: 100%; height: auto; }
/* Bilder in festen Rahmen füllen den Rahmen immer ganz aus, auch bei anderem Seitenverhältnis (z. B. 16:9 statt 3:2) */
.fw-bild:not(.fw-bild--inhalt) img { height: 100%; object-fit: cover; }

/* Mittlere Breiten (901–1180 px): Navigation etwas enger, damit sie nicht über den Rand läuft */
@media (min-width: 901px) and (max-width: 1180px) {
  body.fw #main-nav > ul > li > a { padding: .45rem .38rem; font-size: .9rem; }
  body.fw .fw-logo__bild { max-width: 150px; height: auto; }
}

/* KI-Hinweis unter den Bildern: 3 px kleiner (10,9 → 7,9 px) */
.fw-hinweis { font-size: .49rem; line-height: 1.45; letter-spacing: .02em; }

/* Karten: ganze Karte führt zum Volltext, dazu sichtbares „Weiterlesen →“ */
.fw-karte { position: relative; }
.fw-karte__titel a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.fw-karte .fw-kicker a { position: relative; z-index: 2; }
.fw-karte__mehr { display: inline-flex; gap: .4rem; margin-top: .15rem; font-family: var(--fw-mono); font-size: .78rem; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: var(--fw-gold-tinte); }
.fw-karte:hover .fw-karte__titel a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.fw-karte:hover .fw-karte__mehr span { transform: translateX(3px); }
.fw-karte__mehr span { transition: transform .15s; }
.fw-karte:hover .fw-bild img { filter: brightness(1.05); }

/* Teilen (Sep 2026): einfache Links, keine fremden Skripte */
.fw-lesezeit { display: inline-flex; align-items: center; gap: .35rem; }
.fw-lesezeit svg { flex: 0 0 auto; }
.fw-teilen { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin-top: .9rem; }
.fw-teilen__label { font-family: var(--fw-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--fw-tinte-2); }
.fw-teilen__liste { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.fw-teilen__liste li { margin: 0; }
.fw-teilen__knopf { display: inline-block; font: 600 .82rem/1.2 system-ui, -apple-system, 'Segoe UI', sans-serif; padding: .45rem .8rem; border-radius: 999px; border: 1px solid var(--fw-linie); background: transparent; color: var(--fw-tinte, #1d1a14); text-decoration: none; cursor: pointer; white-space: nowrap; }
.fw-teilen__knopf:hover, .fw-teilen__knopf:focus-visible { border-color: #1a2e5a; background: #1a2e5a; color: #fff; }
.fw-teilen__knopf--whatsapp { border-color: #25d366; }
.fw-teilen__knopf--haupt { background: #1a2e5a; border-color: #1a2e5a; color: #fff; }
.fw-teilen--unten { display: block; margin: 2rem 0; padding: 1.2rem 1.25rem; border: 1px solid var(--fw-linie); border-radius: 4px; background: rgba(255,255,255,.35); }
.fw-teilen__titel { margin: 0 0 .7rem; font-weight: 600; font-size: 1.1rem; }
@media (max-width: 640px) { .fw-teilen__knopf { font-size: .8rem; padding: .5rem .75rem; } }

.fw-fakten__thema { margin: -.35rem 0 .9rem; font-family: var(--fw-mono); font-size: .78rem; letter-spacing: .04em; color: var(--fw-tinte-2); }

/* ============================================================
   Frischzellenkur (2026-09): heller, farbiger, verspielter.
   Sepia bleibt in den Bildern – drumherum wird es lebendig.
   ============================================================ */
body.fw {
  --fw-papier: #fffcf6; --fw-papier-2: #f6efe2; --fw-karte: #ffffff;
  --fw-tinte: #1c1a17; --fw-tinte-2: #4f4a43; --fw-linie: #e4dccb;
  --fw-rot: #d2402a; --fw-blau: #1f63b8; --fw-gruen: #2c8a55; --fw-ocker: #b9851c;
  --fw-stempel: #d2402a;
  --fw-sans: 'Segoe UI', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
}
/* Moderne Schrift für Bedienelemente, Zeitungsschrift nur noch für Überschriften und Text */
.fw-kicker, .fw-kopfzeile, .fw-pfeil, .fw-top__zeile, .fw-beitrag__zeile, .fw-pfad, .fw-karte__mehr,
.fw-kartei__kopf, .fw-fakten__werte, .fw-fakten__quellen-titel, .fw-hinweis, .fw-ortliste__zahl, .fw-verdaechtige__marke {
  font-family: var(--fw-sans); letter-spacing: .02em;
}
.fw-hinweis { font-size: .72rem; opacity: .8; }
.fw-kopfzeile { border-bottom: 0; padding: .9rem 0 .4rem; font-size: .8rem; }
.fw-kopfzeile__mitte { text-transform: none; font-weight: 600; letter-spacing: .01em; }
body.fw a.fw-kopfzeile__zufall { color: var(--fw-rot); font-weight: 700; text-decoration: none; }
body.fw a.fw-kopfzeile__zufall:hover { color: var(--fw-tinte); }

/* Rubriken als farbige Marken */
.fw-kicker { gap: .6rem; align-items: center; font-size: .72rem; }
.fw-kicker__rubrik, a.fw-kicker__rubrik { display: inline-block; padding: .28rem .6rem; border-radius: 999px; color: #fff !important; background: var(--fw-ocker); font-weight: 700; letter-spacing: .06em; text-decoration: none; line-height: 1.2; }
a.fw-kicker__rubrik:hover { filter: brightness(1.1); color: #fff !important; }
.fw-rubrik--neu-entdeckt { background: var(--fw-rot) !important; }
.fw-rubrik--fastwahr-ermittelt { background: var(--fw-blau) !important; }
.fw-rubrik--grosse-persoenlichkeiten { background: var(--fw-gruen) !important; }
.fw-rubrik--aus-dem-archiv { background: var(--fw-ocker) !important; }
.fw-kicker__ort { font-weight: 600; color: var(--fw-tinte-2); }

/* Bilder: hell statt Braun beim Nachladen, runde Ecken, sanfter Schatten */
.fw-bild { background: #efe7d8; border-radius: 12px; }
.fw-bild--inhalt { border-radius: 0; background: none; }
.fw-bild__leer { background-color: #e6dcc8; }
.fw-karte__bild { position: relative; display: block; border-radius: 12px; box-shadow: 0 6px 18px rgba(28,26,23,.10); transition: transform .25s, box-shadow .25s; }
.fw-karte__bild img { transition: transform .5s; }
.fw-karte:hover .fw-karte__bild { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(28,26,23,.18); }
.fw-karte:hover .fw-karte__bild img { transform: scale(1.04); }
.fw-karte__titel a:hover { color: var(--fw-rot); }
.fw-karte__mehr { color: var(--fw-rot); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }

/* Stempel auf jedem Bild */
.fw-bildstempel { position: absolute; top: 14px; right: 14px; z-index: 2; padding: .25rem .55rem; border: 2px solid var(--fw-rot); border-radius: 4px; background: rgba(255,252,246,.88); color: var(--fw-rot); font-family: var(--fw-mono); font-weight: 500; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; transform: rotate(-7deg); box-shadow: 0 2px 6px rgba(0,0,0,.15); pointer-events: none; }
.fw-karte--klein .fw-bildstempel { display: none; }
.fw-stempel { border-width: 3px; background: rgba(255,252,246,.9); }

/* Aufmacher: großes Bild über die volle Breite, Titel direkt darauf */
.fw-aufmacher { padding-top: 1.25rem; }
.fw-aufmacher__buehne { position: relative; border-radius: 18px; overflow: hidden; min-height: 560px; display: flex; align-items: flex-end; box-shadow: 0 18px 40px rgba(28,26,23,.22); background: #2a241c; }
.fw-aufmacher__bild { position: absolute; inset: 0; }
.fw-bild--aufmacher { position: absolute; inset: 0; border-radius: 0; }
.fw-aufmacher__buehne::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,14,28,0) 30%, rgba(10,14,28,.55) 58%, rgba(10,14,28,.92) 100%); pointer-events: none; }
.fw-aufmacher__text { position: relative; z-index: 2; max-width: 820px; padding: 2.5rem 3rem 2.75rem; display: flex; flex-direction: column; gap: 1rem; }
.fw-aufmacher__titel { margin: 0; font-family: var(--fw-serif); font-size: clamp(2.2rem, 4.2vw, 3.6rem); line-height: 1.04; font-weight: 700; letter-spacing: -.015em; text-wrap: balance; }
body.fw .fw-aufmacher__titel a { color: #fff; text-decoration: none; }
body.fw .fw-aufmacher__titel a:hover { color: var(--gold, #e8b84b); }
.fw-aufmacher__teaser { margin: 0; font-family: var(--fw-serif); font-size: 1.2rem; line-height: 1.5; color: rgba(255,255,255,.9); max-width: 680px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fw-aufmacher .fw-kicker__ort { color: rgba(255,255,255,.85); }
.fw-aufmacher__stempel { position: absolute; top: 28px; right: 28px; z-index: 3; font-size: 1rem; padding: .45rem .8rem; }
.fw-aufmacher > .fw-hinweis { margin-top: .6rem; }
@media (max-width: 760px) {
  .fw-aufmacher__buehne { min-height: 0; flex-direction: column; align-items: stretch; background: var(--fw-karte); box-shadow: 0 8px 22px rgba(28,26,23,.14); }
  .fw-aufmacher__bild, .fw-bild--aufmacher { position: relative; inset: auto; }
  .fw-bild--aufmacher { aspect-ratio: 4 / 3; }
  .fw-aufmacher__buehne::after { display: none; }
  .fw-aufmacher__text { padding: 1.4rem 1.25rem 1.6rem; }
  body.fw .fw-aufmacher__titel a { color: var(--fw-tinte); }
  .fw-aufmacher__teaser { color: var(--fw-tinte-2); font-size: 1.1rem; }
  .fw-aufmacher .fw-kicker__ort { color: var(--fw-tinte-2); }
  body.fw .fw-aufmacher .fw-knopf--rand { border-color: var(--fw-tinte); color: var(--fw-tinte); }
  .fw-aufmacher__stempel { top: 14px; right: 14px; font-size: .8rem; }
}

/* Abschnittsköpfe: farbiger Akzent statt schwarzer Linie */
.fw-abschnitt__kopf { border-top: 0; padding-top: 0; position: relative; padding-left: 1.1rem; }
.fw-abschnitt__kopf::before { content: ''; position: absolute; left: 0; top: .35rem; bottom: .35rem; width: 6px; border-radius: 3px; background: var(--fw-rot); }
.fw-band .fw-abschnitt__kopf::before { background: var(--fw-blau); }
.fw-schluss .fw-abschnitt__kopf::before { background: var(--fw-gruen); }
.fw-abschnitt__unter { font-size: 1rem; }
body.fw a.fw-pfeil { color: var(--fw-rot); font-weight: 700; text-decoration: none; }
body.fw a.fw-pfeil:hover { color: var(--fw-tinte); }
.fw-band { background: linear-gradient(180deg, #eef3fb 0%, #f6efe2 100%); }
.fw-ortliste a { border-bottom-color: var(--fw-linie); transition: color .2s, padding .2s; }
.fw-ortliste a:hover { color: var(--fw-gruen); padding-left: .35rem; }
.fw-verdaechtige { border-radius: 18px; }
.fw-fakten { border-radius: 14px; border-color: var(--fw-linie); box-shadow: 0 8px 24px rgba(28,26,23,.06); }
body.fw .fw-knopf--tinte { background: var(--fw-rot); color: #fff; }
body.fw .fw-knopf--tinte:hover { background: var(--fw-tinte); color: #fff; }
.fw-aufmacher__buehne::after { background: linear-gradient(90deg, rgba(10,14,28,.78) 0%, rgba(10,14,28,.45) 45%, rgba(10,14,28,0) 72%), linear-gradient(180deg, rgba(10,14,28,0) 45%, rgba(10,14,28,.85) 100%); }
.fw-aufmacher__titel, .fw-aufmacher__teaser { text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.fw-kopfzeile__zufall { white-space: nowrap; }
@media (max-width: 900px) { .fw-kopfzeile { flex-wrap: wrap; justify-content: center; gap: .35rem 1rem; font-size: .76rem; } }
@media (max-width: 760px) { .fw-aufmacher__titel, .fw-aufmacher__teaser { text-shadow: none; } }
.fw-beitrag__ortzeile { font-family: var(--fw-sans); letter-spacing: .03em; }
