/* GS Design – generiert, nicht von Hand ändern */
:root {
	--gs-font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--gs-font-heading: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--gs-text-xs: clamp(1.1111rem, 1.0975rem + 0.0379vw, 1.152rem);
	--gs-text-s: clamp(1.3333rem, 1.2978rem + 0.0988vw, 1.44rem);
	--gs-text-m: clamp(1.6rem, 1.5333rem + 0.1852vw, 1.8rem);
	--gs-text-l: clamp(1.92rem, 1.81rem + 0.3056vw, 2.25rem);
	--gs-text-xl: clamp(2.304rem, 2.1345rem + 0.4708vw, 2.8125rem);
	--gs-text-xxl: clamp(2.7648rem, 2.5145rem + 0.6952vw, 3.5156rem);
	--gs-h1: clamp(3.9813rem, 3.4774rem + 1.3999vw, 5.4932rem);
	--gs-h2: clamp(3.3178rem, 2.9588rem + 0.997vw, 4.3945rem);
	--gs-h3: clamp(2.7648rem, 2.5145rem + 0.6952vw, 3.5156rem);
	--gs-h4: clamp(2.304rem, 2.1345rem + 0.4708vw, 2.8125rem);
	--gs-h5: clamp(1.92rem, 1.81rem + 0.3056vw, 2.25rem);
	--gs-h6: clamp(1.6rem, 1.5333rem + 0.1852vw, 1.8rem);
	--gs-space-3xs: clamp(0.4rem, 0.3833rem + 0.0463vw, 0.45rem);
	--gs-space-2xs: clamp(0.8rem, 0.7667rem + 0.0926vw, 0.9rem);
	--gs-space-xs: clamp(1.2rem, 1.15rem + 0.1389vw, 1.35rem);
	--gs-space-s: clamp(1.6rem, 1.5333rem + 0.1852vw, 1.8rem);
	--gs-space-m: clamp(2.4rem, 2.3rem + 0.2778vw, 2.7rem);
	--gs-space-l: clamp(3.2rem, 3.0667rem + 0.3704vw, 3.6rem);
	--gs-space-xl: clamp(4.8rem, 4.6rem + 0.5556vw, 5.4rem);
	--gs-space-2xl: clamp(6.4rem, 6.1333rem + 0.7407vw, 7.2rem);
	--gs-space-3xl: clamp(9.6rem, 9.2rem + 1.1111vw, 10.8rem);
	--gs-section-s: clamp(3.2rem, 2.4667rem + 2.037vw, 5.4rem);
	--gs-section-m: clamp(4.8rem, 3.4rem + 3.8889vw, 9rem);
	--gs-section-l: clamp(6.4rem, 3.7333rem + 7.4074vw, 14.4rem);
	--gs-gutter: clamp(1.6rem, 0.9333rem + 1.8519vw, 3.6rem);
	--gs-content-width: 128rem;
	--gs-content-narrow: 72rem;
	--gs-radius: 0.8rem;
	--gs-primary: #1d4ed8;
	--gs-primary-on: #ffffff;
	--gs-primary-ultra-light: color-mix(in oklch, #1d4ed8 10%, white);
	--gs-primary-ultra-light-on: #000000;
	--gs-primary-light: color-mix(in oklch, #1d4ed8 35%, white);
	--gs-primary-light-on: #000000;
	--gs-primary-hover: color-mix(in oklch, #1d4ed8 85%, black);
	--gs-primary-hover-on: #ffffff;
	--gs-primary-dark: color-mix(in oklch, #1d4ed8 65%, black);
	--gs-primary-dark-on: #ffffff;
	--gs-primary-ultra-dark: color-mix(in oklch, #1d4ed8 35%, black);
	--gs-primary-ultra-dark-on: #ffffff;
	--gs-text: #1a1a1a;
	--gs-text-on: #ffffff;
	--gs-text-ultra-light: color-mix(in oklch, #1a1a1a 10%, white);
	--gs-text-ultra-light-on: #000000;
	--gs-text-light: color-mix(in oklch, #1a1a1a 35%, white);
	--gs-text-light-on: #000000;
	--gs-text-hover: color-mix(in oklch, #1a1a1a 85%, black);
	--gs-text-hover-on: #ffffff;
	--gs-text-dark: color-mix(in oklch, #1a1a1a 65%, black);
	--gs-text-dark-on: #ffffff;
	--gs-text-ultra-dark: color-mix(in oklch, #1a1a1a 35%, black);
	--gs-text-ultra-dark-on: #ffffff;
	--gs-bg: #ffffff;
	--gs-bg-on: #000000;
	--gs-bg-ultra-light: color-mix(in oklch, #ffffff 10%, white);
	--gs-bg-ultra-light-on: #000000;
	--gs-bg-light: color-mix(in oklch, #ffffff 35%, white);
	--gs-bg-light-on: #000000;
	--gs-bg-hover: color-mix(in oklch, #ffffff 85%, black);
	--gs-bg-hover-on: #000000;
	--gs-bg-dark: color-mix(in oklch, #ffffff 65%, black);
	--gs-bg-dark-on: #000000;
	--gs-bg-ultra-dark: color-mix(in oklch, #ffffff 35%, black);
	--gs-bg-ultra-dark-on: #ffffff;
}
:where(body) {
	font-family: var(--gs-font-body);
	font-size: var(--gs-text-m);
	line-height: 1.6;
	color: var(--gs-text);
	background-color: var(--gs-bg);
	overflow-wrap: break-word;
}
:where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--gs-font-heading);
	line-height: 1.2;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
}
:where(h1) { font-size: var(--gs-h1); }
:where(h2) { font-size: var(--gs-h2); }
:where(h3) { font-size: var(--gs-h3); }
:where(h4) { font-size: var(--gs-h4); }
:where(h5) { font-size: var(--gs-h5); }
:where(h6) { font-size: var(--gs-h6); }
:where(a) { color: var(--gs-primary); }
:where(a:hover) { color: var(--gs-primary-hover); }
:where(:focus-visible) {
	outline: 2px solid var(--gs-primary);
	outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	:where(*, *::before, *::after) {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
.gs-section {
	padding-block: var(--gs-section-m);
	padding-inline: var(--gs-gutter);
}
.gs-container {
	inline-size: 100%;
	max-inline-size: var(--gs-content-width);
	margin-inline: auto;
	container-type: inline-size;
}
.gs-grid {
	display: grid;
	gap: var(--gs-grid-gap, var(--gs-space-m));
	grid-template-columns: repeat(auto-fit, minmax(min(var(--gs-grid-min, 25.6rem), 100%), 1fr));
}
.gs-stack {
	display: flex;
	flex-direction: column;
	gap: var(--gs-stack-gap, var(--gs-space-s));
}
.gs-cluster {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--gs-cluster-gap, var(--gs-space-xs));
}
:is(.gs-grid, .gs-stack, .gs-cluster) > * { min-inline-size: 0; }
.gs-visually-hidden {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
