/* Unterseiten (Partner-Porträts, Spielbetrieb …): Klassen ps-* (Grundbausteine und Porträt) und sb-* (Spielbetrieb).
   Aufbau nativ in V4, die Gestaltung steht hier, weil sie Kindselektoren,
   Zustände, Keyframes und Scroll-Effekte braucht. Vokabular wie auf der Startseite: Bildbühne, Produktbühne,
   Reise, Absperrband, Partnerwand. Alles unter body.scb-seite, damit es die Elementor-Basisstile schlägt. */

body.scb-seite {
	--g: #FFF730;
	--sw: #101010;
	--nacht: #0c0c0c;
	--kohle: #1a1a1a;
	--hell: #f2f2f0;
	--grau: #9b9b96;
	--linie: rgba(255, 255, 255, .14);
	--linie-d: rgba(16, 16, 16, .14);
	--display: "Big Shoulders Display", sans-serif;
	--text: "Noto Sans", sans-serif;
	--aus: cubic-bezier(.16, 1, .3, 1);
	--rand: clamp(20px, 5vw, 72px);
	background: var(--nacht);

	/* ---------- Grundbausteine ---------- */
	.ps-buehne, .ps-abschnitt, .ps-anfahrt, .ps-kontakt, .ps-weitere { position: relative; isolation: isolate; overflow: clip; margin: 0; padding: clamp(84px, 10vw, 150px) var(--rand); gap: 0; }
	.ps-spalte, .ps-buehne__text, .ps-anfahrt__text, .ps-verein__text, .ps-reise__liste, .ps-shop__eintraege, .ps-shop__eintrag, .ps-reise__schritt, .ps-fakt, .ps-stempel, .ps-inhalt, .ps-shop__bilder, .ps-reise__karte, .ps-anfahrt__karte, .ps-buehne__logo, .ps-buehne__bild { padding: 0; min-width: 0; }
	.ps-inhalt { width: 100%; }
	.ps-inhalt > .elementor-widget, .ps-inhalt .elementor-widget-container { margin: 0; padding: 0; }
	:is(.ps-h1, .ps-h2, .ps-h3, .ps-kicker, .ps-lead, .ps-text, .ps-intro, .ps-label, .ps-nr, .ps-zahl, .ps-status, .ps-shop__text) { margin: 0; }

	.ps-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; font: 800 14px/1 var(--display); letter-spacing: .18em; text-transform: uppercase; color: var(--g); }
	.ps-kicker::before { content: ""; width: 40px; height: 2px; background: currentColor; flex: none; }
	.ps-h2 { font: 900 clamp(46px, 6.2vw, 104px)/1 var(--display); text-transform: uppercase; letter-spacing: 0; color: inherit; overflow-wrap: break-word; hyphens: manual; }
	.ps-h3 { font: 900 clamp(28px, 2.6vw, 40px)/1 var(--display); text-transform: uppercase; color: inherit; }
	.ps-lead, .ps-intro { font: 400 18px/1.65 var(--text); color: #c9c9c4; max-width: 34em; }
	.ps-text { font: 400 16px/1.7 var(--text); color: inherit; }
	.ps-label { display: block; font: 700 12px/1.3 var(--text); letter-spacing: .16em; text-transform: uppercase; color: var(--grau); }

	/* Knöpfe mit Wisch-Effekt wie auf der Startseite */
	.ps-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; width: auto; }
	.ps-knopf { position: relative; overflow: hidden; z-index: 0; display: inline-flex; align-items: center; gap: 12px; width: auto; padding: 18px 28px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 0; background: transparent; color: #fff; font: 800 15px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: color .4s var(--aus), border-color .4s; }
	.ps-knopf::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--g); transform: scaleX(0); transform-origin: right; transition: transform .5s var(--aus); }
	.ps-knopf:hover, .ps-knopf:focus-visible { color: var(--sw); border-color: var(--g); }
	.ps-knopf:hover::before, .ps-knopf:focus-visible::before { transform: scaleX(1); transform-origin: left; }
	.ps-knopf--gelb { background: var(--g); border-color: var(--g); color: var(--sw); }
	.ps-knopf--gelb::before { background: #fff; }
	.ps-knopf--gelb:hover, .ps-knopf--gelb:focus-visible { border-color: #fff; }
	.ps-knopf[href=""], .ps-knopf:not([href]) { display: none; }
	.ps-textlink { display: inline-flex; align-items: center; gap: 12px; width: auto; padding: 0 0 6px; border: 0; border-bottom: 3px solid var(--g); border-radius: 0; background: transparent; color: inherit; font: 800 16px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
	.ps-textlink::after { content: "→"; transition: transform .4s var(--aus); }
	.ps-textlink:hover::after { transform: translateX(6px); }

	.ps-kopfzeile { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 28px 60px; padding: 0; margin-bottom: clamp(40px, 5vw, 76px); }
	.ps-kopfzeile .ps-spalte { width: auto; flex: 1 1 520px; }
	.ps-kopfzeile .ps-intro { flex: 0 1 440px; }

	/* ---------- 1 Bühne ---------- */
	.ps-buehne { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); grid-template-rows: 1fr auto; min-height: 100svh; padding: 0; background: var(--nacht); color: #fff; }
	.ps-buehne::before { content: ""; }
	.ps-buehne__text { grid-column: 1; grid-row: 1; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: calc(150px + 2vh) var(--rand) 64px; }
	.ps-krumen { position: absolute; top: calc(104px + 1vh); left: var(--rand); display: flex; flex-wrap: wrap; align-items: center; gap: 10px; width: auto; padding: 0; }
	.ps-krumen-link, .ps-krumen-trenner { width: auto; padding: 0; border: 0; background: none; font: 700 12px/1.3 var(--text); letter-spacing: .14em; text-transform: uppercase; color: var(--grau); text-decoration: none; }
	a.ps-krumen-link { color: #fff; }
	/* Lange Namen in einer Zeile halten, sonst überlagert der Umbruch die Kopfzeile darunter */
	.ps-krumen { flex-wrap: nowrap; max-width: calc(100% - 2 * var(--rand)); }
	.ps-krumen > :last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	a.ps-krumen-link:hover { color: var(--g); }
	.ps-h1 { margin: 0 0 26px; font: 900 clamp(56px, 6.6vw, 124px)/1 var(--display); text-transform: uppercase; color: #fff; overflow-wrap: normal; }
	.ps-h1 span { display: block; margin-top: .32em; font-size: .34em; line-height: 1.05; letter-spacing: .03em; color: var(--g); }
	.ps-buehne .ps-lead { margin-bottom: 30px; }
	.ps-status { display: inline-flex; align-items: center; gap: 12px; align-self: flex-start; margin-bottom: 30px; padding: 11px 16px 11px 14px; border: 1px solid var(--linie); font: 700 13px/1.2 var(--text); letter-spacing: .1em; text-transform: uppercase; color: var(--grau); }
	.ps-status::before { content: ""; position: relative; width: 10px; height: 10px; background: var(--grau); flex: none; }
	.ps-status[data-offen="1"] { color: #fff; border-color: rgba(255, 247, 48, .45); }
	.ps-status[data-offen="1"]::before { background: var(--g); animation: ps-puls 2s var(--aus) infinite; }
	.ps-status:empty { display: none; }

	.ps-buehne__bild { grid-column: 2; grid-row: 1; position: relative; z-index: 1; overflow: visible; }
	.ps-buehne__bild::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--pp-buehne, var(--kohle)) center / cover; filter: grayscale(1) contrast(1.12) brightness(.78); animation: ps-auf 1.5s var(--aus) both .1s, ps-fahrt 2.8s var(--aus) both; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%); mask-image: linear-gradient(90deg, transparent 0%, #000 42%); }
	.ps-buehne__bild::after { content: ""; position: absolute; inset: 0; z-index: -1; animation: ps-auf 1.5s var(--aus) both .1s; background:
		linear-gradient(0deg, rgba(12, 12, 12, .9) 0%, rgba(12, 12, 12, 0) 42%),
		radial-gradient(60% 50% at 70% 40%, rgba(255, 247, 48, .18), rgba(255, 247, 48, 0) 70%); }
	.ps-buehne__ort { position: absolute; top: 50%; right: clamp(14px, 2vw, 34px); writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); font: 900 min(8.4vw, 10.5svh)/.8 var(--display); letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .38); pointer-events: none; animation: ps-rein-x 1.6s var(--aus) both .7s; }
	.ps-buehne__logo { position: absolute; left: calc(-1 * clamp(56px, 6vw, 110px)); bottom: clamp(48px, 8vh, 96px); z-index: 3; display: grid; place-items: center; width: clamp(210px, 19vw, 320px); aspect-ratio: 16 / 10; padding: clamp(18px, 2vw, 30px); background: #fff; border-left: 8px solid var(--g); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%); animation: ps-rein 1.1s var(--aus) both 1s; }
	.ps-buehne__logo img { width: 100%; height: 100%; object-fit: contain; }

	.ps-fakten { grid-column: 1 / -1; grid-row: 2; position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 28px; padding: 0 var(--rand) clamp(30px, 5vh, 52px); border-top: 1px solid var(--linie); background: var(--nacht); }
	.ps-fakt { display: grid; gap: 8px; align-content: start; padding: 26px 0 0; }
	.ps-fakt-wert { font: 900 clamp(20px, 1.7vw, 27px)/1.05 var(--display); text-transform: uppercase; letter-spacing: .02em; color: #fff; }
	.ps-fakt:has(.ps-fakt-wert:empty), .ps-fakt:not(:has(.ps-fakt-wert)) { display: none; }

	/* Einstieg der Bühne Zeile für Zeile */
	.ps-buehne__text > * { animation: ps-rein 1s var(--aus) both; }
	.ps-buehne__text > :nth-child(2) { animation-delay: .25s; }
	.ps-buehne__text > :nth-child(3) { animation-delay: .35s; }
	.ps-buehne__text > :nth-child(4) { animation-delay: .5s; }
	.ps-buehne__text > :nth-child(5) { animation-delay: .6s; }
	.ps-buehne__text > :nth-child(6) { animation-delay: .7s; }
	.ps-fakt { animation: ps-rein 1s var(--aus) both .85s; }

	/* ---------- 2 Sortiment: Produktbühne ---------- */
	.ps-shop { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: clamp(28px, 5vw, 88px); background: var(--sw); color: #fff; }
	.ps-shop::before { content: ""; }
	.ps-shop__bilder { position: relative; isolation: isolate; min-height: clamp(440px, 64vh, 660px); overflow: hidden; background: var(--g); }
	.ps-shop__bilder::before { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(0deg, rgba(16, 16, 16, .35), rgba(16, 16, 16, 0) 35%); mix-blend-mode: multiply; pointer-events: none; }
	.ps-shop__bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.1); filter: grayscale(1) contrast(1.05) brightness(1.5); mix-blend-mode: multiply; transition: opacity .8s var(--aus), transform 1.6s var(--aus); }
	.ps-shop__bild:first-child, .ist-bereit .ps-shop__bild.ist-aktiv { opacity: 1; transform: none; }
	.ist-bereit .ps-shop__bild:first-child:not(.ist-aktiv) { opacity: 0; transform: scale(1.1); }

	.ps-shop__eintraege { display: grid; gap: 34px; align-content: start; }
	.ps-shop__eintrag { display: grid; gap: 14px; }
	.ps-shop__eintrag .ps-nr { font: 800 14px/1 var(--display); letter-spacing: .14em; color: var(--g); }
	.ps-shop__text { font: 400 17px/1.65 var(--text); color: #c9c9c4; max-width: 30em; }
	.ps-shop.ist-bereit .ps-shop__eintraege { grid-template-rows: auto 1fr auto; gap: 0; padding: clamp(6px, 2vw, 24px) 0; }
	.ps-shop__zaehler { display: flex; align-items: center; gap: 14px; font: 800 14px/1 var(--display); letter-spacing: .18em; text-transform: uppercase; color: var(--g); }
	.ps-shop__zaehler::before { content: ""; width: 40px; height: 2px; background: var(--g); }
	.ps-shop__zaehler span { margin-left: auto; letter-spacing: .1em; color: var(--grau); }
	.ps-shop__zaehler b { color: #fff; font-weight: 800; }
	.ps-shop__stapel { display: grid; align-items: center; min-height: 18em; }
	.ps-shop.ist-bereit .ps-shop__eintrag { grid-area: 1 / 1; align-self: center; pointer-events: none; }
	.ps-shop.ist-bereit .ps-shop__eintrag .ps-nr { display: none; }
	.ps-shop.ist-bereit .ps-shop__eintrag .ps-h3 { font-size: clamp(50px, 5.8vw, 104px); line-height: 1; clip-path: inset(0 0 105% 0); transform: translateY(30px); transition: clip-path .9s var(--aus), transform .9s var(--aus); }
	.ps-shop.ist-bereit .ps-shop__eintrag .ps-shop__text { opacity: 0; transform: translateY(16px); transition: opacity .5s, transform .7s var(--aus); }
	.ps-shop.ist-bereit .ps-shop__eintrag.ist-aktiv { pointer-events: auto; }
	.ps-shop.ist-bereit .ps-shop__eintrag.ist-aktiv .ps-h3 { clip-path: inset(-10% 0 -10% 0); transform: none; transition-delay: .1s; }
	.ps-shop.ist-bereit .ps-shop__eintrag.ist-aktiv .ps-shop__text { opacity: 1; transform: none; transition-delay: .3s; }
	.ps-shop__steuerung { display: grid; gap: 18px; }
	.ps-shop__pfeile { display: flex; gap: 10px; }
	.ps-shop__pfeil { display: grid; place-items: center; width: 58px; height: 58px; padding: 0; border: 1px solid rgba(255, 255, 255, .3); border-radius: 0; background: transparent; color: #fff; font: 400 22px/1 var(--text); cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
	.ps-shop__pfeil:hover, .ps-shop__pfeil:focus-visible { background: var(--g); border-color: var(--g); color: var(--sw); }
	.ps-shop__leiste { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
	.ps-shop__vorschau { position: relative; display: grid; width: 100%; padding: 0; border: 0; border-radius: 0; background: var(--kohle); color: var(--grau); text-align: left; cursor: pointer; overflow: hidden; }
	.ps-shop__vorschau img { width: 100%; height: 64px; object-fit: cover; filter: grayscale(1) brightness(.6); transition: filter .4s, transform .6s var(--aus); }
	.ps-shop__vorschau-bild { display: block; padding: 0 !important; overflow: hidden; background: var(--g); isolation: isolate; }
	.ps-shop__vorschau-bild img { display: block; mix-blend-mode: multiply; }
	.ps-shop__vorschau span { padding: 8px 8px 10px; font: 800 12px/1.1 var(--display); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.ps-shop__vorschau::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--g); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--aus); }
	.ps-shop__vorschau:hover img, .ps-shop__vorschau.ist-aktiv img { filter: grayscale(1) contrast(1.05) brightness(1.5); transform: scale(1.06); }
	.ps-shop__vorschau.ist-aktiv { color: #fff; }
	.ps-shop__vorschau.ist-aktiv::after { transform: scaleX(1); }
	.ps-shop__vorschau:focus-visible { outline: 2px solid var(--g); outline-offset: 2px; }

	/* ---------- 3 Warum: Reise mit stehender Bildkarte ---------- */
	.ps-reise { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: start; background: var(--hell); color: var(--sw); }
	.ps-reise::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../../../uploads/brand/hintergrund/grunge-hell.webp) center / cover; mix-blend-mode: multiply; opacity: .1; pointer-events: none; }
	.ps-reise__karte { position: sticky; top: 110px; height: min(calc(100svh - 150px), 760px); background: var(--sw); }
	.ps-reise__bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1) brightness(.78); clip-path: inset(100% 0 0 0); transition: clip-path 1.1s var(--aus); }
	.ps-reise__bild:first-child, .ist-bereit .ps-reise__bild.ist-aktiv { clip-path: inset(0); z-index: 1; }
	.ist-bereit .ps-reise__bild.ist-raus { clip-path: inset(0); z-index: 0; }
	.ist-bereit .ps-reise__bild:first-child:not(.ist-aktiv):not(.ist-raus) { clip-path: inset(100% 0 0 0); }
	.ps-reise__karte::before { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(12, 12, 12, .6), rgba(12, 12, 12, 0) 40%); pointer-events: none; }
	.ps-stempel { position: absolute; right: calc(-1 * clamp(20px, 3vw, 48px)); bottom: clamp(30px, 6vh, 64px); z-index: 4; display: grid; gap: 6px; width: auto; max-width: 220px; padding: 22px 26px 24px; background: var(--g); color: var(--sw); transform: rotate(-4deg); box-shadow: 0 24px 50px rgba(0, 0, 0, .35); }
	.ps-stempel .ps-zahl { font: 900 clamp(58px, 5vw, 78px)/.85 var(--display); }
	.ps-stempel .ps-text { font: 700 12px/1.35 var(--text); letter-spacing: .12em; text-transform: uppercase; }
	.ps-reise .ps-kicker { color: var(--sw); }
	.ps-reise .ps-kicker::before { background: var(--g); height: 6px; }
	.ps-reise__liste .ps-spalte { margin-bottom: clamp(30px, 6vh, 70px); }
	.ps-reise__schritt { display: grid; gap: 18px; align-content: center; min-height: 58vh; padding: 48px 0; border-top: 1px solid var(--linie-d); transition: opacity .6s; }
	.ps-reise__schritt:last-child { min-height: 50vh; }
	.ist-bereit .ps-reise__schritt { opacity: .26; }
	.ist-bereit .ps-reise__schritt.ist-aktiv { opacity: 1; }
	.ps-reise__schritt .ps-nr { justify-self: start; padding: 7px 11px; background: var(--sw); color: var(--g); font: 800 14px/1 var(--display); letter-spacing: .12em; }
	.ps-reise__schritt .ps-h3 { font-size: clamp(38px, 4.2vw, 70px); line-height: 1; }
	.ps-reise__schritt .ps-text { max-width: 30em; font-size: 18px; color: #3d3d3a; }

	/* ---------- Absperrband zwischen hell und dunkel ---------- */
	.band-streifen .band-text { animation: ps-band 38s linear infinite; }
	/* Das schräge Band ist breiter als der Bildschirm; seitlich abschneiden, sonst wird die Seite mobil breiter */
	:has(> .band-streifen) { overflow-x: clip; }

	/* ---------- 4 Für den Verein: Teamfoto mit Parallax ---------- */
	.ps-verein { position: relative; isolation: isolate; overflow: clip; display: grid; align-items: end; min-height: 94svh; padding: 0; background: var(--nacht); color: #fff; }
	.ps-verein::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12, 12, 12, .97) 0%, rgba(12, 12, 12, .86) 34%, rgba(12, 12, 12, .2) 72%), linear-gradient(0deg, rgba(12, 12, 12, .85), rgba(12, 12, 12, 0) 40%); pointer-events: none; }
	.ps-verein__bild { position: absolute; inset: -8% 0; z-index: -2; width: 100%; height: 116%; max-width: none; object-fit: cover; filter: grayscale(1) contrast(1.12) brightness(.75); }
	.ps-verein .ps-h2 { margin-bottom: 30px; }
	.ps-verein__text { max-width: 760px; padding: clamp(140px, 16vw, 220px) var(--rand) clamp(80px, 9vw, 130px); }
	.ps-verein .ps-spalte { display: flex; align-items: center; gap: 22px; margin: 40px 0 44px; }
	.ps-verein .ps-zahl { font: 900 clamp(110px, 13vw, 220px)/.78 var(--display); color: var(--g); }
	.ps-verein .ps-label { max-width: 170px; color: #fff; font-size: 13px; }

	/* ---------- 5 Häufige Fragen ---------- */
	.ps-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 7vw, 120px); align-items: start; background: #fff; color: var(--sw); }
	.ps-faq > .ps-spalte { position: sticky; top: 120px; }
	.ps-faq .ps-kicker { color: var(--sw); }
	.ps-faq .ps-kicker::before { background: var(--g); height: 6px; }
	.ps-faq .ps-spalte .ps-text { margin-top: 24px; max-width: 24em; color: #55554f; }
	.ps-faq__liste { padding: 0; }
	.ps-faq__liste .e-accordion, .ps-faq__liste > :not(script) { display: block; width: 100%; padding: 0; gap: 0; }
	.ps-faq__eintrag { display: block; margin: 0; padding: 0; border: 0; border-top: 2px solid var(--sw); }
	.ps-faq__eintrag:last-child { border-bottom: 2px solid var(--sw); }
	.ps-faq__kopf { position: relative; display: block; padding: 30px 70px 30px 0; list-style: none; cursor: pointer; background: none; }
	.ps-faq__kopf::-webkit-details-marker { display: none; }
	.ps-faq__kopf::before { content: ""; position: absolute; left: -16px; right: -16px; top: 0; bottom: 0; z-index: -1; background: var(--g); transform: scaleY(0); transform-origin: bottom; transition: transform .45s var(--aus); }
	.ps-faq__kopf:hover::before, .ps-faq__eintrag[open] .ps-faq__kopf::before { transform: scaleY(1); }
	.ps-faq__kopf::after { content: "+"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font: 900 40px/1 var(--display); transition: transform .4s var(--aus); }
	.ps-faq__eintrag[open] .ps-faq__kopf::after { transform: translateY(-50%) rotate(45deg); }
	.ps-faq__frage { margin: 0; font: 900 clamp(22px, 2vw, 32px)/1.08 var(--display); text-transform: uppercase; color: var(--sw); }
	.ps-faq__antwort { margin: 0; padding: 22px 0 34px; max-width: 40em; font: 400 17px/1.7 var(--text); color: #3a3a36; }
	.ps-faq [data-element_type="e-accordion-item-icon"] { display: none; }
	.ps-faq summary { list-style: none; }
	.ps-faq summary::-webkit-details-marker { display: none; }
	.ps-faq .e-accordion-item, .ps-faq details { isolation: isolate; }

	/* ---------- 6 Öffnungszeiten & Anfahrt ---------- */
	.ps-anfahrt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); min-height: 100svh; padding: 0; background: var(--nacht); color: #fff; }
	.ps-anfahrt::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp) left top / 70% auto no-repeat; mix-blend-mode: screen; opacity: .12; pointer-events: none; }
	.ps-anfahrt__text { padding: clamp(90px, 10vw, 150px) var(--rand); }
	.ps-anfahrt .ps-h2 { margin-bottom: clamp(30px, 4vw, 54px); font-size: clamp(44px, 4.9vw, 86px); }
	.ps-anfahrt .ps-spalte { margin-bottom: 34px; }
	.ps-anfahrt__text > .e-div-block-base { padding: 0; }
	.ps-anfahrt .ps-label { margin: 0 0 8px; }
	.ps-anfahrt .ps-text { margin-bottom: 26px; font-size: 18px; color: #fff; }
	.ps-anfahrt .ps-knopf { margin-top: 8px; }
	.pp-zeiten { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--linie); }
	.pp-zeiten__tag { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 15px 0; border-top: 1px solid var(--linie); transition: color .3s; }
	.pp-zeiten__name { font: 800 20px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; }
	.pp-zeiten__zeit { font: 500 16px/1.45 var(--text); text-align: right; color: #d6d6d0; }
	.pp-zeiten-hinweis { margin: 0; padding: 18px 0; border-top: 1px solid var(--linie); border-bottom: 1px solid var(--linie); font: 500 17px/1.6 var(--text); color: #d6d6d0; max-width: 28em; }
	.pp-zeiten__tag.ist-zu { color: var(--grau); }
	.pp-zeiten__tag.ist-zu .pp-zeiten__zeit { color: var(--grau); }
	.pp-zeiten__tag.ist-heute { z-index: 0; color: var(--sw); }
	.pp-zeiten__tag.ist-heute::before { content: ""; position: absolute; inset: 0 -18px; z-index: -1; background: var(--g); }
	.pp-zeiten__tag.ist-heute .pp-zeiten__zeit { color: var(--sw); font-weight: 700; }
	.pp-zeiten__tag.ist-heute .pp-zeiten__name::after { content: "Heute"; margin-left: 12px; padding: 4px 7px; background: var(--sw); color: var(--g); font-size: 11px; letter-spacing: .14em; vertical-align: 3px; }
	.ps-anfahrt__karte { position: relative; min-height: 560px; background: var(--kohle); }
	.ps-anfahrt__karte .elementor-widget-shortcode, .ps-anfahrt__karte .elementor-widget-container, .ps-anfahrt__karte .elementor-shortcode { height: 100%; }
	.ps-anfahrt__karte .scb-karte { height: 100%; min-height: 560px; border-radius: 0; }
	.ps-anfahrt__karte iframe { width: 100%; height: 100%; min-height: 560px; border: 0; filter: grayscale(1) invert(.92) contrast(.9); }
	.ps-anfahrt__karte .scb-karte--geladen iframe { height: 100%; min-height: 560px; }
	.ps-anfahrt__karte .scb-karte { background-size: 56px 56px; }
	.ps-anfahrt__karte .scb-karte__hinweis { gap: 22px; padding: 40px; }
	.ps-anfahrt__karte .scb-karte__hinweis::before { content: ""; width: 54px; height: 54px; margin-bottom: 10px; background: var(--g); clip-path: polygon(50% 100%, 0 42%, 0 0, 100% 0, 100% 42%); box-shadow: none; animation: ps-pin 2.4s var(--aus) infinite; }
	.ps-anfahrt__karte .scb-karte__hinweis p { font: 900 clamp(26px, 2.4vw, 38px)/1.05 var(--display); text-transform: uppercase; color: #fff; }
	.ps-anfahrt__karte .scb-karte__laden { padding: 18px 28px; border: 0; border-radius: 0 !important; background: var(--g) !important; color: var(--sw) !important; font: 800 15px/1 var(--display); letter-spacing: .12em; }
	.ps-anfahrt__karte .scb-karte__laden:hover { background: #fff !important; }
	.ps-anfahrt__karte .scb-karte a { color: var(--g) !important; font: 800 14px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
	.ps-anfahrt__karte .scb-karte small, .ps-anfahrt__karte .scb-karte__hinweis > p + * + * { color: var(--grau); }

	/* ---------- 7 Kontakt ---------- */
	.ps-kontakt { display: flex; flex-direction: column; align-items: flex-start; background: var(--g); color: var(--sw); }
	.ps-kontakt::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../../../uploads/brand/hintergrund/grunge-dunkel.webp) center / cover; mix-blend-mode: multiply; opacity: .22; pointer-events: none; }
	.ps-kontakt::after { content: ""; position: absolute; right: -6vw; top: -10%; bottom: -10%; z-index: -1; width: 46vw; background: repeating-linear-gradient(-45deg, rgba(16, 16, 16, .07) 0 22px, transparent 22px 44px); pointer-events: none; }
	.ps-kontakt .ps-kicker { color: var(--sw); }
	.ps-kontakt .ps-h2 { font-size: clamp(34px, 3.8vw, 62px); margin-bottom: 6px; }
	.ps-kontakt__nummer { width: auto; margin: 18px 0 26px; padding: 0; border: 0; border-radius: 0; background: none; font: 900 clamp(64px, 10.5vw, 190px)/.84 var(--display); letter-spacing: .01em; color: var(--sw); text-decoration: none; transition: color .4s, -webkit-text-stroke-color .4s; -webkit-text-stroke: 2px var(--sw); }
	.ps-kontakt__nummer:hover, .ps-kontakt__nummer:focus-visible { color: transparent; }
	.ps-kontakt__nummer:empty { display: none; }
	.ps-kontakt .ps-lead { margin-bottom: 34px; color: #2b2b28; }
	.ps-kontakt .ps-knopf { border-color: var(--sw); color: var(--sw); }
	.ps-kontakt .ps-knopf::before { background: var(--sw); }
	.ps-kontakt .ps-knopf:hover, .ps-kontakt .ps-knopf:focus-visible { color: var(--g); border-color: var(--sw); }

	/* ---------- 8 Weitere Partner: ziehbare Leiste ---------- */
	.ps-weitere { display: block; padding-bottom: clamp(90px, 10vw, 150px); background: var(--sw); color: #fff; }
	.ps-weitere .ps-h2 { font-size: clamp(40px, 4.6vw, 76px); }
	.ps-weitere > .ps-spalte { width: calc(100% + var(--rand)); max-width: none; margin-right: calc(-1 * var(--rand)); }
	.pp-weitere { position: relative; overflow: hidden; cursor: grab; user-select: none; touch-action: pan-y; }
	.pp-weitere.ist-ziehen { cursor: grabbing; }
	.pp-weitere__spur { display: flex; gap: 14px; margin: 0; padding: 0 var(--rand) 0 0; list-style: none; will-change: transform; }
	.pp-weitere__karte { flex: 0 0 clamp(240px, 22vw, 320px); }
	.pp-weitere__karte :is(a, .ohne-link) { position: relative; display: grid; grid-template-rows: 210px auto 1fr; height: 100%; background: var(--kohle); color: #fff; text-decoration: none; transition: background .4s, color .4s; }
	.pp-weitere__logo { display: grid; place-items: center; padding: 34px; background: var(--hell); }
	.pp-weitere__logo img { max-width: 100%; max-height: 110px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .85; transition: filter .4s, opacity .4s, transform .6s var(--aus); pointer-events: none; }
	.pp-weitere__name { padding: 20px 20px 6px; font: 900 22px/1.05 var(--display); letter-spacing: .02em; text-transform: uppercase; }
	.pp-weitere__branche { padding: 0 20px 22px; font: 400 14px/1.4 var(--text); color: var(--grau); transition: color .4s; }
	.pp-weitere__karte a:hover, .pp-weitere__karte a:focus-visible { background: var(--g); color: var(--sw); }
	.pp-weitere__karte a:hover .pp-weitere__branche { color: #3a3a36; }
	.pp-weitere__karte a:hover img { filter: none; opacity: 1; transform: scale(1.06); }
	.pp-weitere__zeiger { position: absolute; left: 0; top: 0; z-index: 5; display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--g); color: var(--sw); font: 800 15px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; pointer-events: none; transform: translate(-50%, -50%) scale(0); transition: transform .35s var(--aus); }
	.pp-weitere.ist-zeiger .pp-weitere__zeiger { transform: translate(-50%, -50%) scale(1); }
	.pp-weitere.ist-ziehen .pp-weitere__zeiger { transform: translate(-50%, -50%) scale(.82); }
	@media (hover: none) { .pp-weitere__zeiger { display: none; } .pp-weitere { overflow-x: auto; scroll-snap-type: x mandatory; } .pp-weitere__karte { scroll-snap-align: start; } }

	/* ---------- Einblenden beim Scrollen ---------- */
	.ps-zeigen { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--aus), transform 1.1s var(--aus); }
	.ps-zeigen.ist-sichtbar { opacity: 1; transform: none; }

	/* ---------- Tablet und Handy ---------- */
	@media (max-width: 1024px) {
		.ps-buehne { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; min-height: 0; }
		.ps-buehne__text { grid-row: 1; padding-top: 150px; padding-bottom: 40px; }
		.ps-buehne__bild { grid-column: 1; grid-row: 2; min-height: 64vw; }
		.ps-buehne__bild::after { background: linear-gradient(180deg, var(--nacht) 0%, rgba(12, 12, 12, 0) 30%), linear-gradient(0deg, rgba(12, 12, 12, .8) 0%, rgba(12, 12, 12, 0) 40%); }
		.ps-buehne__logo { left: var(--rand); bottom: -40px; }
		.ps-buehne__ort { font-size: 12vw; }
		.ps-fakten { grid-column: 1; grid-row: 3; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 50px; }
		.ps-shop, .ps-reise, .ps-faq, .ps-anfahrt { grid-template-columns: minmax(0, 1fr); }
		.ps-shop__bilder { min-height: 62vw; margin-bottom: 30px; }
		.ps-shop__leiste { grid-template-columns: repeat(6, 120px); overflow-x: auto; padding-bottom: 6px; }
		.ps-reise__karte { position: relative; top: 0; height: 70vw; }
		.ps-reise__schritt { min-height: 0; }
		.ist-bereit .ps-reise__schritt { opacity: 1; }
		.ps-faq > .ps-spalte { position: static; }
		.ps-anfahrt__karte { min-height: 420px; }
		.ps-anfahrt__karte .scb-karte, .ps-anfahrt__karte iframe { min-height: 420px; }
	}
	@media (max-width: 600px) {
		.ps-h1 { font-size: clamp(46px, 13vw, 64px); }
		.ps-fakten { grid-template-columns: minmax(0, 1fr); }
		.ps-buehne__logo { width: 190px; }
		.ps-knopf { padding: 16px 20px; }
		.ps-knoepfe { width: 100%; }
		.ps-stempel { right: 14px; }
		.ps-shop.ist-bereit .ps-shop__eintrag .ps-h3 { font-size: 46px; }
		.ps-shop__stapel { min-height: 15em; }
		.ps-verein { min-height: 0; }
		.ps-verein .ps-spalte { flex-direction: column; align-items: flex-start; }
		.pp-zeiten__tag.ist-heute::before { inset: 0 -10px; }
	}
	@media (prefers-reduced-motion: reduce) {
		*, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
		.ps-zeigen { opacity: 1; transform: none; }
	}
}

/* Parallax des Teamfotos über die Scrollzeitachse */
@supports (animation-timeline: view()) {
	body.scb-seite .ps-verein__bild { animation: ps-parallax linear both; animation-timeline: view(); animation-range: cover; }
}

@keyframes ps-auf { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes ps-fahrt { from { transform: scale(1.18); } to { transform: scale(1); } }
@keyframes ps-rein { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes ps-rein-x { from { opacity: 0; transform: translateY(-50%) rotate(180deg) translateY(-60px); } to { opacity: 1; } }
@keyframes ps-puls { 0% { box-shadow: 0 0 0 0 rgba(255, 247, 48, .6); } 100% { box-shadow: 0 0 0 12px rgba(255, 247, 48, 0); } }
@keyframes ps-pin { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes ps-band { to { transform: translateX(-100%); } }
@keyframes ps-parallax { from { transform: translateY(-6%); } to { transform: translateY(6%); } }

/* =================== Spielbetrieb (Klassen sb-*) =================== */
body.scb-seite {
	.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.sb-platz { width: 100%; padding: 0; min-width: 0; }
	.sb-platz .elementor-widget-container, .sb-platz .elementor-shortcode { margin: 0; padding: 0; }
	.ps-kopfzeile .ps-spalte + .ps-spalte { flex: 0 1 440px; display: grid; gap: 18px; justify-items: start; }
	.sb-leer { margin: 0; font: 400 17px/1.6 var(--text); color: var(--grau); }

	/* Bühne */
	.sb-buehne--kurz { min-height: 82svh; }
	.sb-buehne:not(:has(.ps-fakten)) .ps-buehne__bild { grid-row: 1 / span 2; }
	.sb-buehne__karte { position: absolute; left: clamp(28px, 4vw, 64px); bottom: clamp(48px, 8vh, 96px); z-index: 3; width: clamp(320px, 30vw, 470px); padding: 0; animation: ps-rein 1.1s var(--aus) both 1s; }
	.sb-naechstes { padding: 26px 30px 24px; background: var(--g); color: var(--sw); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%); }
	.sb-naechstes p { margin: 0; }
	.sb-buehne__karte:has(.sb-naechstes-duo) { width: clamp(560px, 46vw, 700px); }
	.sb-naechstes-duo { display: grid; grid-template-columns: 1fr 1fr; }
	.sb-naechstes-duo .sb-naechstes { padding: 22px 22px 20px; clip-path: none; }
	.sb-naechstes-duo .sb-naechstes--junioren { background: var(--sw); color: #fff; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%); }
	.sb-naechstes--junioren .sb-naechstes__label { color: var(--g); }
	.sb-naechstes--junioren .sb-countdown span { background: var(--kohle); }
	.sb-naechstes-duo .sb-naechstes__paar { font-size: clamp(22px, 1.7vw, 28px); }
	.sb-naechstes-duo .sb-countdown { gap: 5px; }
	.sb-naechstes-duo .sb-countdown span { padding: 8px 2px 6px; font-size: 9px; }
	.sb-naechstes-duo .sb-countdown b { font-size: clamp(24px, 1.9vw, 32px); }
	.sb-naechstes__label { font: 700 12px/1.3 var(--text); letter-spacing: .14em; text-transform: uppercase; }
	.sb-naechstes__paar { display: grid; gap: 2px; margin: 14px 0 18px !important; font: 900 clamp(26px, 2.3vw, 38px)/1 var(--display); text-transform: uppercase; }
	.sb-naechstes__paar i { font: italic 500 14px/1.4 var(--text); text-transform: none; }
	.sb-countdown { display: flex; gap: 8px; margin: 0 0 16px; padding: 0; background: none; }
	.sb-countdown span { border-radius: 0 !important; display: grid; justify-items: center; flex: 1; padding: 10px 4px 8px; background: var(--sw); color: #fff; font: 700 10px/1.2 var(--text); letter-spacing: .12em; text-transform: uppercase; }
	.sb-countdown b { font: 900 clamp(30px, 2.6vw, 42px)/1 var(--display); color: var(--g); }
	.sb-naechstes__info { display: grid; gap: 2px; font: 600 13px/1.4 var(--text); }
	.sb-naechstes__info span:first-child { font-weight: 800; }

	/* Spielzeilen */
	.sb-liste { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
	.sb-zeile { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(0, 230px) 96px 82px 46px; align-items: center; gap: 18px; padding: 16px 0; border-top: 1px solid var(--linie); transition: background .3s; }
	.sb-zeile:not(:has(.sb-zeile__liga)) { grid-template-columns: 70px minmax(0, 1fr) 96px 82px; }
	.sb-zeile[hidden] { display: none; }
	.sb-zeile:hover { background: rgba(255, 255, 255, .03); }
	.sb-zeile--heim { box-shadow: inset 4px 0 0 var(--g); padding-left: 18px; }
	.sb-zeile__datum { display: grid; gap: 2px; }
	.sb-zeile__datum b { font: 800 18px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; }
	.sb-zeile__datum span { font: 500 13px/1.2 var(--text); color: var(--grau); }
	.sb-zeile__paar { display: grid; gap: 3px; min-width: 0; }
	.sb-zeile__team { font: 900 22px/1 var(--display); text-transform: uppercase; color: #fff; text-decoration: none; }
	.sb-zeile__team:hover { color: var(--g); }
	.sb-zeile__gegner { font: 400 15px/1.35 var(--text); color: #c9c9c4; }
	.sb-zeile__liga { display: grid; gap: 2px; font: 500 13px/1.35 var(--text); color: var(--grau); }
	.sb-zeile__liga small { font-size: 12px; color: #77776f; }
	.sb-zeile__ort { justify-self: start; padding: 6px 9px; border: 1px solid var(--linie); font: 800 11px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--grau); }
	.sb-zeile--heim .sb-zeile__ort { background: var(--g); border-color: var(--g); color: var(--sw); }
	.sb-zeile__stand { justify-self: end; font: 900 28px/1 var(--display); color: #fff; font-variant-numeric: tabular-nums; }
	.sb-zeile__stand--offen { color: #55554f; }
	.sb-zeile__stand--text { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: #ff7b5c; }
	.sb-zeile.ist-sieg .sb-zeile__stand { color: var(--g); }
	.sb-zeile.ist-abgesagt .sb-zeile__paar, .sb-zeile.ist-abgesagt .sb-zeile__datum { opacity: .45; text-decoration: line-through; }
	.sb-zeile__extern { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--linie); color: #fff; transition: background .3s, color .3s, border-color .3s; }
	span.sb-zeile__extern { border-color: transparent; }
	a.sb-zeile__extern:hover, a.sb-zeile__extern:focus-visible { background: var(--g); border-color: var(--g); color: var(--sw); }
	.sb-zeile__extern .pfeil { width: 18px; height: 18px; }

	/* Tage */
	.sb-tage { display: grid; gap: 44px; }
	.sb-tag__name { display: flex; align-items: baseline; gap: 14px; margin: 0 0 6px; font: 900 clamp(26px, 2.4vw, 38px)/1 var(--display); text-transform: uppercase; }
	.sb-tag__name span { font: 500 15px/1 var(--text); text-transform: none; color: var(--grau); }
	.sb-tag__name .sb-tag__zahl { margin-left: auto; font: 800 13px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; }

	/* Abschnitte */
	.sb-woche, .sb-plan-bereich, .sb-tabellen-bereich, .sb-heim-bereich { display: block; background: var(--sw); color: #fff; }
	:is(.sb-woche, .sb-plan-bereich, .sb-tabellen-bereich, .sb-heim-bereich)::before { content: ""; }
	.sb-erg-bereich, .sb-abo-bereich { display: block; background: var(--g); color: var(--sw); }
	:is(.sb-erg-bereich, .sb-abo-bereich)::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../../../uploads/brand/hintergrund/grunge-dunkel.webp) center / cover; mix-blend-mode: multiply; opacity: .2; pointer-events: none; }
	:is(.sb-erg-bereich, .sb-abo-bereich, .sb-wege, .sb-hinweis) .ps-kicker { color: var(--sw); }
	:is(.sb-erg-bereich, .sb-abo-bereich) .ps-intro, :is(.sb-erg-bereich, .sb-abo-bereich) .ps-label { color: #2b2b28; }
	:is(.sb-erg-bereich, .sb-abo-bereich) .ps-textlink { border-bottom-color: var(--sw); }
	:is(.sb-wege, .sb-hinweis) .ps-kicker::before { background: var(--g); height: 6px; }

	/* Ergebnis-Karten */
	.sb-ergebnisse { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
	.sb-erg { display: grid; gap: 6px; padding: 22px 24px 18px; background: var(--sw); color: #fff; }
	.sb-erg p { margin: 0; }
	.sb-erg__kopf { display: flex; justify-content: space-between; margin-bottom: 10px !important; font: 800 13px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--grau); }
	.sb-erg--sieg .sb-erg__kopf span:last-child { color: var(--g); }
	.sb-erg__zeile { display: flex; justify-content: space-between; align-items: center; gap: 14px; font: 400 16px/1.3 var(--text); color: var(--grau); }
	.sb-erg__zeile.ist-wir { color: #fff; font-weight: 700; }
	.sb-erg__zeile b { font: 900 36px/1 var(--display); color: inherit; }
	.sb-erg--sieg .sb-erg__zeile.ist-wir b { color: var(--g); }
	.sb-erg__fuss { margin-top: 12px !important; padding-top: 12px; border-top: 1px solid var(--linie); font: 500 12px/1.4 var(--text); color: var(--grau); }

	/* Drei Wege: Bildkarten, die beim Hover aufgehen */
	.sb-wege { display: block; background: var(--hell); color: var(--sw); }
	.sb-wege__liste { display: flex; gap: 14px; height: clamp(460px, 66vh, 640px); padding: 0; }
	.sb-weg { position: relative; isolation: isolate; flex: 1 1 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; overflow: hidden; padding: clamp(24px, 2.6vw, 38px); color: #fff; transition: flex-grow .9s var(--aus); }
	.sb-weg::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 12, 12, .92), rgba(12, 12, 12, .2) 60%); }
	.sb-weg__bild { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1) brightness(.7); transition: transform 1.4s var(--aus), filter .6s; }
	.sb-weg .ps-h3 { font-size: clamp(30px, 2.8vw, 46px); }
	.sb-weg .ps-text { max-width: 26em; color: #d6d6d0; opacity: 0; transform: translateY(16px); transition: opacity .5s, transform .7s var(--aus); }
	.sb-weg__link { align-self: flex-start; color: #fff; }
	.sb-weg__link::before { content: ""; position: absolute; inset: 0; z-index: 1; }
	.sb-wege__liste:not(:hover) .sb-weg:first-child, .sb-weg:hover, .sb-weg:focus-within { flex-grow: 1.9; }
	.sb-wege__liste:not(:hover) .sb-weg:first-child .ps-text, .sb-weg:hover .ps-text, .sb-weg:focus-within .ps-text { opacity: 1; transform: none; transition-delay: .2s; }
	.sb-weg:hover .sb-weg__bild { transform: scale(1.06); filter: grayscale(1) contrast(1.1) brightness(.85); }

	/* Spielplan */
	.sb-plan__leiste { position: relative; display: grid; gap: 18px; margin-bottom: 30px; }
	.sb-plan__ansicht, .sb-plan__filter, .sb-plan__gruppe { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
	.sb-plan__filter { gap: 14px 22px; }
	.sb-chip { display: inline-flex; align-items: center; gap: 10px; padding: 11px 16px !important; border: 1px solid rgba(255, 255, 255, .28) !important; border-radius: 0 !important; background: transparent !important; color: #fff !important; font: 800 13px/1 var(--display) !important; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
	.sb-chip:hover { border-color: var(--g) !important; }
	.sb-chip[aria-pressed="true"] { background: var(--g) !important; border-color: var(--g) !important; color: var(--sw) !important; }
	.sb-chip--gross { padding: 16px 22px !important; font-size: 17px !important; }
	.sb-chip span { font-size: .8em; opacity: .65; }
	.sb-plan__auswahl select { min-width: 210px; padding: 11px 40px 11px 16px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 0; background: var(--kohle) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23FFF730' stroke-width='2'/%3E%3C/svg%3E") right 14px center no-repeat; color: #fff; font: 800 13px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; appearance: none; cursor: pointer; }
	.sb-plan__info { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin: 0; font: 600 14px/1 var(--text); color: var(--grau); }
	.sb-plan__info [data-zahl] { font: 900 22px/1 var(--display); color: #fff; }
	.sb-plan__abo { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; font: 800 14px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--g); text-decoration: none; }
	.sb-plan__abo .pfeil { width: 16px; height: 16px; }
	.sb-plan__monate { display: flex; flex-direction: column; gap: 46px; }
	.sb-plan.ist-gespielt .sb-plan__monate, .sb-plan.ist-gespielt .sb-liste { flex-direction: column-reverse; }
	.sb-monat[hidden] { display: none; }
	.sb-plan__mehr { display: flex; justify-content: center; margin-top: 40px; }
	.sb-plan__mehr[hidden] { display: none; }
	.sb-monat__name { position: sticky; top: 0; z-index: 3; margin: 0; padding: 18px 0 14px; background: rgba(16, 16, 16, .94); backdrop-filter: blur(8px); border-bottom: 2px solid var(--g); font: 900 clamp(28px, 2.6vw, 40px)/1 var(--display); text-transform: uppercase; color: #fff; }

	/* Kalender-Abo */
	.sb-abo { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
	.sb-abo__eintrag a { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 14px; height: 100%; padding: 20px 22px; background: var(--sw); color: #fff; text-decoration: none; transition: background .3s, color .3s; }
	.sb-abo__eintrag--alle { grid-column: span 2; }
	.sb-abo__eintrag--alle a { background: #fff; color: var(--sw); }
	.sb-abo__name { font: 900 22px/1.05 var(--display); text-transform: uppercase; }
	.sb-abo__zahl { grid-row: 2; font: 500 13px/1.3 var(--text); opacity: .65; }
	.sb-abo__eintrag .pfeil { grid-row: 1 / span 2; grid-column: 2; width: 20px; height: 20px; transition: transform .4s var(--aus); }
	.sb-abo__eintrag a:hover, .sb-abo__eintrag a:focus-visible { background: #fff; color: var(--sw); }
	.sb-abo__eintrag--alle a:hover { background: var(--sw); color: #fff; }
	.sb-abo__eintrag a:hover .pfeil { transform: translateX(5px); }

	/* Tabellen */
	.sb-reiter { display: grid; grid-template-columns: minmax(220px, 290px) minmax(0, 1fr); gap: clamp(30px, 4vw, 64px); align-items: start; }
	.sb-reiter__nav { position: sticky; top: 100px; display: grid; gap: 2px; }
	.sb-reiter__nav button { display: grid; gap: 4px; padding: 15px 18px !important; border: 0 !important; border-left: 3px solid transparent !important; border-radius: 0 !important; background: transparent !important; color: #fff !important; text-align: left; cursor: pointer; transition: background .3s, border-color .3s; }
	.sb-reiter__nav button:hover { background: rgba(255, 255, 255, .05) !important; }
	.sb-reiter__nav button[aria-selected="true"] { border-left-color: var(--g) !important; background: var(--kohle) !important; }
	.sb-reiter__name { font: 900 22px/1 var(--display); text-transform: uppercase; }
	.sb-reiter__liga { font: 500 13px/1.3 var(--text); color: var(--grau); }
	.sb-reiter__feld[hidden] { display: none; }
	.sb-reiter__feld:not([hidden]) { animation: ps-rein .7s var(--aus) both; }
	.sb-team { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 48px); align-items: end; margin-bottom: 34px; }
	.sb-team__bild { aspect-ratio: 16 / 10; overflow: hidden; background: var(--kohle); }
	.sb-team__bild img { width: 100%; height: 100%; object-fit: cover; }
	.sb-team__text { display: grid; gap: 18px; justify-items: start; }
	.sb-team__text .ps-kicker { margin: 0; }
	.sb-team__name { margin: 0; font: 900 clamp(42px, 4.4vw, 76px)/1 var(--display); text-transform: uppercase; color: #fff; }
	.sb-tabelle { margin: 0 0 34px; }
	.sb-tabelle.scb-fbde { border-radius: 0; background: var(--kohle); }
	.sb-tabelle .scb-fbde__hinweis { padding: 46px 30px; }
	.sb-tabelle .scb-fbde__laden { border-radius: 0 !important; background: var(--g) !important; color: var(--sw) !important; }
	.sb-tabelle--fehlt { display: grid; gap: 18px; justify-items: start; padding: 34px 32px; border: 1px dashed rgba(255, 255, 255, .28); }
	.sb-tabelle--fehlt p { margin: 0; font: 400 17px/1.6 var(--text); color: #c9c9c4; }
	.sb-team__spiele { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px; }
	.sb-team__spiele .ps-label { margin: 0 0 6px; }

	/* Hinweis Kinderfußball */
	.sb-hinweis { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 110px); align-items: end; background: var(--hell); color: var(--sw); }
	.sb-hinweis .ps-lead { margin-bottom: 26px; color: #3a3a36; }
	.sb-hinweis .ps-h2 { font-size: clamp(40px, 4.6vw, 78px); }

	@media (max-width: 1024px) {
		.sb-buehne__karte { position: relative; left: auto; bottom: auto; width: auto; margin: -60px var(--rand) 0; }
		.sb-buehne__karte:has(.sb-naechstes-duo) { width: auto; }
		.sb-buehne .ps-buehne__bild { display: flex; align-items: flex-end; }
		.sb-buehne--kurz { min-height: 0; }
		.sb-wege__liste { flex-direction: column; height: auto; }
		.sb-weg { min-height: 360px; }
		.sb-weg .ps-text { opacity: 1; transform: none; }
		.sb-reiter { grid-template-columns: minmax(0, 1fr); }
		.sb-reiter__nav { position: static; display: flex; overflow-x: auto; gap: 6px; padding-bottom: 6px; }
		.sb-reiter__nav button { flex: none; border-left: 0 !important; border-bottom: 3px solid transparent !important; }
		.sb-reiter__nav button[aria-selected="true"] { border-bottom-color: var(--g) !important; }
		.sb-team, .sb-hinweis { grid-template-columns: minmax(0, 1fr); }
		.sb-zeile { grid-template-columns: 58px minmax(0, 1fr) 82px 70px 40px; }
		.sb-zeile .sb-zeile__liga { display: none; }
		.sb-zeile:not(:has(.sb-zeile__extern)) { grid-template-columns: 58px minmax(0, 1fr) 82px 70px; }
	}
	@media (max-width: 600px) {
		.sb-zeile, .sb-zeile:not(:has(.sb-zeile__extern)) { grid-template-columns: 50px minmax(0, 1fr) auto; gap: 6px 12px; }
		.sb-zeile__ort { grid-column: 2; grid-row: 2; }
		.sb-zeile__stand { grid-column: 3; grid-row: 1 / span 2; font-size: 24px; }
		.sb-zeile__extern { display: none; }
		.sb-zeile__team { font-size: 19px; }
		.sb-abo__eintrag--alle { grid-column: auto; }
		.sb-plan__abo { margin-left: 0; }
		.sb-chip--gross { padding: 13px 16px !important; font-size: 14px !important; }
		.sb-naechstes-duo { grid-template-columns: 1fr; }
	}
}


/* =================== Grunge-Fläche für dunkle Abschnitte ===================
   Drei Texturen (grunge-band-1…3, 1600 × 1164, oben und unten weich ausgeblendet) laufen versetzt untereinander:
   wo ein Band ausblendet, blendet das nächste ein. Sie werden gekachelt statt gestreckt und bleiben daher bei
   jeder Abschnittshöhe scharf. Ab 1600 px Breite wachsen sie mit der Fensterbreite. */
body.scb-seite {
	--grunge-b: max(1600px, 100vw);
	--grunge-h: calc(var(--grunge-b) * .7275);
	:is(.ps-buehne, .ps-shop, .sb-woche, .sb-plan-bereich, .sb-tabellen-bereich, .sb-heim-bereich)::before {
		position: absolute; inset: 0; z-index: -1; pointer-events: none;
		background-image: url(../../../uploads/brand/hintergrund/grunge-band-1.webp), url(../../../uploads/brand/hintergrund/grunge-band-2.webp);
		background-size: var(--grunge-b) var(--grunge-h);
		background-position: center 0, center calc(var(--grunge-h) / 2);
		background-repeat: repeat-y;
		background-blend-mode: screen;
		mix-blend-mode: screen;
		opacity: .2;
	}
	/* Abwechslung: jeder zweite Abschnitt beginnt mit dem dritten Band */
	:is(.ps-shop, .sb-plan-bereich, .sb-heim-bereich)::before {
		background-image: url(../../../uploads/brand/hintergrund/grunge-band-3.webp), url(../../../uploads/brand/hintergrund/grunge-band-1.webp);
	}
}

/* =================== Mannschaften (Klassen mt-*) =================== */
body.scb-seite {
	/* Motive wie auf der Startseite: jeder Abschnitt hat sein eigenes, Grunge nur bei den Spielen */
	:is(.mt-buehne, .mt-trainer-bereich, .mt-spiele-bereich, .mt-weitere-bereich)::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-repeat: no-repeat; }
	.mt-buehne::before {
		background-image: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp);
		background-size: min(1100px, 80vw) auto; background-position: right -4vw top -3vw;
		mix-blend-mode: screen; opacity: .2;
		-webkit-mask-image: linear-gradient(180deg, #000 0, #000 15%, transparent 55%); mask-image: linear-gradient(180deg, #000 0, #000 15%, transparent 55%);
	}
	.mt-trainer-bereich::before {
		background-image: url(../../../uploads/brand/hintergrund/tornetz.webp); background-size: cover; background-position: right center;
		mix-blend-mode: multiply; opacity: .09;
		-webkit-mask-image: linear-gradient(90deg, transparent 10%, #000 65%); mask-image: linear-gradient(90deg, transparent 10%, #000 65%);
	}
	.mt-spiele-bereich::before {
		background-image: url(../../../uploads/brand/hintergrund/grunge-band-2.webp), url(../../../uploads/brand/hintergrund/grunge-band-3.webp);
		background-size: var(--grunge-b) var(--grunge-h); background-position: center 0, center calc(var(--grunge-h) / 2);
		background-repeat: repeat-y; background-blend-mode: screen; mix-blend-mode: screen; opacity: .14;
	}
	.mt-weitere-bereich::before {
		background-image: url(../../../uploads/brand/hintergrund/foerdergeruest.webp);
		background-size: auto 150%; background-position: right 3% top -4%;
		mix-blend-mode: multiply; opacity: .09;
		-webkit-mask-image: radial-gradient(42% 60% at 80% 32%, #000 35%, transparent 80%); mask-image: radial-gradient(42% 60% at 80% 32%, #000 35%, transparent 80%);
	}

	/* Bühne: Name groß, rechts die Fakten */
	.mt-buehne { position: relative; isolation: isolate; overflow: clip; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(30px, 5vw, 90px); align-items: end; margin: 0; padding: calc(140px + 2vh) var(--rand) clamp(50px, 7vh, 80px); background: var(--nacht); color: #fff; }
	.mt-buehne__kopf, .mt-buehne__seite { padding: 0; min-width: 0; }
	.mt-buehne .ps-krumen { position: static; margin-bottom: clamp(40px, 7vh, 80px); }
	.mt-buehne .ps-h1 { font-size: clamp(56px, 7.2vw, 132px); line-height: 1; margin-bottom: 30px; }
	.mt-buehne .ps-h1 span { font-size: .2em; margin-top: .5em; }
	.mt-buehne__kopf > * { animation: ps-rein 1s var(--aus) both; }
	.mt-buehne__kopf > :nth-child(2) { animation-delay: .15s; }
	.mt-buehne__kopf > :nth-child(3) { animation-delay: .25s; }
	.mt-buehne__kopf > :nth-child(4) { animation-delay: .4s; }
	.mt-buehne__seite { display: grid; gap: 30px; animation: ps-rein 1s var(--aus) both .5s; }
	.mt-fakten { display: grid; padding: 0; border-bottom: 1px solid var(--linie); }
	.mt-fakten .ps-fakt { grid-template-columns: 120px 1fr; align-items: baseline; gap: 16px; padding: 16px 0; border-top: 1px solid var(--linie); animation: none; }
	.mt-fakten .ps-fakt-label { font: 700 12px/1.3 var(--text); letter-spacing: .14em; text-transform: uppercase; color: var(--grau); }
	.mt-fakten .ps-fakt-wert { font-size: clamp(19px, 1.5vw, 24px); }

	/* Teamfoto über die volle Breite, zieht sich beim Scrollen auf */
	.mt-foto { position: relative; overflow: hidden; margin: 0; padding: 0; background: var(--nacht); }
	.mt-foto__bild { display: block; width: 100%; height: auto; }
	@supports (animation-timeline: view()) {
		.mt-foto__bild { animation: mt-auf linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
	}

	/* Training */
	.mt-training-bereich { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(30px, 5vw, 90px); align-items: start; background: #fff; color: var(--sw); }
	.mt-training-bereich .ps-kicker { color: var(--sw); }
	.mt-training-bereich .ps-kicker::before { background: var(--g); height: 6px; }
	.mt-training-bereich .ps-h2 { margin-bottom: clamp(26px, 3vw, 44px); }
	.mt-training { margin: 0; padding: 0; list-style: none; border-bottom: 2px solid var(--sw); }
	.mt-training__tag { position: relative; z-index: 0; display: grid; grid-template-columns: minmax(150px, 1fr) auto; align-items: center; gap: 24px; padding: 20px 0; border-top: 2px solid var(--sw); }
	.mt-training__name { font: 900 clamp(26px, 2.4vw, 38px)/1 var(--display); text-transform: uppercase; }
	.mt-training__zeit { font: 800 clamp(20px, 1.7vw, 26px)/1 var(--display); letter-spacing: .02em; }
	.mt-training__platz { justify-self: end; padding: 7px 10px; background: var(--sw); color: #fff; font: 800 12px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
	.mt-training__tag.ist-naechstes::before { content: ""; position: absolute; inset: 0 -18px; z-index: -1; background: var(--g); }
	.mt-training__tag.ist-naechstes .mt-training__name::after { content: "Als Nächstes"; display: block; margin-top: 6px; font: 700 11px/1 var(--text); letter-spacing: .14em; }
	.mt-probe { position: sticky; top: 110px; display: grid; gap: 18px; justify-items: start; padding: clamp(28px, 3vw, 44px); background: var(--g); color: var(--sw); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%); }
	.mt-probe .ps-h3 { font-size: clamp(34px, 3vw, 50px); color: var(--sw); }
	.mt-probe .ps-text { color: #2b2b28; }
	.mt-probe .ps-knopf { border-color: var(--sw); color: var(--sw); }
	.mt-probe .ps-knopf::before { background: var(--sw); }
	.mt-probe .ps-knopf:hover, .mt-probe .ps-knopf:focus-visible { color: var(--g); }

	/* Trainerteam */
	.mt-trainer-bereich { display: block; background: var(--g); color: var(--sw); }
	.mt-trainer-bereich .ps-kicker { color: var(--sw); }
	.mt-trainer-bereich .mt-trainer__rolle { color: var(--sw); }
	.mt-trainer-bereich .mt-trainer__bild { background: var(--sw); }
	.mt-trainer-bereich .mt-trainer__bild::after { background: #fff; }
	.mt-trainer-bereich .sb-leer { color: #2b2b28; }
	.mt-spiele-bereich { display: block; background: var(--sw); color: #fff; }
	.mt-tabelle-bereich, .mt-uebersicht { display: block; background: #fff; color: var(--sw); }
	:is(.mt-tabelle-bereich, .mt-uebersicht) .ps-kicker { color: var(--sw); }
	:is(.mt-tabelle-bereich, .mt-uebersicht) .ps-kicker::before { background: var(--g); height: 6px; }
	:is(.mt-tabelle-bereich, .mt-uebersicht) .ps-intro { color: #4a4a45; }
	.mt-tabelle-bereich .sb-tabelle--fehlt { border-color: rgba(16, 16, 16, .3); }
	.mt-tabelle-bereich .sb-tabelle--fehlt p { color: #3a3a36; }
	.mt-tabelle-bereich .ps-textlink { color: var(--sw); }
	.mt-tabelle-bereich .sb-tabelle.scb-fbde { background: var(--hell); color: var(--sw); }
	.mt-uebersicht .sb-chip { border-color: rgba(16, 16, 16, .3) !important; color: var(--sw) !important; }
	.mt-uebersicht .sb-chip[aria-pressed="true"] { border-color: var(--g) !important; }
	.mt-weitere-bereich { position: relative; isolation: isolate; background: var(--hell); color: var(--sw); }
	.mt-weitere-bereich .ps-textlink { color: var(--sw); }
	.mt-weitere-bereich .pp-weitere__zeiger { background: var(--sw); color: var(--g); }
	.mt-trainer { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
	.mt-trainer__karte { display: grid; gap: 6px; }
	.mt-trainer__bild { position: relative; aspect-ratio: 4 / 5; overflow: hidden; margin-bottom: 14px; background: var(--kohle); }
	.mt-trainer__bild img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--aus); }
	.mt-trainer__karte:hover img { transform: scale(1.05); }
	.mt-trainer__bild::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--g); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--aus); }
	.mt-trainer__karte:hover .mt-trainer__bild::after { transform: scaleX(1); }
	.mt-trainer__initialen { display: grid; place-items: center; height: 100%; font: 900 110px/1 var(--display); color: transparent; -webkit-text-stroke: 1.5px rgba(255, 247, 48, .6); }
	.mt-trainer__rolle { margin: 0; font: 800 13px/1 var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--g); }
	.mt-trainer__name { margin: 0; font: 900 clamp(26px, 2.2vw, 34px)/1 var(--display); text-transform: uppercase; }

	/* Spiele */
	.mt-spiele { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 4vw, 64px); }
	.mt-spiele__spalte .ps-label { margin: 0 0 10px; }
	.mt-tabelle-bereich:has(.sb-tabelle--kinder) { display: none; }
	.ps-kicker:empty { display: none; }
	.mt-spiele .sb-zeile__team { display: none; }
	.mt-spiele .sb-zeile__gegner { font: 900 21px/1.05 var(--display); text-transform: uppercase; color: #fff; }
	.mt-spiele__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }

	/* Weitere Mannschaften und Übersicht: Bildkarten */
	.mt-weitere .pp-weitere__spur { gap: 14px; }
	.mt-karte { flex: 0 0 clamp(260px, 24vw, 360px); list-style: none; }
	.mt-karte a { position: relative; display: grid; height: 100%; background: var(--kohle); color: #fff; text-decoration: none; overflow: hidden; transition: background .4s, color .4s; }
	.mt-karte__bild { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #222; }
	.mt-karte__bild img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; transition: transform 1.2s var(--aus); }
	.mt-karte__text { display: grid; gap: 6px; padding: 18px 20px 22px; }
	.mt-karte__name { font: 900 clamp(24px, 2vw, 32px)/1 var(--display); text-transform: uppercase; }
	.mt-karte__info { font: 500 13px/1.4 var(--text); color: var(--grau); transition: color .4s; }
	.mt-karte a:hover, .mt-karte a:focus-visible { background: var(--g); color: var(--sw); }
	.mt-karte a:hover .mt-karte__info { color: #3a3a36; }
	.mt-karte a:hover img { transform: scale(1.06); }
	.mt-raster__reiter { margin-bottom: 30px; }
	.mt-raster__liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; margin: 0; padding: 0; }
	.mt-raster__liste .mt-karte[hidden] { display: none; }
	.mt-raster__liste .mt-karte:not([hidden]) { animation: ps-rein .6s var(--aus) both; }

	/* Knopf auf gelber Fläche */
	.sb-erg-bereich .ps-knopf { border-color: var(--sw); color: var(--sw); }
	.sb-erg-bereich .ps-knopf::before { background: var(--sw); }
	.sb-erg-bereich .ps-knopf:hover, .sb-erg-bereich .ps-knopf:focus-visible { color: var(--g); border-color: var(--sw); }

	@media (max-width: 1024px) {
		.mt-buehne, .mt-training-bereich, .mt-spiele { grid-template-columns: minmax(0, 1fr); }
		.mt-probe { position: static; }
	}
	@media (max-width: 600px) {
		.mt-training__tag { grid-template-columns: 1fr auto; gap: 8px 16px; }
		.mt-training__platz { grid-column: 1 / -1; justify-self: start; }
		.mt-fakten .ps-fakt { grid-template-columns: 1fr; gap: 6px; }
	}
}
@keyframes mt-auf { from { clip-path: inset(10% 7% 10% 7%); transform: scale(1.08); } to { clip-path: inset(0); transform: none; } }

/* =================== Scroll-Zoom: Luftbild, in das man hineinfährt =================== */
body.scb-seite {
	.platz-zoom { position: relative; height: 220vh; background: var(--nacht); }
	.platz-zoom__buehne { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: flex-end; }
	.platz-zoom__bild { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transform-origin: 58% 62%; transform: scale(calc(1 + var(--zoom, 0) * 1.1)); filter: brightness(calc(.78 - var(--zoom, 0) * .32)); }
	.platz-zoom__text { position: relative; z-index: 1; display: grid; gap: 18px; justify-items: start; padding: 0 var(--rand) 10vh; color: #fff; opacity: calc(var(--zoom, 0) * 3 - .3); transform: translateY(calc((1 - min(1, var(--zoom, 0) * 2.5)) * 40px)); }
	.platz-zoom__text .ps-kicker { margin: 0; }
	.platz-zoom__titel { margin: 0; font: 900 clamp(56px, 9vw, 150px)/1 var(--display); text-transform: uppercase; color: #fff; }
	.platz-zoom__satz { margin: 0; max-width: 34em; font: 400 18px/1.6 var(--text); }
	.platz-zoom .ps-textlink { color: #fff; }
	@media (prefers-reduced-motion: reduce) { .platz-zoom { height: auto; } .platz-zoom__buehne { position: relative; } .platz-zoom__text { opacity: 1; transform: none; } }
}

/* =================== Partner & Sponsor werden (Klassen sp-*) =================== */
body.scb-seite {
	/* Logo-Laufband auf Gelb */
	.sp-logos { position: relative; display: grid; gap: 22px; margin: 0; padding: 40px 0 44px; background: var(--g); color: var(--sw); overflow: hidden; }
	.sp-logos .ps-kicker { margin: 0; padding: 0 var(--rand); color: var(--sw); }
	.sp-band { display: flex; width: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
	.sp-band__spur { display: flex; flex: none; gap: 14px; padding-right: 14px; animation: sp-lauf 46s linear infinite; }
	.sp-band:hover .sp-band__spur { animation-play-state: paused; }
	.sp-band__logo { display: grid; place-items: center; width: 190px; height: 104px; padding: 16px 22px; background: #fff; }
	.sp-band__logo img { max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); transition: filter .4s; }
	.sp-band__logo:hover img { filter: none; }

	/* Problem: weiß, rechts die große Zahl */
	.sp-problem { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(30px, 6vw, 110px); align-items: center; background: #fff; color: var(--sw); }
	.sp-problem .ps-kicker, .sp-beleg .ps-kicker, .ps-faq .ps-kicker { color: var(--sw); }
	.sp-problem .ps-kicker::before, .sp-beleg .ps-kicker::before { background: var(--g); height: 6px; }
	.sp-problem .ps-h2 { margin-bottom: 28px; }
	.sp-problem .ps-lead, .sp-beleg .ps-lead { color: #3a3a36; max-width: 36em; }
	.sp-problem .ps-lead + .ps-lead { margin-top: 18px; }
	.sp-zahl { position: relative; display: grid; gap: 10px; padding: clamp(28px, 3vw, 46px); background: var(--sw); color: #fff; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 34px), calc(100% - 34px) 100%, 0 100%); }
	.sp-zahl .ps-zahl { font: 900 clamp(110px, 12vw, 200px)/.8 var(--display); color: var(--g); }
	.sp-zahl .ps-label { color: #fff; font-size: 14px; }
	.sp-zahl .ps-text { color: #c9c9c4; }

	/* Horizontales Scroll-Hijacking */
	.sp-hscroll { position: relative; isolation: isolate; display: block; margin: 0; padding: 0; background: var(--sw); color: #fff; }
	.sp-hscroll::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp) right -4vw top -3vw / min(1100px, 80vw) auto no-repeat; mix-blend-mode: screen; opacity: .16; -webkit-mask-image: linear-gradient(180deg, #000, transparent 45%); mask-image: linear-gradient(180deg, #000, transparent 45%); }
	.sp-hscroll__buehne { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: clamp(26px, 4vh, 48px); padding: 90px 0 40px; }
	.sp-hscroll__kopf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); align-items: end; gap: 20px 60px; padding: 0 var(--rand); }
	.sp-hscroll__kopf .ps-kicker { grid-column: 1 / -1; margin: 0; }
	.sp-hscroll__kopf .ps-h2 { font-size: clamp(42px, 5vw, 88px); }
	.sp-spur { display: flex; flex-wrap: nowrap; gap: 20px; width: max-content; margin: 0; padding: 0 var(--rand); list-style: none; will-change: transform; }
	.sp-hscroll__fortschritt { position: absolute; left: var(--rand); right: var(--rand); bottom: 28px; height: 3px; background: rgba(255, 255, 255, .12); }
	.sp-hscroll__fortschritt span { display: block; height: 100%; background: var(--g); transform-origin: left; transform: scaleX(var(--fortschritt, 0)); }
	.sp-flaeche { position: relative; isolation: isolate; flex: 0 0 min(540px, 78vw); height: min(56vh, 540px); display: flex; align-items: flex-end; overflow: hidden; padding: 0; background: var(--kohle); }
	.sp-flaeche__bild { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--aus); }
	.sp-flaeche:hover .sp-flaeche__bild { transform: scale(1.06); }
	.sp-flaeche::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12, 12, 12, .95) 0%, rgba(12, 12, 12, .55) 45%, rgba(12, 12, 12, 0) 75%); }
	.sp-flaeche__text { display: grid; gap: 12px; padding: clamp(22px, 2.4vw, 34px); }
	.sp-flaeche .ps-h3 { font-size: clamp(30px, 2.6vw, 42px); color: #fff; }
	.sp-flaeche .ps-h3::before { content: ""; display: block; width: 46px; height: 5px; margin-bottom: 16px; background: var(--g); }
	.sp-flaeche .ps-text { max-width: 30em; color: #d6d6d0; }
	.sp-flaeche:nth-child(1) .sp-flaeche__bild { object-position: 50% 50%; }
	.sp-flaeche:nth-child(2) .sp-flaeche__bild { object-position: 50% 45%; transform-origin: 50% 40%; }
	.sp-flaeche:nth-child(3) .sp-flaeche__bild { object-position: 50% 100%; }
	.sp-flaeche:nth-child(4) .sp-flaeche__bild { object-position: 0 0; }
	.sp-flaeche:nth-child(5) .sp-flaeche__bild { object-position: 50% 40%; }

	/* Partnergalerie (Seite Partner), heller Grund */
	.sp-galerie { background: var(--hell); color: var(--sw); }
	.sp-galerie::before { background-image: url(../../../uploads/brand/hintergrund/foerdergeruest.webp); background-size: auto 140%; background-position: right 3% top 0; mix-blend-mode: multiply; opacity: .08; -webkit-mask-image: radial-gradient(42% 60% at 80% 32%, #000 35%, transparent 80%); mask-image: radial-gradient(42% 60% at 80% 32%, #000 35%, transparent 80%); }
	.sp-galerie .ps-kicker { color: var(--sw); }
	.sp-galerie .ps-kicker::before { background: var(--g); height: 6px; }
	.sp-galerie .ps-intro { color: #4a4a45; }
	.sp-galerie .sp-hscroll__fortschritt { background: rgba(16, 16, 16, .12); }
	.sp-galerie .sp-hscroll__fortschritt span { background: var(--sw); }
	.sp-partner { flex: 0 0 clamp(280px, 26vw, 380px); }
	.sp-partner :is(a, .ohne-link) { display: grid; grid-template-rows: auto 1fr; height: 100%; background: var(--sw); color: #fff; text-decoration: none; transition: background .4s, color .4s; }
	.sp-partner__logo { display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 34px; background: #fff; }
	.sp-partner__logo img { max-width: 100%; max-height: 150px; width: auto; height: auto; object-fit: contain; transition: transform .8s var(--aus); }
	.sp-partner__text { display: grid; align-content: start; gap: 8px; padding: 22px 24px 26px; }
	.sp-partner__name { font: 900 clamp(24px, 2vw, 32px)/1 var(--display); text-transform: uppercase; }
	.sp-partner__info { font: 500 14px/1.4 var(--text); color: var(--grau); transition: color .4s; }
	.sp-partner__mehr { margin-top: 10px; font: 800 14px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--g); transition: color .4s; }
	.sp-partner__mehr::after { content: " →"; }
	.sp-partner a:hover, .sp-partner a:focus-visible { background: var(--g); color: var(--sw); }
	.sp-partner a:hover .sp-partner__info, .sp-partner a:hover .sp-partner__mehr { color: var(--sw); }
	.sp-partner a:hover img { transform: scale(1.06); }

	/* Beleg: Behauptung links, Browserfenster mit der echten Partnerseite rechts */
	.sp-beleg { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 6vw, 100px); align-items: center; background: #fff; color: var(--sw); }
	.sp-beleg .ps-h2 { margin-bottom: 26px; }
	.sp-beleg__liste { display: grid; gap: 0; margin: 30px 0 34px; padding: 0; border-bottom: 1px solid var(--linie-d); }
	.sp-beleg__liste .ps-text { position: relative; padding: 13px 0 13px 40px; border-top: 1px solid var(--linie-d); font-weight: 600; }
	.sp-beleg__liste .ps-text::before { content: "✓"; position: absolute; left: 0; top: 11px; display: grid; place-items: center; width: 24px; height: 24px; background: var(--g); font: 900 15px/1 var(--text); }
	.sp-beleg__fenster { position: relative; padding: 34px 0 0; background: var(--sw); box-shadow: 0 40px 80px rgba(16, 16, 16, .28); transform: perspective(1400px) rotateY(-9deg) rotateX(3deg); transition: transform 1.2s var(--aus); }
	.sp-beleg__fenster::before { content: ""; position: absolute; left: 16px; top: 13px; width: 9px; height: 9px; background: var(--g); box-shadow: 16px 0 0 #fff, 32px 0 0 #55554f; }
	.sp-beleg__fenster:hover { transform: perspective(1400px) rotateY(0) rotateX(0); }
	.sp-beleg__bild { display: block; width: 100%; height: auto; }
	@supports (animation-timeline: view()) {
		.sp-beleg__fenster { animation: sp-kippen linear both; animation-timeline: view(); animation-range: entry 0% cover 50%; }
	}

	/* Ablauf als Stacking Cards */
	.sp-ablauf { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(30px, 6vw, 100px); align-items: start; background: var(--nacht); color: #fff; }
	.sp-ablauf::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/flutlicht-mast.webp) left -6vw top 0 / auto 110% no-repeat; mix-blend-mode: screen; opacity: .3; -webkit-mask-image: linear-gradient(180deg, #000 30%, transparent 80%); mask-image: linear-gradient(180deg, #000 30%, transparent 80%); }
	.sp-ablauf > .ps-spalte { position: sticky; top: 130px; }
	.sp-stapel { display: grid; gap: 0; padding: 0; }
	.sp-karte { position: sticky; top: calc(130px + var(--i, 0) * 26px); display: grid; gap: 16px; min-height: 300px; margin-bottom: 34vh; padding: clamp(28px, 3vw, 48px); background: var(--g); color: var(--sw); transform-origin: 50% 0; transform: scale(calc(1 - var(--tief, 0) * .06)); filter: brightness(calc(1 - var(--tief, 0) * .25)); box-shadow: 0 -18px 40px rgba(0, 0, 0, .25); }
	.sp-karte:nth-child(even) { background: #fff; }
	.sp-karte:last-child { margin-bottom: 0; }
	.sp-karte .ps-label { color: var(--sw); }
	.sp-karte .ps-h3 { font-size: clamp(38px, 3.6vw, 62px); }
	.sp-karte .ps-text { max-width: 30em; font-size: 18px; color: #2b2b28; }

	/* Schluss: gelbe Fläche, Mailadresse groß */
	.sp-schluss .ps-kontakt__nummer { font-size: clamp(30px, 4.6vw, 84px); line-height: .95; overflow-wrap: anywhere; -webkit-text-stroke: 1.5px var(--sw); }
	.sp-aufruf { display: block; background: var(--g); color: var(--sw); }
	.sp-aufruf::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/tornetz.webp) right center / cover no-repeat; mix-blend-mode: multiply; opacity: .09; -webkit-mask-image: linear-gradient(90deg, transparent 10%, #000 65%); mask-image: linear-gradient(90deg, transparent 10%, #000 65%); }
	.sp-aufruf .ps-kicker { color: var(--sw); }
	.sp-aufruf .ps-lead { color: #2b2b28; margin: 26px 0 32px; }
	.sp-aufruf .ps-knopf:not(.ps-knopf--gelb) { border-color: var(--sw); color: var(--sw); }
	.sp-aufruf .ps-knopf:not(.ps-knopf--gelb)::before { background: var(--sw); }
	.sp-aufruf .ps-knopf:not(.ps-knopf--gelb):hover { color: var(--g); }
	.sp-aufruf .ps-knopf--gelb { background: var(--sw); border-color: var(--sw); color: var(--g); }

	/* Ohne Scroll-Hijacking (nur bei reduzierter Bewegung): normal wischen. Seit 2026-10-23 läuft das Hijacking auch auf Handys. */
	@media (prefers-reduced-motion: reduce) {
		.sp-hscroll { height: auto !important; }
		.sp-hscroll__buehne { position: static; height: auto; padding: 84px 0; }
		.sp-hscroll__kopf { grid-template-columns: minmax(0, 1fr); }
		.sp-hscroll .sb-platz, .sp-hscroll > .sp-hscroll__buehne > .sp-spur { overflow-x: auto; scroll-snap-type: x mandatory; }
		.sp-spur { transform: none !important; }
		.sp-hscroll { overflow-x: clip; }
		.sp-hscroll > .sp-spur { width: auto; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--rand); scrollbar-width: none; }
		.sp-flaeche, .sp-partner { scroll-snap-align: start; }
		.sp-hscroll__fortschritt { display: none; }
	}
	@media (max-width: 1024px) {
		.sp-problem, .sp-beleg, .sp-ablauf { grid-template-columns: minmax(0, 1fr); }
		.sp-ablauf > .ps-spalte { position: static; }
		.sp-karte { margin-bottom: 18vh; }
		.sp-beleg__fenster { transform: none; animation: none; }
	}
}
@keyframes sp-lauf { to { transform: translateX(-100%); } }
@keyframes sp-kippen { from { transform: perspective(1400px) rotateY(-16deg) rotateX(6deg) translateY(40px); } to { transform: perspective(1400px) rotateY(-4deg) rotateX(1deg); } }

/* Bühnenbild in Farbe (Variante ps-buehne--farbe), leicht abgedunkelt, damit Text und Verlauf tragen */
body.scb-seite .ps-buehne--farbe .ps-buehne__bild::before { filter: saturate(1.05) contrast(1.05) brightness(.85); }
body.scb-seite .ps-buehne--farbe .ps-buehne__bild::after { background: linear-gradient(0deg, rgba(12, 12, 12, .75) 0%, rgba(12, 12, 12, 0) 40%); }

/* =================== Mockups als Kartenstapel (Card Deck) =================== */
body.scb-seite {
	.sp-mockups { display: block; background: var(--hell); color: var(--sw); overflow: clip; }
	.sp-mockups .ps-kicker { color: var(--sw); }
	.sp-mockups .ps-kicker::before { background: var(--g); height: 6px; }
	.sp-mockups .ps-intro { color: #4a4a45; }
	.sp-deck { position: relative; padding: 0; }
	.sp-mock { padding: 0; }
	.sp-mock__bild { display: block; width: 100%; height: auto; aspect-ratio: 16 / 11; object-fit: cover; box-shadow: 0 30px 60px rgba(16, 16, 16, .28); }
	.sp-mock__text { display: grid; justify-items: start; gap: 10px; padding: 24px 0 0; }
	.sp-mock .ps-label { padding: 6px 9px; background: var(--sw); color: var(--g); font-size: 11px; }
	.sp-mock .ps-h3 { font-size: clamp(30px, 2.8vw, 46px); }
	.sp-mock .ps-text { max-width: 34em; color: #3a3a36; }

	/* Aufgefächert: die aktive Karte vorn, die übrigen gestaffelt dahinter */
	.sp-deck.ist-bereit { height: calc(min(820px, 58vw) * 11 / 16 + 190px); }
	.sp-deck.ist-bereit .sp-mock { position: absolute; left: 50%; top: 0; width: min(820px, 58vw); cursor: pointer; transform-origin: 50% 110%;
		transform: translateX(-50%) translateX(calc(var(--pos, 0) * 36% * var(--offen, 0))) rotate(calc(var(--pos, 0) * 6deg * var(--offen, 0))) scale(calc(1 - var(--abs, 0) * .14));
		z-index: calc(10 - var(--abs, 0)); filter: brightness(calc(1 - var(--abs, 0) * .12));
		transition: transform 1s var(--aus), filter .6s; }
	.sp-deck.ist-offen { --offen: 1; }
	.sp-deck.ist-bereit .sp-mock__text { opacity: 0; transform: translateY(12px); transition: opacity .4s, transform .6s var(--aus); }
	.sp-deck.ist-bereit .sp-mock.ist-aktiv { cursor: default; }
	.sp-deck.ist-bereit .sp-mock.ist-aktiv .sp-mock__text { opacity: 1; transform: none; transition-delay: .25s; }
	.sp-deck.ist-bereit .sp-mock:not(.ist-aktiv):hover { filter: brightness(1); }
	.sp-deck.ist-bereit .sp-mock:focus-visible { outline: 3px solid var(--sw); outline-offset: 6px; }

	/* Ohne Skript oder am Handy: als wischbare Reihe */
	.sp-deck:not(.ist-bereit) { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
	.sp-deck:not(.ist-bereit) .sp-mock { flex: 0 0 min(86vw, 640px); scroll-snap-align: start; }
}

/* =================== Über uns & Geschichte (Klassen ge-*) =================== */
body.scb-seite {
	/* Eckdaten auf Gelb */
	.ge-zahlen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding-top: clamp(56px, 7vw, 100px); padding-bottom: clamp(56px, 7vw, 100px); background: var(--g); color: var(--sw); }
	.ge-zahlen::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/foerdergeruest.webp) right 4% center / auto 135% no-repeat; mix-blend-mode: multiply; opacity: .1; }
	.ge-zahl { display: grid; gap: 14px; align-content: start; padding: 6px clamp(18px, 2.4vw, 40px) 6px 0; border-left: 2px solid var(--sw); padding-left: clamp(18px, 2vw, 32px); }
	.ge-zahl .ps-zahl { font: 900 clamp(64px, 7.4vw, 132px)/.82 var(--display); letter-spacing: -.01em; }
	.ge-zahl .ps-text { max-width: 17em; font: 600 15px/1.45 var(--text); color: #2b2b28; }

	/* Zeitstrahl: Jahreszahl steht, Kapitel ziehen vorbei */
	.ge-zeit { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); column-gap: clamp(40px, 6vw, 110px); align-items: start; background: var(--hell); color: var(--sw); }
	.ge-zeit .ps-kicker { color: var(--sw); }
	.ge-zeit .ps-kicker::before { background: var(--g); height: 6px; }
	.ge-zeit .ps-intro { color: #4a4a45; }
	.ge-jahrbox { position: sticky; top: 110px; display: grid; align-content: center; height: min(calc(100svh - 150px), 720px); padding: 0; }
	.ge-jahr { position: relative; display: block; width: max-content; font: 900 clamp(130px, 17vw, 300px)/.8 var(--display); letter-spacing: -.02em; color: var(--sw); font-variant-numeric: tabular-nums; }
	.ge-jahr::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.06em; z-index: -1; height: .3em; background: var(--g); transform-origin: left; transform: scaleX(var(--anteil, .12)); transition: transform .9s var(--aus); }
	.ge-jahrbox::after { content: "seit 1912 in Buschhausen"; margin-top: 34px; font: 700 13px/1.3 var(--text); letter-spacing: .16em; text-transform: uppercase; color: #6b6b66; }
	.ge-kapitelliste { padding: 0; }
	.ge-kapitel { display: grid; gap: 16px; align-content: center; min-height: 62vh; padding: 48px 0; border-top: 2px solid var(--sw); transition: opacity .6s; }
	.ge-kapitel:last-child { min-height: 56vh; }
	.ge-kapitel .ps-nr { justify-self: start; padding: 7px 11px; background: var(--sw); color: var(--g); font: 800 15px/1 var(--display); letter-spacing: .12em; }
	.ge-kapitel .ps-h3 { font-size: clamp(36px, 3.8vw, 64px); line-height: 1; }
	.ge-kapitel .ps-text { max-width: 31em; font-size: 18px; line-height: 1.7; color: #3d3d3a; }
	.ge-zeit.ist-bereit .ge-kapitel { opacity: .22; }
	.ge-zeit.ist-bereit .ge-kapitel.ist-aktiv { opacity: 1; }
	.ge-zeit.ist-bereit .ge-kapitel .ps-nr { visibility: hidden; }
	.ge-zeit:not(.ist-bereit) .ge-jahrbox { display: none; }
	.ge-zeit:not(.ist-bereit) .ge-kapitelliste { grid-column: 1 / -1; }

	/* Vereinskodex: drei Karten auf Weiß, Tornetz im Hintergrund */
	.ge-kodex { display: block; background: #fff; color: var(--sw); }
	.ge-kodex::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/tornetz.webp) right center / cover no-repeat; mix-blend-mode: multiply; opacity: .07; -webkit-mask-image: linear-gradient(90deg, transparent 20%, #000 75%); mask-image: linear-gradient(90deg, transparent 20%, #000 75%); }
	.ge-kodex .ps-kicker { color: var(--sw); }
	.ge-kodex .ps-kicker::before { background: var(--g); height: 6px; }
	.ge-kodex .ps-intro { color: #4a4a45; }
	.ge-kodex .ps-h2 { font-size: clamp(42px, 5.2vw, 88px); }
	.ge-kodex__raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 0; }
	.ge-karte { position: relative; display: grid; gap: 0; align-content: start; padding: clamp(28px, 2.6vw, 40px); background: var(--hell); border-top: 6px solid var(--sw); transition: background .45s var(--aus), transform .45s var(--aus); }
	.ge-karte:hover { background: var(--g); transform: translateY(-6px); }
	.ge-karte .ps-label { margin-bottom: 12px; color: #6b6b66; }
	.ge-karte:hover .ps-label { color: var(--sw); }
	.ge-karte .ps-h3 { margin-bottom: 22px; }
	.ge-punkt { position: relative; margin: 0; padding: 13px 0 13px 26px; border-top: 1px solid var(--linie-d); font: 400 16px/1.55 var(--text); color: #2b2b28; }
	.ge-punkt::before { content: ""; position: absolute; left: 0; top: 21px; width: 10px; height: 10px; background: var(--g); outline: 1px solid var(--sw); transition: background .45s; }
	.ge-karte:hover .ge-punkt::before { background: var(--sw); }

	@media (max-width: 1024px) {
		.ge-zahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
		.ge-zeit { grid-template-columns: minmax(0, 1fr); }
		.ge-zeit.ist-bereit .ge-jahrbox { display: none; }
		.ge-zeit.ist-bereit .ge-kapitel { opacity: 1; }
		.ge-zeit.ist-bereit .ge-kapitel .ps-nr { visibility: visible; }
		.ge-kapitel { min-height: 0; }
		.ge-kapitel .ps-nr { padding: 0 4px; background: none; color: var(--sw); font: 900 clamp(68px, 17vw, 120px)/.86 var(--display); letter-spacing: -.01em; box-shadow: inset 0 -.24em 0 var(--g); }
		.ge-kodex__raster { grid-template-columns: minmax(0, 1fr); }
	}
	@media (max-width: 600px) {
		.ge-zahlen { grid-template-columns: minmax(0, 1fr); }
		.ge-zahl .ps-zahl { font-size: 76px; }
	}
}

/* =================== Vorstand & Ansprechpartner (Klassen vs-*) =================== */
body.scb-seite {
	.vs-gremium, .vs-verein { display: block; background: #fff; color: var(--sw); }
	.vs-verein { background: var(--hell); }
	.vs-gremium .ps-kicker, .vs-verein .ps-kicker { color: var(--sw); }
	.vs-gremium .ps-kicker::before, .vs-verein .ps-kicker::before { background: var(--g); height: 6px; }
	.vs-gremium .ps-intro, .vs-verein .ps-intro { color: #4a4a45; }
	.vs-gruppen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px clamp(20px, 3vw, 48px); padding: 0; }
	.vs-gruppe { display: grid; align-content: start; padding: 26px 0 0; border-top: 6px solid var(--sw); }
	.vs-gruppe > .ps-h3 { justify-self: start; margin-bottom: 18px; padding: 4px 8px 2px; background: var(--g); font-size: clamp(22px, 1.8vw, 28px); }
	.vs-person { position: relative; display: grid; gap: 8px; padding: 22px 0 24px; border-top: 1px solid var(--linie-d); }
	.vs-person .ps-label { color: #6b6b66; }
	.vs-name { margin: 0; font: 900 clamp(34px, 3.3vw, 56px)/1 var(--display); text-transform: uppercase; color: inherit; }
	.vs-person .vs-name { background: linear-gradient(var(--g), var(--g)) left 88% / 0 .26em no-repeat; transition: background-size .6s var(--aus); justify-self: start; }
	.vs-person:hover .vs-name { background-size: 100% .26em; }
	.vs-verein .vs-person { border-top: 6px solid var(--sw); }
	/* Abteilungsvorstand mit Fotos: zwei Personen je Gruppe nebeneinander */
	.vs-gruppe:has(.vs-person img) { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(12px, 1.4vw, 20px); }
	.vs-gruppe:has(.vs-person img) > .ps-h3 { grid-column: 1 / -1; }
	.vs-person:has(img) { align-content: start; padding-top: 0; border-top: 0; }
	.vs-person img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; margin-bottom: 10px; background: var(--sw); transition: transform .8s var(--aus); }
	.vs-person:has(img) .vs-name { justify-self: stretch; font-size: clamp(24px, 2vw, 34px); overflow-wrap: anywhere; hyphens: auto; }
	.vs-person:has(img) .ps-label { letter-spacing: .08em; overflow-wrap: anywhere; hyphens: auto; }
	@media (max-width: 600px) { .vs-person:has(img) .ps-label { font-size: 10px; letter-spacing: .03em; } }

	/* Team dahinter: Aufstellung als Zeilen auf Schwarz */
	.vs-team { display: block; background: var(--nacht); color: #fff; }
	.vs-team::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/flutlicht-mast.webp) right -8vw top 0 / auto 100% no-repeat; mix-blend-mode: screen; opacity: .22; -webkit-mask-image: linear-gradient(270deg, #000 10%, transparent 60%); mask-image: linear-gradient(270deg, #000 10%, transparent 60%); }
	.vs-liste { padding: 0; border-bottom: 1px solid var(--linie); }
	.vs-zeile { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 20px 40px; padding: 26px 0; border-top: 1px solid var(--linie); transition: color .4s var(--aus); }
	.vs-zeile::before { content: ""; position: absolute; inset: 0 calc(-1 * var(--rand)); z-index: -1; background: var(--g); transform: scaleY(0); transform-origin: bottom; transition: transform .45s var(--aus); }
	.vs-zeile:hover { color: var(--sw); }
	.vs-zeile:hover::before { transform: scaleY(1); }
	.vs-zeile .ps-label { color: var(--g); font-size: 13px; transition: color .4s; }
	.vs-zeile:hover .ps-label { color: var(--sw); }
	.vs-zeile .vs-name { font-size: clamp(30px, 3.6vw, 62px); }

	/* Mailadresse statt Telefonnummer */
	.ps-kontakt .vs-mail { font-size: clamp(30px, 5.6vw, 98px); line-height: 1; overflow-wrap: anywhere; }

	@media (max-width: 1024px) {
		.vs-gruppen { grid-template-columns: minmax(0, 1fr); gap: 34px; }
		.vs-zeile { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	}
}

/* =================== Kinderschutz (Klassen ks-*) =================== */
body.scb-seite {
	.ks-regeln { background: var(--hell); }
	.ks-regeln::before { display: none; }
	.ks-regeln .ge-kodex__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ks-regeln .ge-karte { background: #fff; }
	.ks-regeln .ge-karte:hover { background: var(--g); }

	.ks-zeugnis { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 110px); align-items: start; background: var(--g); color: var(--sw); }
	.ks-zeugnis .ps-kicker { color: var(--sw); }
	.ks-zeugnis .ps-h2 { margin-bottom: 26px; font-size: clamp(42px, 5vw, 86px); }
	.ks-zeugnis > .ps-spalte > .ps-text { max-width: 30em; font-size: 18px; color: #2b2b28; }
	.ks-zeugnis .ps-stempel { position: relative; right: auto; bottom: auto; display: inline-grid; margin-top: 44px; max-width: 250px; background: var(--sw); color: var(--g); transform: rotate(-3deg); }
	.ks-zeugnis .ps-stempel .ps-zahl { font-size: clamp(90px, 8vw, 130px); }
	.ks-zeugnis .ps-stempel .ps-text { color: #fff; }
	.ks-listen { display: grid; gap: 44px; padding: 0; }
	.ks-liste { display: grid; padding: 22px 0 0; border-top: 6px solid var(--sw); }
	.ks-liste .ps-h3 { margin-bottom: 12px; }
	.ks-liste .ge-punkt { border-top-color: rgba(16, 16, 16, .2); font-size: 17px; }
	.ks-liste .ge-punkt::before { background: var(--sw); outline: 0; }

	@media (max-width: 1024px) {
		.ks-regeln .ge-kodex__raster, .ks-zeugnis { grid-template-columns: minmax(0, 1fr); }
	}
}

/* =================== News (Klassen nw-*) =================== */
body.scb-seite {
	.nw-bereich, .nw-weitere { display: block; background: var(--hell); color: var(--sw); }
	:is(.nw-bereich, .nw-weitere, .nw-artikel) .ps-kicker { color: var(--sw); }
	:is(.nw-bereich, .nw-weitere, .nw-artikel) .ps-kicker::before { background: var(--g); height: 6px; }
	.nw-bereich .ps-intro { color: #4a4a45; }

	.nw-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: clamp(30px, 4vw, 52px); }
	.nw-filter__trenner { width: 1px; height: 30px; margin: 0 8px; background: var(--linie-d); }
	.nw-chip { padding: 12px 18px; border: 1px solid var(--sw); border-radius: 0; background: transparent; color: var(--sw); font: 800 14px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .3s, color .3s; }
	.nw-chip--team { border-color: var(--linie-d); }
	.nw-chip:hover, .nw-chip:focus-visible { background: var(--g); border-color: var(--sw); color: var(--sw); }
	.nw-chip.ist-aktiv { background: var(--sw); border-color: var(--sw); color: var(--g); }

	.nw-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
	.nw-karte { position: relative; display: grid; grid-template-rows: auto 1fr; background: #fff; transition: transform .5s var(--aus), box-shadow .5s; }
	.nw-karte[hidden] { display: none; }
	.nw-karte:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(16, 16, 16, .14); }
	.nw-karte__bild { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--kohle); }
	.nw-karte__bild img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--aus); }
	.nw-karte:hover .nw-karte__bild img { transform: scale(1.06); }
	.nw-karte__text { display: grid; align-content: start; gap: 12px; padding: clamp(22px, 2vw, 32px); }
	.nw-karte__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; font: 700 12px/1.3 var(--text); letter-spacing: .12em; text-transform: uppercase; color: #6b6b66; }
	.nw-karte__meta span { color: var(--sw); }
	.nw-karte__titel { margin: 0; font: 900 clamp(26px, 2.2vw, 36px)/1 var(--display); text-transform: uppercase; }
	.nw-karte__titel a { color: var(--sw); text-decoration: none; background: linear-gradient(var(--g), var(--g)) left 92% / 0 .3em no-repeat; transition: background-size .6s var(--aus); }
	.nw-karte__titel a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
	.nw-karte:hover .nw-karte__titel a { background-size: 100% .3em; }
	.nw-karte__auszug { margin: 0; font: 400 16px/1.6 var(--text); color: #3a3a36; }
	.nw-karte__mehr { justify-self: start; margin-top: 6px; padding-bottom: 5px; border-bottom: 3px solid var(--g); font: 800 14px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
	.nw-karte__mehr::after { content: " \2192"; }
	/* Aufmacher: der erste sichtbare Beitrag breit, Bild links */
	.nw-raster:not(.nw-raster--weitere) .nw-karte.ist-erste { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: auto; }
	.nw-karte.ist-erste .nw-karte__bild { aspect-ratio: auto; min-height: clamp(320px, 34vw, 520px); }
	.nw-karte.ist-erste .nw-karte__text { align-content: center; padding: clamp(28px, 4vw, 64px); }
	.nw-karte.ist-erste .nw-karte__titel { font-size: clamp(38px, 4.2vw, 72px); line-height: 1; }
	.nw-karte.ist-erste .nw-karte__auszug { font-size: 18px; }
	.nw-mehr { display: block; margin: clamp(30px, 4vw, 50px) auto 0; padding: 18px 30px; border: 0; border-radius: 0; background: var(--sw); color: var(--g); font: 800 15px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
	.nw-mehr:hover { background: var(--g); color: var(--sw); }
	.nw-mehr[hidden], .nw-leer[hidden] { display: none; }

	/* Einzelbeitrag */
	.nw-h1 { font-size: clamp(46px, 5.4vw, 96px); }
	.nw-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 8px; font: 700 13px/1.3 var(--text); letter-spacing: .14em; text-transform: uppercase; color: var(--grau); }
	.nw-meta span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 12px; background: var(--g); vertical-align: 1px; }
	.nw-artikel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: clamp(40px, 7vw, 120px); align-items: start; background: #fff; color: var(--sw); }
	.nw-artikel > .ps-spalte { position: sticky; top: 130px; display: grid; gap: 28px; justify-items: start; }
	.nw-inhalt { max-width: 46em; padding: 0; font: 400 18px/1.78 var(--text); color: #2b2b28; }
	.nw-inhalt :is(p, ul, ol, li) { margin: 0 0 1.3em; font: 400 18px/1.78 var(--text); color: #2b2b28; }
	.nw-inhalt p:first-of-type { font-size: 21px; color: var(--sw); line-height: 1.65; color: var(--sw); }
	.nw-inhalt :is(h2, h3, h4) { margin: 1.8em 0 .6em; font: 900 clamp(28px, 2.6vw, 42px)/1 var(--display); text-transform: uppercase; color: var(--sw); }
	.nw-inhalt h3 { font-size: clamp(24px, 2vw, 32px); }
	.nw-inhalt a { color: var(--sw); text-decoration: none; box-shadow: inset 0 -.32em 0 var(--g); }
	.nw-inhalt img { display: block; width: 100%; height: auto; margin: 1.6em 0; }
	.nw-inhalt figure { margin: 1.6em 0; }
	.nw-inhalt figcaption { margin-top: 8px; font-size: 14px; color: #6b6b66; }
	.nw-inhalt blockquote { margin: 1.6em 0; padding: 6px 0 6px 26px; border-left: 6px solid var(--g); font: 900 clamp(24px, 2.2vw, 34px)/1.1 var(--display); text-transform: uppercase; color: var(--sw); }
	.nw-inhalt strong { color: var(--sw); }
	.nw-teams { display: flex; flex-wrap: wrap; gap: 8px; }
	.nw-teams .ps-label { flex: 1 0 100%; margin-bottom: 6px; }
	.nw-team { padding: 10px 14px; border: 1px solid var(--sw); background: transparent; color: var(--sw); font: 800 14px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .3s; }
	a.nw-team:hover { background: var(--g); }

	@media (max-width: 1024px) {
		.nw-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.nw-raster:not(.nw-raster--weitere) .nw-karte.ist-erste { grid-template-columns: minmax(0, 1fr); }
		.nw-karte.ist-erste .nw-karte__bild { min-height: 0; aspect-ratio: 16 / 10; }
		.nw-artikel { grid-template-columns: minmax(0, 1fr); }
		.nw-artikel > .ps-spalte { position: static; }
	}
	@media (max-width: 640px) {
		.nw-raster { grid-template-columns: minmax(0, 1fr); }
		.nw-filter { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--rand)); padding-right: var(--rand); scrollbar-width: none; }
		.nw-chip { flex: none; }
		.nw-inhalt { font-size: 17px; }
	}
}

/* =================== Kontakt (Klassen kt-*, Formular kf-*) =================== */
body.scb-seite {
	.kt-wege .vs-zeile .vs-name { justify-self: start; width: auto; padding: 0; border: 0; border-radius: 0; background: none; color: inherit; text-decoration: none; font-size: clamp(26px, 3vw, 52px); overflow-wrap: anywhere; }
	.kt-wege .vs-zeile .vs-name::after { content: ""; position: absolute; inset: 0; }

	.kt-formular { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 110px); align-items: start; background: var(--g); color: var(--sw); }
	.kt-formular::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/tornetz.webp) left center / cover no-repeat; mix-blend-mode: multiply; opacity: .05; -webkit-mask-image: linear-gradient(90deg, #000 10%, transparent 55%); mask-image: linear-gradient(90deg, #000 10%, transparent 55%); }
	.kt-formular > .ps-spalte { position: sticky; top: 130px; }
	.kt-formular .ps-kicker { color: var(--sw); }
	.kt-formular .ps-h2 { margin-bottom: 22px; }
	.kt-formular .ps-intro { color: #2b2b28; }
	.kt-formular__karte { padding: clamp(26px, 3.4vw, 54px); background: #fff; box-shadow: 0 30px 60px rgba(16, 16, 16, .18); }

	.kf { display: grid; gap: 18px; margin: 0; }
	.kf-anliegen { margin: 0; padding: 0; border: 0; }
	.kf-label { display: block; margin-bottom: 8px; font: 700 12px/1.3 var(--text); letter-spacing: .14em; text-transform: uppercase; color: #6b6b66; }
	.kf-label em { font-style: normal; text-transform: none; letter-spacing: 0; }
	.kf-chips { display: flex; flex-wrap: wrap; gap: 8px; }
	.kf-chip { position: relative; cursor: pointer; }
	.kf-chip input { position: absolute; opacity: 0; pointer-events: none; }
	.kf-chip span { display: block; padding: 12px 16px; border: 1px solid var(--sw); font: 800 14px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--sw); transition: background .3s, color .3s; }
	.kf-chip:hover span { background: var(--g); }
	.kf-chip input:checked + span { background: var(--sw); color: var(--g); }
	.kf-chip input:focus-visible + span { outline: 3px solid var(--g); outline-offset: 2px; }
	.kf-hinweis { margin: -4px 0 0; font: 400 14px/1.5 var(--text); color: #55554f; }
	.kf-hinweis a { color: var(--sw); font-weight: 700; text-decoration: none; box-shadow: inset 0 -.3em 0 var(--g); }
	.kf-zeile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
	.kf-feld { display: block; margin: 0; }
	.kf-feld input, .kf-feld textarea { display: block; width: 100%; padding: 14px 16px; border: 0; border-bottom: 2px solid var(--sw); border-radius: 0; background: var(--hell); color: var(--sw); font: 400 17px/1.45 var(--text); outline: none; transition: background .3s, border-color .3s; }
	.kf-feld input:focus, .kf-feld textarea:focus { background: #fffbd0; border-color: var(--sw); }
	.kf-feld textarea { resize: vertical; min-height: 150px; }
	.kf-versteckt { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
	.kf-check { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; font: 400 14px/1.5 var(--text); color: #3a3a36; cursor: pointer; }
	.kf-check input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--sw); }
	.kf-check a { color: var(--sw); }
	.kf-fehler { margin: 0; padding: 12px 14px; background: #ff7b5c; color: var(--sw); font: 600 14px/1.4 var(--text); }
	.kf-fehler[hidden], .kf-fertig[hidden] { display: none; }
	.kf-senden { justify-self: start; display: inline-flex; align-items: center; gap: 12px; padding: 20px 30px; border: 0; border-radius: 0; background: var(--sw); color: var(--g); font: 800 16px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .3s, color .3s; }
	.kf-senden::after { content: "\2192"; transition: transform .4s var(--aus); }
	.kf-senden:hover { background: var(--g); color: var(--sw); }
	.kf-senden:hover::after { transform: translateX(5px); }
	.kf-senden.ist-laeuft { opacity: .6; cursor: wait; }
	.kf.ist-fertig > :not(.kf-fertig) { display: none; }
	.kf-fertig { padding: 10px 0; }
	.kf-fertig__titel { margin: 0 0 10px; font: 900 clamp(34px, 3.4vw, 54px)/1 var(--display); text-transform: uppercase; }
	.kf-fertig p { font: 400 17px/1.6 var(--text); }

	@media (max-width: 1024px) {
		.kt-formular { grid-template-columns: minmax(0, 1fr); }
		.kt-formular > .ps-spalte { position: static; }
	}
	@media (max-width: 600px) {
		.kf-zeile { grid-template-columns: minmax(0, 1fr); }
	}
}
body.scb-seite {
	.kt-anliegen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 0; }
	.kt-kachel { position: relative; isolation: isolate; display: grid; align-content: end; gap: 14px; min-height: clamp(280px, 24vw, 340px); padding: clamp(26px, 2.6vw, 40px); background: var(--kohle); border-top: 6px solid var(--g); color: #fff; transition: color .45s var(--aus); }
	.kt-kachel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--g); transform: scaleY(0); transform-origin: bottom; transition: transform .5s var(--aus); }
	.kt-kachel:hover, .kt-kachel:focus-within { color: var(--sw); }
	.kt-kachel:hover::before, .kt-kachel:focus-within::before { transform: scaleY(1); }
	.kt-kachel .ps-label { color: var(--g); transition: color .45s; }
	.kt-kachel .ps-h3 { font-size: clamp(30px, 2.6vw, 44px); }
	.kt-kachel .ps-text { max-width: 24em; color: #c9c9c4; transition: color .45s; }
	.kt-kachel:hover .ps-label, .kt-kachel:hover .ps-text, .kt-kachel:focus-within .ps-label, .kt-kachel:focus-within .ps-text { color: var(--sw); }
	.kt-kachel .ps-textlink { justify-self: start; margin-top: 8px; color: inherit; }
	.kt-kachel .ps-textlink::before { content: ""; position: absolute; inset: 0; }
	.kt-kachel:hover .ps-textlink { border-bottom-color: var(--sw); }
	@media (max-width: 1024px) { .kt-anliegen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
	@media (max-width: 600px) { .kt-anliegen { grid-template-columns: minmax(0, 1fr); } .kt-kachel { min-height: 0; } }
}

/* =================== Sportanlage & Vereinsheim (Klassen vh-*) =================== */
body.scb-seite {
	.vh-zoom-bereich { width: 100%; padding: 0; }

	/* Vereinsheim: Bild mit gelbem Versatz, Text daneben */
	.vh-heim { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 110px); align-items: center; background: var(--hell); color: var(--sw); }
	.vh-heim__bild { display: block; width: calc(100% - 26px); height: clamp(420px, 60vh, 660px); max-width: none; object-fit: cover; box-shadow: 26px 26px 0 var(--g); }
	.vh-heim__text { padding: 0; }
	.vh-heim .ps-kicker { color: var(--sw); }
	.vh-heim .ps-kicker::before { background: var(--g); height: 6px; }
	.vh-heim .ps-h2 { margin-bottom: 26px; }
	.vh-heim .ps-lead { margin-bottom: 30px; color: #3a3a36; }
	.vh-heim .ps-spalte { display: grid; gap: 6px; margin-bottom: 34px; padding: 18px 0 0; border-top: 2px solid var(--sw); }
	.vh-heim .ps-label { color: #6b6b66; }
	.vh-heim .vs-name { font-size: clamp(30px, 2.8vw, 44px); }
	.vh-heim .ps-knopf { border-color: var(--sw); color: var(--sw); }
	.vh-heim .ps-knopf::before { background: var(--sw); }
	.vh-heim .ps-knopf:hover { color: var(--g); }
	.vh-heim .ps-knopf--gelb { background: var(--g); border-color: var(--g); }
	.vh-heim .ps-knopf--gelb:hover { border-color: var(--sw); }

	/* Speisekarte als Tafel */
	.vh-karte-bereich { display: block; background: var(--sw); color: #fff; }
	.vh-karte-bereich::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp) right -6vw top -4vw / min(1100px, 80vw) auto no-repeat; mix-blend-mode: screen; opacity: .12; -webkit-mask-image: linear-gradient(180deg, #000, transparent 50%); mask-image: linear-gradient(180deg, #000, transparent 50%); }
	.vh-karte { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr); gap: clamp(30px, 5vw, 80px); align-items: start; }
	.vh-spar { position: sticky; top: 130px; display: grid; min-width: 0; box-sizing: border-box; width: calc(100% - 12px); gap: 14px; padding: clamp(28px, 3vw, 44px); background: var(--g); color: var(--sw); transform: rotate(-2deg); box-shadow: 0 30px 60px rgba(0, 0, 0, .4); }
	.vh-spar__kicker { margin: 0; font: 900 clamp(30px, 2.6vw, 42px)/1 var(--display); text-transform: uppercase; }
	.vh-spar__text { margin: 0; font: 600 16px/1.5 var(--text); }
	.vh-spar__preis { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 6px 0 0; font: 900 clamp(64px, 5.4vw, 104px)/.8 var(--display); white-space: nowrap; letter-spacing: -.01em; }
	.vh-spar__preis span { font-size: .28em; letter-spacing: .1em; text-transform: uppercase; }
	.vh-spar__fuss { margin: 0; padding-top: 12px; border-top: 1px solid rgba(16, 16, 16, .25); font: 400 13px/1.45 var(--text); }
	.vh-tafel { display: grid; gap: 30px; }
	.vh-reiterleiste { display: flex; flex-wrap: wrap; gap: 8px; }
	.vh-reiter { padding: 14px 20px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 0; background: transparent; color: #fff; font: 800 15px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
	.vh-reiter:hover, .vh-reiter:focus-visible { border-color: var(--g); color: var(--g); }
	.vh-reiter[aria-selected="true"] { background: var(--g); border-color: var(--g); color: var(--sw); }
	.vh-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px clamp(30px, 4vw, 64px); animation: ps-rein .6s var(--aus) both; }
	.vh-panel[hidden] { display: none; }
	.vh-gruppe__titel { display: flex; align-items: center; gap: 14px; margin: 0 0 8px; font: 900 clamp(26px, 2.2vw, 34px)/1 var(--display); text-transform: uppercase; color: var(--g); }
	.vh-gruppe__titel::after { content: ""; flex: 1; height: 2px; background: rgba(255, 247, 48, .4); }
	.vh-posten-liste { margin: 0; padding: 0; list-style: none; }
	.vh-posten { display: grid; grid-template-columns: auto minmax(20px, 1fr) auto auto; align-items: baseline; gap: 10px; padding: 12px 0; }
	.vh-posten__name { font: 500 17px/1.35 var(--text); color: #fff; }
	.vh-posten__linie { align-self: end; margin-bottom: 6px; border-bottom: 2px dotted rgba(255, 255, 255, .28); }
	.vh-posten__menge { font: 400 14px/1 var(--text); color: var(--grau); white-space: nowrap; }
	.vh-posten__preis { min-width: 4.4em; text-align: right; font: 800 21px/1 var(--display); letter-spacing: .02em; color: #fff; white-space: nowrap; }
	.vh-posten:hover .vh-posten__preis, .vh-posten:hover .vh-posten__name { color: var(--g); }
	.vh-hinweis { margin: 0; font: 400 14px/1.5 var(--text); color: var(--grau); }

	/* Veranstaltungen */
	.vh-termine-bereich { display: block; background: #fff; color: var(--sw); }
	.vh-termine-bereich .ps-kicker { color: var(--sw); }
	.vh-termine-bereich .ps-kicker::before { background: var(--g); height: 6px; }
	.vh-termine-bereich .ps-intro { color: #4a4a45; }
	.vh-termine { margin: 0; padding: 0; list-style: none; border-bottom: 2px solid var(--sw); }
	.vh-termin { position: relative; isolation: isolate; display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 20px clamp(20px, 3vw, 48px); padding: 26px 0; border-top: 2px solid var(--sw); }
	.vh-termin::before { content: ""; position: absolute; inset: 0 calc(-1 * var(--rand)); z-index: -1; background: var(--hell); transform: scaleY(0); transform-origin: bottom; transition: transform .45s var(--aus); }
	.vh-termin:hover::before { transform: scaleY(1); }
	.vh-termin__datum { display: grid; justify-items: start; gap: 4px; }
	.vh-termin__datum b { font: 900 clamp(64px, 6vw, 96px)/.8 var(--display); }
	.vh-termin__datum span { font: 700 13px/1 var(--text); letter-spacing: .14em; text-transform: uppercase; color: #6b6b66; }
	.vh-termin--heim .vh-termin__datum b { box-shadow: inset 0 -.26em 0 var(--g); }
	.vh-termin__titel { margin: 0 0 8px; font: 900 clamp(28px, 2.8vw, 46px)/1 var(--display); text-transform: uppercase; }
	.vh-termin__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; font: 500 16px/1.4 var(--text); color: #3a3a36; }
	.vh-termin__meta span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 10px; background: var(--sw); vertical-align: 1px; }
	.vh-termin__marke { padding: 9px 12px; background: var(--g); font: 800 13px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }

	@media (max-width: 1024px) {
		.vh-heim, .vh-karte { grid-template-columns: minmax(0, 1fr); }
		.vh-heim__bild { height: 62vw; }
		.vh-spar { position: relative; top: 0; transform: none; }
	}
	@media (max-width: 640px) {
		.vh-termin { grid-template-columns: minmax(0, 1fr); gap: 12px; }
		.vh-termin__marke { justify-self: start; }
		.vh-panel { grid-template-columns: minmax(0, 1fr); }
		.vh-reiterleiste { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--rand)); padding-right: var(--rand); scrollbar-width: none; }
		.vh-reiter { flex: none; }
		.vh-posten__name { font-size: 16px; }
	}
}

/* =================== Ehrenamt (ea-*), Rechtstexte (rt-*), Link in Bio (lb-*), 404 (f4-*) =================== */
body.scb-seite {
	/* Ehrenamt: Trainer-Abschnitt hell statt gelb, Stempel mit Wort statt Zahl */
	.ea-trainer { background: var(--hell); }
	.ea-trainer .ps-kicker::before { background: var(--g); height: 6px; }
	.ea-trainer .ps-stempel .ps-zahl { font-size: clamp(30px, 2.6vw, 40px); line-height: 1; text-transform: uppercase; color: var(--g); }
	.ea-trainer .ps-stempel .ps-text { font-size: 15px; letter-spacing: .08em; }
	/* Stempel wächst mit dem längsten Wort mit, nur die Textzeile darunter bleibt schmal */
	.ps-stempel { max-width: none; }
	.ps-stempel .ps-text { max-width: 16em; }
	.ea-trainer .ks-liste .ps-textlink { justify-self: start; margin-top: 22px; }
	.ea-aufgaben .ge-karte { min-height: 250px; align-content: end; }
	.ea-aufgaben .ge-karte .ps-text { color: #3a3a36; }

	/* Rechtstexte: kurzer dunkler Kopf, darunter Text mit Seitenleiste */
	.rt-kopf { display: grid; justify-items: start; padding-top: calc(130px + 4vh); padding-bottom: clamp(50px, 6vw, 90px); background: var(--nacht); color: #fff; }
	.rt-kopf::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp) right -4vw top -2vw / min(900px, 70vw) auto no-repeat; mix-blend-mode: screen; opacity: .12; }
	.rt-kopf .ps-krumen { position: static; margin-bottom: clamp(30px, 4vw, 54px); }
	.rt-kopf .ps-h1 { margin: 0; }
	.rt-bereich { display: grid; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: start; background: #fff; color: var(--sw); }
	.rt-bereich > .ps-spalte { position: sticky; top: 130px; display: grid; gap: 12px; justify-items: start; padding: 22px 0 0; border-top: 6px solid var(--g); }
	.rt-bereich > .ps-spalte .ps-label { color: #6b6b66; }
	.rt-bereich > .ps-spalte .ps-text { font-size: 15px; line-height: 1.6; }
	.rt-bereich a { color: var(--sw); text-decoration: none; box-shadow: inset 0 -.3em 0 var(--g); overflow-wrap: anywhere; }
	.rt-bereich .ps-textlink { box-shadow: none; margin-top: 10px; }
	.rt-text { display: grid; gap: 0; max-width: 46em; padding: 0; }
	.rt-block { padding: 30px 0 34px; border-top: 1px solid var(--linie-d); }
	.rt-block:first-child { padding-top: 0; border-top: 0; }
	.rt-block .ps-h3 { margin-bottom: 14px; font-size: clamp(24px, 2vw, 32px); }
	.rt-block .ps-text { font-size: 17px; line-height: 1.75; color: #2b2b28; }

	/* Link in Bio: eine Spalte, große Daumen-Knöpfe */
	.lb-seite { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; gap: 30px; min-height: 100svh; margin: 0; padding: clamp(40px, 8vh, 80px) 20px 40px; background: var(--nacht); color: #fff; }
	.lb-seite::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp) center top / min(900px, 160vw) auto no-repeat; mix-blend-mode: screen; opacity: .16; -webkit-mask-image: linear-gradient(180deg, #000 20%, transparent 70%); mask-image: linear-gradient(180deg, #000 20%, transparent 70%); }
	.lb-kopf, .lb-liste, .lb-social { width: 100%; max-width: 480px; padding: 0; }
	.lb-kopf { display: grid; justify-items: center; gap: 12px; text-align: center; }
	.lb-kopf img { width: 96px; height: auto; margin-bottom: 8px; animation: ps-rein 1s var(--aus) both; }
	.lb-kopf .ps-kicker { margin: 0; justify-content: center; }
	.lb-kopf .ps-kicker::before { display: none; }
	.lb-kopf .ps-h1 { margin: 0; font-size: clamp(44px, 12vw, 64px); text-align: center; }
	.lb-kopf .ps-h1 span { font-size: .36em; }
	.lb-kopf .ps-text { max-width: 26em; font-size: 15px; color: #c9c9c4; }
	.lb-liste { display: grid; gap: 10px; }
	.lb-link { position: relative; overflow: hidden; z-index: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; padding: 20px 22px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 0; background: rgba(255, 255, 255, .03); color: #fff; font: 800 17px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; text-align: left; transition: color .4s var(--aus), border-color .4s; animation: ps-rein .8s var(--aus) both; }
	.lb-link::after { content: "\2192"; transition: transform .4s var(--aus); }
	.lb-link::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--g); transform: scaleX(0); transform-origin: right; transition: transform .5s var(--aus); }
	.lb-link:hover, .lb-link:focus-visible { color: var(--sw); border-color: var(--g); }
	.lb-link:hover::before, .lb-link:focus-visible::before { transform: scaleX(1); transform-origin: left; }
	.lb-link:hover::after { transform: translateX(5px); }
	.lb-link--gelb { background: var(--g); border-color: var(--g); color: var(--sw); }
	.lb-link--gelb::before { background: #fff; }
	.lb-liste > :nth-child(2) { animation-delay: .05s; } .lb-liste > :nth-child(3) { animation-delay: .1s; } .lb-liste > :nth-child(4) { animation-delay: .15s; }
	.lb-liste > :nth-child(5) { animation-delay: .2s; } .lb-liste > :nth-child(6) { animation-delay: .25s; } .lb-liste > :nth-child(7) { animation-delay: .3s; } .lb-liste > :nth-child(8) { animation-delay: .35s; }
	.lb-social { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.lb-social a { display: grid; place-items: center; padding: 14px 6px; border: 1px solid rgba(255, 255, 255, .22); color: #fff; font: 800 13px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: background .3s, color .3s; }
	.lb-social a:hover { background: var(--g); border-color: var(--g); color: var(--sw); }
	.lb-seite > .ps-krumen { position: static; justify-content: center; }

	/* 404: riesige Ziffern als Kontur, Text davor */
	.f4-buehne { position: relative; isolation: isolate; overflow: clip; display: grid; align-items: end; min-height: 100svh; margin: 0; padding: calc(140px + 4vh) var(--rand) clamp(60px, 10vh, 120px); background: var(--nacht); color: #fff; }
	.f4-buehne::before { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none; background: url(../../../uploads/brand/hintergrund/flutlicht-mast.webp) right -4vw center / auto 110% no-repeat; mix-blend-mode: screen; opacity: .25; }
	.f4-zahl { position: absolute; right: -2vw; top: 50%; z-index: -1; margin: 0; font: 900 min(46vw, 70svh)/.8 var(--display); letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 2px rgba(255, 247, 48, .5); transform: translateY(-50%); animation: ps-rein 1.4s var(--aus) both; pointer-events: none; }
	.f4-buehne > .ps-spalte { max-width: 760px; padding: 0; }
	.f4-buehne .ps-h1 { font-size: clamp(64px, 9vw, 150px); }
	.f4-buehne .ps-lead { margin-bottom: 34px; }

	@media (max-width: 900px) {
		.rt-bereich { grid-template-columns: minmax(0, 1fr); }
		.rt-bereich > .ps-spalte { position: static; order: 2; }
		.f4-zahl { top: 26%; font-size: 52vw; }
	}
}
body.scb-seite {
	.sp-ablauf > .ps-spalte .ps-h2 { margin-bottom: 24px; }
	.sp-ablauf > .ps-spalte .ps-knopf { margin-top: 30px; }
}

body.scb-seite .st-bereich { width: 100%; margin: 0 0 clamp(30px, 4vw, 52px); padding: 0; }

/* =================== Fanshop mit Reservierung (Klassen fs-*) =================== */
body.scb-seite {
	.fs-bereich { display: block; background: var(--hell); color: var(--sw); }
	.fs-bereich .ps-kicker { color: var(--sw); }
	.fs-bereich .ps-kicker::before { background: var(--g); height: 6px; }
	.fs-bereich .ps-intro { color: #4a4a45; }
	.fs { display: grid; gap: clamp(30px, 4vw, 56px); }
	.fs-raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: clamp(12px, 1.4vw, 20px); }
	.fs-karte { position: relative; display: grid; grid-template-rows: auto 1fr auto; background: #fff; outline: 3px solid transparent; outline-offset: -3px; transition: outline-color .3s, transform .5s var(--aus), box-shadow .5s; scroll-margin-top: 120px; }
	.fs-karte:hover { transform: translateY(-4px); box-shadow: 0 22px 44px rgba(16, 16, 16, .12); }
	.fs-karte.ist-gewaehlt { outline-color: var(--sw); }
	.fs-karte:target { outline-color: var(--g); }
	.fs-karte__bild { display: grid; place-items: center; aspect-ratio: 1; padding: 12%; background: var(--g); overflow: hidden; }
	.fs-karte__bild img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(16, 16, 16, .22)); transition: transform .8s var(--aus); }
	.fs-karte:hover .fs-karte__bild img { transform: scale(1.06) rotate(-2deg); }
	.fs-karte__text { display: grid; align-content: start; gap: 6px; padding: 20px 22px 8px; }
	.fs-karte__name { margin: 0; font: 900 clamp(28px, 2.2vw, 36px)/1 var(--display); text-transform: uppercase; }
	.fs-karte__info { margin: 0; font: 400 14px/1.5 var(--text); color: #55554f; }
	.fs-karte__preis { margin: 4px 0 0; font: 800 22px/1 var(--display); letter-spacing: .02em; }
	.fs-menge { display: grid; grid-template-columns: 52px 1fr 52px; align-items: center; margin: 14px 22px 22px; border: 2px solid var(--sw); }
	.fs-menge__knopf { height: 46px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--sw); font: 400 26px/1 var(--text); cursor: pointer; transition: background .25s; }
	.fs-menge__knopf:hover, .fs-menge__knopf:focus-visible { background: var(--g); }
	.fs-menge__zahl { width: 100%; min-width: 0; height: 46px; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; text-align: center; font: 900 24px/1 var(--display); -moz-appearance: textfield; appearance: textfield; }
	.fs-menge__zahl::-webkit-outer-spin-button, .fs-menge__zahl::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
	.fs-menge__zahl:focus { outline: 0; background: rgba(255, 247, 48, .25); }
	.ist-gewaehlt .fs-menge { background: var(--sw); color: var(--g); }
	.ist-gewaehlt .fs-menge__knopf { color: var(--g); }
	.ist-gewaehlt .fs-menge__knopf:hover { background: var(--g); color: var(--sw); }

	/* Leiste mit Summe, klebt unten, sobald etwas gewählt ist */
	.fs-leiste { position: sticky; bottom: 14px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 14px 14px 24px; background: var(--sw); color: #fff; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); animation: ps-rein .5s var(--aus) both; }
	.fs-leiste[hidden] { display: none; }
	.fs-leiste__summe { display: flex; align-items: baseline; gap: 16px; margin: 0; font: 600 15px/1.2 var(--text); color: #c9c9c4; }
	.fs-leiste__betrag { font: 900 30px/1 var(--display); color: var(--g); }
	.fs-leiste__weiter { padding: 16px 24px; background: var(--g); color: var(--sw); font: 800 15px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
	.fs-leiste__weiter:hover { background: #fff; }
	.fs-leiste__knoepfe { display: flex; align-items: center; gap: 8px; }
	.fs-leeren { padding: 15px 18px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 0; background: transparent; color: #fff; font: 800 13px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: border-color .3s, color .3s; }
	.fs-leeren:hover, .fs-leeren:focus-visible { border-color: #ff7b5c; color: #ff7b5c; }
	.fs-leeren--form { justify-self: end; margin-top: 4px; padding: 10px 0; border: 0; border-bottom: 2px solid var(--sw); color: var(--sw); }
	.fs-leeren--form:hover { color: #c23a1c; border-color: #c23a1c; }
	.fs-leeren[hidden] { display: none; }

	/* Formular */
	.fs-form { max-width: 820px; width: 100%; margin: 0 auto; padding: clamp(26px, 3.4vw, 54px); background: #fff; border-top: 6px solid var(--sw); scroll-margin-top: 110px; }
	.fs-form__kopf { display: grid; gap: 8px; margin-bottom: 8px; }
	.fs-form__titel { margin: 0 0 6px; font: 900 clamp(34px, 3.2vw, 52px)/1 var(--display); text-transform: uppercase; }
	.fs-form__liste { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--sw); }
	.fs-form__liste li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--linie-d); font: 500 16px/1.4 var(--text); }
	.fs-form__liste li b { font: 800 18px/1.2 var(--display); }
	.fs-form__leer { color: #6b6b66; }
	.fs-form__gesamt { display: flex; justify-content: space-between; align-items: baseline; margin: 10px 0 0; font: 700 13px/1 var(--text); letter-spacing: .14em; text-transform: uppercase; color: #6b6b66; }
	.fs-form__gesamt b { font: 900 34px/1 var(--display); letter-spacing: 0; color: var(--sw); }
	.fs-hinweis-vorab[hidden] { display: none; }

	@media (max-width: 600px) {
		.fs-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.fs-karte__text { padding: 14px 14px 4px; }
		.fs-karte__name { font-size: 24px; }
		.fs-menge { margin: 10px 14px 14px; grid-template-columns: 40px 1fr 40px; }
		.fs-leiste { padding-left: 16px; }
		.fs-leiste__summe { flex-direction: column; gap: 4px; }
		.fs-leiste .fs-leeren { padding: 15px 10px; font-size: 11px; }
		.fs-leiste__weiter { padding: 16px 14px; }
	}
}

/* =================== Partner-Porträts: alle Bilder in Farbe (Nutzerwunsch 21.10.) =================== */
body.single-scb_sponsor {
	.ps-buehne__bild::before { filter: saturate(1.05) contrast(1.05) brightness(.8); }
	.ps-shop__bilder { background: var(--kohle); }
	.ps-shop__bilder::before { mix-blend-mode: normal; }
	.ps-shop__bild { filter: none; mix-blend-mode: normal; }
	.ps-shop__vorschau img { filter: brightness(.7); }
	.ps-shop__vorschau-bild img { mix-blend-mode: normal; }
	.ps-shop__vorschau:hover img, .ps-shop__vorschau.ist-aktiv img { filter: none; }
	.ps-reise__bild { filter: none; }
	.ps-verein__bild { filter: contrast(1.05) brightness(.62); }
	.pp-weitere__logo img { filter: none; opacity: 1; }
}

/* Lange Wörter (z. B. „Unfallinstandsetzung“): Spalte begrenzen, die Schriftgröße passt scb-seiten.js an */
body.scb-seite :is(.ps-shop__stapel, .ps-shop__eintrag) { grid-template-columns: minmax(0, 1fr); }
body.scb-seite .ps-shop__stapel, body.scb-seite .ps-shop__eintrag { min-width: 0; max-width: 100%; }

/* =================== Baustellenseite im Wartungsmodus (Klassen uc-*) =================== */
body.uc-seite {
	:is(.uc-buehne, .uc-daten, .uc-fuss) { position: relative; isolation: isolate; overflow: clip; margin: 0; gap: 0; }
	:is(.uc-spalte, .uc-platz, .uc-social, .uc-recht) { padding: 0; min-width: 0; }

	.uc-buehne { display: grid; justify-items: center; align-content: center; gap: 22px; min-height: 92svh; padding: clamp(70px, 10vh, 120px) var(--rand) clamp(110px, 14vh, 170px); text-align: center; color: #fff; background: var(--nacht); }
	.uc-buehne::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../../../uploads/brand/hintergrund/flutlicht-reihe.webp) center top / cover no-repeat; opacity: .32; mix-blend-mode: screen; -webkit-mask-image: linear-gradient(180deg, #000 30%, transparent 95%); mask-image: linear-gradient(180deg, #000 30%, transparent 95%); }
	.uc-buehne::after { content: ""; position: absolute; left: 50%; top: 38%; z-index: -1; width: min(70vw, 760px); aspect-ratio: 1; translate: -50% -50%; background: radial-gradient(circle, rgba(255, 247, 48, .16), transparent 62%); }
	.uc-wappen { width: clamp(82px, 8vw, 120px); height: auto; filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .6)); animation: ps-rein 1s var(--aus) both; }
	.uc-buehne .ps-kicker { justify-content: center; color: var(--g); }
	.uc-h1 { margin: 0; font-size: clamp(64px, 11vw, 190px); line-height: 1; animation: ps-rein 1s var(--aus) both .1s; }
	.uc-h1 span { display: block; margin-top: .25em; font-size: .24em; letter-spacing: .02em; color: var(--g); }
	.uc-buehne .ps-lead { max-width: 34em; margin: 0 auto; color: #d6d6d0; }
	.uc-buehne .ps-knoepfe { justify-content: center; margin-top: 8px; }

	.uc-band { position: relative; z-index: 3; margin: clamp(-46px, -4vw, -30px) 0; }

	.uc-daten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 6vw, 100px); padding: clamp(120px, 12vw, 180px) var(--rand) clamp(80px, 9vw, 130px); background: var(--kohle); color: #fff; }
	.uc-daten::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../../../uploads/brand/hintergrund/grunge-dunkel.webp) center / cover; mix-blend-mode: multiply; opacity: .25; pointer-events: none; }
	.uc-spalte { display: grid; align-content: start; gap: 14px; }
	.uc-spalte .ps-kicker { color: var(--g); }
	.uc-spalte .ps-h2 { margin-bottom: 18px; font-size: clamp(40px, 4.4vw, 76px); }
	.uc-platz .sb-ergebnisse { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.uc-anker { position: relative; top: -90px; display: block; }

	.uc-fuss { display: grid; justify-items: center; gap: 18px; padding: clamp(80px, 9vw, 130px) var(--rand) 40px; text-align: center; background: var(--g); color: var(--sw); }
	.uc-fuss .ps-intro { max-width: 34em; color: #3a3a30; }
	.uc-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 10px; }
	.uc-fuss .ps-knopf { color: var(--sw); border-color: rgba(16, 16, 16, .4); }
	.uc-fuss .ps-knopf::before { background: var(--sw); }
	.uc-fuss .ps-knopf:hover, .uc-fuss .ps-knopf:focus-visible { color: var(--g); border-color: var(--sw); }
	.uc-fuss .ps-knopf--gelb { background: var(--sw); color: var(--g); border-color: var(--sw); }
	.uc-recht { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; margin-top: clamp(50px, 6vw, 80px); padding-top: 22px; border-top: 1px solid rgba(16, 16, 16, .2); width: 100%; }
	.uc-recht a.ps-krumen-link { color: var(--sw); }

	@media (max-width: 900px) {
		.uc-daten { grid-template-columns: minmax(0, 1fr); }
	}
	@media (max-width: 600px) {
		.uc-platz .sb-ergebnisse { grid-template-columns: minmax(0, 1fr); }
	}
}

/* Handy (2026-10-23): Slider per Finger wischbar (touch-action pan-y blockierte seitliches Wischen) */
@media (hover: none) {
	body.scb-seite .pp-weitere { touch-action: auto; cursor: auto; -webkit-overflow-scrolling: touch; }
}
/* Handy und Tablet: Bild liegt hinter dem Bühnentext, deshalb kräftig abdunkeln */
@media (max-width: 1024px) {
	body.scb-seite .sb-buehne:not(:has(.ps-fakten)) .ps-buehne__bild::after { background: linear-gradient(180deg, rgba(12,12,12,.9) 0%, rgba(12,12,12,.72) 45%, rgba(12,12,12,.9) 100%); }
	body.scb-seite .ps-buehne__text :is(.ps-lead, p) { text-shadow: 0 1px 12px rgba(0,0,0,.65); }
}

/* Partner-Porträts auf dem Handy (2026-10-23) */
@media (max-width: 1024px) {
	/* Am Desktop blendet eine Maske das Foto links aus; untereinander ergibt das einen hellen Streifen */
	body.scb-seite .ps-buehne__bild::before { -webkit-mask-image: none; mask-image: none; }
	/* Logo sitzt im Bild statt halb darunter */
	body.scb-seite .ps-buehne__logo { bottom: 20px; }
}
@media (max-width: 700px) {
	body.scb-seite .ps-buehne__ort { display: none; }
	body.scb-seite .ps-kontakt__nummer { white-space: nowrap; font-size: min(64px, 11.5vw) !important; }
}
@media (max-width: 700px) {
	/* Lange Einzelwörter („Ausstellungsraum“) dürfen die Spalte nicht sprengen */
	body.scb-seite .ps-reise__schritt { grid-template-columns: minmax(0, 1fr); }
	body.scb-seite .ps-reise .ps-h3 { font-size: min(38px, 9.8vw) !important; }
}

/* Handy (2026-10-23, Runde 3) */
@media (max-width: 700px) {
	/* Große E-Mail-Adresse (Kinderschutz, Vorstand): passt in die Breite, darf notfalls umbrechen */
	body.scb-seite .ps-kontakt__nummer:is(.vs-mail, [href^="mailto:"]) { white-space: normal; overflow-wrap: anywhere; font-size: min(64px, 7vw) !important; }

	/* Kennzahlen in der Bühne (Partner, Spielbetrieb): kompakte Reihe statt Liste */
	body.scb-seite .sb-buehne .ps-fakten { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 14px; padding-top: 6px; padding-bottom: 30px; }
	body.scb-seite .sb-buehne .ps-fakten:has(> .ps-fakt:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.scb-seite .sb-buehne .ps-fakt { padding-top: 20px; gap: 6px; }
	body.scb-seite .sb-buehne .ps-fakt-label { font: 600 12px/1.25 var(--text); color: var(--grau); }
	body.scb-seite .sb-buehne .ps-fakt-wert { font-size: 30px; color: var(--g); }

}
@media (max-width: 700px) {
	/* Ablauf-Karten (Kinderschutz u. a.): lange Wörter wie „Verantwortliche“ sprengen die Spalte nicht */
	body.scb-seite .sp-karte { grid-template-columns: minmax(0, 1fr); }
	body.scb-seite .sp-karte .ps-h3 { font-size: min(38px, 9.4vw) !important; }
}
@media (max-width: 700px) {
}

/* Scroll-Hijacking auf Handy und Tablet: Kopf und Spur passen gemeinsam auf einen Bildschirm */
@media (max-width: 900px) and (prefers-reduced-motion: no-preference) {
	body.scb-seite .sp-hscroll__buehne { height: 100svh; padding: 78px 0 40px; gap: 22px; justify-content: center; }
	body.scb-seite .sp-hscroll__kopf { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	body.scb-seite .sp-hscroll__kopf .ps-h2 { font-size: clamp(32px, 9vw, 46px); }
	body.scb-seite .sp-hscroll__kopf .ps-intro { font-size: 15px; line-height: 1.5; }
	body.scb-seite .sp-partner { flex: 0 0 min(72vw, 320px); }
	body.scb-seite .sp-partner__logo { aspect-ratio: 16 / 10; padding: 20px; grid-template-columns: minmax(0, 1fr); }
	body.scb-seite .sp-partner__logo img { min-width: 0; max-width: 100%; max-height: 92px; justify-self: center; }
	body.scb-seite .sp-partner__text { gap: 6px; padding: 16px 18px 20px; }
	body.scb-seite .sp-partner__name { font-size: 22px; overflow-wrap: anywhere; }
	body.scb-seite .sp-flaeche { flex: 0 0 80vw; height: min(50svh, 420px); }
	body.scb-seite .sp-hscroll__fortschritt { bottom: 18px; }
}
@media (max-width: 900px), (pointer: coarse) {
	/* Hijacking flüssig halten: Karten isoliert zeichnen, keine Hover-Zoomeffekte beim Wischen */
	body.scb-seite .sp-hscroll .sp-spur { will-change: transform; backface-visibility: hidden; }
	body.scb-seite .sp-flaeche, body.scb-seite .sp-partner { contain: paint; }
	body.scb-seite .sp-flaeche__bild, body.scb-seite .sp-partner__logo img { transition: none; }
}
