/* harrypepl.com Design-System
   Papier, Tinte und ein Rostrot. Cardo für Überschriften, Inter für Text, DM Mono für Archivangaben.
   Keine Rollbalken: Filter umbrechen, Tabellen werden am Handy zu Karten. */

@font-face { font-family: "Cardo"; src: url("/assets/fonts/cardo-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("/assets/fonts/inter-var.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "DM Mono"; src: url("/assets/fonts/dmmono-400-latin.woff2") format("woff2"); font-weight: 400; font-display: swap;
  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: "DM Mono"; src: url("/assets/fonts/dmmono-400-latinext.woff2") format("woff2"); font-weight: 400; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "DM Mono"; src: url("/assets/fonts/dmmono-500-latin.woff2") format("woff2"); font-weight: 500; font-display: swap;
  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; }

/* Farbwelt Grün (Daniel 15.10.2026: „er hatte gerne grün als Farbe … damit es nicht so morbid wirkt“).
   Laubgrün aus dem Cover der Doppel-CD 2015, Papier und Türkis aus dem Live-Album 2025. */
:root {
  --papier: #f6f4ec;
  --papier-2: #edf1e3;
  --papier-3: #e0e8d2;
  --tinte: #1c2119;
  --grau: #55604e;
  --grau-2: #667060;
  --linie: #d2d9c4;
  --akzent: #3a6b26;
  --akzent-2: #78ab41;
  --gruen-tief: #1f3a26;
  --gruen-hell: #e2ecd2;
  --gut: #2f6b46;
  --fehler: #a12a1a;
  --held-text: #f7f6ee;
  --fuss-grund: #1f3a26;
  --fuss-text: #eef2e4;
  --fuss-grau: #b9c7ad;
  --schatten: 0 1px 2px rgb(28 33 25 / .06), 0 8px 24px rgb(28 33 25 / .07);

  --titel: "Cardo", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --text: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: "DM Mono", ui-monospace, "SF Mono", Consolas, monospace;

  --breite: 1260px;
  --rand: clamp(16px, 4.2vw, 56px);
  --luft: clamp(56px, 8vw, 112px);
  --radius: 3px;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="hell"]) {
    --papier: #111712; --papier-2: #18211a; --papier-3: #212c23; --tinte: #eceee4; --grau: #a9b3a0; --grau-2: #8c9784;
    --linie: #2f3b31; --akzent: #9cc56b; --akzent-2: #b7d98d; --gruen-tief: #16261a; --gruen-hell: #1d2b1f; --gut: #7cc29a; --fehler: #f08a78; --fuss-grund: #0c140e;
    --schatten: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px rgb(0 0 0 / .35); color-scheme: dark;
  }
}
:root[data-theme="dunkel"] {
  --papier: #111712; --papier-2: #18211a; --papier-3: #212c23; --tinte: #eceee4; --grau: #a9b3a0; --grau-2: #8c9784;
  --linie: #2f3b31; --akzent: #9cc56b; --akzent-2: #b7d98d; --gruen-tief: #16261a; --gruen-hell: #1d2b1f; --gut: #7cc29a; --fehler: #f08a78; --fuss-grund: #0c140e;
  --schatten: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px rgb(0 0 0 / .35); color-scheme: dark;
}
::selection { background: color-mix(in srgb, var(--akzent-2) 45%, transparent); }

/* ---------- Grundlagen ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 88px; }
body {
  margin: 0; background: var(--papier); color: var(--tinte);
  font: 400 1.0625rem/1.65 var(--text); font-feature-settings: "ss01", "cv11";
  overflow-x: hidden; -webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); }
a:hover { color: var(--akzent); text-decoration-color: currentColor; }
:focus-visible { outline: 2px solid var(--akzent); outline-offset: 3px; border-radius: 2px; }
h1, h2, h3, h4 { font-family: var(--titel); font-weight: 400; line-height: 1.12; margin: 0 0 .5em; letter-spacing: -.005em; text-wrap: balance; }
h1 { font-size: clamp(2.5rem, 6.2vw, 5.25rem); letter-spacing: -.015em; }
h2 { font-size: clamp(1.6rem, 3vw, 2.35rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1em; }
p, li { text-wrap: pretty; }
ul, ol { padding-left: 1.2em; }
hr { border: 0; border-top: 1px solid var(--linie); margin: 2.5rem 0; }
mark { background: color-mix(in srgb, var(--akzent) 22%, transparent); color: inherit; padding: 0 .1em; border-radius: 2px; }
blockquote { margin: 0; }
cite { font-style: italic; }
.mono { font-family: var(--mono); font-size: .8125rem; letter-spacing: .02em; font-weight: 400; }
.ueber { color: var(--grau); text-transform: uppercase; letter-spacing: .08em; margin-bottom: .75rem; }
.gross { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.55; }
.klein { font-size: .875rem; color: var(--grau); }
.leer { color: var(--grau); font-style: italic; padding: 2rem 0; }
.unsichtbar { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rahmen { width: 100%; max-width: var(--breite); margin-inline: auto; padding-inline: var(--rand); }
.sprungmarke { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--tinte); color: var(--papier); padding: .6rem 1rem; }
.sprungmarke:focus { top: 1rem; }
.vorschau-hinweis { position: fixed; right: 12px; bottom: 12px; z-index: 90; font: 500 .75rem var(--mono); background: var(--akzent); color: #fff; padding: .35rem .6rem; border-radius: 2px; pointer-events: none; }
main { display: block; min-height: 50vh; }
main > section, main > article, main > div.rahmen { margin-bottom: var(--luft); }

/* ---------- Kopf ---------- */
.kopf { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--papier) 92%, transparent); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--linie); }
.kopf__innen { max-width: var(--breite); margin: auto; padding: .7rem var(--rand); display: flex; align-items: center; gap: 1.5rem; min-height: 64px; }
.marke { display: flex; flex-direction: column; text-decoration: none; line-height: 1; margin-right: auto; }
.marke__name { font: 400 1.6rem/1 var(--titel); letter-spacing: -.01em; }
.marke__daten { font: 400 .6875rem/1 var(--mono); color: var(--grau); letter-spacing: .1em; margin-top: .35rem; }
.marke:hover { color: var(--tinte); }
.hauptnavi ul { list-style: none; display: flex; gap: clamp(.8rem, 1.8vw, 1.7rem); margin: 0; padding: 0; }
.hauptnavi a { text-decoration: none; font-size: .9375rem; font-weight: 500; padding: .4rem 0; border-bottom: 1.5px solid transparent; }
.hauptnavi a[aria-current="page"] { border-bottom-color: var(--akzent); }
.kopf__werkzeuge { display: flex; align-items: center; gap: 1rem; }
.kopf__link { text-decoration: none; font-size: .9375rem; font-weight: 500; white-space: nowrap; }
.kopf__link.ist-aktiv { color: var(--akzent); }
.kopf__zugang { border: 1px solid var(--linie); padding: .35rem .75rem; border-radius: 999px; }
.kopfsuche { position: relative; display: flex; align-items: center; }
.kopfsuche input { width: 11rem; font: inherit; font-size: 1rem; background: var(--papier-2); color: var(--tinte); border: 1px solid transparent; border-radius: 999px; padding: .5rem 2.6rem .5rem .9rem; min-height: 44px; transition: width .2s, border-color .2s; }
.kopfsuche input:focus { width: 16rem; border-color: var(--akzent); outline: 2px solid color-mix(in srgb, var(--akzent) 40%, transparent); outline-offset: 1px; background: var(--papier); }
.kopfsuche button { position: absolute; right: 0; top: 0; width: 44px; height: 44px; display: grid; place-items: center; background: none; border: 0; color: var(--grau); cursor: pointer; }
.vorschlaege { position: absolute; top: calc(100% + 6px); right: 0; width: min(26rem, 88vw); background: var(--papier); border: 1px solid var(--linie); box-shadow: var(--schatten); border-radius: var(--radius); z-index: 60; }
.vorschlaege a { display: block; padding: .6rem .9rem; text-decoration: none; border-bottom: 1px solid var(--linie); }
.vorschlaege a:last-child { border-bottom: 0; }
.vorschlaege a:hover, .vorschlaege a[aria-selected="true"] { background: var(--papier-2); color: var(--tinte); }
.vorschlaege .v-typ { font: .6875rem var(--mono); color: var(--grau); text-transform: uppercase; letter-spacing: .08em; display: block; }
.vorschlaege .v-titel { display: block; font-weight: 500; }
.vorschlaege .v-unter { display: block; font-size: .8125rem; color: var(--grau); }
.vorschlaege .v-alle { font-size: .875rem; color: var(--akzent); }
.menue-mobil { display: none; position: relative; }
.menue-mobil summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; }
.menue-mobil summary::-webkit-details-marker { display: none; }
.menue-mobil summary span { display: block; width: 22px; height: 1.5px; background: var(--tinte); transition: transform .2s, opacity .2s; }
.menue-mobil[open] summary span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.menue-mobil[open] summary span:nth-child(2) { opacity: 0; }
.menue-mobil[open] summary span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.menue-mobil nav { position: fixed; left: 0; right: 0; top: 64px; max-height: calc(100vh - 64px); overflow-y: auto; background: var(--papier); border-bottom: 1px solid var(--linie); padding: 1rem var(--rand) 1.5rem; box-shadow: var(--schatten); }
.menue-mobil ul { list-style: none; padding: 0; margin: 0 0 1rem; }
.menue-mobil li a { display: block; font: 400 1.6rem/1.25 var(--titel); text-decoration: none; padding: .4rem 0; border-bottom: 1px solid var(--linie); }
.menue-mobil__fuer { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--grau); margin: 1rem 0 .3rem; }
.menue-mobil__zielgruppen { display: flex; flex-wrap: wrap; gap: .4rem; }
.menue-mobil__zielgruppen li a { font: 500 .9375rem/1 var(--text); border: 1px solid var(--linie); border-radius: 999px; padding: 0 1rem; min-height: 44px; display: inline-flex; align-items: center; }
/* Sprachwahl DE, EN, FR: im Kopf kompakt, im Handy-Menü als Knöpfe; Hinweis bei Texten, die nur auf Deutsch vorliegen */
.sprachwahl { display: flex; align-items: center; gap: .1rem; font: 500 .75rem/1 var(--mono); letter-spacing: .06em; }
.sprachwahl a { text-decoration: none; color: var(--grau); min-width: 32px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; }
.sprachwahl a:hover { color: var(--tinte); }
.sprachwahl a[aria-current="true"] { color: var(--tinte); text-decoration: underline; text-decoration-color: var(--akzent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.menue-mobil .sprachwahl--menue { gap: .4rem; margin: 0 0 .8rem; font-size: .875rem; }
.menue-mobil .sprachwahl--menue a { border: 1px solid var(--linie); border-radius: 999px; min-width: 56px; }
.menue-mobil .sprachwahl--menue a[aria-current="true"] { border-color: var(--akzent); text-decoration: none; }
.nur-de { font: .8125rem/1.4 var(--text); color: var(--grau); border-left: 3px solid var(--linie); padding: .4rem .8rem; margin: 0 0 1.2rem; }

@media (max-width: 1080px) {
  .hauptnavi { display: none; }
  .menue-mobil { display: block; }
  .kopf__link:not(.kopf__zugang) { display: none; }
}
@media (max-width: 640px) {
  .kopfsuche input { width: 44px; padding-right: .5rem; color: transparent; background: transparent; }
  .kopfsuche input::placeholder { color: transparent; }
  .kopfsuche input:focus { width: calc(100vw - 2 * var(--rand) - 124px); color: var(--tinte); background: var(--papier-2); position: relative; z-index: 2; }
  .kopf__zugang { display: none; }
  .kopf__werkzeuge > .sprachwahl { display: none; }
  .kopf__innen { gap: .5rem; }
  /* Vorschläge am Handy über die volle Breite unter dem Kopf, nie breiter als der Bildschirm */
  .vorschlaege { position: fixed; top: 64px; left: var(--rand); right: var(--rand); width: auto; }
}
.vorschlaege .v-unter { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.meldung { background: var(--papier-2); border-bottom: 1px solid var(--linie); padding: .9rem 0; font-weight: 500; }
.meldung--fehler { background: color-mix(in srgb, var(--fehler) 12%, var(--papier)); }
.meldung-inline { background: var(--papier-2); border-left: 3px solid var(--gut); padding: .8rem 1rem; }

/* ---------- Knöpfe, Links ---------- */
.knopf { display: inline-flex; align-items: center; gap: .45rem; font: 500 .9375rem/1 var(--text); background: var(--akzent); color: #fff; border: 1px solid var(--akzent); border-radius: 999px; padding: .75rem 1.25rem; text-decoration: none; cursor: pointer; transition: background .15s, color .15s, border-color .15s; min-height: 44px; }
.knopf:hover { background: var(--gruen-tief); border-color: var(--gruen-tief); color: #fff; }
:root[data-theme="dunkel"] .knopf:not(.knopf--leise) { color: #10170f; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="hell"]) .knopf:not(.knopf--leise) { color: #10170f; } :root:not([data-theme="hell"]) .knopf:not(.knopf--leise):hover { background: var(--akzent-2); border-color: var(--akzent-2); } }
:root[data-theme="dunkel"] .knopf:not(.knopf--leise):hover { background: var(--akzent-2); border-color: var(--akzent-2); }
.knopf--leise { background: transparent; color: var(--tinte); border-color: var(--linie); }
.knopf--leise:hover { background: var(--papier-2); color: var(--tinte); border-color: var(--tinte); }
.knopf[aria-pressed="true"] { border-color: var(--akzent); color: var(--akzent); }
.knopf[aria-pressed="true"] svg path { fill: currentColor; }
.knopfreihe { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.pfeil { font-weight: 500; text-decoration: none; display: inline-block; margin-right: 1.5rem; color: var(--akzent); }
.pfeil:hover { color: var(--gruen-tief); }
.fliesstext a, .ereignis__text a, .bio__text a { color: var(--akzent); }
.pfeil::after { content: "→"; display: inline-block; margin-left: .4rem; transition: transform .15s; }
.pfeil:hover::after { transform: translateX(3px); }

/* ---------- Startseite ---------- */
.held { position: relative; min-height: min(86vh, 860px); display: flex; align-items: flex-end; color: var(--held-text); background: #0d0c0a; overflow: hidden; }
.held__bild { position: absolute; inset: 0; }
.held__bild picture, .held__bild img { width: 100%; height: 100%; }
.held__bild img { object-fit: cover; object-position: 50% 35%; filter: grayscale(1) contrast(1.05); transform: scale(1.07); /* Scanrand wegschneiden */ }
.held { background: var(--gruen-tief); }
.held__bild--fertig img { transform: none; } /* Startbild-Fassung ist schon zugeschnitten */
/* Foto nie über seine Auflösung hinaus zeigen: höchstens 1500 px breit, mittig, Ränder laufen weich ins Grün aus */
.held__bild { left: 50%; right: auto; width: min(100%, 1500px); transform: translateX(-50%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%); }
@media (max-width: 1500px) { .held__bild { -webkit-mask-image: none; mask-image: none; } }
/* Aufbau wie das EPK von TGATM: Ränder abgedunkelt, Gesicht in der Mitte frei, Stimme links, Name rechts */
.held::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgb(20 42 26 / .84) 0%, rgb(20 42 26 / .38) 28%, rgb(20 42 26 / .04) 48%, rgb(20 42 26 / .04) 56%, rgb(20 42 26 / .4) 74%, rgb(20 42 26 / .86) 100%),
              linear-gradient(180deg, rgb(20 42 26 / 0) 55%, rgb(20 42 26 / .5) 100%); }
.held__raster { position: relative; z-index: 1; width: 100%; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr) minmax(0, .8fr); gap: clamp(24px, 4vw, 56px); align-items: end; padding-top: clamp(48px, 8vw, 96px); padding-bottom: clamp(32px, 5vw, 60px); }
/* Name links (dort ist neben dem Gesicht am meisten Platz), immer in einer Zeile; Pressestimme rechts */
.held__text { grid-column: 1; grid-row: 1; }
.held__name { font-size: clamp(2.6rem, 5.4vw, 6rem); line-height: .95; margin: 0 0 .25em; letter-spacing: -.02em; white-space: nowrap; }
.held__name::after { content: ""; display: block; width: 72px; height: 3px; margin-top: .22em; background: var(--akzent-2); border-radius: 2px; }
.held__zeile { font: 400 clamp(1.05rem, 1.6vw, 1.35rem)/1.35 var(--titel); margin: 0; max-width: 26ch; }
.held__stimme { grid-column: 3; grid-row: 1; margin: 0; max-width: 24ch; justify-self: end; }
.held__stimme blockquote { margin: 0; }
.held__stimme blockquote p { font: 400 clamp(1.25rem, 2.1vw, 1.85rem)/1.3 var(--titel); margin: 0 0 .9rem; }
.held__stimme blockquote p::before { content: "„"; }
.held__stimme blockquote p::after { content: "“"; }
.held__stimme figcaption { font: .75rem var(--mono); letter-spacing: .08em; text-transform: uppercase; color: rgb(247 243 234 / .8); }
.held__stimme figcaption a { color: inherit; text-decoration-color: var(--akzent-2); }
.held :focus-visible, .held__unten :focus-visible { outline-color: var(--held-text); }
@media (max-width: 860px) {
  .held { min-height: min(92vh, 760px); }
  /* Handy: Foto unten verankert größer, damit der gestapelte Text Kinn und Bart frei lässt (UX-Prüfung 15.10.2026) */
  .held__bild--fertig img { transform-origin: 50% 100%; transform: translateY(2%) scale(1.24); }
  .held::after { background: linear-gradient(180deg, rgb(20 42 26 / 0) 28%, rgb(20 42 26 / .55) 60%, rgb(20 42 26 / .9) 100%); }
  .held__raster { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .held__text, .held__stimme { grid-column: 1; grid-row: auto; justify-self: start; }
  .held__name { font-size: clamp(2.6rem, 13vw, 4rem); }
}
.held__unten { background: var(--gruen-tief); color: var(--held-text); }
.held__credit { font-size: .75rem; color: rgb(247 243 234 / .72); margin: 0; padding-top: .6rem; }
.held__fakten { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 28px; margin: .7rem 0 0; padding: 18px 0 26px; border-top: 1px solid rgb(247 243 234 / .16); }
.held__fakten dt { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .12em; color: rgb(247 243 234 / .64); margin-bottom: .3rem; }
.held__fakten dd { margin: 0; font-size: .9375rem; line-height: 1.35; }
.held__fakten a { color: inherit; text-decoration-color: var(--akzent-2); }
body.start main > .held { margin-bottom: 0; }
body.start main > .held__unten { margin-bottom: 0; }

.einstieg { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; padding-top: var(--luft); }
.einstieg__text .gross { font-size: clamp(1.3rem, 2.1vw, 1.75rem); font-family: var(--titel); line-height: 1.4; }
.einstieg__weiter { margin-top: 2rem; }
@media (max-width: 860px) { .einstieg { grid-template-columns: 1fr; } }

.zitat blockquote p { font: 400 clamp(1.35rem, 2.4vw, 2rem)/1.32 var(--titel); margin: 0; }
.zitat blockquote p::before { content: "„"; }
.zitat blockquote p::after { content: "“"; }
.zitat figcaption { margin-top: 1rem; font: .8125rem var(--mono); color: var(--grau); letter-spacing: .03em; }
.zitat--gross { border-left: 2px solid var(--akzent); padding-left: clamp(18px, 2.5vw, 32px); }
.einstieg__lead a { color: inherit; text-decoration-color: var(--akzent-2); text-decoration-thickness: 2px; text-underline-offset: .18em; }
.einstieg__lead a:hover, .einstieg__lead a:focus-visible { color: var(--akzent); }
.stimmen { display: grid; gap: 1.6rem; }
.zitat--stimme { border-left: 2px solid var(--linie); padding-left: clamp(18px, 2.5vw, 32px); }
.zitat--stimme blockquote p { font-size: clamp(1.1rem, 1.5vw, 1.3rem); }
.zitat figcaption a { color: inherit; }
@media (max-width: 860px) {
  /* Tippflächen mindestens 44 px (UX-Prüfung 15.10.2026) */
  .zitat figcaption a { display: inline-block; padding-block: .6rem; }
  .namensliste li { padding: 0; }
  .namensliste a { display: inline-block; min-height: 44px; padding-block: .6rem; }
}
.stimmen__mehr { margin: 0; padding-left: clamp(20px, 2.5vw, 34px); }

.abschnitt-titel { font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin-bottom: 1.4rem; }
.zugaenge { background: var(--papier-2); padding-block: var(--luft); border-block: 1px solid var(--linie); }
.zugaenge__raster { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--linie); }
.zugang-kachel { display: flex; flex-direction: column; gap: .5rem; height: 100%; padding: 1.6rem 1.6rem 1.8rem 0; text-decoration: none; border-bottom: 1px solid var(--linie); }
.zugaenge__raster li:not(:nth-child(3n+1)) .zugang-kachel { padding-left: 1.6rem; border-left: 1px solid var(--linie); }
.zugang-kachel__fuer { color: var(--grau); text-transform: uppercase; letter-spacing: .08em; font-size: .6875rem; }
.zugang-kachel__titel { font: 400 1.75rem/1.1 var(--titel); }
.zugang-kachel__titel::after { content: " →"; color: var(--akzent); opacity: 0; transition: opacity .15s; }
.zugang-kachel:hover .zugang-kachel__titel::after { opacity: 1; }
.zugang-kachel__text { color: var(--grau); font-size: .9375rem; }
.zugang-kachel:hover { color: var(--tinte); }
@media (max-width: 900px) {
  .zugaenge__raster { grid-template-columns: 1fr 1fr; }
  .zugaenge__raster li .zugang-kachel { padding-left: 0 !important; border-left: 0 !important; }
  .zugaenge__raster li:nth-child(2n) .zugang-kachel { padding-left: 1.2rem !important; border-left: 1px solid var(--linie) !important; }
}
@media (max-width: 560px) {
  .zugaenge__raster { grid-template-columns: 1fr; }
  .zugaenge__raster li:nth-child(2n) .zugang-kachel { padding-left: 0 !important; border-left: 0 !important; }
}

.hervor { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.hervor__titel { font-size: clamp(1.9rem, 3.4vw, 3rem); margin-bottom: .3rem; }
.hervor__titel a { text-decoration: none; }
.hervor__artist { color: var(--grau); font-size: 1.05rem; }
@media (max-width: 760px) { .hervor { grid-template-columns: 1fr; } .hervor__cover { max-width: 420px; } }

.stationen { border-top: 1px solid var(--linie); padding-top: var(--luft); }
.stationen__liste { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.2rem 2rem; counter-reset: st; }
.station { display: flex; flex-direction: column; gap: .3rem; padding-top: 1rem; border-top: 1px solid var(--tinte); }
.station__jahr { font: 400 2.1rem/1 var(--titel); letter-spacing: -.01em; }
.station__titel { font-weight: 500; }
.station__ort { color: var(--grau); font-size: .9375rem; }
@media (max-width: 860px) { .stationen__liste { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .stationen__liste { grid-template-columns: 1fr; } }

.namensliste { list-style: none; padding: 0; margin: 0 0 2rem; columns: 3 15rem; column-gap: 2.5rem; }
.namensliste li { break-inside: avoid; padding: .45rem 0; border-bottom: 1px solid var(--linie); font: 400 1.2rem/1.3 var(--titel); }
.namensliste a { text-decoration: none; }
.namensliste__instr { font: .75rem var(--text); color: var(--grau); margin-left: .35rem; }

.zahlen { background: var(--gruen-hell); color: var(--gruen-tief); padding-block: clamp(40px, 6vw, 72px); border-block: 1px solid var(--linie); }
.zahlen__raster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.zahlen__titel { font-size: .75rem; font-weight: 400; text-transform: uppercase; letter-spacing: .14em; color: var(--grau); margin: 0 0 1.4rem; }
.zahlen__hinweis { margin: 1.8rem 0 0; font-size: .9375rem; max-width: 62ch; }
.zahlen__hinweis a { color: var(--akzent); }
.zahlen a { text-decoration: none; display: flex; flex-direction: column; gap: .4rem; }
.zahlen a:hover { color: var(--akzent); }
.zahlen__wert { font: 400 clamp(2.8rem, 6vw, 4.8rem)/1 var(--titel); }
.zahlen__name { color: var(--grau); text-transform: uppercase; letter-spacing: .1em; font-size: .6875rem; }
@media (max-width: 640px) { .zahlen__raster { grid-template-columns: 1fr 1fr; } }
:root[data-theme="dunkel"] .zahlen { color: var(--tinte); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="hell"]) .zahlen { color: var(--tinte); } }

.aktuell { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 80px); }
@media (max-width: 760px) { .aktuell { grid-template-columns: 1fr; } }
.liste-neu, .liste-termine { list-style: none; padding: 0; margin: 0; }
.liste-neu li, .liste-termine li { padding: 1rem 0; border-top: 1px solid var(--linie); }
.liste-neu a { text-decoration: none; display: flex; flex-direction: column; gap: .2rem; font-weight: 500; }
.liste-neu p { color: var(--grau); margin: .3rem 0 0; font-size: .9375rem; }
.liste-neu--gross strong { font: 400 1.6rem/1.2 var(--titel); }

/* ---------- Seitenkopf, Brotkrumen ---------- */
.seitenkopf { padding-top: clamp(36px, 6vw, 80px); padding-bottom: clamp(20px, 3vw, 36px); }
.seitenkopf h1 { max-width: 18ch; }
.seitenkopf__ueber { color: var(--grau); text-transform: uppercase; letter-spacing: .08em; margin-bottom: .6rem; }
.seitenkopf__einleitung { font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: var(--grau); max-width: 62ch; margin-top: 1rem; }
.brotkrumen ol { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem; padding: 0; margin: 0 0 1.2rem; font: .75rem var(--mono); letter-spacing: .04em; color: var(--grau); }
.brotkrumen li + li::before { content: "/"; margin-right: .3rem; color: var(--linie); }
.brotkrumen a { text-decoration: none; }
.datensatz { padding-top: clamp(24px, 4vw, 48px); }

/* ---------- Filter, Chips, Werkzeugleiste ---------- */
.filter { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; padding: .7rem 0; border-top: 1px solid var(--linie); }
.filter + .filter { border-top: 0; padding-top: 0; }
.filter__titel { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--grau); min-width: 6.5rem; }
.chips { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 0; flex: 1 1 0; min-width: 0; }
.chip { display: inline-flex; align-items: center; gap: .35rem; font-size: .875rem; text-decoration: none; padding: .3rem .75rem; border: 1px solid var(--linie); border-radius: 999px; white-space: nowrap; min-height: 38px; }
@media (max-width: 760px) { .chip { min-height: 44px; padding-inline: .9rem; } }
.filterbox { margin-bottom: .5rem; }
.filterbox > summary { display: none; }
.filterbox__aktiv { font: .6875rem var(--mono); background: var(--akzent); color: #fff; border-radius: 999px; padding: .1rem .5rem; margin-left: .4rem; }
@media (max-width: 760px) {
  .filterbox { border-top: 1px solid var(--linie); }
  .filterbox > summary { display: flex; align-items: center; min-height: 48px; cursor: pointer; font-weight: 600; list-style: none; }
  .filterbox > summary::-webkit-details-marker { display: none; }
  .filterbox > summary::after { content: "+"; margin-left: auto; font: 400 1.4rem var(--text); color: var(--akzent); }
  .filterbox[open] > summary::after { content: "−"; }
  .filterbox .filter { border-top: 0; }
}
.chip:hover { border-color: var(--tinte); color: var(--tinte); }
.chip.ist-aktiv { background: var(--akzent); border-color: var(--akzent); color: #fff; }
:root[data-theme="dunkel"] .chip.ist-aktiv { color: #10170f; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="hell"]) .chip.ist-aktiv { color: #10170f; } }
.chip__zahl { font: .6875rem var(--mono); color: var(--grau); }
.chip.ist-aktiv .chip__zahl { color: color-mix(in srgb, var(--papier) 70%, transparent); }
.werkzeugleiste { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1.5rem; padding: 1rem 0 1.5rem; border-top: 1px solid var(--linie); }
.werkzeugleiste p { margin: 0; color: var(--grau); font-size: .875rem; }
.schnellfilter input, .suchfeld input, .formular input[type="text"], .formular input[type="email"], .formular input[type="search"], .formular select, .formular textarea {
  font: inherit; width: 100%; color: var(--tinte); background: var(--papier); border: 1px solid var(--linie); border-radius: var(--radius); padding: .7rem .85rem; min-height: 44px;
}
.schnellfilter { flex: 1 1 16rem; max-width: 24rem; }
.formular input[type="file"] { font: inherit; font-size: .9375rem; width: 100%; padding: .9rem; border: 1px dashed var(--linie); border-radius: var(--radius); background: var(--papier-2); color: var(--tinte); cursor: pointer; min-height: 44px; }
.formular input[type="file"]::file-selector-button { font: 500 .9375rem var(--text); margin-right: 1rem; padding: .55rem 1.1rem; border: 1px solid var(--tinte); border-radius: 999px; background: var(--tinte); color: var(--papier); cursor: pointer; }
.formular input[type="file"]:hover { border-color: var(--tinte); }
.formular select, .formular input, .formular textarea { font-size: 1rem; }
.schnellfilter input:focus, .suchfeld input:focus, .formular :is(input, select, textarea):focus { border-color: var(--tinte); outline: 2px solid color-mix(in srgb, var(--akzent) 35%, transparent); outline-offset: 0; }

/* ---------- Cover und Karten ---------- */
.cover { aspect-ratio: 1; background: var(--papier-3); overflow: hidden; border-radius: 1px; box-shadow: var(--schatten); }
.cover picture, .cover img { width: 100%; height: 100%; object-fit: cover; }
.cover--leer { display: flex; align-items: flex-end; padding: 1rem; background: linear-gradient(140deg, var(--papier-3), var(--papier-2)); box-shadow: inset 0 0 0 1px var(--linie); }
.cover--leer span { font: 400 1.05rem/1.2 var(--titel); color: var(--grau); }
.raster-cover { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(170px, 42vw), 1fr)); gap: 2rem 1.4rem; margin-bottom: 2rem; }
.raster-cover--klein { grid-template-columns: repeat(auto-fill, minmax(min(140px, 40vw), 1fr)); }
/* Diskografie: Schlager und Unterhaltung je Jahrzehnt zugeklappt (Daniel 15.10.2026) */
.unterhaltung { margin: 0 0 2rem; border-top: 1px solid var(--linie); }
.unterhaltung > summary { cursor: pointer; padding: .9rem 0; min-height: 44px; color: var(--akzent); font-weight: 500; }
.unterhaltung[open] > summary { margin-bottom: 1rem; }
.karte-release a { text-decoration: none; display: block; }
.karte-release .cover { transition: transform .2s; }
.karte-release a:hover .cover { transform: translateY(-3px); }
.karte-release__titel { font: 400 1.12rem/1.2 var(--titel); margin: .8rem 0 .15rem; }
.karte-release__artist { font-size: .875rem; color: var(--grau); margin: 0 0 .2rem; }
.karte-release__meta { color: var(--grau); margin: 0; font-size: .75rem; }
.zeitleiste__dekade { font-size: clamp(1.5rem, 2.6vw, 2.1rem); padding-top: 1.5rem; margin-top: 1rem; border-top: 1px solid var(--tinte); }

/* ---------- Datensatzseiten ---------- */
.album { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; margin-bottom: clamp(40px, 6vw, 72px); }
.album__titel { font-size: clamp(2.1rem, 4.6vw, 3.8rem); margin-bottom: .25rem; }
.album__artist { font-size: 1.15rem; color: var(--grau); margin-bottom: 1.5rem; }
.album__cover .bild__credit { margin-top: .5rem; }
@media (max-width: 820px) { .album { grid-template-columns: 1fr; } .album__cover { max-width: 460px; } }
.daten { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .45rem 1.4rem; margin: 1.5rem 0; padding: 1.1rem 0; border-block: 1px solid var(--linie); }
.daten dt { font: .6875rem/1.9 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--grau); }
.daten dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 480px) { .daten { grid-template-columns: 1fr; gap: 0; } .daten dd { margin-bottom: .6rem; } }
.datensatz__kopf { max-width: 52rem; margin-bottom: clamp(24px, 4vw, 48px); }
.datensatz__kopf h1 { font-size: clamp(2.3rem, 5vw, 4.2rem); }
/* Personenseite mit Bild: Name links, Foto oder Porträt rechts, am Handy darunter */
.datensatz__kopf--bild { max-width: none; display: grid; grid-template-columns: minmax(0, 52rem) minmax(0, 320px); justify-content: space-between; gap: clamp(24px, 4vw, 64px); align-items: end; }
.datensatz__bild img { max-height: 440px; object-fit: contain; object-position: left bottom; background: none; }
@media (max-width: 760px) { .datensatz__kopf--bild { grid-template-columns: 1fr; } .datensatz__bild { max-width: 360px; } }
.datensatz__neben { color: var(--grau); font-size: 1.1rem; }
.datensatz__raster { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: clamp(32px, 5vw, 80px); align-items: start; }
.datensatz__haupt > section { margin-bottom: 2.8rem; }
.datensatz__rand { display: flex; flex-direction: column; gap: 1.6rem; position: sticky; top: 96px; }
@media (max-width: 960px) { .datensatz__raster { grid-template-columns: 1fr; } .datensatz__rand { position: static; } }
.randkasten { border-top: 1px solid var(--tinte); padding-top: 1rem; }
.randkasten__titel { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--grau); margin-bottom: .8rem; }
.besetzung { list-style: none; padding: 0; margin: 0; }
.besetzung li { padding: .5rem 0; border-bottom: 1px solid var(--linie); }
.besetzung a { font-weight: 500; text-decoration: none; }
.besetzung__instr { display: block; font-size: .875rem; color: var(--grau); }
.liste-schlicht { list-style: none; padding: 0; margin: 0; }
.liste-schlicht li { padding: .45rem 0; border-bottom: 1px solid var(--linie); }
.liste-schlicht a { text-decoration: none; }
.liste-schlicht .mono { color: var(--grau); }
.trackliste { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--tinte); }
.trackliste__disc { padding: 1rem 0 .3rem; color: var(--grau); text-transform: uppercase; letter-spacing: .1em; }
.track { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto auto; gap: .3rem 1rem; align-items: baseline; padding: .6rem 0; border-bottom: 1px solid var(--linie); }
.track__nr { color: var(--grau); }
.track__titel a { text-decoration: none; font-weight: 500; }
.track__titel a:hover { text-decoration: underline; }
.track__anm { color: var(--grau); font-size: .875rem; }
.track__dauer, .track__isrc { color: var(--grau); }
@media (max-width: 640px) { .track { grid-template-columns: 2rem minmax(0, 1fr) auto; } .track__isrc { grid-column: 2 / -1; font-size: .6875rem; } }
.aufnahmen { list-style: none; padding: 0; margin: 0; }
.aufnahme { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 1rem; align-items: center; text-decoration: none; padding: .7rem 0; border-bottom: 1px solid var(--linie); }
.aufnahme .cover { box-shadow: none; }
.aufnahme__text { display: flex; flex-direction: column; gap: .1rem; }
.aufnahme__text span { color: var(--grau); font-size: .875rem; }
.verknuepft { margin-top: 2.5rem; }
.verwandt { margin-top: var(--luft); border-top: 1px solid var(--linie); padding-top: 2rem; }

.zitieren { border: 1px solid var(--linie); border-radius: var(--radius); padding: .2rem 1rem; }
.zitieren summary { cursor: pointer; font-weight: 500; padding: .6rem 0; }
.zitieren__text { font: .8125rem/1.6 var(--mono); background: var(--papier-2); padding: .8rem; border-radius: var(--radius); overflow-wrap: anywhere; }
.zitieren__aktionen { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; font-size: .875rem; }
.anfrage-hinweis { background: var(--papier-2); border-left: 2px solid var(--akzent); padding: 1.3rem 1.4rem; margin: 2.5rem 0; }
.datensatz__rand .anfrage-hinweis { margin: 0; }
.anfrage-hinweis p:last-child { margin-bottom: 0; }

/* ---------- Bilder ---------- */
.bild { margin: 0; }
.bild img { width: 100%; height: auto; background: var(--papier-3); }
.bild figcaption { margin-top: .5rem; display: flex; flex-direction: column; gap: .1rem; }
.bild__titel { font-size: .875rem; }
.bild__credit { font-size: .75rem; color: var(--grau); }
/* Fotos und Videos zwischen den Absätzen langer Texte ([[bild:…]], [[youtube:…]]) */
.fliesstext .bild--text { margin: 2.2rem 0; }
.bild--text picture { display: block; }
.bild--text img { width: auto; max-width: 100%; max-height: 72vh; }
.fliesstext .video { margin: 2.2rem 0; }
.raster-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 2rem 1.6rem; align-items: start; margin-bottom: 2rem; }
.raster-fotos--galerie { grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); }
.pressefoto p { margin-top: .6rem; display: flex; gap: .8rem; align-items: center; }

/* ---------- Fließtext ---------- */
.artikel { max-width: 50rem; }
.fliesstext { max-width: 68ch; }
.fliesstext--lang { font-size: 1.0625rem; }
.fliesstext h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin-top: 2.6rem; padding-top: 1.4rem; border-top: 1px solid var(--linie); }
.fliesstext h2:first-child { margin-top: 0; }
.fliesstext h3 { margin-top: 2rem; }
.fliesstext p, .fliesstext li { line-height: 1.75; }
.fliesstext blockquote { border-left: 2px solid var(--akzent); padding: .2rem 0 .2rem 1.3rem; margin: 1.8rem 0; font: 400 1.3rem/1.45 var(--titel); }
/* Hervorgehobenes Zitat im Fließtext (Markdown: Blockzitat mit letzter Zeile „@ Wer, Quelle“) */
.fliesstext .zitat--text { margin: 2.6rem 0; }
.fliesstext .zitat--text blockquote { border: 0; padding: 0; margin: 0; font: inherit; }
.fliesstext ul, .fliesstext ol { margin: 0 0 1.2em; }
.fliesstext li { margin-bottom: .35em; }
sup.fn { font: 500 .75rem var(--mono); line-height: 0; margin-left: .1em; }
sup.fn a { text-decoration: none; color: var(--akzent); display: inline-block; padding: 12px 7px; margin: -12px -5px; }
.fussnoten { margin-top: 3rem; padding-top: .4rem; border-top: 1px solid var(--tinte); font-size: .875rem; color: var(--grau); }
.fussnoten__titel { font: .75rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--grau); min-height: 44px; display: flex; align-items: center; gap: .5rem; cursor: pointer; }
.fussnoten__titel::after { content: "anzeigen"; margin-left: auto; color: var(--akzent); text-transform: none; letter-spacing: 0; }
.fussnoten[open] .fussnoten__titel::after { content: "ausblenden"; }
.fussnoten li:target { background: color-mix(in srgb, var(--akzent-2) 18%, transparent); border-radius: 2px; }
.fussnoten ol { padding-left: 1.6em; }
.fussnoten li { line-height: 1.55 !important; margin-bottom: .4em; }
.fussnoten__zurueck { text-decoration: none; margin-left: .2rem; display: inline-block; padding: 10px 8px; margin: -10px 0; }
.stand { color: var(--grau); margin-top: 2.5rem; font-size: .75rem; }

/* ---------- Leben ---------- */
.leben { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 320px); gap: clamp(32px, 6vw, 96px); align-items: start; }
.leben__rand { display: flex; flex-direction: column; gap: 2rem; }
.inhaltsverzeichnis { border: 1px solid var(--linie); border-radius: var(--radius); background: var(--papier-2); padding: 1rem 1.2rem; margin-bottom: 2.5rem; max-width: 68ch; }
.inhaltsverzeichnis ol { margin: 0; padding-left: 1.4em; columns: 2 16rem; column-gap: 2rem; }
.inhaltsverzeichnis li { break-inside: avoid; }
.inhaltsverzeichnis a { display: inline-flex; align-items: center; padding: .35rem 0; min-height: 44px; text-decoration: none; color: var(--akzent); }
.inhaltsverzeichnis a:hover { text-decoration: underline; }
@media (max-width: 960px) { .leben { grid-template-columns: 1fr; } .leben__rand { position: static; } }
.eckdaten { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .35rem 1rem; margin: 0 0 1rem; font-size: .9375rem; }
.eckdaten dt { color: var(--grau); }
.eckdaten dd { margin: 0; }
.fotostreifen { border-top: 1px solid var(--linie); padding-top: 2rem; }

/* ---------- Chronik ---------- */
.zeitleiste__liste { list-style: none; padding: 0; margin: 0 0 1rem; }
.ereignis { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: .3rem 2rem; padding: 1.1rem 0; border-bottom: 1px solid var(--linie); }
.ereignis__datum { color: var(--grau); margin: .3rem 0 0; }
.ereignis__titel { font: 400 1.3rem/1.3 var(--titel); margin: 0 0 .2rem; }
.ereignis__ort { color: var(--grau); font-size: .9375rem; margin: 0 0 .3rem; }
.ereignis__text p { margin-bottom: .4rem; }
.ereignis__art { color: var(--grau-2); margin: .2rem 0 0; font-size: .6875rem; text-transform: uppercase; letter-spacing: .08em; }
.ereignis:target { background: color-mix(in srgb, var(--akzent) 8%, transparent); }
@media (max-width: 640px) { .ereignis { grid-template-columns: 1fr; } }

/* ---------- Tabellen (am Handy Karten) ---------- */
.tabelle { width: 100%; border-collapse: collapse; margin-bottom: 2rem; font-size: .9375rem; }
.tabelle th, .tabelle td { text-align: left; padding: .7rem .8rem .7rem 0; border-bottom: 1px solid var(--linie); vertical-align: top; }
.tabelle thead th { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--grau); border-bottom-color: var(--tinte); }
.tabelle tbody th { font-weight: 500; }
.tabelle tbody th a { text-decoration: none; }
.tabelle tbody th a:hover { text-decoration: underline; }
.tabelle__neben { display: block; font-weight: 400; color: var(--grau); font-size: .8125rem; }
.tabelle td.mono { color: var(--grau); white-space: nowrap; max-width: 14rem; }
.tabelle { table-layout: auto; }
.tabelle th, .tabelle td { overflow-wrap: anywhere; }
.marke-klein { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .06em; border: 1px solid var(--linie); padding: .1rem .45rem; border-radius: 2px; white-space: nowrap; }
@media (max-width: 760px) {
  .tabelle thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabelle, .tabelle tbody, .tabelle tr, .tabelle th, .tabelle td { display: block; width: 100%; }
  .tabelle tr { padding: .9rem 0; border-bottom: 1px solid var(--linie); }
  .tabelle th, .tabelle td { border: 0; padding: .1rem 0; }
  .tabelle tbody th { font: 400 1.2rem/1.3 var(--titel); margin-bottom: .3rem; }
  .tabelle td:empty { display: none; }
  .tabelle td[data-label]::before { content: attr(data-label) ": "; font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--grau-2); }
  .tabelle td.mono { white-space: normal; }
}

/* ---------- Personen, Kacheln ---------- */
.personenliste { list-style: none; padding: 0; margin: 0 0 3rem; columns: 3 17rem; column-gap: 2.5rem; }
.personenliste li { break-inside: avoid; border-bottom: 1px solid var(--linie); }
.personenliste a { display: block; padding: .6rem 0; text-decoration: none; }
.personenliste__name { display: block; font: 400 1.2rem/1.25 var(--titel); }
.personenliste__info { display: block; font-size: .8125rem; color: var(--grau); }
/* Beziehung zu Harry (Schüler:in, spielt seine Musik, Umfeld); Mitspieler:innen ohne Marke */
.personenliste__beziehung { display: block; margin-top: .15rem; font-size: .75rem; color: var(--akzent); }
.datensatz__beziehung { margin-top: .5rem; font-size: .875rem; }
.kachelliste, .werkkacheln { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 1rem; }
.kachelliste a, .werkkacheln a { display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1.1rem 1.2rem; border: 1px solid var(--linie); border-radius: var(--radius); text-decoration: none; background: var(--papier); transition: border-color .15s, transform .15s; }
.kachelliste a:hover, .werkkacheln a:hover { border-color: var(--tinte); color: var(--tinte); transform: translateY(-2px); }
.kachelliste strong, .werkkacheln strong { font: 400 1.25rem/1.25 var(--titel); }
.kachelliste span { color: var(--grau); font-size: .875rem; }
.werkkacheln .mono { color: var(--grau); }
.archivkacheln { list-style: none; padding: 0; margin: 0 0 3rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--tinte); }
.archivkacheln a { display: flex; flex-direction: column; gap: .35rem; padding: 1.4rem 1.2rem 1.6rem 0; height: 100%; text-decoration: none; border-bottom: 1px solid var(--linie); }
.archivkacheln__zahl { font: 400 2.6rem/1 var(--titel); }
.archivkacheln__titel { font-weight: 600; }
.archivkacheln a > span:last-child { color: var(--grau); font-size: .875rem; }
.archivkacheln--klein { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .archivkacheln, .archivkacheln--klein { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .archivkacheln, .archivkacheln--klein { grid-template-columns: 1fr; } }

/* ---------- Presse ---------- */
.presseliste { list-style: none; padding: 0; margin: 0 0 2rem; }
.pressebeitrag { padding: 1.4rem 0; border-bottom: 1px solid var(--linie); max-width: 54rem; }
.pressebeitrag__kopf { color: var(--grau); margin-bottom: .3rem; }
.pressebeitrag__titel { font-size: 1.45rem; margin-bottom: .3rem; }
.pressebeitrag__titel span { color: var(--grau); }
.pressebeitrag__autor { color: var(--grau); font-size: .9375rem; margin-bottom: .6rem; }
.pressebeitrag__links { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; align-items: center; margin: .6rem 0 0; }
.pressebeitrag:target { background: color-mix(in srgb, var(--akzent) 8%, transparent); }
.kurzzitat { border-left: 2px solid var(--akzent); padding-left: 1rem; margin: .8rem 0; font: 400 1.15rem/1.4 var(--titel); }
.kurzzitat p { margin: 0; }
.kurzzitat__wer { margin: -.5rem 0 .8rem; padding-left: calc(1rem + 2px); color: var(--grau); font-size: .875rem; }
.kurzzitat p::before { content: "„"; } .kurzzitat p::after { content: "“"; }
/* Anführungszeichen nach Sprache des Zitats: übersetzte Pressestimmen auf EN/FR-Seiten, Originale behalten ihr lang */
:is(.held__stimme blockquote, .zitat blockquote, .kurzzitat):lang(en) p::before { content: "\201C"; }
:is(.held__stimme blockquote, .zitat blockquote, .kurzzitat):lang(en) p::after { content: "\201D"; }
:is(.held__stimme blockquote, .zitat blockquote, .kurzzitat):lang(fr) p::before { content: "\00AB\00A0"; }
:is(.held__stimme blockquote, .zitat blockquote, .kurzzitat):lang(fr) p::after { content: "\00A0\00BB"; }
.sprungliste { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1rem 0 2rem; border-top: 1px solid var(--linie); }
.sprungliste a { text-decoration: none; font-size: .875rem; padding: .35rem .8rem; border: 1px solid var(--linie); border-radius: 999px; }
.sprungliste a:hover { border-color: var(--tinte); }
#bios, #fakten, #fotos, #aktuell, #stimmen, #kontakt-presse { margin-bottom: 4rem; }
.bios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.bio { border-top: 1px solid var(--tinte); padding-top: 1rem; }
.bio__titel { font-size: 1.3rem; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.bio__titel .mono { color: var(--grau); }
.bio__text { font-size: .9375rem; }
@media (max-width: 960px) { .bios { grid-template-columns: 1fr; } }
.zitatwand { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 2.4rem 2rem; margin-bottom: 2rem; }
.zitatwand .zitat blockquote p { font-size: 1.3rem; }
.bibliografie { list-style: none; padding: 0; margin: 0 0 2rem; }
.bibliografie li { padding: .8rem 0; border-bottom: 1px solid var(--linie); line-height: 1.6; }
.bibliografie__autor { font-weight: 600; }
.bibliografie__zugang, .bibliografie__anm { display: block; font-size: .875rem; color: var(--grau); }

/* ---------- Formulare ---------- */
.formularseite { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 320px); gap: clamp(32px, 5vw, 80px); align-items: start; }
@media (max-width: 900px) { .formularseite { grid-template-columns: 1fr; } }
.formular { max-width: 42rem; }
.feld { margin-bottom: 1.2rem; }
.feld label { display: block; font-weight: 500; margin-bottom: .35rem; font-size: .9375rem; }
.feld-paar { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 560px) { .feld-paar { grid-template-columns: 1fr; } }
.optional { font-weight: 400; color: var(--grau); font-size: .8125rem; }
.feld--check { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .3rem .7rem; align-items: start; }
.feld--check input { width: 20px; height: 20px; margin-top: .2rem; accent-color: var(--akzent); }
.feld--check label { font-weight: 400; font-size: .9rem; }
.feld--check .feld__fehler { grid-column: 2; }
.feld--falle { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.feld__fehler, .formular__fehler { color: var(--fehler); font-size: .875rem; margin: .35rem 0 0; }
.formular__fehler { border-left: 3px solid var(--fehler); padding: .6rem .9rem; background: color-mix(in srgb, var(--fehler) 8%, transparent); }
.hat-fehler input, .hat-fehler textarea { border-color: var(--fehler) !important; }
.suchfeld { display: flex; gap: .6rem; max-width: 40rem; flex-wrap: wrap; }
.suchfeld input { flex: 1 1 16rem; }
.suchfeld--gross input { font-size: 1.15rem; padding: .85rem 1rem; }
.zugang { display: grid; grid-template-columns: 1fr 1.3fr; gap: 2rem; align-items: start; }
.zugang__karte { border: 1px solid var(--linie); border-radius: var(--radius); padding: clamp(20px, 3vw, 36px); background: var(--papier); }
.zugang__karte h2 { font-size: 1.8rem; }
@media (max-width: 860px) { .zugang { grid-template-columns: 1fr; } }
.qr { width: 220px; max-width: 70vw; margin: 0 0 1rem; background: #fff; padding: 6px; }
.schluessel { word-spacing: .2em; font-size: .9375rem; background: var(--papier-2); padding: .5rem .7rem; overflow-wrap: anywhere; }

/* ---------- Suche ---------- */
.suchtreffer { list-style: none; padding: 0; margin: 1rem 0 3rem; max-width: 54rem; }
.suchtreffer li { border-bottom: 1px solid var(--linie); }
.suchtreffer a { display: flex; flex-direction: column; gap: .15rem; padding: 1rem 0; text-decoration: none; }
.suchtreffer__typ { color: var(--grau); text-transform: uppercase; letter-spacing: .08em; font-size: .6875rem; }
.suchtreffer__titel { font: 400 1.35rem/1.25 var(--titel); }
.suchtreffer a:hover .suchtreffer__titel { color: var(--akzent); }
.suchtreffer__unter { color: var(--grau); font-size: .9375rem; }
.suchtreffer__text { font-size: .9375rem; }

/* ---------- Einbettungen, Merkliste ---------- */
.einbettung { border: 1px solid var(--linie); border-radius: var(--radius); padding: 1rem 1.2rem; margin-top: 1.4rem; background: var(--papier-2); }
.einbettung__text { font-size: .875rem; color: var(--grau); }
.einbettung p:last-child { margin-bottom: 0; display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.einbettung iframe { width: 100%; height: 352px; border: 0; border-radius: 10px; display: block; }
.einbettung.ist-geladen { padding: 0; border: 0; background: none; }
/* ---------- Video (YouTube in zwei Klicks) ---------- */
.video { margin: 1.4rem 0 0; }
.einbettung--video { aspect-ratio: 16 / 9; display: flex; flex-direction: column; justify-content: flex-end; margin-top: 0; background: var(--gruen-tief); color: var(--held-text); border-color: var(--gruen-tief); padding: clamp(1rem, 3vw, 1.6rem); }
.einbettung--video .einbettung__titel { font: 400 clamp(1.2rem, 2.2vw, 1.6rem)/1.25 var(--titel); margin: 0 0 .5rem; }
.einbettung--video .einbettung__text { color: rgb(247 243 234 / .75); }
.einbettung--video a { color: var(--held-text); }
.einbettung--video.ist-geladen iframe { height: 100%; aspect-ratio: 16 / 9; }
.einbettung--video.ist-geladen { display: block; }
/* Vorschaubild über „Video laden“ (Daniel 15.10.2026), Bild selbst gehostet */
.einbettung--vorschau:not(.ist-geladen) { aspect-ratio: auto; display: block; padding: 0; }
.einbettung--vorschau:not(.ist-geladen) > :not(.einbettung__vorschau) { margin-left: clamp(1rem, 3vw, 1.6rem); margin-right: clamp(1rem, 3vw, 1.6rem); }
.einbettung--vorschau:not(.ist-geladen) > :last-child { margin-bottom: clamp(1rem, 3vw, 1.4rem); }
.einbettung--vorschau .einbettung__titel { margin-top: 1rem; }
.einbettung__vorschau { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; background: #000; cursor: pointer; overflow: hidden; }
.einbettung__vorschau img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .2s; }
.einbettung__vorschau:hover img, .einbettung__vorschau:focus-visible img { opacity: .85; }
.einbettung__play { position: absolute; left: 50%; top: 50%; width: 4.2rem; height: 4.2rem; margin: -2.1rem 0 0 -2.1rem; border-radius: 50%; background: rgb(31 58 38 / .85); box-shadow: 0 2px 12px rgb(0 0 0 / .35); }
.einbettung__play::after { content: ""; position: absolute; left: 1.6rem; top: 1.2rem; border-style: solid; border-width: .9rem 0 .9rem 1.5rem; border-color: transparent transparent transparent var(--held-text); }
.videoraster { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr)); gap: 1.6rem; margin-bottom: 1.6rem; }
.videoraster .video { margin: 0; }
/* ---------- Archiv: Fotoreihe ---------- */
.archivfotos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: .6rem; }
.archivfotos .bild { margin: 0; }
.archivfotos img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
.archivfotos__mehr { margin: 0 0 2rem; }
@media (max-width: 760px) { .archivfotos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Automatisch gesetzte externe Links (md_autolinks) mit kleinem Pfeil */
a.extern::after { content: "↗"; font-size: .7em; margin-left: .12em; vertical-align: super; line-height: 0; text-decoration: none; display: inline-block; }
/* ---------- Eigener Audio-Player ---------- */
.hoerprobe { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: start; margin: 0 0 1rem; padding: 1rem 1.2rem; border: 1px solid var(--linie); border-radius: var(--radius); background: var(--papier-2); }
.hoerprobe__knopf { width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--akzent); color: #fff; cursor: pointer; display: grid; place-items: center; }
.hoerprobe__knopf span { width: 0; height: 0; border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent #fff; margin-left: 4px; }
.hoerprobe.spielt .hoerprobe__knopf span { width: 14px; height: 18px; border: 0; border-left: 5px solid #fff; border-right: 5px solid #fff; margin-left: 0; }
.hoerprobe:not(.hoerprobe--js) .hoerprobe__knopf { display: none; }
.hoerprobe:not(.hoerprobe--js) { grid-template-columns: minmax(0, 1fr); }
.hoerprobe--gesperrt { grid-template-columns: minmax(0, 1fr); }
.hoerprobe__titel { font: 400 1.15rem/1.3 var(--titel); margin: 0; }
.hoerprobe__meta { font-size: .75rem; color: var(--grau); margin: .2rem 0 .5rem; }
.hoerprobe__leiste { display: flex; align-items: center; gap: .8rem; }
.hoerprobe__leiste[hidden] { display: none; }
.hoerprobe__leiste input[type="range"] { flex: 1; accent-color: var(--akzent); min-height: 44px; }
.hoerprobe__zeit { font-size: .75rem; color: var(--grau); white-space: nowrap; }
.hoerprobe audio { width: 100%; margin-top: .4rem; }
.hoerprobe__text { font-size: .875rem; margin: .5rem 0 0; color: var(--grau); }
/* ---------- Bezugsquellen ---------- */
.erhaeltlich { list-style: none; padding: 0; margin: 0; }
.erhaeltlich li { padding: .9rem 0; border-bottom: 1px solid var(--linie); display: flex; flex-wrap: wrap; gap: .4rem .8rem; align-items: center; }
.erhaeltlich__titel { font: 400 1.15rem/1.3 var(--titel); flex: 1 1 18rem; }
.erhaeltlich__label { font-size: .75rem; color: var(--grau); }
.bezugsquellen { display: inline-flex; flex-wrap: wrap; gap: .4rem; }
.knopf--klein { font-size: .8125rem; padding: .5rem .9rem; }
.merkliste__liste { list-style: none; padding: 0; margin: 0 0 1.5rem; max-width: 54rem; }
.merkliste__liste li { display: flex; flex-wrap: wrap; gap: .3rem .8rem; align-items: baseline; padding: .8rem 0; border-bottom: 1px solid var(--linie); }
.merkliste__liste .mono { color: var(--grau); min-width: 7rem; }
.merkliste__liste a { font-weight: 500; }
.merkliste__entfernen { margin-left: auto; background: none; border: 0; color: var(--grau); cursor: pointer; font-size: .875rem; text-decoration: underline; }
.hervor-klein { display: flex; flex-direction: column; gap: .4rem; text-decoration: none; }
.hervor-klein .mono { color: var(--grau); margin-top: .6rem; }
.hervor-klein strong { font: 400 1.25rem/1.25 var(--titel); }
.vergangen summary { cursor: pointer; font-weight: 500; padding: .8rem 0; }
.ensembleliste { margin-top: 3rem; }
.fehlerseite { padding-top: var(--luft); max-width: 44rem; }

/* ---------- Fuß ---------- */
.fuss { background: var(--fuss-grund); color: var(--fuss-text); padding-top: clamp(48px, 7vw, 88px); margin-top: var(--luft); }
.fuss a { color: var(--fuss-text); text-decoration-color: rgb(233 227 214 / .35); }
.fuss a:hover { color: #fff; }
.fuss__raster { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.fuss__name { font: 400 2.2rem/1 var(--titel); margin-bottom: 1rem; }
.fuss__text { color: var(--fuss-grau); font-size: .9375rem; max-width: 34ch; }
.fuss__spalte h2 { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--fuss-grau); margin-bottom: 1rem; }
.fuss__spalte ul { list-style: none; padding: 0; margin: 0 0 1rem; }
.fuss__spalte li { padding: .25rem 0; }
.fuss__spalte a { text-decoration: none; font-size: .9375rem; }
.fuss__spalte a:hover { text-decoration: underline; }
.thema-schalter { font: .8125rem var(--text); background: none; border: 1px solid rgb(233 227 214 / .3); color: var(--fuss-text); border-radius: 999px; padding: .4rem .8rem; cursor: pointer; min-height: 36px; }
.thema-schalter:hover { border-color: var(--fuss-text); }
.fuss__unten { border-top: 1px solid rgb(233 227 214 / .14); margin-top: 2.5rem; padding-block: 1.5rem; font-size: .8125rem; color: var(--fuss-grau); }
.fuss__unten p { margin: 0; }
@media (max-width: 900px) { .fuss__raster { grid-template-columns: 1fr 1fr; } .fuss__marke { grid-column: 1 / -1; } }
@media (max-width: 480px) { .fuss__raster { grid-template-columns: 1fr; } }

/* ---------- Nachbesserungen nach UX-Prüfung 15.10.2026 ---------- */
.schnellzugang { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding-top: 1.4rem; }
.schnellzugang__titel { font: .6875rem var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--grau); margin-right: .4rem; }
.schnellzugang a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.1rem; border: 1px solid var(--linie); border-radius: 999px; text-decoration: none; font-weight: 500; font-size: .9375rem; background: var(--papier); }
.schnellzugang a:hover { border-color: var(--akzent); color: var(--akzent); }
.schnellzugang a.schnellzugang--beitragen { background: var(--gruen-hell); border-color: var(--gruen-hell); }
body.start main > .held__credit { margin-bottom: 0; }
body.start main > .schnellzugang { margin-bottom: 0; }
.held__daten span { white-space: nowrap; margin-right: 1.2rem; display: inline-block; }
.aktuell:not(.aktuell--zwei) { grid-template-columns: minmax(0, 1fr); max-width: 54rem; }
.aufnahme .cover--leer span { display: none; }
.cover--leer span { overflow-wrap: anywhere; }
.pfeil { padding: .6rem 0; }
.brotkrumen a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .1rem; }
.randkasten .liste-schlicht a { display: inline-block; padding: .55rem 0; }
/* geschlossenes Handy-Menü nimmt keinen Platz ein (sonst misst die Seite breiter als der Bildschirm) */
.menue-mobil:not([open]) nav { display: none; }
.fuss :focus-visible { outline-color: var(--fuss-text); }
.fuss .thema-schalter { min-height: 44px; }
@media (max-width: 760px) {
  .fuss__spalte li { padding: 0; }
  .fuss__spalte li a { display: inline-flex; align-items: center; min-height: 44px; }
  .pressebeitrag__links a, .einbettung a, .knopfreihe a:not(.knopf) { display: inline-flex; align-items: center; min-height: 44px; }
  .marke { min-height: 44px; justify-content: center; }
}

/* ---------- Projektseiten (15.10.2026) ---------- */
.projekt__kopf { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; margin-bottom: clamp(28px, 4vw, 48px); }
.projekt__kopf--ohne-bild { grid-template-columns: minmax(0, 1fr); max-width: 56rem; }
.projekt__bild--cover { max-width: 420px; }
.projekt__bild--cover .bild__credit { margin-top: .5rem; }
.projekt__text h1 { font-size: clamp(2.3rem, 5vw, 4.2rem); margin-bottom: .2rem; overflow-wrap: anywhere; hyphens: auto; }
.projekt__untertitel { font: 400 clamp(1.2rem, 2vw, 1.55rem)/1.3 var(--titel); color: var(--grau); margin: 0 0 1.2rem; }
.projekt__einstieg { font-size: clamp(1.1rem, 1.5vw, 1.25rem); line-height: 1.6; max-width: 62ch; }
.projekt__einstieg a, .fakten a, .frage__antwort a { color: var(--akzent); text-decoration-color: color-mix(in srgb, var(--akzent) 45%, transparent); }
.projekt__rolle { font-size: .9375rem; color: var(--grau); }
.projekt__rolle .mono { text-transform: uppercase; letter-spacing: .08em; margin-right: .4rem; }
@media (max-width: 820px) { .projekt__kopf { grid-template-columns: 1fr; } .projekt__bild { max-width: 520px; } }
.projekt__fakten { border-top: 1px solid var(--tinte); padding-top: 1rem; margin-bottom: clamp(36px, 5vw, 64px); }
.fakten { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 0 2rem; margin: 0; }
.fakten__eintrag { padding: .8rem 0; border-bottom: 1px solid var(--linie); }
.fakten dt { font: .6875rem/1.6 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--grau); margin-bottom: .2rem; }
.fakten dd { margin: 0; font-size: .9375rem; line-height: 1.5; overflow-wrap: anywhere; }
.projekt__stimmen .stimmen { gap: 2rem; }
@media (min-width: 1100px) { .projekt__stimmen .stimmen { grid-template-columns: 1fr 1fr; gap: 2rem 2.4rem; } }
.klein-titel { font: .6875rem/1.6 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--grau); margin: 1.6rem 0 .4rem; }
.tontraeger-liste { list-style: none; padding: 0; margin: .4rem 0 0; columns: 2 18rem; column-gap: 2rem; }
.tontraeger-liste li { break-inside: avoid; padding: .45rem 0; border-bottom: 1px solid var(--linie); line-height: 1.4; }
.tontraeger-liste .mono { color: var(--grau); font-size: .75rem; white-space: nowrap; }
.zitat__wer { display: block; color: var(--tinte); font-family: var(--text); font-weight: 600; font-size: .875rem; letter-spacing: 0; }
.zitat__quelle { display: block; margin-top: .15rem; }
.zitat--harry { border-left-color: var(--akzent-2); }
.zitat--harry blockquote p { font-style: italic; }
.fragen .frage { padding: 1.1rem 0; border-top: 1px solid var(--linie); max-width: 68ch; }
.frage__titel { font: 400 1.3rem/1.3 var(--titel); margin: 0 0 .45rem; }
.frage__antwort { margin: 0; line-height: 1.7; }
.datensatz__haupt > .fliesstext { margin-bottom: 2.8rem; }
.projekt-hervor { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; padding: clamp(24px, 3vw, 40px); background: var(--gruen-hell); border-radius: var(--radius); margin-bottom: clamp(40px, 6vw, 72px); }
.projekt-hervor__bild .cover { max-width: 420px; }
.projekt-hervor__titel { font-size: clamp(1.9rem, 3.4vw, 3rem); margin-bottom: .3rem; }
.projekt-hervor__titel a { text-decoration: none; }
.projekt-hervor .bild__credit, .projekt-hervor .bild__titel { color: var(--grau); }
@media (max-width: 860px) { .projekt-hervor { grid-template-columns: 1fr; } }
.projekte__text { margin-bottom: clamp(36px, 5vw, 60px); }
.projekte__gruppe { margin-bottom: clamp(40px, 6vw, 72px); }
.projekte__hinweis { color: var(--grau); max-width: 62ch; margin-top: -.6rem; }
.projekte__hinweis a { color: var(--akzent); }
.projektkarten { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 1rem; }
.projektkarte { display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.1rem 1.2rem 1.25rem; border: 1px solid var(--linie); border-radius: var(--radius); text-decoration: none; background: var(--papier); transition: border-color .15s, transform .15s; }
.projektkarte:hover { border-color: var(--tinte); color: var(--tinte); transform: translateY(-2px); }
.projektkarte--ausfuehrlich { border-top: 3px solid var(--akzent); background: var(--gruen-hell); }
.projektkarte__marke { align-self: flex-start; font: 600 .6875rem/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--akzent); padding: .3rem .5rem; border: 1px solid currentColor; border-radius: 999px; margin-bottom: .2rem; }
.projektkarte__meta { color: var(--grau); font-size: .75rem; }
.projektkarte__name { font: 400 1.35rem/1.2 var(--titel); }
.projektkarte__text { color: var(--grau); font-size: .9rem; line-height: 1.5; }
:root[data-theme="dunkel"] .projekt-hervor { background: var(--papier-2); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="hell"]) .projekt-hervor { background: var(--papier-2); } }

/* ---------- Bewegung, Druck ---------- */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media print {
  .kopf, .fuss, .filter, .werkzeugleiste, .knopfreihe, .zitieren, .anfrage-hinweis, .einbettung, .sprungliste, .vorschau-hinweis, .menue-mobil { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  a { color: #000; text-decoration: none; }
  .fliesstext a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
  .datensatz__raster, .leben, .album { display: block; }
  .held { min-height: 0; color: #000; background: none; }
  .held__bild, .held::after { display: none; }
}
