
.einstieg--unterseite { padding-block: 40px 48px; }
.einstieg--unterseite h1 { font-size: clamp(2rem, 1.3rem + 3.2vw, 3.5rem); margin-bottom: 18px; }
.einstieg--unterseite .einstieg-unterzeile { margin-bottom: 20px; }
.fp-start-raster { display: grid; gap: 32px; align-items: center; }
.fp-start .vertrauen { margin-top: 4px; font-size: .9375rem; line-height: 1.4; color: var(--nebel); }
@media (min-width: 820px) { .einstieg--unterseite { padding-block: 64px 72px; } }
@media (min-width: 1024px) {
  .fp-start-raster { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
  .fp-start-text { grid-column: 1 / 8; }
}

.fp-wegweiser { position: relative; padding: 20px 12px 16px; border: 1px solid rgba(247,247,240,.10); border-radius: var(--r-formular); background: rgba(25,60,49,.38); }
.fp-wegweiser::before, .fp-wegweiser::after { content: ""; position: absolute; width: 22px; height: 22px; border: 0 solid var(--kalk); pointer-events: none; }
.fp-wegweiser::before { left: -1px; top: -1px; border-left-width: 3px; border-top-width: 3px; border-top-left-radius: var(--r-formular); }
.fp-wegweiser::after { right: -1px; bottom: -1px; border-right-width: 3px; border-bottom-width: 3px; border-bottom-right-radius: var(--r-formular); }
.fp-stationen { position: relative; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.fp-stationen::before { content: ""; position: absolute; left: calc(100% / 6); right: calc(100% / 6); top: 25px; height: 3px; border-radius: 2px; background: var(--kalk); transform-origin: left center; }
.fp-stationen a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; min-height: 44px; padding: 0 2px 4px; color: var(--papier); text-decoration: none; text-align: center; font-weight: 700; font-size: .9375rem; line-height: 1.3; border-radius: 8px; }
.fp-station-kreis { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 3px solid var(--kalk); background: var(--tanne); color: var(--papier); transition: background-color .15s, color .15s; }
.fp-station-kreis .i { width: 24px; height: 24px; }
.fp-station-text { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgba(247,247,240,.4); }
.fp-stationen a:hover .fp-station-kreis { background: var(--kalk); color: var(--wald); }
.fp-stationen a:hover .fp-station-text { text-decoration-color: var(--kalk); }
.fp-weg-kopf { display: none; }
@keyframes strich-senkrecht { from { transform: scaleY(0); } }
.bewegung .fp-stationen::before { animation: strich-zeichnen .8s var(--ein) .25s both; }
.bewegung .fp-station-kreis { animation: aufspringen .25s var(--ein) .2s both; }
.bewegung .fp-stationen li:nth-child(2) .fp-station-kreis { animation-delay: .5s; }
.bewegung .fp-stationen li:nth-child(3) .fp-station-kreis { animation-delay: .8s; }
@media (min-width: 600px) { .fp-wegweiser { padding: 22px 20px 18px; } .fp-stationen a { font-size: 1rem; } }
@media (min-width: 1024px) {
  .fp-wegweiser { grid-column: 8 / 13; padding: 26px 28px 28px; }
  .fp-weg-kopf { display: block; margin-bottom: 18px; font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--kalk); }
  .fp-stationen { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .fp-stationen::before { left: 25px; right: auto; top: 26px; bottom: 26px; width: 3px; height: auto; transform-origin: center top; }
  .fp-stationen a { flex-direction: row; align-items: center; gap: 18px; text-align: left; font-size: 1.125rem; padding: 0; }
  .bewegung .fp-stationen::before { animation-name: strich-senkrecht; }
}

.flaeche-papier-zu-weiss { background: linear-gradient(var(--papier) 50%, var(--weiss) 50%); }

.fp-kopf { display: grid; gap: 20px; align-items: center; }
.fp-kopf .abschnitt-kopf { margin-bottom: 0; }
.fp-kopf-bild { width: 100%; max-width: 160px; }
.fp-kopf-bild .mehrwert-bild { width: 100%; max-width: none; height: auto; }
.fp-abschnitt-kopf { margin-bottom: var(--a-7); }
@media (min-width: 820px) {
  .fp-kopf { grid-template-columns: minmax(0, 1fr) 240px; gap: 48px; }
  .fp-kopf-bild { max-width: 240px; justify-self: end; }
  .fp-abschnitt-kopf { margin-bottom: var(--a-8); }
}
.bewegung .fp-kopf.an .mw-haken { animation: aufspringen .2s var(--ein) .5s both; }
.bewegung .fp-kopf.an .mw-haken-2 { animation-delay: .65s; }
.bewegung .fp-kopf.an .mw-haken-3 { animation-delay: .8s; }

.fp-karten { list-style: none; display: grid; gap: 16px; }
.fp-karte {
  position: relative; display: flex; flex-direction: column; gap: 12px; min-width: 0;
  padding: 22px 20px 20px; background: var(--weiss); border: 1px solid var(--linie); border-radius: var(--r-karte);
  box-shadow: var(--schatten-karte); transition: border-color .15s var(--ein), transform .15s var(--ein);
}
.fp-karte:hover { border-color: var(--tinte); transform: translateY(-1px); }
.fp-karte:has(.fp-link:focus-visible) { outline: 3px solid var(--wald); outline-offset: 3px; }
.fp-link { color: inherit; text-decoration: none; }
.fp-link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--r-karte); }
.fp-link:focus-visible { outline: none; }
.fp-symbol { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: var(--kalk-flaeche); color: var(--lesegruen); }
.fp-symbol .i { width: 30px; height: 30px; }
.fp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: .875rem; line-height: 1.4; color: var(--schiefer); }
.fp-meta > span { display: inline-flex; align-items: center; }
.fp-meta .i { width: 16px; height: 16px; margin-right: 6px; color: var(--lesegruen); }
.fp-thema { padding: 3px 9px; border-radius: var(--r-etikett); background: var(--kalk-flaeche); color: var(--lesegruen); font-size: .8125rem; font-weight: 700; letter-spacing: .01em; }
.fp-titel { font-size: clamp(1.1875rem, 1.1rem + .45vw, 1.375rem); line-height: 1.3; }
.fp-teaser { color: var(--schiefer); line-height: 1.55; max-width: 62ch; }
.fp-weiter { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 4px; font-weight: 700; color: var(--lesegruen); }
.fp-weiter .i { transition: transform .12s ease-out; }
.fp-karte:hover .fp-weiter .i { transform: translateX(3px); }
.fp-karte--gross { border: 2px solid var(--kalk); padding: 20px 18px 20px; }
.fp-karte--gross:hover { border-color: var(--lesegruen); }
.fp-bild { display: grid; place-items: center; padding: 14px; border-radius: 10px; background: var(--papier); }
.fp-bild .mehrwert-bild { width: 100%; max-width: 260px; }
.fp-karte--gross .fp-titel { font-size: clamp(1.3125rem, 1.15rem + .8vw, 1.75rem); }
.bewegung .fp-karte--gross.an .mw-fuell { animation: fuellen .9s var(--ein) .3s both; }
.bewegung .fp-karte--gross.an .beleg-zeile { animation: aufspringen .25s var(--ein) .9s both; }
.bewegung .fp-karte--gross.an .beleg-zeile:nth-of-type(3) { animation-delay: 1.05s; }
.bewegung .fp-karte--gross.an .beleg-zeile:nth-of-type(4) { animation-delay: 1.2s; }
.illu .beleg-zeile { transform-box: fill-box; transform-origin: center; }
@media (max-width: 599.98px) { .fp-karte { padding: 20px 16px 18px; } }
@media (min-width: 820px) {
  .fp-karten { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .fp-karte--gross { grid-column: 1 / -1; display: grid; grid-template-columns: 240px minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto; column-gap: 32px; row-gap: 12px; padding: 24px 28px 24px 24px; }
  .fp-karte--gross .fp-bild { grid-column: 1; grid-row: 1 / -1; align-self: stretch; }
  .fp-karte--gross > :not(.fp-bild) { grid-column: 2; }
  .fp-karte--gross .fp-weiter { align-self: end; }
}
@media (min-width: 820px) { .fp-karten--auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); } }
@media (min-width: 820px) { .fp-karten--zwei { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


.fp-werkzeug { display: grid; gap: 18px; margin-bottom: 32px; padding: 22px 20px; border: 2px solid var(--kalk); }
.fp-werkzeug .r-formel { margin: 0; }
.fp-liste { list-style: none; display: grid; gap: 10px; }
.fp-zeile {
  position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 8px; align-items: center;
  padding: 14px 16px; background: var(--weiss); border: 1px solid var(--linie); border-radius: var(--r-karte);
}
.fp-zeile--erst { border-left: 4px solid var(--kalk); padding-left: 13px; }
@media (max-width: 599.98px) { .fp-zeile-symbol { align-self: start; } }
.fp-zeile-symbol { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--kalk-flaeche); color: var(--lesegruen); }
.fp-zeile-symbol .i { width: 24px; height: 24px; }
.fp-zeile-titel { font-weight: 700; line-height: 1.35; }
.fp-zeile-art { display: block; font-size: .875rem; color: var(--schiefer); font-weight: 400; }
.fp-laden, .fp-zeile-status { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; }
.fp-laden { padding: 8px 16px; border: 1.5px solid var(--tinte); border-radius: var(--r-knopf); color: var(--tinte); font-weight: 700; text-decoration: none; }
.fp-laden:hover { background: var(--kalk-flaeche); }
.fp-laden .i { transform: rotate(90deg); color: var(--lesegruen); }
.fp-zeile-status { justify-content: flex-start; min-height: 0; font-size: .9375rem; font-weight: 700; color: var(--schiefer); }
.fp-zeile-status .i { color: var(--grau-grafik); }
.fp-zeile--ueberarbeitung { background: var(--papier); border-style: dashed; }
.fp-zeile--ueberarbeitung .fp-zeile-symbol { background: var(--papier-2); color: var(--grau-grafik); }
@media (min-width: 600px) {
  .fp-zeile { grid-template-columns: 44px minmax(0, 1fr) auto; }
  .fp-laden, .fp-zeile-status { grid-column: 3; grid-row: 1; justify-self: end; }
}
@media (min-width: 1024px) {
  .fp-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; }
  .fp-zeile--erst { grid-column: 1 / -1; }
  .fp-werkzeug { grid-template-columns: 56px minmax(0, 1fr) auto; column-gap: 24px; align-items: center; padding: 24px 28px; }
  .fp-werkzeug .r-formel { grid-column: 2; }
  .fp-werkzeug .fp-werkzeug-text { grid-column: 2; grid-row: 1; }
  .fp-werkzeug .fp-werkzeug-link { grid-column: 3; grid-row: 1 / span 2; }
}
.fp-werkzeug-text { display: grid; gap: 10px; }
.fp-werkzeug-link { justify-self: start; }

.fp-gespraech { display: grid; gap: 20px; align-items: center; padding: clamp(24px, 4vw, 44px); border-radius: var(--r-formular); background: var(--wald); color: var(--papier); --fokus: var(--kalk-hell); }
.fp-gespraech-symbol { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--kalk); color: var(--wald); }
.fp-gespraech-symbol .i { width: 30px; height: 30px; }
.fp-gespraech h2 { font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.25rem); margin-bottom: 10px; max-width: 22ch; }
.fp-gespraech p { color: var(--nebel); max-width: 52ch; }
.fp-gespraech-knoepfe { display: grid; gap: 12px; }
.fp-gespraech-knoepfe .knopf .i { color: var(--kalk); }
.fp-gespraech-knoepfe .knopf--primaer .i { color: var(--wald); }
@media (min-width: 600px) { .fp-gespraech-knoepfe { display: flex; flex-wrap: wrap; gap: 12px 16px; } }
@media (min-width: 1024px) { .fp-gespraech { grid-template-columns: 64px minmax(0, 1fr) auto; column-gap: 28px; } .fp-gespraech-knoepfe { display: grid; } }

.nl-karte { max-width: 720px; margin-inline: auto; padding: clamp(22px, 4vw, 40px); border-radius: var(--r-formular); background: var(--weiss); color: var(--tinte); box-shadow: 0 24px 48px rgba(0,0,0,.18); --fokus: var(--wald); --link: var(--lesegruen); }
.nl-karte .nl-kopf { margin-bottom: 20px; }
.nl-karte .nl-symbol { border-color: var(--kalk); background: var(--kalk-flaeche); color: var(--lesegruen); }
.nl-karte h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.125rem); max-width: none; }
.nl-karte .nl-danke-haken { border-color: var(--lesegruen); color: var(--lesegruen); }

.pub-kopf { padding-block: 32px 48px; }
.pub-kopf-raster { display: grid; gap: 32px; align-items: center; }
.pub-kopf h1 { font-size: clamp(1.875rem, 1.25rem + 2.6vw, 3.25rem); line-height: 1.08; margin-bottom: 16px; max-width: 24ch; }
.pub-untertitel { font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); line-height: 1.5; color: var(--nebel); max-width: 40em; margin-bottom: 22px; }
.pub-kopf .fp-thema { display: inline-block; margin-bottom: 14px; background: var(--kalk); color: var(--wald); }
@media (min-width: 820px) { .pub-kopf { padding-block: 40px 64px; } }
@media (min-width: 1024px) {
  .pub-kopf-raster { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
  .pub-kopf-text { grid-column: 1 / 8; }
}
.pub-kopf #recht-titel { font-size: min(clamp(1.875rem, 1.25rem + 2.6vw, 3.25rem), 7.5vw); overflow-wrap: anywhere; }

.brotkrumen { margin-bottom: 22px; font-size: .875rem; }
.brotkrumen ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; row-gap: 2px; }
.brotkrumen li { display: inline-flex; align-items: center; color: var(--nebel); }
.brotkrumen li + li::before { content: ""; width: 7px; height: 7px; margin: 0 12px 0 8px; border-top: 2px solid var(--kalk); border-right: 2px solid var(--kalk); transform: rotate(45deg); }
.brotkrumen a { display: inline-flex; align-items: center; min-height: 44px; color: var(--papier); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.brotkrumen [aria-current="page"] { color: var(--nebel); }

.pub-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: .9375rem; color: var(--nebel); }
.pub-meta li { display: inline-flex; align-items: center; gap: 8px; min-height: 28px; }
.pub-meta .i { width: 18px; height: 18px; color: var(--kalk); }
.pub-meta strong { color: var(--papier); font-weight: 700; }

.pub-bild { position: relative; width: 100%; max-width: 420px; margin: 0 auto; padding: 22px; border: 1px solid rgba(247,247,240,.10); border-radius: var(--r-formular); background: rgba(25,60,49,.38); }
.pub-bild::before, .pub-bild::after { content: ""; position: absolute; width: 22px; height: 22px; border: 0 solid var(--kalk); pointer-events: none; }
.pub-bild::before { left: -1px; top: -1px; border-left-width: 3px; border-top-width: 3px; border-top-left-radius: var(--r-formular); }
.pub-bild::after { right: -1px; bottom: -1px; border-right-width: 3px; border-bottom-width: 3px; border-bottom-right-radius: var(--r-formular); }
.pub-bild .mehrwert-bild, .pub-bild .illu { width: 100%; max-width: none; height: auto; border-radius: 10px; background: var(--papier); }
.pub-symbolbild { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: 10px; background: var(--papier); overflow: hidden; }
.pub-blatt { position: absolute; left: 10%; top: 12%; width: 50%; height: 76%; border: 2px solid var(--tinte); border-radius: 6px 22px 6px 6px; background: #FDFCF6; display: grid; align-content: start; gap: 14px; padding: 18% 12% 0; transform: rotate(-3deg); }
.pub-blatt span { display: block; height: 8px; border-radius: 4px; background: var(--nebel); transform-origin: left center; }
.pub-blatt span:nth-child(2) { width: 78%; }
.pub-blatt span:nth-child(3) { width: 90%; }
.pub-blatt span:nth-child(4) { width: 60%; background: var(--kalk); }
.pub-symbolbild-kreis { position: absolute; right: 9%; bottom: 14%; display: grid; place-items: center; width: 34%; aspect-ratio: 1; border-radius: 50%; background: var(--kalk); color: var(--wald); box-shadow: 0 0 0 8px var(--papier); }
.pub-symbolbild-kreis .i { width: 46%; height: 46%; }
.bewegung .pub-blatt span { animation: strich-zeichnen .5s var(--ein) .2s both; }
.bewegung .pub-blatt span:nth-child(2) { animation-delay: .3s; }
.bewegung .pub-blatt span:nth-child(3) { animation-delay: .4s; }
.bewegung .pub-blatt span:nth-child(4) { animation-delay: .5s; }
.bewegung .pub-symbolbild-kreis { animation: aufspringen .3s var(--ein) .7s both; }
.bewegung .pub-bild .mw-fuell { animation: fuellen .9s var(--ein) .3s both; }
.bewegung .pub-bild .beleg-zeile { animation: aufspringen .25s var(--ein) .9s both; }
.bewegung .pub-bild .beleg-zeile:nth-of-type(3) { animation-delay: 1.05s; }
.bewegung .pub-bild .beleg-zeile:nth-of-type(4) { animation-delay: 1.2s; }
@media (min-width: 1024px) { .pub-bild { grid-column: 8 / 13; max-width: none; } }

.pub-inhalt { padding-block: 40px var(--abschnitt); }
.pub-spalte { max-width: 760px; margin-inline: auto; }
.pub-spalte > * + * { margin-top: 28px; }

.pub-blick { list-style: none; display: grid; gap: 10px; }
.pub-blick li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-knopf); background: var(--kalk-flaeche); font-weight: 700; line-height: 1.35; }
.pub-blick .i { flex: none; color: var(--lesegruen); }
@media (min-width: 600px) { .pub-blick { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pub-blick li { flex-direction: column; align-items: flex-start; } }
.bewegung .pub-blick.an li .i { animation: aufspringen .2s var(--ein) .3s both; }
.bewegung .pub-blick.an li:nth-child(2) .i { animation-delay: .45s; }
.bewegung .pub-blick.an li:nth-child(3) .i { animation-delay: .6s; }

.pub-umschalter { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border: 1px solid var(--linie); border-radius: 999px; background: var(--weiss); box-shadow: var(--schatten-karte); }
.pub-wahl { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-height: 52px; padding: 6px 22px; border: 0; border-radius: 999px; background: transparent; color: var(--schiefer); font-weight: 700; font-size: 1rem; line-height: 1.2; }
.pub-wahl-zeit { font-size: .8125rem; font-weight: 400; }
.pub-wahl:hover { color: var(--tinte); }
.pub-wahl[aria-pressed="true"] { background: var(--wald); color: var(--papier); }
.pub-wahl[aria-pressed="true"] .pub-wahl-zeit { color: var(--kalk-hell); }
.pub-wahl:focus-visible { outline-offset: 2px; }
.pub-umschalter-zeile { text-align: center; }
.pub-fassung-titel { max-width: none; display: flex; align-items: center; gap: 12px; margin-bottom: 18px; font-size: .875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lesegruen); }
.pub-fassung-titel::after { content: ""; flex: 1; height: 2px; background: var(--kalk); }
.pub-fassung + .pub-fassung { margin-top: 56px; }
.js .pub-fassungen--umschaltbar .pub-fassung-titel { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.js .pub-fassungen--umschaltbar .pub-fassung + .pub-fassung { margin-top: 0; }
.js .pub-fassungen--umschaltbar .pub-fassung:not([hidden]) { animation: einblenden .2s ease-out; }

.pub-text { font-size: clamp(1.0625rem, 1rem + .2vw, 1.1875rem); line-height: 1.7; }
.pub-text > * + * { margin-top: 18px; }
.pub-text a { color: var(--lesegruen); font-weight: 700; text-underline-offset: 4px; }
.pub-einleitung { font-size: clamp(1.1875rem, 1.05rem + .5vw, 1.375rem); line-height: 1.6; color: var(--tinte); }
.pub-text > .pub-h3 { margin-top: 44px; font-size: clamp(1.375rem, 1.2rem + .7vw, 1.75rem); line-height: 1.25; }
.pub-text > .pub-h4 { margin-top: 30px; font-size: clamp(1.125rem, 1.05rem + .3vw, 1.25rem); line-height: 1.35; }
.pub-text > .pub-h3 + *, .pub-text > .pub-h4 + * { margin-top: 12px; }
.pub-text > h2.pub-h3 { max-width: none; letter-spacing: normal; overflow-wrap: break-word; font-size: min(clamp(1.375rem, 1.2rem + .7vw, 1.75rem), 6vw); }
.pub-text > h2.pub-h3:first-child { margin-top: 0; }
.pub-liste-titel, .pub-kasten-titel, .pub-raster-titel { font-weight: 700; line-height: 1.4; }
.pub-liste ul, .pub-kasten ul, .pub-raster ul { list-style: none; display: grid; gap: 8px; margin-top: 10px; }
.pub-liste li, .pub-kasten li, .pub-raster li { position: relative; padding-left: 30px; line-height: 1.55; }
.pub-liste li::before, .pub-kasten li::before, .pub-raster li::before { content: ""; position: absolute; left: 4px; top: .48em; width: 12px; height: 7px; border-left: 2.5px solid var(--lesegruen); border-bottom: 2.5px solid var(--lesegruen); transform: rotate(-45deg); }
.pub-hervor { position: relative; padding: 4px 0 4px 22px; font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); font-weight: 700; line-height: 1.4; color: var(--wald); }
.pub-hervor::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; border-radius: 3px; background: var(--kalk); }
.pub-kasten { padding: 18px 20px; border-radius: var(--r-karte); border: 1px solid var(--linie); background: var(--papier); }
.pub-kasten > * + * { margin-top: 8px; }
.pub-kasten-kopf { display: flex; align-items: center; gap: 10px; }
.pub-kasten-kopf .i { flex: none; color: var(--lesegruen); }
.pub-kasten--info { border-left: 4px solid var(--lesegruen); }
.pub-kasten--hinweis { border-left: 4px solid var(--bernstein); background: #FDF7EA; }
.pub-kasten--hinweis .pub-kasten-kopf .i { color: var(--ocker); }
.pub-kasten--hinweis li::before { border-color: var(--ocker); }
.pub-kasten--gut { border-left: 4px solid var(--kalk); background: var(--kalk-flaeche); }
.pub-kasten--gut > .pub-kasten-kopf { padding-bottom: 8px; border-bottom: 2px solid var(--kalk); }
.pub-kasten--gut > .pub-kasten-kopf + * { margin-top: 12px; }
.pub-schritte { list-style: none; display: grid; }
.pub-schritte li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; padding-bottom: 22px; }
.pub-schritte li:last-child { padding-bottom: 0; }
.pub-schritte li:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: var(--kalk); }
.pub-schritt-nr { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--kalk); background: var(--weiss); color: var(--wald); font-weight: 700; }
.pub-schritt-titel { padding-top: 9px; font-weight: 700; line-height: 1.4; }
.pub-schritte li p:not(.pub-schritt-titel) { grid-column: 2; margin-top: 4px; color: var(--schiefer); line-height: 1.6; }
.bewegung .pub-schritte.an .pub-schritt-nr { animation: aufspringen .2s var(--ein) .2s both; }
.bewegung .pub-schritte.an li:nth-child(2) .pub-schritt-nr { animation-delay: .35s; }
.bewegung .pub-schritte.an li:nth-child(3) .pub-schritt-nr { animation-delay: .5s; }
.bewegung .pub-schritte.an li:nth-child(4) .pub-schritt-nr { animation-delay: .65s; }
.bewegung .pub-schritte.an li:nth-child(n+5) .pub-schritt-nr { animation-delay: .8s; }
.pub-raster { display: grid; gap: 12px; }
.pub-raster-feld { padding: 16px 18px; border: 1px solid var(--linie); border-radius: var(--r-karte); background: var(--weiss); box-shadow: var(--schatten-karte); }
.pub-raster-titel { display: flex; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 2px solid var(--kalk); }
.pub-raster-titel .i { flex: none; color: var(--lesegruen); }
@media (min-width: 600px) { .pub-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
.pub-ampel { list-style: none; display: grid; gap: 10px; }
.pub-ampel li { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 14px; padding: 14px 16px; border: 1px solid var(--linie); border-radius: var(--r-karte); background: var(--weiss); }
.pub-ampel-punkt { width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; border: 2px solid rgba(16,37,31,.25); }
.pub-ampel--rot .pub-ampel-punkt { background: #C2532E; }
.pub-ampel--gelb .pub-ampel-punkt { background: var(--bernstein); }
.pub-ampel--gruen .pub-ampel-punkt { background: var(--kalk); }
.pub-ampel-titel { font-weight: 700; line-height: 1.4; }
.pub-ampel li p:not(.pub-ampel-titel) { grid-column: 2; margin-top: 4px; color: var(--schiefer); line-height: 1.55; }

.pub-einordnung { position: relative; padding: 22px 22px 22px 24px; border-radius: var(--r-karte); background: var(--wald); color: var(--papier); --link: var(--kalk); --fokus: var(--kalk-hell); }
.pub-einordnung .pub-kasten-kopf { margin-bottom: 10px; color: var(--kalk); font-size: .875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pub-einordnung .pub-kasten-kopf .i { color: var(--kalk); }
.pub-einordnung p { line-height: 1.65; }

.pub-checkliste { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 16px; row-gap: 14px; align-items: center; padding: 20px; border: 2px solid var(--kalk); border-radius: var(--r-karte); background: var(--weiss); box-shadow: var(--schatten-karte); }
.pub-checkliste .fp-symbol { width: 56px; height: 56px; }
.pub-checkliste-titel { font-weight: 700; font-size: 1.125rem; line-height: 1.35; }
.pub-checkliste-art { font-size: .875rem; color: var(--schiefer); }
.pub-checkliste .knopf { grid-column: 1 / -1; }
.pub-checkliste .knopf .i { transform: rotate(90deg); }
@media (min-width: 600px) { .pub-checkliste { grid-template-columns: 56px minmax(0, 1fr) auto; } .pub-checkliste .knopf { grid-column: 3; } }

.pub-block .frage summary { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 12 5 5; -webkit-hyphenate-limit-before: 5; -webkit-hyphenate-limit-after: 5; }
.frage-text { min-width: 0; }
.pub-block h2 { font-size: clamp(1.375rem, 1.2rem + .8vw, 1.875rem); margin-bottom: 16px; max-width: none; }
.pub-quellen { padding-left: 1.4em; display: grid; gap: 6px; font-size: .9375rem; line-height: 1.5; color: var(--schiefer); }
.pub-quellen a { color: var(--lesegruen); font-weight: 700; text-underline-offset: 4px; overflow-wrap: anywhere; display: inline-block; vertical-align: top; padding-block: 10px; margin-block: -10px; }
.pub-stand { margin-top: 14px; font-size: .875rem; color: var(--schiefer); }
.pub-checkliste--ueberarbeitung { border: 1px dashed var(--grau-grafik); background: var(--papier); box-shadow: none; }
.pub-checkliste--ueberarbeitung .fp-symbol { background: var(--papier-2); color: var(--grau-grafik); }
.pub-abbildung { max-width: 480px; margin-inline: auto; }
.pub-abbildung > svg { width: 100%; height: auto; }
.pub-abbildung figcaption { margin-top: 10px; font-size: .875rem; line-height: 1.5; color: var(--schiefer); }
.pub-abbildung .kz-unter, .pub-abbildung .kz-zahl { font-size: 13px; }
.pub-abbildung .kz-links { text-anchor: start; }
.illu .pub-station { transform-box: fill-box; transform-origin: center; }
.bewegung .pub-abbildung.an .mw-fuell { animation: fuellen .8s var(--ein) .2s both; }
.bewegung .pub-abbildung.an .pub-linie { animation: einblenden .4s ease-out .8s both; }
.bewegung .pub-abbildung.an .mw-spitze { animation: aufspringen .25s var(--ein) 1.2s both; }
.bewegung .pub-abbildung.an .pub-station { animation: aufspringen .25s var(--ein) .2s both; }
.bewegung .pub-abbildung.an .pub-station:nth-of-type(2) { animation-delay: .4s; }
.bewegung .pub-abbildung.an .pub-station:nth-of-type(3) { animation-delay: .6s; }
.bewegung .pub-abbildung.an .pub-station:nth-of-type(4) { animation-delay: .8s; }
.bewegung .pub-abbildung.an .pub-station:nth-of-type(5) { animation-delay: 1s; }
.pub-text .mehrwert-kachel { align-content: start; }
.illu .sym-grau { color: var(--grau-grafik); }
.pub-text .fp-bild .mehrwert-bild { max-width: 320px; }
.pub-text .fp-kopf-bild { justify-self: center; }
@media (min-width: 820px) {
  .pub-text .mehrwert-kachel .karte-titel { font-size: 1.125rem; }
  .pub-text .fp-kopf { grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; }
  .pub-text .fp-kopf-bild { max-width: 280px; justify-self: end; }
}

.pub-weiter { padding-bottom: 0; }
.pub-weiter .abschnitt-kopf { margin-bottom: 24px; }

.pub--thema .pub-kopf h1 { font-size: min(clamp(1.875rem, 1.25rem + 2.6vw, 3.25rem), 7vw); overflow-wrap: anywhere; }
.fp-themen { padding-top: 0; }
@media (min-width: 820px) { .fp-karten--themen > :first-child { grid-column: 1 / -1; } }

.pub-text table { width: 100%; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
.pub-text caption { text-align: left; font-weight: 700; margin-bottom: 8px; }
.pub-text th, .pub-text td { text-align: left; vertical-align: top; padding: 10px 8px 10px 0; border-bottom: 1px solid var(--linie); }
@media (min-width: 820px) { .fp-karten--geld { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
