/* GVBE Startseite — Die lebende Hauptstraße */
:root {
	--home-ink: #061c19;
	--home-ink-2: #102f2a;
	--home-paper: #f3eee3;
	--home-paper-light: #fffaf1;
	--home-red: #ef4b32;
	--home-yellow: #f2bd3f;
	--home-blue: #88b9d7;
	--home-mint: #b7d7c2;
	--home-line: rgba(6, 28, 25, 0.18);
}
body:has(main.home-reborn) {
	margin: 0;
	background: var(--home-paper-light);
	color: var(--home-ink);
	overflow-x: hidden;
}
body:has(main.home-reborn) .nav {
	position: absolute;
	z-index: 100;
	inset: 0 0 auto;
	border: 0;
	background: linear-gradient(180deg, rgba(3, 17, 15, 0.76), transparent);
	color: #fff;
}
body:has(main.home-reborn) .nav-inner {
	max-width: 1480px;
	padding: 22px 34px;
}
body:has(main.home-reborn) .wordmark { color: #fff; }
body:has(main.home-reborn) .mark {
	width: 58px;
	height: 58px;
	padding: 5px;
	border-radius: 2px;
	background: #fff;
}
body:has(main.home-reborn) .wordmark .gvbe-display {
	font: 780 26px/1 var(--gvbe-font-sans);
	letter-spacing: -0.055em;
}
body:has(main.home-reborn) .wordmark .sub,
body:has(main.home-reborn) .links a.gvbe-small { color: rgba(255, 255, 255, 0.76); }
body:has(main.home-reborn) .links a.gvbe-small:hover,
body:has(main.home-reborn) .links a.hervor { color: #fff; }
body:has(main.home-reborn) .nav .gvbe-btn.primary {
	border: 1px solid rgba(255, 255, 255, 0.56);
	border-radius: 999px;
	background: transparent;
	color: #fff;
}
body:has(main.home-reborn) .nav .gvbe-btn.primary:hover {
	background: #fff;
	color: var(--home-ink);
}
body:has(main.home-reborn) .menue-knopf { border-color: rgba(255, 255, 255, 0.52); }
body:has(main.home-reborn) .menue-knopf span { background: #fff; }
body:has(main.home-reborn) .anmelden-schmal { color: #fff; }

main.home-reborn {
	--accent: var(--home-yellow);
	background: var(--home-paper-light);
}
main.home-reborn[data-welt='essen'] { --accent: #ff7659; }
main.home-reborn[data-welt='handwerk'] { --accent: #f2bd3f; }
main.home-reborn[data-welt='gesundheit'] { --accent: #b7d7c2; }
main.home-reborn[data-welt='einkaufen'] { --accent: #88b9d7; }
main.home-reborn[data-welt='beratung'] { --accent: #e6a6c0; }
main.home-reborn[data-welt='wohlfuehlen'] { --accent: #c8b7e8; }
main.home-reborn h1,
main.home-reborn h2,
main.home-reborn h3 { text-wrap: balance; }
main.home-reborn em {
	font-family: var(--gvbe-font-serif);
	font-weight: 450;
}
main.home-reborn .gvbe-micro {
	font-family: var(--gvbe-font-sans);
	font-weight: 720;
	letter-spacing: 0.16em;
}

/* Eröffnung */
.portal {
	position: relative;
	min-height: 980px;
	background: var(--home-ink);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.portal::before {
	content: 'BE';
	position: absolute;
	z-index: -1;
	left: -0.055em;
	top: 96px;
	color: rgba(255, 255, 255, 0.035);
	font: 850 clamp(300px, 42vw, 680px)/0.75 var(--gvbe-font-sans);
	letter-spacing: -0.14em;
	pointer-events: none;
}
.portal-foto {
	position: absolute;
	z-index: -2;
	inset: 0 0 0 47%;
	overflow: hidden;
	clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
}
.portal-foto::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(6, 28, 25, 0.68), transparent 42%), linear-gradient(0deg, rgba(6, 28, 25, 0.4), transparent 42%);
}
.portal-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% center;
	filter: saturate(0.86) contrast(1.05);
}
.portal .bildnachweis {
	position: absolute;
	z-index: 2;
	right: 18px;
	bottom: 14px;
	margin: 0;
	padding: 4px 7px;
	background: rgba(6, 28, 25, 0.72);
	color: rgba(255, 255, 255, 0.66);
	font-size: 10px;
	line-height: 1.3;
}
.portal-inhalt {
	position: relative;
	z-index: 3;
	width: min(1480px, calc(100% - 68px));
	margin: 0 auto;
	padding: 238px 0 168px;
}
.portal .ort {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 30px;
	color: rgba(255, 255, 255, 0.7);
}
.portal .ort::before {
	content: '';
	width: 38px;
	height: 3px;
	background: var(--accent);
}
.portal .zurueck {
	padding: 0;
	border: 0;
	background: none;
	color: var(--accent);
	cursor: pointer;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}
.portal h1 {
	max-width: 850px;
	margin: 0;
	font: 790 clamp(72px, 8.3vw, 132px)/0.82 var(--gvbe-font-sans);
	letter-spacing: -0.078em;
}
.portal h1 span {
	display: block;
	width: max-content;
	max-width: 100%;
	margin-top: 0.04em;
	color: var(--accent);
	font-family: var(--gvbe-font-serif);
	font-style: italic;
	font-weight: 470;
	letter-spacing: -0.065em;
}
.portal .lede {
	max-width: 610px;
	margin: 36px 0 32px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 18px;
	line-height: 1.7;
}
.suchfeld {
	position: relative;
	display: grid;
	width: min(690px, 100%);
	grid-template-columns: 108px 1fr 56px;
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.45);
	background: #fff;
	color: var(--home-ink);
}
.suchfeld-label {
	display: grid;
	height: 68px;
	place-items: center;
	border-right: 1px solid var(--home-line);
	background: var(--accent);
	font-size: 11px;
	font-weight: 820;
	letter-spacing: 0.16em;
}
.suchfeld input {
	width: 100%;
	height: 68px;
	padding: 0 22px;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--home-ink);
	font-size: 16px;
}
.suchfeld input::placeholder { color: #65716d; }
.suchfeld:focus-within { outline: 3px solid color-mix(in srgb, var(--accent) 48%, transparent); }
.suchpfeil {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	background: var(--home-ink);
	color: #fff;
	font-size: 18px;
}
.leeren {
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: var(--home-ink);
	color: #fff;
	cursor: pointer;
}
.kennzahl {
	position: absolute;
	z-index: 4;
	right: max(40px, calc((100vw - 1480px) / 2));
	bottom: 66px;
	display: grid;
	width: 170px;
	height: 170px;
	margin: 0;
	place-content: center;
	border-radius: 50%;
	background: var(--accent);
	color: var(--home-ink);
	text-align: center;
	transform: rotate(5deg);
}
.kennzahl .zahl {
	font: 590 68px/0.82 var(--gvbe-font-serif);
	letter-spacing: -0.06em;
}
.kennzahl .zahl-label {
	max-width: 112px;
	margin: 12px auto 0;
	font-size: 9px;
	line-height: 1.35;
}
.portal-code {
	position: absolute;
	z-index: 3;
	top: 154px;
	right: 34px;
	display: flex;
	gap: 18px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
}
.portal-seite {
	position: absolute;
	z-index: 3;
	left: 22px;
	bottom: 146px;
	color: rgba(255, 255, 255, 0.42);
	font-size: 9px;
	font-weight: 740;
	letter-spacing: 0.18em;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}
.portal-sprung {
	position: absolute;
	z-index: 4;
	left: max(34px, calc((100vw - 1480px) / 2));
	bottom: 36px;
	display: flex;
	gap: 42px;
	align-items: center;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.48);
	color: #fff;
	font-size: 11px;
	font-weight: 720;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

/* Sechs Türen */
.intent-lab {
	display: grid;
	grid-template-columns: 0.78fr 1.22fr;
	background: var(--home-paper);
}
.intent-kopf {
	display: flex;
	min-height: 810px;
	flex-direction: column;
	justify-content: center;
	padding: 90px max(42px, calc((100vw - 1480px) / 2));
	padding-right: 72px;
}
.intent-kopf > p {
	margin: 0 0 24px;
	color: var(--home-red);
}
.intent-kopf h2 {
	margin: 0;
	font: 790 clamp(64px, 7vw, 108px)/0.84 var(--gvbe-font-sans);
	letter-spacing: -0.07em;
}
.intent-kopf h2 em {
	color: var(--home-red);
	font-style: italic;
}
.intent-kopf .stoebern {
	align-self: flex-start;
	margin-top: 54px;
	padding-bottom: 5px;
	border-bottom: 2px solid var(--home-ink);
	color: var(--home-ink);
	font-size: 13px;
	font-weight: 650;
	text-decoration: none;
}
.absichten {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-left: 1px solid var(--home-line);
}
.absicht {
	position: relative;
	display: flex;
	min-height: 270px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 28px;
	border: 0;
	border-right: 1px solid var(--home-line);
	border-bottom: 1px solid var(--home-line);
	background: var(--home-paper-light);
	color: var(--home-ink);
	text-align: left;
	cursor: pointer;
	transition: background var(--gvbe-duration-state) var(--gvbe-ease), color var(--gvbe-duration-state) var(--gvbe-ease), opacity var(--gvbe-duration-move) var(--gvbe-ease);
}
.absicht:nth-child(2),
.absicht:nth-child(5) { background: var(--home-yellow); }
.absicht:nth-child(3) { background: var(--home-mint); }
.absicht:nth-child(6) { background: var(--home-blue); }
.absicht:hover,
.absicht:focus-visible {
	background: var(--home-red);
	color: #fff;
	outline: 0;
}
.absicht.aktiv {
	background: var(--home-ink);
	color: #fff;
}
.absicht.zurueckgetreten { opacity: 0.38; }
.absicht.zurueckgetreten:hover { opacity: 1; }
.absicht-nr {
	position: absolute;
	top: 22px;
	left: 26px;
	font: 650 12px/1 var(--gvbe-font-sans);
	letter-spacing: 0.12em;
}
.absicht-ruf {
	max-width: 8ch;
	font: 600 clamp(29px, 2.7vw, 43px)/0.96 var(--gvbe-font-serif);
	letter-spacing: -0.035em;
}
.absicht-unter {
	margin-top: 12px;
	color: currentColor;
	font-size: 9px;
	opacity: 0.62;
}
.absicht-pfeil {
	position: absolute;
	right: 24px;
	bottom: 24px;
	font-size: 25px;
}

/* Betriebe als Editorial-Collage */
.strecke {
	padding: 150px max(34px, calc((100vw - 1480px) / 2));
	background: var(--home-paper-light);
}
.strecke-kopf {
	display: grid;
	grid-template-columns: 1.3fr 0.5fr;
	gap: 80px;
	align-items: end;
	margin-bottom: 66px;
}
.strecke .kicker {
	margin: 0 0 16px;
	color: var(--home-red);
}
.strecke h2 {
	max-width: 950px;
	margin: 0;
	font: 570 clamp(66px, 8vw, 120px)/0.82 var(--gvbe-font-serif);
	letter-spacing: -0.06em;
}
.strecke-intro {
	max-width: 370px;
	margin: 0;
	color: #52605c;
	font-size: 16px;
	line-height: 1.7;
}
.karten {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--home-line);
	border-left: 1px solid var(--home-line);
}
.karten .karte {
	grid-column: span 4 !important;
	min-height: 390px;
	padding: 30px;
	border: 0;
	border-right: 1px solid var(--home-line);
	border-bottom: 1px solid var(--home-line);
	border-radius: 0;
	background: transparent;
	color: var(--home-ink);
	transform: none;
}
.karten .karte.lead,
.karten .karte:first-child {
	grid-column: span 7 !important;
	min-height: 470px;
	background: var(--home-ink);
	color: #fff;
}
.karten .karte:nth-child(2) {
	grid-column: span 5 !important;
	background: var(--home-yellow);
}
.karten .karte:nth-child(3) {
	grid-column: span 4 !important;
	background: var(--home-paper);
}
.karten .karte.wide,
.karten .karte:nth-child(4) {
	grid-column: span 8 !important;
	background: var(--home-red);
	color: #fff;
}
.karten .karte:nth-child(5) {
	grid-column: span 12 !important;
	min-height: 260px;
	background: var(--home-mint);
}
.karten .karte:hover {
	border-color: var(--home-line);
	background: var(--home-blue);
	color: var(--home-ink);
	transform: none;
}
.karten .karte h3 {
	font: 600 clamp(28px, 3vw, 46px)/1.02 var(--gvbe-font-serif);
	letter-spacing: -0.035em;
}
.karten .karte.lead h3,
.karten .karte:first-child h3 { font-size: clamp(42px, 5vw, 72px); }
.karten .karte .branche { color: var(--home-red); }
.karten .karte.lead .branche,
.karten .karte.lead .text,
.karten .karte.lead .fuss span,
.karten .karte:first-child .branche,
.karten .karte:first-child .text,
.karten .karte:first-child .fuss span,
.karten .karte:nth-child(4) .branche,
.karten .karte:nth-child(4) .text,
.karten .karte:nth-child(4) .fuss span { color: rgba(255, 255, 255, 0.72); }
.karten .karte .text {
	max-width: 62ch;
	color: #53605d;
	font-size: 15px;
	line-height: 1.7;
}
.karten .karte .fuss {
	border-color: currentColor;
	opacity: 0.68;
}
.spur {
	margin-top: 62px;
	padding-top: 28px;
	border-top: 1px solid var(--home-line);
}
.spur-titel {
	margin-bottom: 20px;
	color: #5d6865;
}
.spur ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.spur li a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 6px;
	border: 1px solid var(--home-line);
	color: var(--home-ink);
	text-decoration: none;
}
.mehr,
.hinweis {
	display: inline-block;
	margin-top: 42px;
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
	color: var(--home-ink);
	font-weight: 650;
	text-decoration: none;
}
.hinweis { color: #5d6865; }
.hinweis a,
.weitere-treffer a { color: var(--home-red); }

.hintergrund {
	transition: opacity var(--gvbe-duration-move) var(--gvbe-ease);
}
main.fokussiert .hintergrund { opacity: 0.3; }
main.fokussiert .hintergrund:hover,
main.fokussiert .hintergrund:focus-within { opacity: 1; }

/* Zahlenband */
.zahlenband {
	display: grid;
	grid-template-columns: repeat(3, 1fr) 1.35fr;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 1px solid rgba(255, 255, 255, 0.16);
	background: var(--home-ink);
	color: #fff;
}
.zahlenband > div,
.zahlenband > p {
	display: flex;
	min-height: 255px;
	align-items: center;
	gap: 20px;
	margin: 0;
	padding: 36px;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.zahlenband strong {
	color: var(--home-yellow);
	font: 550 clamp(54px, 7vw, 94px)/1 var(--gvbe-font-serif);
	letter-spacing: -0.05em;
}
.zahlenband span {
	color: rgba(255, 255, 255, 0.62);
	font-size: 11px;
	font-weight: 680;
	letter-spacing: 0.12em;
	line-height: 1.45;
	text-transform: uppercase;
}
.zahlenband > p {
	justify-content: center;
	background: var(--home-red);
	font: 790 clamp(32px, 4vw, 58px)/0.92 var(--gvbe-font-sans);
	letter-spacing: -0.05em;
}
.zahlenband p em {
	color: var(--home-yellow);
	font-style: italic;
}

/* Veranstaltungen als Kulturplakate */
.jahreslauf {
	padding: 150px max(34px, calc((100vw - 1480px) / 2));
	background: var(--home-paper);
}
.jahreslauf > header {
	display: grid;
	grid-template-columns: 0.35fr 1fr;
	margin-bottom: 70px;
}
.jahreslauf header > p { color: var(--home-red); }
.jahreslauf h2 {
	margin: 0;
	font: 560 clamp(66px, 8vw, 120px)/0.83 var(--gvbe-font-serif);
	letter-spacing: -0.062em;
}
.jahreslauf h2 em {
	color: var(--home-red);
	font-style: italic;
}
.plakate {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: stretch;
}
.plakat {
	position: relative;
	display: flex;
	min-height: 570px;
	flex-direction: column;
	justify-content: flex-end;
	padding: 34px;
	border: 1px solid var(--home-line);
	color: var(--home-ink);
	text-decoration: none;
	overflow: hidden;
}
.plakat.winter {
	grid-column: span 4;
	background: var(--home-blue);
}
.plakat.strasse {
	grid-column: span 4;
	margin-top: 70px;
	background: var(--home-yellow);
}
.plakat.zeitung {
	grid-column: span 4;
	display: grid;
	grid-template-rows: 0.9fr 1.1fr;
	padding: 0;
	background: var(--home-ink);
	color: #fff;
}
.plakat.zeitung img {
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: top center;
}
.plakat.zeitung > div {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 28px;
}
.plakat-nr {
	position: absolute;
	top: 26px;
	left: 30px;
	font-size: 11px;
	font-weight: 760;
	letter-spacing: 0.15em;
}
.plakat .termin {
	margin: 0 0 14px;
	color: currentColor;
	opacity: 0.62;
	font-size: 10px;
}
.plakat h3 {
	margin: 0;
	font: 760 clamp(44px, 5vw, 72px)/0.82 var(--gvbe-font-sans);
	letter-spacing: -0.07em;
}
.plakat > p:not(.termin),
.plakat > div > p:not(.termin) {
	max-width: 280px;
	margin: 24px 0 0;
	line-height: 1.6;
}
.plakat b {
	position: absolute;
	right: 28px;
	bottom: 26px;
	font-size: 28px;
	font-weight: 400;
}
.plakat:hover { filter: brightness(1.04); }

/* Vereinsmanifest */
.manifest {
	display: grid;
	min-height: 860px;
	grid-template-columns: 0.42fr 1fr;
	background: var(--home-paper-light);
}
.manifest-klein {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-content: stretch;
	border-right: 1px solid var(--home-line);
}
.manifest-klein p {
	grid-column: 1 / -1;
	align-self: center;
	margin: 0;
	padding: 38px;
	color: var(--home-red);
}
.manifest-klein > span {
	display: grid;
	place-items: center;
	border-top: 1px solid var(--home-line);
	border-right: 1px solid var(--home-line);
	font: 780 clamp(48px, 7vw, 100px)/1 var(--gvbe-font-sans);
}
.manifest-klein > span:nth-of-type(2) { background: var(--home-yellow); }
.manifest-klein > span:nth-of-type(3) { background: var(--home-mint); }
.manifest-klein > span:nth-of-type(4) {
	border-right: 0;
	background: var(--home-red);
	color: #fff;
}
.manifest-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 100px max(50px, calc((100vw - 1480px) / 2));
	padding-left: clamp(60px, 8vw, 140px);
}
.manifest h2 {
	margin: 0;
	font: 780 clamp(66px, 7.4vw, 116px)/0.83 var(--gvbe-font-sans);
	letter-spacing: -0.072em;
}
.manifest h2 em {
	color: var(--home-red);
	font-style: italic;
}
.manifest-text > p {
	max-width: 650px;
	margin: 42px 0 34px;
	color: #53605d;
	font-size: 18px;
	line-height: 1.72;
}
.manifest nav {
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
}
.manifest nav a {
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
	color: var(--home-ink);
	font-weight: 650;
	text-decoration: none;
}

/* Schlussakkord */
.mitmachen {
	position: relative;
	min-height: 860px;
	padding: 150px max(34px, calc((100vw - 1480px) / 2));
	background: var(--home-red);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.mitmachen::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: -260px;
	right: -140px;
	width: 770px;
	height: 770px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(255, 255, 255, 0.035), 0 0 0 160px rgba(255, 255, 255, 0.025);
}
.mitmachen > .gvbe-micro {
	margin: 0 0 26px;
	color: var(--home-yellow);
}
.mitmachen h2 {
	max-width: 1020px;
	margin: 0;
	font: 780 clamp(72px, 9.2vw, 142px)/0.8 var(--gvbe-font-sans);
	letter-spacing: -0.082em;
}
.mitmachen h2 em {
	color: var(--home-yellow);
	font-style: italic;
}
.mitmachen > p:not(.gvbe-micro) {
	max-width: 630px;
	margin: 44px 0 32px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 18px;
	line-height: 1.7;
}
.mitmachen .cta {
	display: inline-flex;
	min-width: 280px;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 18px 22px 18px 26px;
	border-radius: 999px;
	background: var(--home-ink);
	color: #fff;
	font-weight: 720;
	text-decoration: none;
}
.mitmachen .cta span {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	background: var(--home-yellow);
	color: var(--home-ink);
	font-size: 18px;
}
.mitmachen-wort {
	position: absolute;
	z-index: -1;
	right: -0.04em;
	bottom: -0.13em;
	color: rgba(255, 255, 255, 0.065);
	font: 850 clamp(160px, 30vw, 470px)/0.7 var(--gvbe-font-sans);
	letter-spacing: -0.1em;
}

/* Footer */
body:has(main.home-reborn) .footer {
	margin-top: 0;
	border-color: rgba(255, 255, 255, 0.12);
	background: #03110f;
	color: #fff;
}
body:has(main.home-reborn) .footer-inner {
	max-width: 1480px;
	padding: 82px 34px 48px;
}
body:has(main.home-reborn) .footer .heading,
body:has(main.home-reborn) .footer .credit { color: rgba(255, 255, 255, 0.5); }
body:has(main.home-reborn) .footer .col a { color: rgba(255, 255, 255, 0.76); }
body:has(main.home-reborn) .footer .credit { border-color: rgba(255, 255, 255, 0.12); }

@media (max-width: 1080px) {
	body:has(main.home-reborn) .klappmenue {
		border-color: rgba(255, 255, 255, 0.16);
		background: var(--home-ink);
	}
	body:has(main.home-reborn) .klappmenue a {
		border-color: rgba(255, 255, 255, 0.14);
		color: #fff;
	}
	.portal h1 { font-size: clamp(66px, 9.4vw, 100px); }
	.intent-lab { grid-template-columns: 1fr; }
	.intent-kopf {
		min-height: auto;
		padding: 110px 34px;
	}
	.absichten { border-top: 1px solid var(--home-line); }
	.strecke-kopf { grid-template-columns: 1fr; gap: 28px; }
	.karten .karte,
	.karten .karte:nth-child(n),
	.karten .karte.lead,
	.karten .karte.wide { grid-column: span 6 !important; }
	.karten .karte:nth-child(5) { grid-column: span 12 !important; }
	.zahlenband { grid-template-columns: repeat(2, 1fr); }
	.jahreslauf > header { grid-template-columns: 1fr; gap: 22px; }
	.plakat.winter,
	.plakat.strasse { grid-column: span 6; }
	.plakat.zeitung {
		grid-column: span 12;
		grid-template-columns: 0.72fr 1.28fr;
		grid-template-rows: 1fr;
		min-height: 470px;
	}
	.manifest { grid-template-columns: 1fr; }
	.manifest-klein {
		min-height: 340px;
		border-right: 0;
		border-bottom: 1px solid var(--home-line);
	}
	.manifest-text { padding: 110px 34px; }
}

@media (max-width: 680px) {
	body:has(main.home-reborn) .nav-inner { padding: 14px 16px; }
	body:has(main.home-reborn) .mark {
		width: 50px;
		height: 50px;
	}
	body:has(main.home-reborn) .wordmark .gvbe-display { font-size: 24px; }
	body:has(main.home-reborn) .anmelden-schmal { display: none; }

	.portal {
		min-height: 940px;
		padding-top: 0;
	}
	.portal-foto {
		inset: 0 0 48% 0;
		clip-path: none;
	}
	.portal-foto::after {
		background: linear-gradient(0deg, var(--home-ink) 0%, rgba(6, 28, 25, 0.5) 44%, rgba(6, 28, 25, 0.1));
	}
	.portal-foto img { object-position: 58% center; }
	.portal-inhalt {
		width: calc(100% - 32px);
		padding: 390px 0 118px;
	}
	.portal .ort {
		margin-bottom: 18px;
		font-size: 9px;
	}
	.portal h1 {
		font-size: clamp(45px, 13.4vw, 58px);
		line-height: 0.87;
		letter-spacing: -0.07em;
	}
	.portal h1 span { width: auto; }
	.portal .lede {
		margin: 26px 0 24px;
		font-size: 16px;
		line-height: 1.58;
	}
	.suchfeld {
		grid-template-columns: 74px 1fr 46px;
	}
	.suchfeld-label,
	.suchfeld input { height: 60px; }
	.suchfeld-label { font-size: 9px; }
	.suchfeld input {
		min-width: 0;
		padding: 0 12px;
		font-size: 14px;
		text-overflow: ellipsis;
	}
	.suchpfeil,
	.leeren {
		width: 34px;
		height: 34px;
	}
	.kennzahl {
		right: 16px;
		bottom: 24px;
		width: 118px;
		height: 118px;
	}
	.kennzahl .zahl { font-size: 48px; }
	.kennzahl .zahl-label {
		margin-top: 8px;
		font-size: 7px;
	}
	.portal-sprung {
		left: 16px;
		bottom: 28px;
		gap: 18px;
	}
	.portal-code,
	.portal-seite,
	.portal .bildnachweis { display: none; }

	.intent-kopf { padding: 88px 18px 72px; }
	.intent-kopf h2 { font-size: 58px; }
	.intent-kopf .stoebern { margin-top: 38px; }
	.absichten {
		grid-template-columns: 1fr;
		border-left: 0;
	}
	.absicht {
		min-height: 170px;
		padding: 22px 18px;
	}
	.absicht-ruf {
		max-width: 11ch;
		font-size: 34px;
	}
	.absicht-pfeil { right: 18px; bottom: 20px; }

	.strecke { padding: 92px 16px 110px; }
	.strecke h2 { font-size: 60px; }
	.karten { grid-template-columns: 1fr; }
	.karten .karte,
	.karten .karte:nth-child(n),
	.karten .karte.lead,
	.karten .karte.wide {
		grid-column: auto !important;
		min-height: 320px;
		padding: 24px;
	}
	.karten .karte.lead,
	.karten .karte:first-child { min-height: 390px; }
	.karten .karte h3,
	.karten .karte.lead h3,
	.karten .karte:first-child h3 { font-size: 34px; }

	.zahlenband { grid-template-columns: 1fr 1fr; }
	.zahlenband > div,
	.zahlenband > p {
		min-height: 190px;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		padding: 22px 18px;
	}
	.zahlenband strong { font-size: 54px; }
	.zahlenband > p { font-size: 30px; }

	.jahreslauf { padding: 92px 16px 112px; }
	.jahreslauf h2 { font-size: 58px; }
	.plakate { display: block; }
	.plakat.winter,
	.plakat.strasse,
	.plakat.zeitung {
		display: flex;
		min-height: 470px;
		margin: 0;
	}
	.plakat.strasse { margin-left: 18px; }
	.plakat.zeitung {
		display: grid;
		grid-template-columns: 0.82fr 1.18fr;
		grid-template-rows: 1fr;
		margin-right: 18px;
	}
	.plakat h3 { font-size: 52px; }
	.plakat.zeitung h3 { font-size: 42px; }
	.plakat.zeitung > div { padding: 20px; }

	.manifest-klein { min-height: 270px; }
	.manifest-klein p { padding: 24px 18px; }
	.manifest-klein > span { font-size: 58px; }
	.manifest-text { padding: 90px 18px; }
	.manifest h2 { font-size: 58px; }
	.manifest-text > p {
		margin-top: 34px;
		font-size: 16px;
	}
	.manifest nav { flex-direction: column; align-items: flex-start; }

	.mitmachen {
		min-height: 820px;
		padding: 100px 18px;
	}
	.mitmachen h2 {
		font-size: clamp(58px, 16vw, 72px);
		line-height: 0.84;
	}
	.mitmachen > p:not(.gvbe-micro) { font-size: 16px; }
	.mitmachen .cta {
		width: 100%;
		min-width: 0;
	}
	body:has(main.home-reborn) .footer-inner { padding-inline: 18px; }
}

@media (max-width: 390px) {
	.portal h1 { font-size: 43px; }
	.intent-kopf h2,
	.strecke h2,
	.jahreslauf h2,
	.manifest h2 { font-size: 52px; }
	.zahlenband { grid-template-columns: 1fr; }
	.zahlenband > div,
	.zahlenband > p { min-height: 150px; }
	.plakat.zeitung {
		grid-template-columns: 1fr;
		grid-template-rows: 260px auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	main.home-reborn *,
	main.home-reborn *::before,
	main.home-reborn *::after {
		scroll-behavior: auto !important;
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}
