/* Kanonische Tokens der eingefrorenen ruhigen Markenstudie. */
@font-face {
	font-family: "Hapert Sans";
	src: url("../fonts/inter-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
}

:root {
	--blue: #009ddf; /* Markenblau: Akzente, Linien, Flächen, große Typografie */
	--blue-dark: #0072ad; /* Aktionsblau: Links und Bedienelemente, mit Weiß und auf Hellgrau ≥ 4,5 : 1 */
	--blue-deep: #005d8f;
	--blue-pale: #e8f6fc;
	--night: #061a2d;
	--night-2: #0d2740;
	--ink: #0b1116;
	--ink-2: #364550;
	--muted: #637079; /* Nebentext, auf Weiß 5,1 : 1 und auf Hellgrau 4,6 : 1 */
	--signal: #c24a00; /* Signal-Orange für Kennzeichnungen mit weißer Schrift */
	--line: #d7dde1;
	--line-dark: rgba(255,255,255,.22);
	--paper: #fff;
	--stage: #f1f3f4;
	--font: "Hapert Sans",Arial,Helvetica,sans-serif;
	--page: 1460px;
	--gutter: clamp(16px,4vw,44px);
	--section-y: clamp(64px,8vw,120px);
	--touch-min: 44px;
}

*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font);
	-webkit-font-smoothing: antialiased;
}
img,svg,video,iframe { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button,input,select,textarea { font: inherit; }
.container,.wrap {
	width: min(100%,var(--page));
	max-width: none;
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-size: 11px;
	font-weight: 780;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.kicker::before { width: 42px; height: 3px; background: currentColor; content: ""; }
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
	min-width: 190px;
	min-height: 54px;
	padding: 0 19px;
	border: 1px solid transparent;
	border-radius: 0;
	font-size: 13px;
	font-weight: 730;
}
.btn--blue { background: var(--blue); color: #fff; }
.btn--white { background: #fff; color: var(--night); }
.btn--line { border-color: rgba(255,255,255,.45); color: #fff; }
.btn i { font-size: 17px; font-style: normal; font-weight: 400; }
.skip {
	display: flex;
	align-items: center;
	min-height: var(--touch-min);
}
:where(a[href],button,input,select,textarea,summary,[tabindex]):focus-visible {
	outline: 3px solid var(--blue);
	outline-offset: 3px;
}
[hidden] { display: none !important; }
[id] { scroll-margin-top: 84px; }
.reference-home .hero {
	display: block;
	min-height: 0;
	align-items: initial;
	isolation: auto;
}
.reference-home .hero::after { content: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto !important; }
	*,*::before,*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .001ms !important;
	}
}
