/*
Responsive system notes
Breakpoints: xs 360px, sm 480px, md 768px, lg 1024px, xl 1200px,
2xl 1440px, 3xl 1728px, 4xl 1920px. CSS custom properties cannot be
used in media queries reliably across all target browsers, so the values
are documented here and repeated literally in media rules.
*/

/* Markenschriften: PT Serif / PT Sans (SIL OFL, lokal gehostet, Latin-Subset) */
@font-face {
	font-family: "PT Serif";
	src: url("../fonts/pt-serif-latin-400-normal.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "PT Serif";
	src: url("../fonts/pt-serif-latin-700-normal.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "PT Sans";
	src: url("../fonts/pt-sans-latin-400-normal.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "PT Sans";
	src: url("../fonts/pt-sans-latin-400-italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "PT Sans";
	src: url("../fonts/pt-sans-latin-700-normal.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--rc-bp-xs: 360px;
	--rc-bp-sm: 480px;
	--rc-bp-md: 768px;
	--rc-bp-lg: 1024px;
	--rc-bp-xl: 1200px;
	--rc-bp-2xl: 1440px;
	--rc-bp-3xl: 1728px;
	--rc-bp-4xl: 1920px;

	--rc-color-navy: #024059;
	--rc-color-dark-navy: #011c40;
	--rc-color-dark-alt: #19223d;
	--rc-color-accent: #bf3e21;
	--rc-color-light-gray: #f2f2f2;
	--rc-color-text: #1d1d1b;
	--rc-color-muted: #616161;
	--rc-color-white: #ffffff;

	--rc-font-headline: "PT Serif", Georgia, serif;
	--rc-font-body: "PT Sans", Arial, sans-serif;

	--rc-container-text: 820px;
	--rc-container-standard: 1180px;
	--rc-container-wide: 1400px;
	--rc-container-xl: 1400px;
	--rc-container-hero: 1500px;
	--rc-container-pad: clamp(1rem, 3vw, 2.5rem);

	--rc-space-2xs: clamp(0.25rem, 0.2vw + 0.2rem, 0.5rem);
	--rc-space-xs: clamp(0.5rem, 0.4vw + 0.35rem, 0.8rem);
	--rc-space-sm: clamp(0.75rem, 0.55vw + 0.55rem, 1.1rem);
	--rc-space-md: clamp(1rem, 1vw + 0.75rem, 1.75rem);
	--rc-space-lg: clamp(1.5rem, 1.8vw + 1rem, 3rem);
	--rc-space-xl: clamp(2.25rem, 3vw + 1.25rem, 5rem);
	--rc-space-2xl: clamp(3.25rem, 5vw + 1.5rem, 8rem);

	--rc-type-body: clamp(1rem, 0.18vw + 0.96rem, 1.125rem);
	--rc-type-small: clamp(0.875rem, 0.12vw + 0.84rem, 0.98rem);
	--rc-type-h1: clamp(2.15rem, 2.2vw + 1.35rem, 4.75rem);
	--rc-type-h2: clamp(1.65rem, 1.6vw + 1.15rem, 3.2rem);
	--rc-type-h3: clamp(1.3rem, 0.75vw + 1.05rem, 2rem);

	--rc-header-height: 76px;
	--rc-admin-bar-offset: 0px;
	--rc-radius-sm: 6px;
	--rc-radius-md: 12px;
	--rc-radius-lg: 16px;
	--rc-border-subtle: 1px solid rgba(1, 28, 64, 0.1);
	--rc-border-strong: 1px solid rgba(1, 28, 64, 0.18);
	--rc-border-accent: 1px solid rgba(191, 62, 33, 0.32);
	--rc-surface-white: rgba(255, 255, 255, 0.96);
	--rc-surface-soft: #f7f8f8;
	--rc-surface-tint: #eef3f4;
	--rc-gradient-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 248, 248, 0.92));
	--rc-shadow-subtle: 0 10px 30px rgba(1, 28, 64, 0.045);
	--rc-shadow-card: 0 18px 48px rgba(1, 28, 64, 0.075);
	--rc-shadow-panel: 0 28px 76px rgba(1, 28, 64, 0.11);
	--rc-shadow-soft: var(--rc-shadow-card);
}

.admin-bar {
	--rc-admin-bar-offset: 32px;
}

@media (max-width: 782px) {
	.admin-bar {
		--rc-admin-bar-offset: 46px;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	min-width: 320px;
	scroll-padding-top: calc(var(--rc-header-height) + var(--rc-admin-bar-offset) + 1rem);
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	min-width: 320px;
	margin: 0;
	overflow-x: clip;
	background: var(--rc-color-white);
	color: var(--rc-color-text);
	font-family: var(--rc-font-body);
	font-size: var(--rc-type-body);
	line-height: 1.65;
}

body.is-navigation-open {
	overflow: hidden;
}

[id] {
	scroll-margin-top: calc(var(--rc-header-height) + var(--rc-admin-bar-offset) + 1rem);
}

img,
svg,
video,
canvas {
	display: block;
	height: auto;
	max-width: 100%;
}

button,
input,
select,
textarea {
	font: inherit;
}

a {
	color: var(--rc-color-navy);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
	color: var(--rc-color-accent);
}

a:focus-visible,
button:focus-visible,
.rc-button:focus-visible,
.site-navigation-toggle:focus-visible {
	outline: 3px solid var(--rc-color-accent);
	outline-offset: 4px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	max-width: 18ch;
	margin: 0 0 0.65em;
	color: var(--rc-color-dark-navy);
	font-family: var(--rc-font-headline);
	line-height: 1.12;
	overflow-wrap: anywhere;
}

h1 {
	font-size: var(--rc-type-h1);
}

h2 {
	font-size: var(--rc-type-h2);
}

h3 {
	font-size: var(--rc-type-h3);
}

p,
li {
	max-width: 72ch;
}

p {
	margin: 0 0 1em;
}

.screen-reader-text,
.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.skip-link:focus {
	left: var(--rc-space-md);
	top: var(--rc-space-md);
	z-index: 1000;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	background: var(--rc-color-white);
	color: var(--rc-color-dark-navy);
	border: 2px solid var(--rc-color-accent);
}

.rc-container {
	width: min(100% - (var(--rc-container-pad) * 2), var(--rc-container-standard));
	margin-inline: auto;
}

.rc-container--text {
	max-width: var(--rc-container-text);
}

.rc-container--wide {
	width: min(100% - (var(--rc-container-pad) * 2), var(--rc-container-wide));
}

.rc-container--xl,
.rc-container--hero {
	width: min(100% - (var(--rc-container-pad) * 2), var(--rc-container-xl));
}

.rc-container--hero {
	width: min(100% - (var(--rc-container-pad) * 2), var(--rc-container-hero));
}

.rc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: clamp(0.72rem, 0.28vw + 0.62rem, 0.9rem) clamp(1rem, 0.65vw + 0.82rem, 1.35rem);
	border: 1px solid transparent;
	border-radius: var(--rc-radius-md);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.rc-button--primary {
	background: var(--rc-color-accent);
	color: var(--rc-color-white);
}

.rc-button--primary:hover,
.rc-button--primary:focus-visible {
	background: var(--rc-color-dark-navy);
	color: var(--rc-color-white);
}

.rc-button--secondary {
	background: rgba(255, 255, 255, 0.78);
	border-color: rgba(2, 64, 89, 0.24);
	color: var(--rc-color-navy);
}

.site-header {
	position: sticky;
	top: var(--rc-admin-bar-offset);
	z-index: 100;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid rgba(1, 28, 64, 0.12);
	backdrop-filter: blur(12px);
	transform: translateY(0);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease;
	will-change: transform;
}

.rc-site-header.is-hero-attached {
	position: relative;
	top: auto;
	transform: translateY(0);
}

.rc-site-header.is-sticky-active {
	position: fixed;
	top: var(--rc-admin-bar-offset);
	left: 0;
	right: 0;
	box-shadow: 0 14px 38px rgba(1, 28, 64, 0.12);
}

.rc-site-header.is-hidden:not(.is-menu-open):not(.is-focused) {
	transform: translateY(-110%);
}

.rc-site-header.is-visible,
.rc-site-header.is-menu-open,
.rc-site-header.is-focused {
	transform: translateY(0);
}

.rc-site-header-spacer {
	display: none;
}

.rc-site-header-spacer.is-active {
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.site-header {
		transition: none;
	}
}

.site-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--rc-space-sm);
	min-height: var(--rc-header-height);
	padding-block: clamp(0.65rem, 0.45vw + 0.5rem, 0.95rem);
	transition:
		min-height 200ms ease,
		padding-block 200ms ease;
}

.site-branding {
	min-width: 0;
}

.site-logo-link {
	display: inline-flex;
	align-items: center;
	max-width: min(60vw, 13rem);
	text-decoration: none;
}

.site-logo {
	width: clamp(10rem, 14vw, 14.25rem);
	max-height: 48px;
	object-fit: contain;
	object-position: left center;
	transition:
		width 200ms ease,
		max-height 200ms ease;
}

.site-title {
	display: inline-block;
	max-width: min(70vw, 24rem);
	color: var(--rc-color-dark-navy);
	font-family: var(--rc-font-headline);
	font-size: clamp(1rem, 0.42vw + 0.9rem, 1.22rem);
	font-weight: 700;
	line-height: 1.12;
	text-decoration: none;
}

.site-navigation-toggle {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: var(--rc-color-white);
	border: 1px solid rgba(1, 28, 64, 0.2);
	border-radius: var(--rc-radius-sm);
	color: var(--rc-color-dark-navy);
	cursor: pointer;
}

.site-navigation-toggle__line {
	width: 18px;
	height: 2px;
	margin: 2px 0;
	background: currentColor;
}

.site-navigation {
	display: none;
	grid-column: 1 / -1;
	width: 100%;
	padding-block: var(--rc-space-sm);
	border-top: 1px solid rgba(1, 28, 64, 0.1);
}

.site-navigation.is-open {
	display: block;
}

.site-navigation__list,
.site-footer__list {
	display: flex;
	flex-direction: column;
	gap: var(--rc-space-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-navigation__list a,
.site-footer__list a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: var(--rc-color-dark-navy);
	font-size: clamp(0.86rem, 0.08vw + 0.84rem, 0.95rem);
	font-weight: 700;
	text-decoration: none;
}

.site-header__cta {
	display: none;
	max-width: 300px;
	min-height: 46px;
	padding-inline: clamp(0.9rem, 0.55vw + 0.8rem, 1.25rem);
	font-size: clamp(0.86rem, 0.08vw + 0.84rem, 0.94rem);
}

.hero {
	background:
		linear-gradient(115deg, rgba(255, 255, 255, 0.98) 0%, rgba(242, 242, 242, 0.94) 45%, rgba(232, 239, 241, 0.9) 100%),
		var(--rc-color-light-gray);
	padding-block: clamp(3.5rem, 6vw, 8.75rem);
}

.hero__inner {
	display: grid;
	align-items: center;
	gap: clamp(2.25rem, 4vw, 5.75rem);
	position: relative;
}

.hero__content {
	display: grid;
	gap: clamp(1rem, 1.2vw, 1.65rem);
	max-width: 900px;
}

.hero__eyebrow {
	max-width: none;
	margin: 0;
	color: var(--rc-color-accent);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.hero h1 {
	max-width: 16.5ch;
	margin-bottom: 0;
	line-height: 1.02;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.hero p {
	max-width: 58ch;
	margin: 0;
	color: var(--rc-color-muted);
	font-size: clamp(1.04rem, 0.46vw + 0.98rem, 1.28rem);
	line-height: 1.68;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rc-space-sm);
	margin-top: clamp(0.25rem, 0.6vw, 0.8rem);
}

.hero__visual {
	display: grid;
	gap: clamp(1rem, 1.4vw, 1.5rem);
	align-self: stretch;
}

.hero__figure {
	position: relative;
	overflow: hidden;
	margin: 0;
	background: var(--rc-color-dark-navy);
	border: var(--rc-border-subtle);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-panel);
	isolation: isolate;
}

.hero__figure::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(1, 28, 64, 0.02), rgba(1, 28, 64, 0.2));
	pointer-events: none;
}

.hero__image {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: center;
}

.hero__panel {
	display: grid;
	gap: clamp(1rem, 1.1vw, 1.5rem);
	justify-self: stretch;
	max-width: none;
	padding: clamp(1.35rem, 1.45vw + 1rem, 2.35rem);
	background: var(--rc-gradient-surface);
	border: var(--rc-border-subtle);
	border-top: var(--rc-border-accent);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-panel);
}

.hero__panel-kicker {
	margin: 0;
	color: var(--rc-color-accent);
	font-size: var(--rc-type-small);
	font-weight: 700;
}

.hero__panel-list {
	display: grid;
	gap: var(--rc-space-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.hero__panel-list li {
	max-width: none;
	padding-block: 0.78rem;
	border-top: var(--rc-border-subtle);
	color: var(--rc-color-dark-alt);
	font-weight: 700;
	line-height: 1.35;
}

.front-section {
	padding-block: var(--rc-space-2xl);
	background: var(--rc-color-white);
}

.front-section:nth-of-type(odd) {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(242, 242, 242, 0.96)),
		var(--rc-color-light-gray);
}

.front-section__inner {
	display: grid;
	gap: clamp(2rem, 3vw, 4rem);
}

.front-section__header {
	display: grid;
	gap: var(--rc-space-sm);
	max-width: 900px;
}

.front-section__eyebrow {
	margin: 0;
	color: var(--rc-color-accent);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.front-section__header h2 {
	max-width: 20ch;
	margin: 0;
	line-height: 1.08;
	text-wrap: balance;
}

.front-section__header p {
	max-width: 76ch;
	margin: 0;
	color: var(--rc-color-muted);
	font-size: clamp(1rem, 0.35vw + 0.96rem, 1.2rem);
}

.problem-grid,
.condition-matrix {
	display: grid;
	gap: clamp(1rem, 1.45vw, 1.6rem);
}

.problem-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.problem-card,
.condition-card {
	position: relative;
	display: grid;
	align-content: start;
	gap: clamp(0.7rem, 0.65vw, 1rem);
	min-height: 100%;
	padding: clamp(1.2rem, 1.1vw + 0.95rem, 1.95rem);
	background: var(--rc-surface-white);
	border: var(--rc-border-subtle);
	border-radius: var(--rc-radius-md);
	box-shadow: var(--rc-shadow-subtle);
}

.problem-card {
	border-left: 3px solid rgba(191, 62, 33, 0.42);
}

.problem-card h3,
.condition-card h3 {
	max-width: none;
	margin: 0;
	font-family: var(--rc-font-headline);
	font-size: clamp(1.08rem, 0.28vw + 1.02rem, 1.32rem);
	line-height: 1.18;
}

.problem-card p,
.condition-card p {
	max-width: none;
	margin: 0;
	color: var(--rc-color-muted);
	font-size: var(--rc-type-small);
	line-height: 1.6;
}

.condition-card {
	background: var(--rc-color-white);
}

.condition-matrix {
	position: relative;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr));
	padding: clamp(1rem, 1.7vw, 1.75rem);
	background:
		linear-gradient(90deg, rgba(1, 28, 64, 0.035) 1px, transparent 1px),
		linear-gradient(180deg, rgba(1, 28, 64, 0.035) 1px, transparent 1px),
		var(--rc-surface-soft);
	background-size: 48px 48px;
	border: var(--rc-border-subtle);
	border-radius: var(--rc-radius-lg);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), var(--rc-shadow-subtle);
}

.condition-card {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: none;
}

.condition-card span,
.approach-list span {
	color: var(--rc-color-accent);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
}

.approach-list {
	display: grid;
	gap: clamp(0.75rem, 0.9vw, 1rem);
	margin: 0;
	padding: clamp(0.8rem, 1.3vw, 1.35rem);
	list-style: none;
	background: var(--rc-surface-soft);
	border: var(--rc-border-subtle);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-subtle);
}

.approach-list li {
	position: relative;
	display: grid;
	grid-template-columns: 3.8rem minmax(0, 1fr);
	align-items: start;
	gap: var(--rc-space-sm);
	max-width: none;
	padding: clamp(1rem, 1vw + 0.75rem, 1.55rem);
	background: var(--rc-surface-white);
	border: var(--rc-border-subtle);
	border-radius: var(--rc-radius-md);
	box-shadow: 0 10px 28px rgba(1, 28, 64, 0.035);
}

.approach-list li::before {
	content: "";
	position: absolute;
	inset-block: 1rem;
	left: 1.95rem;
	width: 1px;
	background: rgba(191, 62, 33, 0.28);
	transform: translateX(-50%);
}

.approach-list li span {
	position: relative;
	z-index: 1;
	display: inline-grid;
	place-items: center;
	width: 2.15rem;
	height: 2.15rem;
	background: var(--rc-color-white);
	border: var(--rc-border-accent);
	border-radius: 999px;
}

.approach-list strong {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--rc-color-dark-navy);
	font-family: var(--rc-font-headline);
	font-size: clamp(1.08rem, 0.38vw + 1rem, 1.38rem);
	line-height: 1.18;
}

.approach-list p {
	max-width: 68ch;
	margin: 0;
	color: var(--rc-color-muted);
	font-size: var(--rc-type-small);
	line-height: 1.58;
}

.content-band {
	padding-block: var(--rc-space-xl);
}

.content-band__inner {
	width: min(100% - (var(--rc-container-pad) * 2), var(--rc-container-text));
	margin-inline: auto;
}

.entry__content > * {
	max-width: var(--rc-container-text);
}

.entry-card {
	padding-block: var(--rc-space-md);
	border-bottom: 1px solid rgba(1, 28, 64, 0.12);
}

.site-footer {
	background:
		linear-gradient(135deg, rgba(1, 28, 64, 0.98), rgba(25, 34, 61, 0.98)),
		var(--rc-color-dark-navy);
	color: rgba(255, 255, 255, 0.78);
}

.site-footer__inner {
	display: grid;
	gap: var(--rc-space-lg);
	padding-block: var(--rc-space-xl);
}

.site-footer__brand {
	display: grid;
	gap: var(--rc-space-sm);
	max-width: 38rem;
}

.site-footer__logo-link {
	display: inline-flex;
	width: fit-content;
	max-width: min(100%, 15rem);
}

.site-footer__logo {
	width: clamp(11rem, 16vw, 15rem);
	max-height: 58px;
	object-fit: contain;
	object-position: left center;
	filter: none;
}

.site-footer strong {
	display: block;
	margin-bottom: var(--rc-space-xs);
	color: var(--rc-color-white);
	font-family: var(--rc-font-headline);
	font-size: clamp(1.2rem, 0.8vw + 1rem, 1.65rem);
}

.site-footer p {
	margin: 0;
}

.site-footer__brand > p:first-of-type {
	color: var(--rc-color-white);
	font-family: var(--rc-font-headline);
	font-size: clamp(1.18rem, 0.72vw + 1rem, 1.55rem);
	line-height: 1.22;
}

.site-footer__positioning {
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--rc-type-small);
}

.site-footer a {
	color: var(--rc-color-white);
}

.site-footer__cta {
	justify-self: start;
	margin-top: var(--rc-space-xs);
}

.site-footer__nav-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
	gap: clamp(1.25rem, 2vw, 2.5rem);
}

.site-footer__navigation h2 {
	margin: 0 0 var(--rc-space-xs);
	color: var(--rc-color-white);
	font-family: var(--rc-font-body);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.site-footer__list a {
	min-height: 32px;
	color: rgba(255, 255, 255, 0.74);
	font-weight: 600;
}

.site-footer__list a:hover,
.site-footer__list a:focus-visible {
	color: var(--rc-color-white);
}

.site-footer__meta {
	padding-top: var(--rc-space-md);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.62);
	font-size: var(--rc-type-small);
}

@supports (filter: brightness(0) invert(1)) {
	.site-footer__logo {
		filter: none;
	}
}

.site-footer__meta {
	gap: var(--rc-space-sm);
}

@media (min-width: 480px) {
	.hero__actions {
		align-items: center;
	}
}

@media (min-width: 768px) {
	.problem-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer__inner {
		grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.22fr);
		align-items: start;
	}

	.site-footer__meta {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1024px) {
	:root {
		--rc-header-height: 88px;
	}

	.site-header__inner {
		grid-template-columns: minmax(11rem, 0.46fr) minmax(max-content, 1fr) minmax(11.5rem, auto);
		gap: clamp(0.7rem, 1vw, 1.35rem);
		min-height: 88px;
	}

	.site-navigation-toggle {
		display: none;
	}

	.site-navigation {
		display: block;
		grid-column: auto;
		width: auto;
		padding-block: 0;
		border-top: 0;
	}

	.site-navigation__list {
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		gap: clamp(0.65rem, 0.85vw, 1.2rem);
	}

	.site-navigation__list a {
		min-height: 36px;
		white-space: nowrap;
	}

	.site-header__cta {
		display: inline-flex;
		justify-self: end;
	}

	.hero__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 0.75fr);
	}

	.hero__inner::after {
		content: "";
		position: absolute;
		right: clamp(18rem, 26vw, 31rem);
		top: 14%;
		bottom: 14%;
		width: 1px;
		background: linear-gradient(180deg, transparent, rgba(1, 28, 64, 0.18), transparent);
	}

	.problem-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.condition-matrix {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.approach-list {
		padding: clamp(1rem, 1.6vw, 1.75rem);
	}
}

@media (min-width: 1440px) {
	.site-header__inner {
		min-height: 92px;
	}

	.site-logo {
		width: clamp(12rem, 13vw, 14.5rem);
	}

	.hero {
		padding-block: clamp(5.5rem, 6vw, 9.5rem);
	}

	.front-section__inner {
		gap: clamp(2.75rem, 3vw, 4.5rem);
	}
}

@media (min-width: 1920px) {
	:root {
		--rc-container-hero: 1600px;
	}
}

@media (max-width: 479px) {
	.site-header__inner {
		min-height: 64px;
		padding-block: 0.65rem;
	}

	.hero {
		padding-block: clamp(1.55rem, 6vw, 2.35rem);
	}

	.hero__content {
		gap: var(--rc-space-sm);
	}

	.hero h1 {
		font-size: clamp(1.68rem, 6.3vw, 2.08rem);
		line-height: 1.04;
	}

	.hero p {
		font-size: 0.98rem;
		line-height: 1.55;
	}

	.hero__actions {
		gap: var(--rc-space-xs);
	}

	.hero__panel {
		padding: 1.15rem;
	}

	.hero__visual {
		gap: var(--rc-space-sm);
	}

	.site-logo {
		width: clamp(9.4rem, 48vw, 11rem);
		max-height: 42px;
	}

	.site-footer__logo {
		width: min(13rem, 100%);
	}

	.approach-list {
		padding: 0.75rem;
	}

	.approach-list li {
		grid-template-columns: 3.2rem minmax(0, 1fr);
	}

	.approach-list li::before {
		left: 1.65rem;
	}

	.rc-button {
		width: 100%;
		white-space: normal;
	}
}

/* Premium Brand & Layout Refinement V0.7 */

:root {
	--rc-shadow-premium: 0 30px 90px rgba(1, 28, 64, 0.13);
	--rc-shadow-premium-soft: 0 18px 56px rgba(1, 28, 64, 0.08);
	--rc-line-hair: 1px solid rgba(1, 28, 64, 0.09);
	--rc-line-light: 1px solid rgba(255, 255, 255, 0.14);
}

.rc-button {
	border-radius: 8px;
	font-weight: 700;
	letter-spacing: 0;
	box-shadow: 0 10px 24px rgba(1, 28, 64, 0.06);
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.rc-button:hover,
.rc-button:focus-visible {
	box-shadow: 0 16px 34px rgba(1, 28, 64, 0.11);
	transform: translateY(-1px);
}

.rc-site-header {
	border-bottom-color: rgba(1, 28, 64, 0.09);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.rc-site-header.is-hero-attached {
	background: rgba(255, 255, 255, 0.92);
	border-top: var(--rc-line-hair);
	border-bottom: var(--rc-line-hair);
}

.rc-site-header.is-sticky-active {
	background: rgba(255, 255, 255, 0.965);
	border-bottom-color: rgba(1, 28, 64, 0.12);
	box-shadow: 0 18px 48px rgba(1, 28, 64, 0.13);
}

.site-header__inner {
	gap: clamp(0.8rem, 1.4vw, 2rem);
}

.site-logo-link {
	max-width: min(64vw, 16.5rem);
}

.site-logo {
	width: clamp(11.8rem, 16vw, 16.4rem);
	max-height: 56px;
}

.site-navigation__list a {
	position: relative;
	min-height: 42px;
	color: rgba(1, 28, 64, 0.82);
	font-size: clamp(0.84rem, 0.06vw + 0.83rem, 0.92rem);
	font-weight: 700;
	transition: font-size 200ms ease;
}

.site-navigation__list a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.24rem;
	height: 1px;
	background: var(--rc-color-accent);
	opacity: 0;
	transform: scaleX(0.35);
	transform-origin: center;
	transition:
		opacity 180ms ease,
		transform 180ms ease;
}

.site-navigation__list a:hover::after,
.site-navigation__list a:focus-visible::after {
	opacity: 1;
	transform: scaleX(1);
}

.site-header__cta {
	min-height: 42px;
	padding: 0.68rem 1rem;
	border-color: rgba(191, 62, 33, 0.7);
	font-size: 0.86rem;
	transition:
		font-size 200ms ease,
		padding 200ms ease,
		min-height 200ms ease;
}

.hero {
	position: relative;
	overflow: clip;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 40%, rgba(238, 243, 244, 0.92) 100%),
		linear-gradient(180deg, rgba(242, 242, 242, 0.72), rgba(255, 255, 255, 0.96)),
		var(--rc-color-light-gray);
	padding-block: clamp(3.4rem, 6.4vw, 9.25rem);
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(1, 28, 64, 0.035) 1px, transparent 1px),
		linear-gradient(180deg, rgba(1, 28, 64, 0.03) 1px, transparent 1px);
	background-size: clamp(42px, 4vw, 72px) clamp(42px, 4vw, 72px);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 86%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 18%, #000 86%, transparent);
	pointer-events: none;
}

.hero__inner {
	z-index: 1;
	grid-template-columns: minmax(0, 0.88fr) minmax(22rem, 0.82fr);
	gap: clamp(2.5rem, 4.8vw, 7rem);
}

.hero__content {
	max-width: 830px;
}

.hero__eyebrow,
.front-section__eyebrow {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 0.65rem;
	color: var(--rc-color-accent);
	font-size: clamp(0.76rem, 0.08vw + 0.74rem, 0.86rem);
	letter-spacing: 0.045em;
}

.hero__eyebrow::before,
.front-section__eyebrow::before {
	content: "";
	width: 2.8rem;
	height: 1px;
	background: currentColor;
}

.hero h1 {
	max-width: 17.6ch;
	font-size: clamp(2.25rem, 2vw + 1.55rem, 4.65rem);
	line-height: 1.04;
}

.hero p {
	max-width: 60ch;
	color: rgba(29, 29, 27, 0.74);
}

.hero__actions {
	gap: clamp(0.75rem, 1vw, 1.2rem);
	margin-top: clamp(0.45rem, 0.8vw, 1rem);
}

.hero__visual {
	position: relative;
	align-self: center;
	min-height: clamp(30rem, 37vw, 43rem);
	padding: clamp(0.75rem, 1vw, 1.2rem);
	background:
		linear-gradient(135deg, rgba(1, 28, 64, 0.08), rgba(255, 255, 255, 0.4)),
		rgba(255, 255, 255, 0.46);
	border: 1px solid rgba(1, 28, 64, 0.1);
	border-radius: clamp(14px, 1vw, 20px);
	box-shadow: var(--rc-shadow-premium);
}

.hero__figure {
	height: 100%;
	min-height: clamp(28rem, 35vw, 40rem);
	border-color: rgba(1, 28, 64, 0.14);
	border-radius: clamp(12px, 0.8vw, 16px);
	box-shadow: none;
}

.hero__figure::after {
	background:
		linear-gradient(180deg, rgba(1, 28, 64, 0), rgba(1, 28, 64, 0.18)),
		linear-gradient(90deg, rgba(1, 28, 64, 0.08), rgba(1, 28, 64, 0));
}

.hero__image {
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: 58% center;
}

.hero__panel {
	position: absolute;
	right: clamp(1.1rem, 1.4vw, 1.8rem);
	bottom: clamp(1.1rem, 1.4vw, 1.8rem);
	z-index: 2;
	width: min(70%, 26rem);
	padding: clamp(1rem, 1vw + 0.8rem, 1.45rem);
	background: rgba(255, 255, 255, 0.91);
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-left: 3px solid var(--rc-color-accent);
	border-radius: 10px;
	box-shadow: 0 24px 58px rgba(1, 28, 64, 0.18);
	backdrop-filter: blur(14px);
}

.hero__panel-kicker {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hero__panel-list {
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(0.75rem, 1vw, 1.2rem);
}

.hero__panel-list li {
	padding-block: 0.58rem;
	font-size: clamp(0.78rem, 0.14vw + 0.76rem, 0.9rem);
	font-weight: 700;
}

.front-section {
	padding-block: clamp(4rem, 6vw, 8rem);
}

.front-section__header {
	max-width: 980px;
}

.front-section__header h2 {
	max-width: 24ch;
}

.problem-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 1.3vw, 1.45rem);
}

.problem-card {
	overflow: hidden;
	min-height: clamp(13.2rem, 13vw, 15.8rem);
	padding: clamp(1.2rem, 1vw + 1rem, 1.75rem);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 250, 250, 0.94));
	border: 1px solid rgba(1, 28, 64, 0.11);
	border-left: 0;
	border-radius: 10px;
	box-shadow: var(--rc-shadow-premium-soft);
}

.problem-card::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--rc-color-accent), rgba(191, 62, 33, 0.18));
}

.problem-card__label {
	color: var(--rc-color-accent);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.problem-card h3 {
	max-width: 15ch;
	font-size: clamp(1.12rem, 0.24vw + 1.06rem, 1.34rem);
}

.condition-matrix {
	gap: clamp(0.75rem, 1vw, 1.15rem);
	padding: clamp(1.05rem, 1.6vw, 1.85rem);
	background:
		linear-gradient(90deg, rgba(1, 28, 64, 0.045) 1px, transparent 1px),
		linear-gradient(180deg, rgba(1, 28, 64, 0.04) 1px, transparent 1px),
		linear-gradient(135deg, rgba(248, 250, 250, 0.98), rgba(236, 242, 243, 0.9));
	background-size: clamp(44px, 3.2vw, 62px) clamp(44px, 3.2vw, 62px), clamp(44px, 3.2vw, 62px) clamp(44px, 3.2vw, 62px), auto;
	border-color: rgba(1, 28, 64, 0.12);
}

.condition-matrix::before {
	content: "";
	position: absolute;
	inset: clamp(0.8rem, 1.1vw, 1.25rem);
	border: 1px solid rgba(1, 28, 64, 0.08);
	pointer-events: none;
}

.condition-card {
	min-height: clamp(12rem, 12vw, 14.2rem);
	padding: clamp(1.05rem, 1vw + 0.8rem, 1.55rem);
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(1, 28, 64, 0.1);
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(1, 28, 64, 0.045);
}

.condition-card__number {
	color: var(--rc-color-accent);
	font-size: 0.78rem;
	font-weight: 700;
}

.condition-card__group {
	display: inline-flex;
	width: fit-content;
	padding-block: 0.16rem;
	border-top: 1px solid rgba(1, 28, 64, 0.18);
	color: rgba(1, 28, 64, 0.58);
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: uppercase;
}

.condition-card h3 {
	margin-top: 0.15rem;
}

.approach-architecture {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.16fr) minmax(0, 0.92fr);
	gap: clamp(1rem, 1.4vw, 1.6rem);
	padding: clamp(1rem, 1.6vw, 1.8rem);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 248, 248, 0.94));
	border: 1px solid rgba(1, 28, 64, 0.1);
	border-radius: 16px;
	box-shadow: var(--rc-shadow-premium-soft);
}

.approach-architecture::before {
	content: "";
	position: absolute;
	left: clamp(1.5rem, 2vw, 2.4rem);
	right: clamp(1.5rem, 2vw, 2.4rem);
	top: clamp(4.9rem, 5vw, 5.6rem);
	height: 1px;
	background: linear-gradient(90deg, rgba(191, 62, 33, 0.12), rgba(191, 62, 33, 0.42), rgba(191, 62, 33, 0.12));
}

.approach-phase {
	position: relative;
	z-index: 1;
	display: grid;
	align-content: start;
	gap: clamp(0.9rem, 1vw, 1.25rem);
	padding: clamp(1.15rem, 1vw + 0.9rem, 1.65rem);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(1, 28, 64, 0.1);
	border-radius: 12px;
	box-shadow: 0 12px 34px rgba(1, 28, 64, 0.045);
}

.approach-phase--core {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 246, 247, 0.94));
	border-color: rgba(191, 62, 33, 0.22);
}

.approach-phase__label {
	max-width: none;
	margin: 0;
	color: var(--rc-color-accent);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.approach-phase h3 {
	margin: 0;
	font-size: clamp(1.22rem, 0.52vw + 1.06rem, 1.72rem);
}

.approach-list {
	gap: clamp(0.7rem, 0.8vw, 1rem);
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.approach-list li {
	grid-template-columns: 2.8rem minmax(0, 1fr);
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.approach-list li::before {
	left: 1.12rem;
	inset-block: 2.4rem -0.3rem;
	background: rgba(191, 62, 33, 0.22);
}

.approach-list li:last-child::before {
	display: none;
}

.approach-list li span {
	width: 2.2rem;
	height: 2.2rem;
	background: var(--rc-color-white);
	box-shadow: 0 0 0 5px rgba(191, 62, 33, 0.07);
}

.approach-list strong {
	margin-bottom: 0.25rem;
	font-size: clamp(1rem, 0.24vw + 0.96rem, 1.18rem);
}

.site-footer {
	position: relative;
	overflow: clip;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(135deg, #011c40 0%, #19223d 100%);
	background-size: 64px 64px, 64px 64px, auto;
}

.site-footer::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
}

.site-footer__inner {
	position: relative;
	grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(2rem, 4vw, 5rem);
	padding-block: clamp(3rem, 5vw, 6rem);
}

.site-footer__topline {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1rem, 2vw, 2rem);
	padding-bottom: clamp(1.6rem, 2.4vw, 2.6rem);
	border-bottom: var(--rc-line-light);
}

.site-footer__topline p {
	max-width: 70ch;
	color: var(--rc-color-white);
	font-family: var(--rc-font-headline);
	font-size: clamp(1.18rem, 0.75vw + 1rem, 1.72rem);
	line-height: 1.25;
}

.site-footer__topline-cta {
	white-space: nowrap;
}

.site-footer__brand {
	max-width: 39rem;
}

.site-footer__logo-link {
	max-width: min(100%, 16.5rem);
}

.site-footer__logo {
	width: clamp(12.5rem, 16vw, 16.25rem);
	max-height: 64px;
}

.site-footer__brand > p:first-of-type {
	max-width: 22ch;
	font-size: clamp(1.34rem, 0.82vw + 1.08rem, 1.82rem);
}

.site-footer__positioning {
	max-width: 44ch;
}

.site-footer__cta.rc-button--secondary {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.24);
	color: var(--rc-color-white);
	box-shadow: none;
}

.site-footer__cta.rc-button--secondary:hover,
.site-footer__cta.rc-button--secondary:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	color: var(--rc-color-white);
}

.site-footer__nav-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.2rem, 2vw, 2.2rem);
}

.site-footer__navigation {
	padding-top: 0.2rem;
}

.site-footer__navigation h2 {
	padding-bottom: 0.55rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer__meta {
	grid-column: 1 / -1;
}

@media (min-width: 1024px) {
	.site-header__inner {
		grid-template-columns: minmax(14rem, 0.34fr) minmax(0, 1fr) minmax(11.5rem, auto);
		min-height: 90px;
	}

	.rc-site-header.is-condensed .site-header__inner {
		min-height: 72px;
		padding-block: 0.46rem;
	}

	.rc-site-header.is-condensed .site-logo {
		width: clamp(10.8rem, 12vw, 13rem);
		max-height: 46px;
	}

	/* Menue- und CTA-Schrift schrumpfen im verdichteten Zustand proportional
	   mit (Faktor ~0.9), damit der Header als eine Einheit verdichtet.
	   Klickflaechen bleiben >= 40px erhalten (Fitts / WCAG 2.5.8). */
	.rc-site-header.is-condensed .site-navigation__list a {
		font-size: 0.84rem;
	}

	.rc-site-header.is-condensed .site-header__cta {
		min-height: 40px;
		padding-block: 0.52rem;
		font-size: 0.84rem;
	}

	.site-navigation__list {
		gap: clamp(0.7rem, 1vw, 1.45rem);
	}
}

@media (min-width: 1728px) {
	.hero__inner {
		grid-template-columns: minmax(0, 0.84fr) minmax(33rem, 0.82fr);
	}

	.hero__visual {
		min-height: clamp(36rem, 33vw, 46rem);
	}
}

@media (min-width: 2560px) {
	:root {
		--rc-container-hero: 1680px;
		--rc-container-xl: 1500px;
	}

	.hero__visual {
		min-height: 47rem;
	}
}

@media (max-width: 1199px) {
	.hero__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.hero__content {
		max-width: 860px;
	}

	.hero__visual {
		min-height: auto;
	}

	.hero__figure {
		min-height: auto;
	}

	.hero__image {
		aspect-ratio: 3 / 2;
	}

	.approach-architecture {
		grid-template-columns: minmax(0, 1fr);
	}

	.approach-architecture::before {
		display: none;
	}

	.site-footer__nav-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {
	.problem-grid,
	.condition-matrix {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-header__inner {
		min-height: 76px;
	}
}

@media (max-width: 767px) {
	.problem-grid,
	.condition-matrix,
	.site-footer__inner,
	.site-footer__topline {
		grid-template-columns: minmax(0, 1fr);
	}

	.problem-card,
	.condition-card {
		min-height: auto;
	}

	.hero__panel {
		position: relative;
		right: auto;
		bottom: auto;
		width: auto;
		margin-top: -0.25rem;
		backdrop-filter: none;
	}

	.hero__panel-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.site-footer__topline-cta,
	.site-footer__cta {
		justify-self: stretch;
	}
}

@media (max-width: 479px) {
	.site-logo {
		width: clamp(10rem, 52vw, 11.8rem);
		max-height: 44px;
	}

	.hero h1 {
		font-size: clamp(1.84rem, 6.3vw, 2.16rem);
	}

	.hero__eyebrow::before,
	.front-section__eyebrow::before {
		width: 1.8rem;
	}

	.condition-matrix {
		padding: 0.8rem;
	}

	.approach-architecture {
		padding: 0.85rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rc-button:hover,
	.rc-button:focus-visible {
		transform: none;
	}
}

/* Dark Executive Transformation Hero V0.8 */

.rc-hero--dark.hero {
	position: relative;
	display: grid;
	min-height: min(940px, 100svh);
	overflow: hidden;
	padding-block: 0;
	background: var(--rc-color-dark-navy);
	color: var(--rc-color-white);
	isolation: isolate;
}

.rc-hero--dark .rc-hero__media,
.rc-hero--dark .rc-hero__shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.rc-hero--dark .rc-hero__media {
	z-index: 0;
}

.rc-hero--dark .rc-hero__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.rc-hero--dark .rc-hero__image {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: 58% 48%;
}

.rc-hero--dark .rc-hero__shade {
	z-index: 1;
	background:
		radial-gradient(circle at 72% 38%, rgba(191, 62, 33, 0.1), transparent 28%),
		linear-gradient(90deg, rgba(1, 18, 42, 0.97) 0%, rgba(1, 18, 42, 0.92) 29%, rgba(1, 28, 64, 0.74) 48%, rgba(1, 28, 64, 0.34) 74%, rgba(1, 28, 64, 0.18) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, transparent 28%, rgba(0, 0, 0, 0.28) 100%);
}

.rc-hero--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: clamp(44px, 4vw, 78px) clamp(44px, 4vw, 78px);
	-webkit-mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, 0.82) 45%, transparent 82%);
	mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, 0.82) 45%, transparent 82%);
	pointer-events: none;
}

.rc-hero--dark .rc-site-header {
	position: relative;
	z-index: 4;
	top: auto;
	background: linear-gradient(180deg, rgba(1, 18, 42, 0.66), rgba(1, 18, 42, 0.18));
	border-top: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: none;
	backdrop-filter: blur(14px);
}

.rc-hero--dark .rc-site-header.is-sticky-active {
	position: fixed;
	top: var(--rc-admin-bar-offset);
	left: 0;
	right: 0;
	background: rgba(1, 18, 42, 0.92);
	border-bottom-color: rgba(255, 255, 255, 0.14);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26);
}

.rc-hero--dark .site-logo {
	filter: none;
}

/* Helle Logo-Variante (invers.svg) liegt bereits hell vor -> keine helle
   Kachel und keine Filter-Invertierung noetig. Diese Regeln (Spezifitaet
   0,3,1) neutralisieren Kachel + Filter ueber ALLE Breakpoints, ohne die
   responsiven Logo-Groessen (width/max-height) anzutasten. */
.rc-hero--dark .site-branding .site-logo-link {
	padding: 0;
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.rc-hero--dark .site-branding .site-logo {
	filter: none;
}

.rc-hero--dark .site-navigation__list a {
	color: rgba(255, 255, 255, 0.95);
}

.rc-hero--dark .site-navigation__list a:hover,
.rc-hero--dark .site-navigation__list a:focus-visible {
	color: var(--rc-color-white);
}

.rc-hero--dark .site-navigation-toggle {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.28);
	color: var(--rc-color-white);
}

.rc-hero--dark .site-navigation {
	border-top-color: rgba(255, 255, 255, 0.14);
}

.rc-hero--dark .site-header__cta {
	box-shadow: 0 14px 34px rgba(191, 62, 33, 0.24);
}

.rc-hero--dark .rc-hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.7fr);
	align-items: center;
	min-height: calc(min(940px, 100svh) - var(--rc-header-height));
	gap: clamp(2.75rem, 5vw, 7rem);
	padding-block: clamp(4.5rem, 8vh, 7rem) clamp(4rem, 7vh, 6.25rem);
}

.rc-hero--dark .rc-hero__content {
	max-width: 760px;
}

.rc-hero--dark .rc-eyebrow {
	color: rgba(255, 255, 255, 0.78);
}

.rc-hero--dark .rc-eyebrow::before {
	background: var(--rc-color-accent);
}

.rc-hero--dark h1 {
	max-width: 24ch;
	color: rgba(255, 255, 255, 0.96);
	font-size: clamp(2.35rem, 2.15vw + 1.45rem, 4.45rem);
	line-height: 1.01;
	text-shadow: 0 18px 56px rgba(0, 0, 0, 0.32);
}

.rc-hero--dark .rc-hero__lead {
	max-width: 640px;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(1.02rem, 0.35vw + 0.98rem, 1.22rem);
	line-height: 1.65;
}

.rc-hero--dark .rc-button--light {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.44);
	color: var(--rc-color-white);
	box-shadow: none;
	backdrop-filter: blur(12px);
}

.rc-hero--dark .rc-button--light:hover,
.rc-hero--dark .rc-button--light:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.66);
	color: var(--rc-color-white);
}

.rc-hero--dark .rc-hero-focus {
	position: relative;
	align-self: end;
	justify-self: end;
	width: min(100%, 28rem);
	margin-bottom: clamp(0.5rem, 2vh, 1.75rem);
	padding: clamp(1.1rem, 1vw + 0.9rem, 1.7rem);
	background: rgba(1, 18, 42, 0.56);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-left: 3px solid rgba(191, 62, 33, 0.82);
	border-radius: 10px;
	box-shadow: 0 26px 72px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(16px);
}

.rc-hero--dark .rc-hero-focus__title {
	margin: 0;
	color: var(--rc-color-white);
	font-family: var(--rc-font-body);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rc-hero--dark .rc-hero-focus__list {
	display: grid;
	gap: 0;
	margin-top: clamp(0.65rem, 0.9vw, 1rem);
}

.rc-hero--dark .rc-hero-focus__list li {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(0.82rem, 0.12vw + 0.8rem, 0.94rem);
}

@media (min-width: 1920px) {
	.rc-hero--dark .rc-hero__image {
		object-position: 60% 48%;
	}

	.rc-hero--dark .rc-hero__inner {
		min-height: 900px;
	}
}

@media (min-width: 2560px) {
	.rc-hero--dark.hero {
		min-height: 940px;
	}

	.rc-hero--dark .rc-hero__inner {
		min-height: 860px;
	}
}

@media (max-width: 1199px) {
	.rc-hero--dark.hero {
		min-height: auto;
	}

	.rc-hero--dark .rc-hero__shade {
		background:
			linear-gradient(90deg, rgba(1, 18, 42, 0.96) 0%, rgba(1, 18, 42, 0.88) 46%, rgba(1, 28, 64, 0.42) 100%),
			linear-gradient(180deg, rgba(0, 0, 0, 0.46), transparent 34%, rgba(0, 0, 0, 0.34));
	}

	.rc-hero--dark .rc-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: min(900px, calc(100svh - var(--rc-header-height)));
		padding-block: clamp(4rem, 8vh, 6rem);
	}

	.rc-hero--dark .rc-hero-focus {
		justify-self: start;
		width: min(100%, 34rem);
		margin: 0;
	}
}

@media (max-width: 767px) {
	.rc-hero--dark .rc-hero__image {
		object-position: 62% 35%;
	}

	.rc-hero--dark .rc-hero__shade {
		background:
			linear-gradient(180deg, rgba(1, 18, 42, 0.94) 0%, rgba(1, 18, 42, 0.86) 43%, rgba(1, 28, 64, 0.48) 100%),
			linear-gradient(90deg, rgba(1, 18, 42, 0.92), rgba(1, 28, 64, 0.34));
	}

	.rc-hero--dark .rc-site-header {
		background: rgba(1, 18, 42, 0.74);
	}

	.rc-hero--dark .site-navigation.is-open {
		padding: 0.9rem 0 1.1rem;
	}

	.rc-hero--dark .rc-hero__inner {
		min-height: auto;
		gap: clamp(1.4rem, 5vw, 2.1rem);
		padding-block: clamp(3.1rem, 9vh, 4.4rem);
	}

	.rc-hero--dark h1 {
		max-width: 16.2ch;
		font-size: clamp(2rem, 8vw, 2.72rem);
		line-height: 1.04;
	}

	.rc-hero--dark .rc-hero__lead {
		font-size: 1rem;
		line-height: 1.58;
	}

	.rc-hero--dark .rc-hero__actions {
		gap: 0.72rem;
	}

	.rc-hero--dark .rc-hero-focus {
		padding: 1rem;
		background: rgba(1, 18, 42, 0.64);
		backdrop-filter: none;
	}
}

@media (max-width: 430px) {
	.rc-hero--dark .rc-hero__inner {
		padding-block: clamp(2.3rem, 6vh, 3.3rem);
	}

	.rc-hero--dark h1 {
		font-size: clamp(1.82rem, 7vw, 2.24rem);
	}
}

/* Hero Fine-Tuning V0.8.1 */

.rc-hero--dark .rc-hero-focus {
	width: min(100%, 30.5rem);
	min-width: min(100%, 24rem);
}

.rc-hero--dark .rc-hero-focus__title {
	max-width: none;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
	letter-spacing: 0.055em;
}

.rc-hero--dark .rc-hero-focus__list li {
	line-height: 1.36;
	overflow-wrap: normal;
}

.rc-hero--dark h1 {
	max-width: 17.2ch;
	font-size: clamp(2.28rem, 1.96vw + 1.48rem, 4.18rem);
}

.rc-hero--dark .rc-hero__lead {
	max-width: 620px;
}

@media (min-width: 1728px) {
	.rc-hero--dark .rc-container--hero {
		width: min(100% - (var(--rc-container-pad) * 2), 1680px);
	}

	.rc-hero--dark .rc-hero__inner {
		grid-template-columns: minmax(0, 0.86fr) minmax(430px, 0.66fr);
		gap: clamp(4rem, 4vw, 6.5rem);
	}

	.rc-hero--dark h1 {
		font-size: clamp(3.55rem, 1.45vw + 2.1rem, 4.32rem);
	}
}

@media (min-width: 2560px) {
	.rc-hero--dark .rc-container--hero {
		width: min(100% - (var(--rc-container-pad) * 2), 1760px);
	}

	.rc-hero--dark .rc-hero__image {
		object-position: 58% 48%;
	}

	.rc-hero--dark .rc-hero-focus {
		margin-right: clamp(1rem, 2vw, 2.5rem);
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.rc-hero--dark .rc-hero__shade {
		background:
			linear-gradient(90deg, rgba(1, 18, 42, 0.97) 0%, rgba(1, 18, 42, 0.9) 52%, rgba(1, 28, 64, 0.42) 100%),
			linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 34%, rgba(0, 0, 0, 0.38));
	}

	.rc-hero--dark .rc-hero__inner {
		min-height: auto;
		gap: clamp(1.45rem, 3vw, 2rem);
		padding-block: clamp(3.2rem, 6vh, 4.8rem);
	}

	.rc-hero--dark h1 {
		max-width: 16.4ch;
		font-size: clamp(2.26rem, 4.2vw, 3.05rem);
		line-height: 1.04;
	}

	.rc-hero--dark .rc-hero__lead {
		max-width: 58ch;
		font-size: clamp(0.98rem, 0.7vw + 0.86rem, 1.08rem);
		line-height: 1.58;
	}

	.rc-hero--dark .rc-hero-focus {
		width: min(100%, 30rem);
		min-width: 0;
		padding: 1rem 1.1rem;
	}

	.rc-hero--dark .rc-hero-focus__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1rem;
	}

	.rc-hero--dark .rc-hero-focus__list li {
		padding-block: 0.48rem;
		font-size: 0.82rem;
	}
}

@media (max-width: 767px) {
	.rc-hero--dark .site-header__inner {
		min-height: 66px;
		padding-block: 0.52rem;
	}

	.rc-hero--dark .site-logo {
		width: clamp(8.9rem, 43vw, 10.75rem);
		max-height: 39px;
	}

	.rc-hero--dark .site-navigation-toggle {
		width: 40px;
		height: 40px;
	}

	.rc-hero--dark .rc-hero__shade {
		background:
			linear-gradient(180deg, rgba(1, 18, 42, 0.97) 0%, rgba(1, 18, 42, 0.9) 47%, rgba(1, 28, 64, 0.6) 100%),
			linear-gradient(90deg, rgba(1, 18, 42, 0.96), rgba(1, 28, 64, 0.42));
	}

	.rc-hero--dark .rc-hero__inner {
		gap: clamp(1rem, 3.4vw, 1.45rem);
		padding-block: clamp(2rem, 5.8vh, 3.15rem);
	}

	.rc-hero--dark h1 {
		max-width: 15.8ch;
		font-size: clamp(1.72rem, 6.35vw, 2.18rem);
		line-height: 1.055;
	}

	.rc-hero--dark .rc-hero__lead {
		max-width: 58ch;
		font-size: 0.93rem;
		line-height: 1.48;
	}

	.rc-hero--dark .rc-button {
		min-height: 42px;
		padding-block: 0.62rem;
		font-size: 0.9rem;
	}

	.rc-hero--dark .rc-hero-focus {
		width: min(100%, 24rem);
		min-width: 0;
		padding: 0.82rem 0.9rem;
		border-left-width: 2px;
	}

	.rc-hero--dark .rc-hero-focus__title {
		font-size: 0.68rem;
		letter-spacing: 0.035em;
	}

	.rc-hero--dark .rc-hero-focus__list {
		margin-top: 0.46rem;
	}

	.rc-hero--dark .rc-hero-focus__list li {
		padding-block: 0.4rem;
		font-size: 0.78rem;
		line-height: 1.28;
	}
}

@media (max-width: 390px) {
	.rc-hero--dark h1 {
		font-size: clamp(1.58rem, 6vw, 1.98rem);
	}

	.rc-hero--dark .rc-hero__lead {
		font-size: 0.9rem;
	}
}

@media (max-height: 520px) and (orientation: landscape) {
	.rc-hero--dark.hero {
		min-height: auto;
	}

	.rc-hero--dark .site-header__inner {
		min-height: 58px;
		padding-block: 0.35rem;
	}

	.rc-hero--dark .site-logo {
		width: clamp(8.4rem, 22vw, 10rem);
		max-height: 34px;
	}

	.rc-hero--dark .site-navigation-toggle {
		width: 38px;
		height: 38px;
	}

	.rc-hero--dark .rc-hero__shade {
		background:
			linear-gradient(90deg, rgba(1, 18, 42, 0.98) 0%, rgba(1, 18, 42, 0.92) 55%, rgba(1, 28, 64, 0.48) 100%),
			linear-gradient(180deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.26));
	}

	.rc-hero--dark .rc-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: auto;
		gap: 0.8rem;
		padding-block: 1rem 1.15rem;
	}

	.rc-hero--dark .rc-hero__content {
		max-width: min(100%, 44rem);
	}

	.rc-hero--dark h1 {
		max-width: 22ch;
		font-size: clamp(1.42rem, 3.8vw, 2rem);
		line-height: 1.03;
	}

	.rc-hero--dark .rc-hero__lead {
		max-width: 66ch;
		font-size: 0.84rem;
		line-height: 1.42;
	}

	.rc-hero--dark .rc-hero__actions {
		gap: 0.55rem;
		margin-top: 0;
	}

	.rc-hero--dark .rc-button {
		width: auto;
		min-height: 38px;
		padding: 0.5rem 0.78rem;
		font-size: 0.82rem;
	}

	.rc-hero--dark .rc-hero-focus {
		display: none;
	}
}

/* Responsive Typography Pass V0.8.3 */

:root {
	--rc-type-h1: clamp(2.05rem, 1.95vw + 1.28rem, 4.45rem);
	--rc-type-h2: clamp(1.55rem, 1.22vw + 1.08rem, 2.82rem);
	--rc-type-h3: clamp(1.14rem, 0.48vw + 1rem, 1.58rem);
}

.hero__eyebrow,
.front-section__eyebrow,
.rc-eyebrow {
	font-size: clamp(0.72rem, 0.28vw + 0.64rem, 0.86rem);
	line-height: 1.18;
	letter-spacing: 0.07em;
	font-weight: 700;
}

.hero__eyebrow::before,
.front-section__eyebrow::before,
.rc-eyebrow::before {
	width: clamp(1.9rem, 2.2vw, 2.7rem);
	opacity: 0.84;
}

.rc-hero--dark .rc-hero__content {
	gap: clamp(0.84rem, 0.95vw, 1.38rem);
}

.rc-hero--dark h1 {
	max-width: 17.4ch;
	font-size: clamp(3.1rem, 3.45vw, 4.9rem);
	line-height: 1;
	letter-spacing: 0;
}

.rc-hero--dark .rc-hero__lead {
	max-width: 635px;
	font-size: clamp(1rem, 0.4vw + 0.9rem, 1.18rem);
	line-height: 1.6;
}

.rc-hero--dark .rc-button {
	min-height: 46px;
	padding: 0.72rem 1.12rem;
	font-size: clamp(0.94rem, 0.15vw + 0.9rem, 1.02rem);
}

.rc-hero--dark .rc-hero-focus__title {
	font-size: clamp(0.72rem, 0.14vw + 0.7rem, 0.82rem);
	line-height: 1.18;
	letter-spacing: 0.06em;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

.rc-hero--dark .rc-hero-focus__list li {
	font-size: clamp(0.8rem, 0.12vw + 0.78rem, 0.92rem);
	line-height: 1.32;
}

.site-navigation__list a {
	font-size: clamp(0.9rem, 0.08vw + 0.87rem, 0.96rem);
}

.site-header__cta {
	font-size: clamp(0.9rem, 0.08vw + 0.87rem, 0.96rem);
}

.front-section__header h2 {
	font-size: clamp(1.55rem, 1.28vw + 1.05rem, 2.95rem);
	line-height: 1.09;
}

.problem-card h3,
.condition-card h3,
.approach-phase h3 {
	font-size: clamp(1.05rem, 0.32vw + 0.98rem, 1.36rem);
	line-height: 1.18;
}

@media (min-width: 1728px) {
	.rc-hero--dark h1 {
		font-size: clamp(3.75rem, 1.15vw + 2.55rem, 4.72rem);
	}

	.rc-hero--dark .rc-hero__lead {
		font-size: clamp(1.04rem, 0.22vw + 0.98rem, 1.18rem);
	}
}

@media (min-width: 2560px) {
	.rc-hero--dark h1 {
		font-size: clamp(4rem, 1vw + 2.7rem, 4.9rem);
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.rc-hero--dark .rc-eyebrow {
		font-size: clamp(0.72rem, 0.75vw + 0.62rem, 0.82rem);
		letter-spacing: 0.06em;
	}

	.rc-hero--dark h1 {
		max-width: 16.8ch;
		font-size: clamp(2.55rem, 5.1vw, 3.72rem);
		line-height: 1.02;
	}

	.rc-hero--dark .rc-hero__lead {
		font-size: clamp(0.94rem, 0.56vw + 0.86rem, 1.04rem);
		line-height: 1.52;
	}

	.rc-hero--dark .rc-button {
		font-size: 0.94rem;
	}
}

@media (max-width: 767px) {
	:root {
		--rc-type-h2: clamp(1.48rem, 5vw, 2.1rem);
		--rc-type-h3: clamp(1.08rem, 2.8vw, 1.26rem);
	}

	.hero__eyebrow,
	.front-section__eyebrow,
	.rc-eyebrow {
		font-size: clamp(0.66rem, 2.05vw, 0.76rem);
		line-height: 1.16;
		letter-spacing: 0.055em;
	}

	.hero__eyebrow::before,
	.front-section__eyebrow::before,
	.rc-eyebrow::before {
		width: 1.8rem;
	}

	.rc-hero--dark .rc-hero__content {
		gap: clamp(0.72rem, 2vw, 1rem);
	}

	.rc-hero--dark h1 {
		max-width: 16ch;
		font-size: clamp(1.9rem, 7.1vw, 2.58rem);
		line-height: 1.025;
		letter-spacing: 0;
	}

	.rc-hero--dark .rc-hero__lead {
		max-width: 58ch;
		font-size: clamp(0.88rem, 2.35vw, 0.98rem);
		line-height: 1.45;
	}

	.rc-hero--dark .rc-button {
		min-height: 44px;
		padding: 0.58rem 0.82rem;
		font-size: clamp(0.88rem, 2.3vw, 0.96rem);
	}

	.rc-hero--dark .rc-hero-focus__title {
		font-size: clamp(0.65rem, 1.85vw, 0.72rem);
		line-height: 1.16;
		letter-spacing: 0.035em;
	}

	.rc-hero--dark .rc-hero-focus__list li {
		font-size: clamp(0.75rem, 2.15vw, 0.84rem);
		line-height: 1.26;
	}

	.site-navigation__list a {
		font-size: 0.9rem;
	}
}

@media (max-width: 390px) {
	.rc-hero--dark h1 {
		font-size: clamp(1.72rem, 6.65vw, 2.22rem);
	}

	.rc-hero--dark .rc-hero__lead {
		font-size: clamp(0.86rem, 2.25vw, 0.92rem);
	}
}

@media (max-height: 520px) and (orientation: landscape) {
	.rc-hero--dark h1 {
		max-width: 22ch;
		font-size: clamp(1.65rem, 4.6vw, 2.35rem);
		line-height: 1;
	}

	.rc-hero--dark .rc-hero__lead {
		font-size: clamp(0.78rem, 1.7vw, 0.88rem);
		line-height: 1.38;
	}

	.rc-hero--dark .rc-eyebrow {
		font-size: 0.66rem;
		letter-spacing: 0.05em;
	}

	.rc-hero--dark .rc-button {
		min-height: 38px;
		padding: 0.48rem 0.74rem;
		font-size: 0.82rem;
	}
}

/* Hero & Header Micro-Polish V0.8.4 */

.rc-hero--dark .rc-site-header {
	background: linear-gradient(180deg, rgba(1, 18, 42, 0.52), rgba(1, 18, 42, 0.12));
	border-bottom-color: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(18px) saturate(1.08);
}

.rc-hero--dark .rc-site-header.is-sticky-active {
	background: rgba(10, 30, 54, 0.78);
	border-bottom-color: rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(20px) saturate(1.12);
	box-shadow: 0 18px 46px rgba(0, 0, 0, 0.24);
}

.rc-hero--dark .site-logo-link {
	max-width: min(62vw, 15.5rem);
	padding: clamp(0.28rem, 0.25vw, 0.42rem) clamp(0.45rem, 0.45vw, 0.72rem);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 8px;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
	backdrop-filter: blur(12px);
}

.rc-hero--dark .site-logo {
	width: clamp(10.6rem, 12.4vw, 13.6rem);
	max-height: 44px;
	filter: none;
}

.rc-hero--dark .site-navigation__list a {
	font-size: clamp(0.9rem, 0.08vw + 0.87rem, 0.96rem);
	color: rgba(255, 255, 255, 0.95);
}

.rc-hero--dark .site-header__cta {
	min-height: 40px;
	padding: 0.62rem 0.95rem;
	font-size: clamp(0.9rem, 0.08vw + 0.87rem, 0.96rem);
	box-shadow: 0 12px 30px rgba(191, 62, 33, 0.22);
}

.rc-hero--dark .site-navigation-toggle {
	width: 44px;
	height: 44px;
	background: rgba(255, 255, 255, 0.075);
	border-color: rgba(255, 255, 255, 0.22);
	border-radius: 8px;
	backdrop-filter: blur(14px);
}

.rc-hero--dark .site-navigation-toggle__line {
	width: 19px;
	height: 1.5px;
	margin: 2px 0;
	opacity: 0.92;
}

.rc-hero--dark .rc-hero__content {
	gap: clamp(0.76rem, 0.82vw, 1.18rem);
}

.rc-hero--dark h1 {
	font-size: clamp(2.96rem, 3.2vw, 4.62rem);
	line-height: 1.015;
}

.rc-hero--dark .rc-hero__lead {
	margin-top: clamp(0.12rem, 0.35vw, 0.38rem);
}

.rc-hero--dark .rc-hero__actions {
	margin-top: clamp(0.48rem, 0.9vw, 1.08rem);
	gap: clamp(0.78rem, 1vw, 1.12rem);
}

.rc-hero--dark .rc-hero-focus {
	margin-bottom: clamp(1.3rem, 2.8vh, 2.6rem);
}

@media (min-width: 1728px) {
	.rc-hero--dark h1 {
		font-size: clamp(3.58rem, 1.05vw + 2.45rem, 4.48rem);
	}
}

@media (min-width: 2560px) {
	.rc-hero--dark h1 {
		font-size: clamp(3.82rem, 0.86vw + 2.62rem, 4.68rem);
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.rc-hero--dark h1 {
		font-size: clamp(2.36rem, 4.72vw, 3.42rem);
		line-height: 1.035;
	}

	.rc-hero--dark .rc-hero__lead {
		margin-top: 0.16rem;
	}

	.rc-hero--dark .rc-hero__actions {
		margin-top: 0.62rem;
	}

	.rc-hero--dark .rc-hero-focus {
		margin-top: 0.28rem;
	}
}

@media (max-width: 767px) {
	.rc-hero--dark .site-header__inner {
		min-height: 62px;
		padding-block: 0.42rem;
	}

	.rc-hero--dark .site-logo-link {
		max-width: min(56vw, 10.2rem);
		padding: 0.22rem 0.38rem;
		border-radius: 7px;
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
	}

	.rc-hero--dark .site-logo {
		width: clamp(8.1rem, 37vw, 9.65rem);
		max-height: 34px;
	}

	.rc-hero--dark .site-navigation-toggle {
		width: 42px;
		height: 42px;
	}

	.rc-hero--dark .site-navigation-toggle__line {
		width: 18px;
		height: 1.4px;
	}

	.rc-hero--dark .rc-hero__inner {
		gap: clamp(0.95rem, 2.8vw, 1.32rem);
		padding-block: clamp(2.05rem, 5.4vh, 3rem) clamp(2.55rem, 6vh, 3.65rem);
	}

	.rc-hero--dark h1 {
		font-size: clamp(1.74rem, 6.6vw, 2.38rem);
		line-height: 1.04;
	}

	.rc-hero--dark .rc-hero__lead {
		margin-top: 0.18rem;
	}

	.rc-hero--dark .rc-hero__actions {
		margin-top: 0.62rem;
	}

	.rc-hero--dark .rc-hero-focus {
		margin-top: 0.36rem;
	}
}

@media (max-width: 390px) {
	.rc-hero--dark h1 {
		font-size: clamp(1.62rem, 6.15vw, 2.05rem);
	}
}

@media (max-height: 520px) and (orientation: landscape) {
	.rc-hero--dark .site-header__inner {
		min-height: 54px;
		padding-block: 0.28rem;
	}

	.rc-hero--dark .site-logo-link {
		max-width: 9.6rem;
		padding: 0.18rem 0.34rem;
	}

	.rc-hero--dark .site-logo {
		width: clamp(7.6rem, 19vw, 9.1rem);
		max-height: 30px;
	}

	.rc-hero--dark .site-navigation-toggle {
		width: 40px;
		height: 40px;
	}

	.rc-hero--dark h1 {
		font-size: clamp(1.5rem, 4.25vw, 2.18rem);
		line-height: 1.01;
	}

	.rc-hero--dark .rc-hero__lead {
		margin-top: 0.08rem;
	}

	.rc-hero--dark .rc-hero__actions {
		margin-top: 0.38rem;
	}
}

/* 4K-/Widescreen Hero & Header Polish V0.8.5 */

@media (min-width: 2400px) {
	:root {
		/* Fix 2026-07-10 (AP 3.3 / ADL-0002): "PT Serif Pro"/"PT Sans Pro" existieren
		   nicht als Webfonts – ab 2400px fiel die Seite auf Georgia/Arial zurück. */
		--rc-font-headline: "PT Serif", Georgia, serif;
		--rc-font-body: "PT Sans", Arial, sans-serif;
	}

	h1,
	h2,
	h3,
	h4 {
		font-family: var(--rc-font-headline);
	}

	body,
	.rc-eyebrow,
	.rc-button,
	.site-navigation__list a,
	.site-header__cta,
	.rc-hero__lead,
	.rc-hero-focus {
		font-family: var(--rc-font-body);
	}

	.rc-hero--dark .rc-site-header {
		background: rgba(255, 255, 255, 0.16);
		border-bottom-color: rgba(255, 255, 255, 0.18);
		box-shadow: 0 18px 52px rgba(0, 0, 0, 0.16);
		backdrop-filter: blur(22px) saturate(1.3);
	}

	.rc-hero--dark .rc-site-header.is-sticky-active {
		background: rgba(255, 255, 255, 0.2);
		border-bottom-color: rgba(255, 255, 255, 0.24);
		box-shadow: 0 18px 52px rgba(0, 0, 0, 0.18);
		backdrop-filter: blur(22px) saturate(1.28);
	}

	.rc-hero--dark .site-logo-link {
		max-width: 17rem;
		padding: 0;
		background: transparent;
		border-color: transparent;
		box-shadow: none;
		backdrop-filter: none;
	}

	.rc-hero--dark .site-logo {
		width: clamp(13.2rem, 6.2vw, 15.8rem);
		max-height: 54px;
		filter: drop-shadow(0 8px 18px rgba(255, 255, 255, 0.18));
	}

	.rc-hero--dark .site-header__inner {
		min-height: 76px;
	}

	.rc-hero--dark .site-navigation__list {
		gap: clamp(1.15rem, 0.7vw, 1.8rem);
	}

	.rc-hero--dark .site-navigation__list a {
		font-size: clamp(0.92rem, 0.18vw + 0.82rem, 1.02rem);
		color: rgba(255, 255, 255, 0.9);
	}

	.rc-hero--dark .site-header__cta {
		min-height: 44px;
		padding: 0.72rem 1.1rem;
		font-size: clamp(0.9rem, 0.12vw + 0.84rem, 0.98rem);
		box-shadow: 0 14px 34px rgba(191, 62, 33, 0.24);
	}

	.rc-hero--dark .rc-container--hero {
		width: min(100% - (var(--rc-container-pad) * 2), 1760px);
	}

	.rc-hero--dark .rc-hero__inner {
		grid-template-columns: minmax(0, 1.02fr) minmax(430px, 0.58fr);
		gap: clamp(4.5rem, 4vw, 6.75rem);
		min-height: 860px;
	}

	.rc-hero--dark .rc-hero__content {
		max-width: 1120px;
		gap: clamp(0.95rem, 0.8vw, 1.45rem);
	}

	.rc-hero--dark h1 {
		max-width: 26ch;
		font-size: clamp(3.48rem, 0.88vw + 2.58rem, 4.25rem);
		line-height: 1;
		letter-spacing: 0;
	}

	.rc-hero--dark .rc-hero__lead {
		max-width: 820px;
		margin-top: clamp(0.35rem, 0.35vw, 0.65rem);
		font-size: clamp(1.08rem, 0.2vw + 1rem, 1.22rem);
		line-height: 1.62;
	}

	.rc-hero--dark .rc-hero__actions {
		margin-top: clamp(1.1rem, 0.9vw, 1.65rem);
		gap: clamp(1rem, 0.75vw, 1.45rem);
	}

	.rc-hero--dark .rc-button {
		min-height: 48px;
		font-size: clamp(0.98rem, 0.1vw + 0.92rem, 1.05rem);
	}

	.rc-hero--dark .rc-hero-focus {
		width: min(100%, 31rem);
		margin-right: clamp(1.25rem, 1.8vw, 2.8rem);
		margin-bottom: clamp(1.75rem, 2vh, 3rem);
	}
}

/* 4K-/Widescreen Hero & Header Layout Polish V0.8.6 */

@media (min-width: 2400px) {
	.rc-hero--dark.hero {
		min-height: clamp(1120px, 66vh, 1240px);
	}

	.rc-hero--dark .rc-site-header {
		background: rgba(1, 18, 42, 0.46);
		border-bottom-color: rgba(255, 255, 255, 0.14);
		box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
		backdrop-filter: blur(24px) saturate(1.22);
	}

	.rc-hero--dark .rc-site-header.is-sticky-active {
		background: rgba(1, 24, 52, 0.7);
		border-bottom-color: rgba(255, 255, 255, 0.17);
		box-shadow: 0 22px 64px rgba(0, 0, 0, 0.26);
		backdrop-filter: blur(24px) saturate(1.22);
	}

	.rc-hero--dark .site-header__inner {
		width: min(100% - clamp(5rem, 5vw, 9rem), 3200px);
		min-height: 88px;
		padding-block: 0.92rem;
	}

	.rc-hero--dark .site-logo-link {
		max-width: 19.5rem;
		padding: 0;
		background: transparent;
		border-color: transparent;
		box-shadow: none;
		backdrop-filter: none;
	}

	.rc-hero--dark .site-logo {
		width: clamp(15rem, 5.5vw, 18.25rem);
		max-height: 64px;
		filter: brightness(0) invert(1) drop-shadow(0 10px 22px rgba(0, 0, 0, 0.22));
	}

	.rc-hero--dark .site-navigation__list {
		gap: clamp(1.45rem, 0.62vw, 2.05rem);
	}

	.rc-hero--dark .site-navigation__list a {
		font-size: clamp(1rem, 0.16vw + 0.9rem, 1.08rem);
		color: rgba(255, 255, 255, 0.92);
	}

	.rc-hero--dark .site-header__cta {
		min-height: 50px;
		padding: 0.82rem 1.28rem;
		font-size: clamp(0.96rem, 0.12vw + 0.9rem, 1.04rem);
		box-shadow: 0 16px 36px rgba(191, 62, 33, 0.26);
	}

	.rc-hero--dark .rc-container--hero {
		width: min(100% - clamp(5rem, 5vw, 9rem), 3180px);
	}

	.rc-hero--dark .rc-hero__inner {
		grid-template-columns: minmax(0, 1.14fr) minmax(560px, 0.78fr);
		gap: clamp(6.5rem, 6vw, 10.5rem);
		min-height: clamp(1020px, 60vh, 1120px);
		padding-block: clamp(6rem, 8vh, 9rem) clamp(5rem, 7vh, 7.8rem);
	}

	.rc-hero--dark .rc-hero__content {
		max-width: 1480px;
		gap: clamp(1.12rem, 0.7vw, 1.62rem);
	}

	.rc-hero--dark h1 {
		max-width: 33ch;
		font-size: clamp(3.7rem, 0.75vw + 2.75rem, 4.25rem);
		line-height: 1;
	}

	.rc-hero--dark .rc-hero__lead {
		max-width: 980px;
		margin-top: clamp(0.62rem, 0.42vw, 0.92rem);
		font-size: clamp(1.14rem, 0.16vw + 1.06rem, 1.26rem);
		line-height: 1.66;
	}

	.rc-hero--dark .rc-hero__actions {
		margin-top: clamp(1.55rem, 1.05vw, 2.15rem);
		gap: clamp(1.15rem, 0.7vw, 1.6rem);
	}

	.rc-hero--dark .rc-button {
		min-height: 52px;
		padding: 0.82rem 1.28rem;
		font-size: clamp(1rem, 0.1vw + 0.95rem, 1.08rem);
	}

	.rc-hero--dark .rc-hero-focus {
		width: min(100%, 36rem);
		margin-right: clamp(2.5rem, 4vw, 6rem);
		margin-bottom: clamp(2.8rem, 4vh, 5.2rem);
		padding: clamp(1.28rem, 1vw, 1.75rem) clamp(1.45rem, 1.15vw, 2rem);
		border-left-width: 3px;
		background: linear-gradient(135deg, rgba(1, 28, 64, 0.78), rgba(1, 18, 42, 0.54));
		box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
	}

	.rc-hero--dark .rc-hero-focus__title {
		font-size: clamp(0.78rem, 0.1vw + 0.74rem, 0.86rem);
	}

	.rc-hero--dark .rc-hero-focus__list li {
		font-size: clamp(0.9rem, 0.08vw + 0.86rem, 0.98rem);
	}
}

/* 4K-/Widescreen Hero Stage Scaling Pass V0.8.7 */

@media (min-width: 2400px) {
	.rc-hero--dark.hero {
		min-height: clamp(1450px, 84vh, 1580px);
	}

	.rc-hero--dark .rc-site-header {
		background: rgba(1, 18, 42, 0.5);
		border-bottom-color: rgba(255, 255, 255, 0.15);
		box-shadow: 0 28px 78px rgba(0, 0, 0, 0.24);
		backdrop-filter: blur(26px) saturate(1.22);
	}

	.rc-hero--dark .rc-site-header.is-sticky-active {
		background: rgba(1, 24, 52, 0.74);
		border-bottom-color: rgba(255, 255, 255, 0.18);
		box-shadow: 0 26px 72px rgba(0, 0, 0, 0.28);
		backdrop-filter: blur(26px) saturate(1.22);
	}

	.rc-hero--dark .site-header__inner {
		width: min(100% - clamp(5.5rem, 5.5vw, 10rem), 3260px);
		min-height: 104px;
		padding-block: 1.08rem;
	}

	.rc-hero--dark .site-logo-link {
		max-width: 21.5rem;
		background: transparent;
		border-color: transparent;
		box-shadow: none;
	}

	.rc-hero--dark .site-logo {
		width: clamp(16.8rem, 6vw, 20.5rem);
		max-height: 72px;
		filter: brightness(0) invert(1) drop-shadow(0 12px 26px rgba(0, 0, 0, 0.24));
	}

	.rc-hero--dark .site-navigation__list {
		gap: clamp(1.85rem, 0.78vw, 2.65rem);
	}

	.rc-hero--dark .site-navigation__list a {
		font-size: clamp(1.14rem, 0.2vw + 0.98rem, 1.32rem);
		color: rgba(255, 255, 255, 0.93);
	}

	.rc-hero--dark .site-header__cta {
		min-height: 60px;
		padding: 0.98rem 1.62rem;
		font-size: clamp(1.08rem, 0.14vw + 0.98rem, 1.2rem);
		box-shadow: 0 18px 42px rgba(191, 62, 33, 0.28);
	}

	.rc-hero--dark .rc-container--hero {
		width: min(100% - clamp(5.5rem, 5.5vw, 10rem), 3260px);
	}

	.rc-hero--dark .rc-hero__inner {
		grid-template-columns: minmax(0, 1.12fr) minmax(680px, 0.78fr);
		gap: clamp(7.5rem, 6.5vw, 11.5rem);
		min-height: clamp(1280px, 74vh, 1440px);
		padding-block: clamp(9rem, 9.5vh, 12rem) clamp(7.2rem, 8vh, 10rem);
	}

	.rc-hero--dark .rc-hero__content {
		max-width: 1650px;
		gap: clamp(1.35rem, 0.82vw, 1.9rem);
	}

	.rc-hero--dark h1 {
		max-width: 1650px;
		font-size: clamp(5.1rem, 0.95vw + 3.55rem, 5.85rem);
		line-height: 0.98;
	}

	.rc-hero--dark .rc-hero__lead {
		max-width: 1220px;
		margin-top: clamp(1rem, 0.72vw, 1.45rem);
		font-size: clamp(1.44rem, 0.24vw + 1.24rem, 1.72rem);
		line-height: 1.6;
	}

	.rc-hero--dark .rc-hero__actions {
		margin-top: clamp(2.05rem, 1.28vw, 2.85rem);
		gap: clamp(1.35rem, 0.85vw, 1.95rem);
	}

	.rc-hero--dark .rc-button {
		min-height: 62px;
		padding: 1rem 1.7rem;
		font-size: clamp(1.12rem, 0.12vw + 1.04rem, 1.24rem);
	}

	.rc-hero--dark .rc-hero__image {
		object-position: 59% 49%;
	}

	.rc-hero--dark .rc-hero__shade {
		background:
			linear-gradient(90deg, rgba(1, 18, 42, 0.94) 0%, rgba(1, 18, 42, 0.84) 39%, rgba(1, 28, 64, 0.34) 68%, rgba(1, 18, 42, 0.12) 100%),
			linear-gradient(180deg, rgba(0, 0, 0, 0.36), rgba(0, 0, 0, 0.08) 44%, rgba(0, 0, 0, 0.32));
	}

	.rc-hero--dark .rc-hero-focus {
		width: min(100%, 46rem);
		margin-right: clamp(2.75rem, 4.2vw, 6.8rem);
		margin-bottom: clamp(4rem, 5.2vh, 7.2rem);
		padding: clamp(1.7rem, 1.25vw, 2.2rem) clamp(1.9rem, 1.45vw, 2.65rem);
		border-left-width: 3px;
		box-shadow: 0 30px 82px rgba(0, 0, 0, 0.25);
	}

	.rc-hero--dark .rc-hero-focus__title {
		font-size: clamp(0.94rem, 0.12vw + 0.86rem, 1.04rem);
	}

	.rc-hero--dark .rc-hero-focus__list {
		margin-top: clamp(0.95rem, 0.78vw, 1.35rem);
	}

	.rc-hero--dark .rc-hero-focus__list li {
		padding-block: clamp(0.86rem, 0.58vw, 1.15rem);
		font-size: clamp(1.08rem, 0.12vw + 1rem, 1.18rem);
		line-height: 1.42;
	}
}

/*
Kontaktformular und Booking (P0). Funktionale Basis-Styles auf Basis der
bestehenden Design-Tokens. Kein Redesign bestehender Seiten.
*/
.rc-contact {
	max-width: 640px;
	margin-block: var(--rc-space-lg, 2rem);
}

.rc-contact__notice {
	margin-bottom: var(--rc-space-md, 1.5rem);
	padding: var(--rc-space-sm, 1rem) var(--rc-space-md, 1.5rem);
	border-left: 3px solid var(--rc-color-navy, #024059);
	border-radius: var(--rc-radius-sm, 4px);
	background: var(--rc-color-light-gray, #f2f2f2);
}

.rc-contact__notice--error {
	border-left-color: var(--rc-color-accent, #bf3e21);
}

.rc-contact__field {
	margin-bottom: var(--rc-space-md, 1.5rem);
}

.rc-contact__label {
	display: block;
	margin-bottom: var(--rc-space-2xs, 0.35rem);
	font-weight: 700;
}

.rc-contact__optional {
	font-weight: 400;
	color: var(--rc-color-muted, #616161);
}

.rc-contact__required {
	color: var(--rc-color-accent, #bf3e21);
}

.rc-contact__control {
	width: 100%;
	padding: 0.7rem 0.85rem;
	font: inherit;
	color: var(--rc-color-text, #1d1d1b);
	background: var(--rc-color-white, #fff);
	border: 1px solid var(--rc-color-muted, #616161);
	border-radius: var(--rc-radius-sm, 4px);
}

.rc-contact__control:focus-visible {
	outline: 3px solid var(--rc-color-navy, #024059);
	outline-offset: 2px;
	border-color: var(--rc-color-navy, #024059);
}

.rc-contact__field.has-error .rc-contact__control {
	border-color: var(--rc-color-accent, #bf3e21);
}

.rc-contact__error {
	margin-top: var(--rc-space-2xs, 0.35rem);
	color: var(--rc-color-accent, #bf3e21);
	font-size: 0.9em;
}

.rc-contact__consent {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	line-height: 1.4;
}

.rc-contact__consent input {
	margin-top: 0.2rem;
}

.rc-contact__actions {
	margin-top: var(--rc-space-lg, 2rem);
}

.rc-contact__hint {
	margin-top: var(--rc-space-xs, 0.5rem);
	color: var(--rc-color-muted, #616161);
	font-size: 0.9em;
}

.rc-booking {
	max-width: 640px;
	margin-top: var(--rc-space-xl, 3rem);
	padding-top: var(--rc-space-lg, 2rem);
	border-top: 1px solid var(--rc-color-light-gray, #f2f2f2);
}

.rc-booking__actions {
	margin-block: var(--rc-space-sm, 1rem);
}

.rc-booking__alt {
	margin-top: var(--rc-space-xs, 0.5rem);
}

.rc-text-link {
	color: var(--rc-color-navy, #024059);
	text-underline-offset: 0.2em;
}


/*
Claim-Anpassung 10.07.2026 (ADL-0002): "transformationsfähig." (≈23.6ch)
muss auf Desktop ungetrennt in einer Zeile stehen. Überschreibt bewusst
alle früheren viewport-spezifischen max-width-Werte der Hero-H1;
auf schmalen Viewports greift das Soft Hyphen im Markup.
*/
.rc-hero--dark h1 {
	max-width: 24ch;
}

/*
==============================================================================
AP 3.3 – Sektionsbausteine für Kernseiten (KW 29, 2026-07)
Seiten-Hero, Sektions-Wrapper, Leistungs-Card-Grid, CTA-Band, Referenz-Block.
Nur neue Klassen (rc-page-hero, rc-section, rc-card-grid, rc-service-card,
rc-cta-band, rc-reference) – keine Überschreibung bestehender Selektoren.
==============================================================================
*/

/* --- Seiten-Hero (kompaktes dunkles Titelband für Unterseiten) --- */

.rc-page-hero {
	position: relative;
	background:
		radial-gradient(120% 160% at 85% -20%, rgba(2, 64, 89, 0.85), transparent 60%),
		linear-gradient(150deg, var(--rc-color-dark-navy) 12%, var(--rc-color-navy) 88%);
	color: var(--rc-color-white);
}

.rc-page-hero__inner {
	display: grid;
	gap: clamp(0.75rem, 0.9vw, 1.25rem);
	padding-block: clamp(3.25rem, 5.5vw + 1.5rem, 6.5rem) clamp(2.75rem, 4.5vw + 1.25rem, 5.25rem);
}

.rc-page-hero__eyebrow {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.rc-page-hero__title {
	max-width: 26ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.96);
	font-size: clamp(2rem, 1.7vw + 1.3rem, 3.4rem);
	line-height: 1.06;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
}

.rc-page-hero__lead {
	max-width: 640px;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(1rem, 0.35vw + 0.94rem, 1.2rem);
	line-height: 1.65;
}

/* --- Allgemeiner Sektions-Wrapper --- */

.rc-section {
	padding-block: var(--rc-space-xl);
}

.rc-section--services {
	background: var(--rc-surface-soft);
	border-top: var(--rc-border-subtle);
	border-bottom: var(--rc-border-subtle);
}

.rc-section__inner {
	display: grid;
	gap: var(--rc-space-lg);
}

.rc-section__title {
	max-width: 20ch;
	margin: 0;
	line-height: 1.08;
	text-wrap: balance;
}

/* --- Leistungs-Card-Grid --- */

.rc-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: clamp(1rem, 1.4vw, 1.75rem);
}

.rc-service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--rc-space-xs);
	padding: clamp(1.4rem, 1.6vw, 2.1rem);
	background: var(--rc-gradient-surface);
	border: var(--rc-border-subtle);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-subtle);
	transition: box-shadow 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.rc-service-card:hover,
.rc-service-card:focus-within {
	border-color: rgba(191, 62, 33, 0.4);
	box-shadow: var(--rc-shadow-card);
	transform: translateY(-2px);
}

.rc-service-card__number {
	color: var(--rc-color-accent);
	font-family: var(--rc-font-headline);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.rc-service-card__title {
	max-width: none;
	margin: 0;
	font-size: var(--rc-type-h3);
	line-height: 1.2;
	/* Lange deutsche Komposita sauber trennen statt hart umbrechen. */
	overflow-wrap: break-word;
	hyphens: auto;
}

.rc-service-card__link {
	color: var(--rc-color-dark-navy);
	text-decoration: none;
}

/* Klickfläche der gesamten Karte, Analytics-Klasse bleibt am Link. */
.rc-service-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--rc-radius-lg);
}

.rc-service-card__link:focus-visible {
	outline: none;
}

.rc-service-card:has(.rc-service-card__link:focus-visible) {
	outline: 2px solid var(--rc-color-accent);
	outline-offset: 2px;
}

.rc-service-card__text {
	margin: 0;
	color: var(--rc-color-muted);
	line-height: 1.6;
}

.rc-service-card__cta {
	margin-top: auto;
	padding-top: var(--rc-space-xs);
	color: var(--rc-color-accent);
	font-size: var(--rc-type-small);
	font-weight: 700;
}

.rc-service-card__cta::after {
	content: " →";
}

/* --- CTA-Band --- */

.rc-cta-band {
	background:
		radial-gradient(110% 180% at 12% 120%, rgba(191, 62, 33, 0.28), transparent 55%),
		linear-gradient(135deg, var(--rc-color-navy) 8%, var(--rc-color-dark-navy) 92%);
	color: var(--rc-color-white);
}

.rc-cta-band__inner {
	display: grid;
	align-items: center;
	gap: var(--rc-space-md);
	padding-block: var(--rc-space-xl);
}

.rc-cta-band__title {
	max-width: 24ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.96);
	line-height: 1.1;
	text-wrap: balance;
}

.rc-cta-band__text {
	max-width: 620px;
	margin: var(--rc-space-xs) 0 0;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.65;
}

.rc-cta-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rc-space-sm);
}

.rc-cta-band .rc-button--light {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.44);
	color: var(--rc-color-white);
	box-shadow: none;
}

.rc-cta-band .rc-button--light:hover,
.rc-cta-band .rc-button--light:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.66);
	color: var(--rc-color-white);
}

@media (min-width: 1024px) {
	.rc-cta-band__inner {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	}

	.rc-cta-band__actions {
		justify-content: flex-end;
	}
}

/* --- Referenz-Block --- */

.rc-reference {
	max-width: 760px;
	margin: 0;
	padding: clamp(1.5rem, 1.8vw, 2.25rem) clamp(1.5rem, 2vw, 2.5rem);
	background: var(--rc-surface-soft);
	border-left: 4px solid var(--rc-color-accent);
	border-radius: 0 var(--rc-radius-md) var(--rc-radius-md) 0;
}

.rc-reference__quote {
	margin: 0;
}

.rc-reference__quote p {
	margin: 0;
	color: var(--rc-color-dark-navy);
	font-family: var(--rc-font-headline);
	font-size: clamp(1.1rem, 0.5vw + 1rem, 1.45rem);
	line-height: 1.5;
}

.rc-reference__source {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35em;
	margin-top: var(--rc-space-sm);
	color: var(--rc-color-muted);
	font-size: var(--rc-type-small);
}

.rc-reference__name {
	font-weight: 700;
	color: var(--rc-color-text);
}

.rc-reference__name:not(:only-child)::after {
	content: "·";
	margin-left: 0.35em;
	color: var(--rc-color-muted);
	font-weight: 400;
}

/* --- Rechtliche Seiten: nüchterner schmaler Textlauf --- */

.content-band--legal .content-band__inner {
	max-width: var(--rc-container-text);
}

/*
==============================================================================
AP 3.4b – Executive-Layout Angebotsseite (Mock V2.2, abgenommen 10.07.2026)
Panel-Regeln: Type-Ratio 4:1, Sektions-Padding 6–10rem, Fließtext max. 44rem,
Container 1280/1380px, Akzentrot chirurgisch, radius 0, 1px-Borders,
Subgrid-Registerzeilen für Karten. Nur neue rc-exec-/rc-…-Selektoren.
==============================================================================
*/

:root {
	--rc-exec-pad: clamp(6rem, 11vh, 10rem);
	--rc-exec-text: 44rem;
	--rc-exec-wide: 1280px;
	--rc-exec-panel: 1380px;
	--rc-exec-tint: #f7f6f3;
}

.rc-exec-container {
	max-width: var(--rc-exec-wide);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4vw, 3rem);
}

.rc-exec-container--panel {
	max-width: var(--rc-exec-panel);
}

.rc-exec-eyebrow {
	margin: 0;
	font-family: var(--rc-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rc-exec-eyebrow--accent {
	color: var(--rc-color-accent);
}

.rc-exec-btn {
	display: inline-block;
	padding: 0.95rem 1.7rem;
	background: var(--rc-color-accent);
	color: var(--rc-color-white);
	text-decoration: none;
	font-weight: 700;
	font-size: 0.95rem;
	white-space: nowrap;
	border-radius: 0;
	transition: background 0.3s ease, color 0.3s ease;
}

.rc-exec-btn:hover,
.rc-exec-btn:focus-visible {
	background: var(--rc-color-white);
	color: var(--rc-color-dark-navy);
}

/* Neutralisiert globale Heading-Beschränkungen in Executive-Sektionen. */
.rc-exec-hero h1,
.rc-signature p,
.rc-kernleistungen h2,
.rc-kernleistungen h3,
.rc-diagnostik h2,
.rc-verwaltung h2,
.rc-ichblock h2,
.rc-faq h2 {
	max-width: none;
	margin: 0;
	overflow-wrap: normal;
	hyphens: manual;
}

/* --- Hero --- */

.rc-exec-hero {
	position: relative;
	overflow: hidden;
	color: var(--rc-color-white);
	background:
		radial-gradient(130% 170% at 85% -30%, rgba(2, 64, 89, 0.9), transparent 60%),
		linear-gradient(152deg, var(--rc-color-dark-navy) 10%, var(--rc-color-navy) 90%);
}

.rc-exec-hero__blueprint {
	position: absolute;
	right: -2%;
	top: -5%;
	height: 125%;
	z-index: 1;
	pointer-events: none;
}

.rc-exec-hero__inner {
	position: relative;
	z-index: 2;
	padding-block: clamp(6.5rem, 15vh, 11rem) clamp(6rem, 12vh, 9.5rem);
}

.rc-exec-hero__eyebrow {
	color: rgba(255, 255, 255, 0.72);
}

.rc-exec-hero__title {
	max-width: 25ch;
	margin-top: 1.2rem;
	font-size: clamp(2.75rem, 3.4vw + 0.5rem, 4.75rem);
	line-height: 1.12;
	color: rgba(255, 255, 255, 0.97);
	text-wrap: balance;
}

.rc-exec-hero__lead {
	max-width: var(--rc-exec-text);
	margin: 2rem 0 0;
	font-size: clamp(1.1rem, 0.4vw + 1rem, 1.3rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.86);
}

.rc-exec-hero__actions {
	margin-top: 2.75rem;
}

.rc-exec-hero__proof {
	margin: 2.25rem 0 0;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.rc-exec-hero__entity {
	max-width: var(--rc-exec-text);
	margin: 4rem 0 0;
	font-size: 0.97rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.58);
}

@media (max-width: 1000px) {
	.rc-exec-hero__blueprint {
		display: none;
	}
}

@media (min-width: 1600px) {
	.rc-exec-hero__title {
		max-width: 37ch;
	}
}

/* --- Signature-Statement --- */

.rc-signature {
	padding-block: var(--rc-exec-pad);
	text-align: center;
	background: var(--rc-color-white);
}

.rc-signature__rule {
	width: 40px;
	height: 2px;
	background: var(--rc-color-accent);
	margin: 0 auto 2rem;
}

.rc-signature__text {
	font-family: var(--rc-font-headline);
	font-size: clamp(1.85rem, 2.6vw + 1rem, 3.5rem);
	line-height: 1.3;
	max-width: 30ch;
	margin-inline: auto;
	text-wrap: balance;
	color: var(--rc-color-dark-navy);
}

/* --- Kernleistungs-Karten --- */

.rc-kernleistungen {
	background: var(--rc-exec-tint);
	border-top: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: var(--rc-exec-pad);
}

.rc-kernleistungen__head {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: end;
}

.rc-kernleistungen__title {
	margin-top: 1.1rem;
	font-size: clamp(1.9rem, 1.8vw + 1.2rem, 3rem);
	line-height: 1.12;
	color: var(--rc-color-dark-navy);
}

.rc-kernleistungen__intro {
	margin: 0 0 0.4rem;
	color: var(--rc-color-muted);
	max-width: 34rem;
	justify-self: end;
}

.rc-exec-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: auto auto auto 1fr auto;
	column-gap: clamp(1.5rem, 2.6vw, 2.75rem);
	margin-top: 3.5rem;
}

.rc-exec-card {
	position: relative;
	display: grid;
	grid-row: span 5;
	grid-template-rows: subgrid;
	row-gap: 1.1rem;
	background: var(--rc-color-white);
	border: 1px solid rgba(2, 64, 89, 0.18);
	border-radius: 0;
	padding: clamp(2rem, 2.4vw, 2.75rem);
	transition: transform 0.3s ease, border-color 0.3s ease;
}

.rc-exec-card:hover,
.rc-exec-card:focus-within {
	transform: translateY(-5px);
	border-color: var(--rc-color-navy);
}

.rc-exec-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.rc-exec-card__num {
	font-family: var(--rc-font-headline);
	font-size: clamp(2.6rem, 2vw + 1.6rem, 3.4rem);
	line-height: 1;
	color: rgba(2, 64, 89, 0.2);
}

.rc-exec-card__arrow {
	font-family: var(--rc-font-headline);
	font-size: 1.5rem;
	color: var(--rc-color-navy);
	opacity: 0.35;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.rc-exec-card:hover .rc-exec-card__arrow,
.rc-exec-card:focus-within .rc-exec-card__arrow {
	opacity: 1;
	transform: translate(3px, -3px);
}

.rc-exec-card__kicker {
	align-self: end;
	font-family: var(--rc-font-body);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.45;
	color: var(--rc-color-muted);
}

.rc-exec-card__result {
	margin: 0;
	font-family: var(--rc-font-headline);
	font-size: clamp(1.25rem, 0.55vw + 1.05rem, 1.55rem);
	line-height: 1.32;
	color: var(--rc-color-dark-navy);
}

.rc-exec-card__text {
	margin: 0;
	font-size: 0.97rem;
	line-height: 1.6;
	color: var(--rc-color-muted);
}

.rc-exec-card__more {
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--rc-color-navy);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.rc-exec-card__more::after {
	content: " →";
}

a.rc-exec-card__more::before {
	content: "";
	position: absolute;
	inset: 0;
}

.rc-exec-card__more--pending {
	text-decoration: none;
	color: var(--rc-color-muted);
}

.rc-exec-card__more--pending::after {
	content: "";
}

.rc-exec-card:has(a.rc-exec-card__more:focus-visible) {
	outline: 2px solid var(--rc-color-accent);
	outline-offset: 2px;
}

a.rc-exec-card__more:focus-visible {
	outline: none;
}

@media (max-width: 900px) {
	.rc-kernleistungen__head {
		grid-template-columns: 1fr;
	}

	.rc-kernleistungen__intro {
		justify-self: start;
	}

	.rc-exec-cards {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		row-gap: 1.5rem;
	}

	.rc-exec-card {
		grid-row: auto;
		grid-template-rows: none;
		display: flex;
		flex-direction: column;
		gap: 1.1rem;
	}
}

/* Fallback für Browser ohne Subgrid: Karten als Flex-Spalten. */
@supports not (grid-template-rows: subgrid) {
	.rc-exec-cards {
		grid-template-rows: none;
	}

	.rc-exec-card {
		grid-row: auto;
		display: flex;
		flex-direction: column;
		gap: 1.1rem;
	}

	.rc-exec-card__text {
		flex-grow: 1;
	}
}

/* --- Zwischen-CTA --- */

.rc-midcta {
	background: var(--rc-color-white);
	padding-block: 0 var(--rc-exec-pad);
}

.rc-midcta--tint {
	background: var(--rc-exec-tint);
}

.rc-midcta__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	align-items: center;
	justify-content: space-between;
	background: var(--rc-color-dark-navy);
	color: var(--rc-color-white);
	padding: clamp(1.75rem, 2.2vw, 2.5rem) clamp(1.5rem, 2.5vw, 3rem);
}

.rc-midcta__text {
	margin: 0;
	font-family: var(--rc-font-headline);
	font-size: 1.25rem;
	line-height: 1.45;
	max-width: 40rem;
	color: rgba(255, 255, 255, 0.95);
}

/* --- Diagnostik + Zahlen-Panel --- */

.rc-diagnostik {
	position: relative;
	color: var(--rc-color-white);
	background: linear-gradient(140deg, var(--rc-color-navy) 5%, var(--rc-color-dark-navy) 95%);
	padding-block: var(--rc-exec-pad) calc(var(--rc-exec-pad) + 80px);
}

.rc-diagnostik__eyebrow {
	color: rgba(255, 255, 255, 0.72);
}

.rc-diagnostik__title {
	margin-top: 1.1rem;
	max-width: 24ch;
	font-size: clamp(1.9rem, 1.8vw + 1.2rem, 3rem);
	line-height: 1.12;
	color: rgba(255, 255, 255, 0.97);
}

.rc-diagnostik__copy {
	max-width: var(--rc-exec-text);
	margin: 1.75rem 0 0;
	color: rgba(255, 255, 255, 0.82);
}

.rc-diagnostik__einstieg {
	max-width: var(--rc-exec-text);
	margin: 1.6rem 0 0;
	padding-left: 1.25rem;
	border-left: 2px solid var(--rc-color-accent);
	color: rgba(255, 255, 255, 0.94);
}

.rc-diagnostik__cta {
	display: inline-block;
	margin-top: 0.6rem;
	color: var(--rc-color-white);
	font-weight: 700;
	text-underline-offset: 0.25em;
}

.rc-numbers {
	position: relative;
	z-index: 3;
	margin-top: 4.5rem;
	margin-bottom: -80px;
}

.rc-numbers__panel {
	background: var(--rc-color-white);
	border: 1px solid rgba(2, 64, 89, 0.15);
	padding: clamp(2.25rem, 3vw, 3.5rem);
	display: grid;
	gap: clamp(2rem, 3vw, 3.5rem);
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: end;
}

.rc-numbers__big {
	font-family: var(--rc-font-headline);
	line-height: 1;
	color: var(--rc-color-dark-navy);
	white-space: nowrap;
}

.rc-numbers__rund {
	display: block;
	margin-bottom: 0.6rem;
	font-family: var(--rc-font-body);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
}

.rc-numbers__zahl {
	font-size: clamp(4rem, 4.5vw + 1.5rem, 6.5rem);
	color: var(--rc-color-accent);
}

.rc-numbers__anchor p {
	margin: 1rem 0 0;
	font-size: 0.97rem;
	color: var(--rc-color-muted);
	max-width: 32rem;
}

.rc-numbers__method {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 2vw, 2.25rem);
	border-left: 1px solid rgba(2, 64, 89, 0.15);
	padding-left: clamp(1.5rem, 2.5vw, 3rem);
	align-items: end;
}

.rc-numbers__n {
	display: block;
	font-family: var(--rc-font-headline);
	font-size: clamp(2.6rem, 2.2vw + 1.6rem, 3.75rem);
	line-height: 1;
	color: var(--rc-color-navy);
}

.rc-numbers__l {
	display: block;
	margin-top: 0.7rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
	line-height: 1.5;
	hyphens: none;
	overflow-wrap: normal;
}

@media (max-width: 900px) {
	.rc-numbers__panel {
		grid-template-columns: 1fr;
	}

	.rc-numbers__method {
		border-left: 0;
		padding-left: 0;
		border-top: 1px solid rgba(2, 64, 89, 0.15);
		padding-top: 1.75rem;
	}
}

@media (max-width: 560px) {
	.rc-numbers__method {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* --- Öffentliche Hand --- */

.rc-verwaltung {
	padding-block: calc(var(--rc-exec-pad) + 80px) var(--rc-exec-pad);
	background: var(--rc-color-white);
}

.rc-verwaltung__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(2rem, 5vw, 5.5rem);
}

.rc-verwaltung__title {
	margin-top: 1.1rem;
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	line-height: 1.12;
	color: var(--rc-color-dark-navy);
}

.rc-verwaltung__chips {
	margin-top: 1.75rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.rc-verwaltung__chips span {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
	border: 1px solid rgba(2, 64, 89, 0.25);
	padding: 0.45rem 0.8rem;
}

.rc-verwaltung__copy {
	max-width: var(--rc-exec-text);
}

.rc-verwaltung__copy p {
	margin: 0;
}

.rc-verwaltung__copy p + p {
	margin-top: 1.1rem;
}

@media (max-width: 900px) {
	.rc-verwaltung__grid {
		grid-template-columns: 1fr;
	}
}

/* --- Ich-Block --- */

.rc-ichblock {
	background: var(--rc-exec-tint);
	border-block: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: var(--rc-exec-pad);
}

.rc-ichblock__grid {
	display: grid;
	grid-template-columns: minmax(280px, 440px) minmax(0, 1fr);
	gap: clamp(2.5rem, 5vw, 5.5rem);
	align-items: center;
}

.rc-ichblock__portrait {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.rc-ichblock__portrait--placeholder {
	background: linear-gradient(150deg, var(--rc-color-navy), var(--rc-color-dark-navy));
	display: flex;
	align-items: flex-end;
	padding: 1.25rem;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rc-ichblock__title {
	margin-top: 1.1rem;
	max-width: 22ch;
	font-size: clamp(1.8rem, 1.7vw + 1.1rem, 2.8rem);
	line-height: 1.12;
	color: var(--rc-color-dark-navy);
}

.rc-ichblock p {
	margin: 1.4rem 0 0;
	max-width: var(--rc-exec-text);
}

.rc-ichblock__link {
	margin-top: 1.2rem;
}

.rc-ichblock__link a {
	font-weight: 700;
	color: var(--rc-color-navy);
	text-underline-offset: 0.25em;
}

@media (max-width: 900px) {
	.rc-ichblock__grid {
		grid-template-columns: 1fr;
	}
}

/* --- Referenz-Band (nutzt rc-reference aus AP 3.3) --- */

.rc-reference-band {
	padding-block: var(--rc-exec-pad);
	background: var(--rc-color-white);
}

.rc-reference-band .rc-reference {
	max-width: 56rem;
	margin-inline: auto;
	background: transparent;
	border-radius: 0;
	padding-block: 0;
}

.rc-reference-band .rc-reference__quote p {
	font-size: clamp(1.5rem, 1.2vw + 1.1rem, 2.2rem);
	line-height: 1.42;
}

/* --- Prinzipien-Typoleiste --- */

.rc-principles {
	padding-block: 0 var(--rc-exec-pad);
	background: var(--rc-color-white);
}

.rc-principles__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	border-top: 1px solid rgba(2, 64, 89, 0.2);
}

.rc-principles__item {
	padding: 2.5rem 2rem 0 0;
}

.rc-principles__item + .rc-principles__item {
	border-left: 1px solid rgba(2, 64, 89, 0.12);
	padding-left: 2rem;
}

.rc-principles__title {
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
}

.rc-principles__text {
	margin-top: 0.75rem;
	font-size: 0.95rem;
	color: var(--rc-color-muted);
	max-width: 30ch;
}

@media (max-width: 900px) {
	.rc-principles__item + .rc-principles__item {
		border-left: 0;
		padding-left: 0;
	}
}

/* --- FAQ --- */

.rc-faq {
	background: var(--rc-exec-tint);
	border-top: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: var(--rc-exec-pad);
}

.rc-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}

.rc-faq__title {
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	line-height: 1.12;
	color: var(--rc-color-dark-navy);
}

.rc-faq__list details {
	border-top: 1px solid rgba(2, 64, 89, 0.18);
	padding: 1.5rem 0;
}

.rc-faq__list details:last-child {
	border-bottom: 1px solid rgba(2, 64, 89, 0.18);
}

.rc-faq__list summary {
	font-family: var(--rc-font-headline);
	font-size: 1.2rem;
	color: var(--rc-color-dark-navy);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: 44px;
	align-items: center;
}

.rc-faq__list summary::-webkit-details-marker {
	display: none;
}

.rc-faq__list summary::after {
	content: "+";
	font-family: var(--rc-font-body);
	color: var(--rc-color-navy);
	font-size: 1.5rem;
	line-height: 1;
	flex-shrink: 0;
}

.rc-faq__list details[open] summary::after {
	content: "–";
}

.rc-faq__list details p {
	margin: 1rem 0 0;
	max-width: 42rem;
	color: var(--rc-color-muted);
}

@media (max-width: 900px) {
	.rc-faq__grid {
		grid-template-columns: 1fr;
	}
}

/* --- CTA-Band Exec-Variante --- */

.rc-cta-band--exec .rc-cta-band__inner {
	padding-block: clamp(7rem, 13vh, 10rem);
}

.rc-cta-band__alt {
	display: block;
	margin-top: 1.2rem;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.95rem;
	text-underline-offset: 0.25em;
}

.rc-cta-band__alt:hover,
.rc-cta-band__alt:focus-visible {
	color: var(--rc-color-white);
}

.rc-cta-band--exec .rc-cta-band__actions {
	display: block;
	text-align: right;
}

@media (max-width: 1023px) {
	.rc-cta-band--exec .rc-cta-band__actions {
		text-align: left;
	}
}

/*
==============================================================================
AP 3.4c – Executive-Layout Kernleistungsseiten (Mock V2.1, abgenommen 10.07.2026)
Kapitel-Ebene: monumentale Kapitel-Ziffer + Blueprint-Detailcrop je Seite,
horizontale Registerzeilen (kein Karten-Grid), rotfreier Ergebnis-Block,
invertierte Überlappung Einstiegs-Panel → Ergebnis-Block, Rot max. 1×/Viewport.
Nur neue rc-sd-Selektoren (+ .rc-faq--white Modifier).
==============================================================================
*/

.rc-sd-eyebrow--navy {
	color: var(--rc-color-navy);
}

/* Neutralisiert globale Heading-Beschränkungen in den rc-sd-Sektionen. */
.rc-sd-hero h1,
.rc-sd-statement p,
.rc-sd-befunde h2,
.rc-sd-befunde h3,
.rc-sd-fields h2,
.rc-sd-verwaltung h2,
.rc-sd-result h2,
.rc-sd-panel h2 {
	max-width: none;
	margin: 0;
	overflow-wrap: normal;
	hyphens: manual;
}

/* --- Kapitel-Hero --- */

.rc-sd-hero {
	position: relative;
	overflow: hidden;
	color: var(--rc-color-white);
	background:
		radial-gradient(130% 170% at 85% -30%, rgba(2, 64, 89, 0.9), transparent 60%),
		linear-gradient(152deg, var(--rc-color-dark-navy) 10%, var(--rc-color-navy) 90%);
}

.rc-sd-hero__chapter {
	position: absolute;
	z-index: 1;
	right: clamp(-2rem, 2vw, 4rem);
	top: -4rem;
	font-family: var(--rc-font-headline);
	line-height: 1;
	font-size: clamp(11rem, 20vw, 20rem);
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.16);
	pointer-events: none;
	user-select: none;
}

.rc-sd-blueprint {
	position: absolute;
	right: -4%;
	top: -8%;
	height: 130%;
	z-index: 2;
	pointer-events: none;
	opacity: 0.9;
}

.rc-sd-blueprint--p02 {
	top: 12%;
	right: -8%;
}

.rc-sd-blueprint--p03 {
	top: -4%;
	right: -2%;
	height: 140%;
}

.rc-sd-hero__inner {
	position: relative;
	z-index: 3;
	padding-block: clamp(4rem, 9vh, 6.5rem);
	min-height: min(90vh, 54rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.rc-sd-hero__crumb {
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
}

.rc-sd-hero__crumb a {
	color: rgba(255, 255, 255, 0.5);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.rc-sd-hero__crumb a:hover,
.rc-sd-hero__crumb a:focus-visible {
	color: rgba(255, 255, 255, 0.85);
}

.rc-sd-hero__eyebrow {
	color: rgba(255, 255, 255, 0.72);
	margin-top: 1.4rem;
}

.rc-sd-hero__title {
	max-width: 24ch;
	margin-top: 1.1rem;
	font-size: clamp(2.4rem, 2.6vw + 0.6rem, 4rem);
	line-height: 1.12;
	color: rgba(255, 255, 255, 0.97);
	text-wrap: balance;
}

@media (min-width: 1600px) {

	.rc-sd-hero__title {
		max-width: 34ch;
	}
}

.rc-sd-hero__lead {
	max-width: var(--rc-exec-text);
	margin-top: 1.9rem;
	font-size: clamp(1.08rem, 0.35vw + 1rem, 1.26rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.86);
}

.rc-sd-hero__actions {
	margin-top: 2.5rem;
}

.rc-sd-hero__entity {
	max-width: var(--rc-exec-text);
	margin-top: 3.2rem;
	margin-bottom: 0;
	font-size: 0.95rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 1000px) {

	.rc-sd-blueprint {
		height: 58%;
		top: 0 !important;
		right: -18% !important;
		opacity: 0.75;
	}

	.rc-sd-blueprint--result {
		display: none;
	}

	.rc-sd-hero__chapter {
		font-size: clamp(7rem, 26vw, 11rem);
		top: -1.5rem;
		right: 0.25rem;
		-webkit-text-stroke-width: 1px;
	}
}

/* --- Problem-Statement (eine Typo-Stufe unter der Detail-H1) --- */

.rc-sd-statement {
	padding-block: var(--rc-exec-pad);
	text-align: center;
}

.rc-sd-statement__rule {
	width: 40px;
	height: 2px;
	background: var(--rc-color-accent);
	margin: 0 auto 2rem;
}

.rc-sd-statement__text {
	font-family: var(--rc-font-headline);
	font-weight: 400;
	font-size: clamp(1.7rem, 1.8vw + 0.9rem, 2.9rem);
	line-height: 1.3;
	max-width: 30ch;
	margin-inline: auto;
	text-wrap: balance;
	color: var(--rc-color-dark-navy);
}

/* --- Befund-Register --- */

.rc-sd-befunde {
	background: var(--rc-exec-tint);
	border-top: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: var(--rc-exec-pad);
}

.rc-sd-befunde__title {
	margin-top: 1rem;
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
	max-width: 24ch;
}

.rc-sd-befunde__list {
	max-width: 46rem;
	margin-top: 3rem;
}

.rc-sd-befunde__reg {
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: 2.1rem;
}

.rc-sd-befunde__reg:last-child {
	border-bottom: 1px solid rgba(2, 64, 89, 0.2);
}

.rc-sd-befunde__reg h3 {
	font-family: var(--rc-font-headline);
	font-weight: 400;
	font-size: clamp(1.35rem, 0.8vw + 1rem, 1.8rem);
	line-height: 1.25;
	color: var(--rc-color-dark-navy);
	max-width: 26ch;
}

.rc-sd-befunde__reg p {
	margin: 0.8rem 0 0;
	color: var(--rc-color-muted);
	max-width: 42rem;
}

/* --- Arbeitsfelder: horizontale Registerzeilen --- */

.rc-sd-fields {
	padding-block: var(--rc-exec-pad);
}

.rc-sd-fields__title {
	margin-top: 1rem;
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
	max-width: 26ch;
}

.rc-sd-fields__rows {
	margin-top: 3rem;
	border-top: 1px solid rgba(2, 64, 89, 0.2);
}

.rc-sd-frow {
	display: grid;
	grid-template-columns: minmax(110px, 190px) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 3rem);
	border-bottom: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: clamp(2rem, 3vw, 2.9rem);
	transition: transform 0.3s ease;
}

.rc-sd-frow:hover {
	transform: translateX(8px);
}

.rc-sd-frow__num {
	font-family: var(--rc-font-headline);
	font-size: clamp(4rem, 4.5vw + 1.5rem, 7rem);
	line-height: 0.9;
	color: rgba(2, 64, 89, 0.15);
}

.rc-sd-frow__name {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
}

.rc-sd-frow__stat {
	font-family: var(--rc-font-headline);
	font-size: clamp(1.25rem, 0.6vw + 1.05rem, 1.6rem);
	line-height: 1.32;
	color: var(--rc-color-dark-navy);
	margin: 0.7rem 0 0;
	max-width: 34ch;
}

.rc-sd-frow__text {
	margin: 0.85rem 0 0;
	color: var(--rc-color-muted);
	max-width: 42rem;
	font-size: 0.99rem;
}

.rc-sd-frow__text a {
	color: var(--rc-color-navy);
	font-weight: 700;
	text-underline-offset: 0.25em;
}

.rc-sd-ghost {
	display: inline-block;
	margin-top: 2.4rem;
	color: var(--rc-color-navy);
	font-weight: 700;
	text-underline-offset: 0.3em;
}

@media (max-width: 700px) {

	.rc-sd-frow {
		grid-template-columns: 1fr;
		gap: 0.9rem;
	}

	.rc-sd-frow__num {
		font-size: 4.5rem;
	}
}

/* --- Verwaltungs-Passage (nur Seiten mit Konfiguration) --- */

.rc-sd-verwaltung {
	background: var(--rc-exec-tint);
	border-top: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: clamp(4.5rem, 8vh, 7rem);
}

.rc-sd-verwaltung__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(2rem, 5vw, 5.5rem);
}

.rc-sd-verwaltung__title {
	margin-top: 0.9rem;
	font-size: clamp(1.55rem, 1.2vw + 1rem, 2.2rem);
	color: var(--rc-color-dark-navy);
}

.rc-sd-verwaltung__chips {
	margin-top: 1.6rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.rc-sd-verwaltung__chips span {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
	border: 1px solid rgba(2, 64, 89, 0.25);
	padding: 0.45rem 0.8rem;
}

.rc-sd-verwaltung__copy {
	max-width: var(--rc-exec-text);
}

.rc-sd-verwaltung__copy p {
	margin: 0;
}

.rc-sd-verwaltung__copy p + p {
	margin-top: 1.05rem;
}

@media (max-width: 900px) {

	.rc-sd-verwaltung__grid {
		grid-template-columns: 1fr;
	}
}

/* --- Ergebnis-Block (dunkel, rotfrei) --- */

.rc-sd-result {
	position: relative;
	overflow: hidden;
	color: var(--rc-color-white);
	background: linear-gradient(140deg, var(--rc-color-navy) 5%, var(--rc-color-dark-navy) 95%);
	padding-block: var(--rc-exec-pad) calc(var(--rc-exec-pad) + 90px);
}

.rc-sd-blueprint--result {
	top: auto !important;
	bottom: -25%;
	right: -8% !important;
	height: 115% !important;
	opacity: 0.18 !important;
	z-index: 1;
}

.rc-sd-result__inner {
	position: relative;
	z-index: 2;
}

.rc-sd-result__eyebrow {
	color: rgba(255, 255, 255, 0.6);
}

.rc-sd-result__title {
	margin-top: 1rem;
	font-size: clamp(1.7rem, 1.5vw + 1.1rem, 2.6rem);
	max-width: 24ch;
	color: rgba(255, 255, 255, 0.97);
}

.rc-sd-result__copy {
	max-width: var(--rc-exec-text);
	margin: 1.6rem 0 0;
	color: rgba(255, 255, 255, 0.82);
}

.rc-sd-result__vignette {
	max-width: var(--rc-exec-text);
	margin-top: 2.4rem;
	padding-left: 1.25rem;
	border-left: 2px solid rgba(255, 255, 255, 0.35);
}

.rc-sd-result__veyebrow {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.rc-sd-result__vignette p:not(.rc-sd-result__veyebrow) {
	margin: 0.7rem 0 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.99rem;
}

.rc-sd-result__vlink {
	display: inline-block;
	margin-top: 0.8rem;
	color: var(--rc-color-white);
	font-weight: 700;
	font-size: 0.92rem;
	text-underline-offset: 0.25em;
}

.rc-sd-result__kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
	margin-top: 3.2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	padding-top: 2.2rem;
	max-width: 60rem;
}

.rc-sd-result__k {
	margin: 0;
	font-family: var(--rc-font-headline);
	font-size: clamp(1.4rem, 1vw + 1rem, 1.9rem);
	line-height: 1.2;
	color: var(--rc-color-white);
}

.rc-sd-result__l {
	margin: 0.6rem 0 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.5;
}

@media (max-width: 700px) {

	.rc-sd-result__kpis {
		grid-template-columns: 1fr;
	}
}

/* --- Einstiegs-Panel + Geschwister-Typoleiste --- */

.rc-sd-einstieg {
	background: var(--rc-exec-tint);
	padding-block: 0 var(--rc-exec-pad);
}

.rc-sd-panel {
	position: relative;
	z-index: 3;
	margin-top: -90px;
	max-width: 56rem;
	background: var(--rc-color-white);
	border: 1px solid rgba(2, 64, 89, 0.18);
	padding: clamp(2.2rem, 3vw, 3.25rem);
}

.rc-sd-panel__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: clamp(1.25rem, 2.5vw, 2.25rem);
}

.rc-sd-panel__head img {
	width: clamp(76px, 9vw, 108px);
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	flex-shrink: 0;
	filter: grayscale(12%);
}

.rc-sd-panel__title {
	margin-top: 0.9rem;
	font-size: clamp(1.55rem, 1.2vw + 1rem, 2.2rem);
	color: var(--rc-color-dark-navy);
	max-width: 20ch;
}

.rc-sd-panel p {
	margin: 1.1rem 0 0;
	color: var(--rc-color-text);
	max-width: 42rem;
}

.rc-sd-panel ul {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	max-width: 42rem;
}

.rc-sd-panel li {
	position: relative;
	padding-left: 1.2rem;
	margin-top: 0.45rem;
}

.rc-sd-panel li::before {
	content: "–";
	position: absolute;
	left: 0;
	color: var(--rc-color-navy);
	font-weight: 700;
}

.rc-sd-panel__hand {
	color: var(--rc-color-muted) !important;
	font-size: 0.97rem;
}

.rc-sd-panel__actions {
	margin-top: 1.8rem;
	display: flex;
	gap: 1.5rem;
	align-items: center;
	flex-wrap: wrap;
}

.rc-sd-panel__vorgehen {
	font-weight: 700;
	color: var(--rc-color-navy);
	font-size: 0.95rem;
	text-underline-offset: 0.25em;
}

.rc-sd-siblings {
	margin-top: clamp(3.5rem, 6vw, 5rem);
}

.rc-sd-siblings__rows {
	margin-top: 1.4rem;
}

.rc-sd-srow {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1.5rem;
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: 1.4rem;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.rc-sd-srow:last-of-type {
	border-bottom: 1px solid rgba(2, 64, 89, 0.2);
}

a.rc-sd-srow:hover,
a.rc-sd-srow:focus-visible {
	transform: translateX(8px);
}

.rc-sd-srow__num {
	font-family: var(--rc-font-headline);
	font-size: 2.2rem;
	line-height: 1;
	color: rgba(2, 64, 89, 0.25);
	flex-shrink: 0;
}

.rc-sd-srow__name {
	font-family: var(--rc-font-headline);
	font-size: clamp(1.15rem, 0.5vw + 1rem, 1.45rem);
	color: var(--rc-color-dark-navy);
	flex-grow: 1;
}

.rc-sd-srow__arr {
	font-family: var(--rc-font-headline);
	color: var(--rc-color-navy);
	opacity: 0.5;
}

@media (max-width: 700px) {

	.rc-sd-panel {
		margin-top: -48px;
	}

	.rc-sd-result {
		padding-bottom: calc(var(--rc-exec-pad) + 56px);
	}

	.rc-sd-panel__head {
		flex-direction: column-reverse;
	}
}

/* --- FAQ auf weißem Grund (Rhythmus Kernleistungsseiten) --- */

.rc-faq--white {
	background: var(--rc-color-white);
}

/*
==============================================================================
Stufe 2a: Vorgehen + Ueber mich (AP 3.5)
Executive-Muster V2.1, Mocks abgenommen 11.07.2026. Nur neue Selektoren
(rc-vg-* Vorgehen, rc-um-* Ueber mich, rc-bpx Blueprint-Crops, rc-exec-btn--
ghost); vorhandene Bausteine (rc-sd-hero, rc-sd-statement, rc-faq, rc-cta-band,
rc-exec-*) werden wiederverwendet und nicht veraendert.
==============================================================================
*/

:root {
	--rc-color-blueprint: #4e798b;
}

/* Neutralisiert globale Heading-Beschränkungen in den Stufe-2a-Sektionen. */
.rc-vg-phasen h2,
.rc-vg-prow h3,
.rc-vg-fundament h2,
.rc-vg-sbest h2,
.rc-vg-entsch h2,
.rc-vg-prinz h2 {
	max-width: none;
	margin: 0;
	overflow-wrap: normal;
	hyphens: manual;
}

/* --- Ghost-Button (dezenter Hero-CTA auf Navy) --- */

.rc-exec-btn--ghost {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.45);
}

.rc-exec-btn--ghost:hover,
.rc-exec-btn--ghost:focus-visible {
	background: var(--rc-color-white);
	border-color: var(--rc-color-white);
	color: var(--rc-color-dark-navy);
}

/* --- Blueprint-Crops (Flügel-Grammatik V2.1, Stufe-2a-Auftritte) --- */

.rc-bpx {
	position: absolute;
	pointer-events: none;
	z-index: 1;
}

/* --- A1 Hero: Phasenlinie mit Mikro-Labels --- */

.rc-vg-phaseline {
	position: relative;
	margin-top: 2.7rem;
	max-width: 36rem;
}

.rc-vg-phaseline__track {
	position: absolute;
	left: 0;
	right: 0;
	top: 2px;
	height: 1px;
	background: rgba(255, 255, 255, 0.35);
}

.rc-vg-phaseline__labels {
	position: relative;
	display: flex;
	justify-content: space-between;
}

.rc-vg-phaseline__labels span {
	position: relative;
	padding-top: 0.9rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
}

.rc-vg-phaseline__labels span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 4px;
	background: rgba(255, 255, 255, 0.8);
}

.rc-vg-phaseline__labels span:nth-child(2)::before {
	left: 50%;
	margin-left: -2px;
}

.rc-vg-phaseline__labels span:last-child::before {
	left: auto;
	right: 0;
}

/* --- A2 Statement: breiteres Zeilenmaß + Unterzeile --- */

.rc-vg-statement .rc-sd-statement__text {
	max-width: 48ch;
}

p.rc-vg-statement__sub {
	margin: 1.5rem auto 0;
	font-family: var(--rc-font-body);
	font-size: 1rem;
	color: var(--rc-color-muted);
	max-width: 44ch;
}

/* --- A3 Drei Phasen: Ghost-Ziffern blueprint-blau, vertikale Phasenlinie --- */

.rc-vg-phasen {
	position: relative;
	padding-block: var(--rc-exec-pad);
}

.rc-vg-phasen .rc-exec-container {
	position: relative;
}

.rc-vg-phasen .rc-exec-container::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: calc(-1 * var(--rc-exec-pad));
	bottom: calc(-1 * var(--rc-exec-pad));
	left: calc(clamp(1.25rem, 4vw, 3rem) - 16px);
	width: 1px;
	background: var(--rc-color-blueprint);
}

h2.rc-vg-phasen__title {
	margin-top: 1rem;
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
	max-width: 26ch;
}

.rc-vg-phasen__rows {
	margin-top: 3rem;
	border-top: 1px solid rgba(2, 64, 89, 0.2);
}

.rc-vg-prow {
	position: relative;
	display: grid;
	grid-template-columns: minmax(120px, 170px) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 3rem);
	border-bottom: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: clamp(2rem, 3vw, 2.9rem);
}

.rc-vg-prow::before {
	content: "";
	position: absolute;
	left: -18px;
	top: calc(clamp(2rem, 3vw, 2.9rem) + 2.2rem);
	width: 4px;
	height: 4px;
	background: var(--rc-color-blueprint);
}

.rc-vg-prow__label {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
}

.rc-vg-prow__num {
	font-family: var(--rc-font-headline);
	font-size: clamp(96px, 7vw + 20px, 120px);
	line-height: 0.95;
	color: rgba(78, 121, 139, 0.5);
	margin-top: 0.3rem;
}

.rc-vg-prow h3 {
	font-size: clamp(1.35rem, 0.8vw + 1rem, 1.8rem);
	line-height: 1.12;
	color: var(--rc-color-dark-navy);
}

.rc-vg-prow__stat {
	font-family: var(--rc-font-headline);
	font-style: italic;
	font-size: clamp(22px, 0.5vw + 15px, 26px);
	line-height: 1.35;
	color: var(--rc-color-navy);
	margin: 0.6rem 0 0;
	max-width: 36ch;
}

.rc-vg-prow__text {
	margin: 0.85rem 0 0;
	color: var(--rc-color-muted);
	max-width: 42rem;
	font-size: clamp(17px, 0.2vw + 15px, 18px);
}

.rc-vg-prow__text a {
	color: var(--rc-color-navy);
	font-weight: 700;
	text-underline-offset: 0.25em;
}

.rc-vg-prow__op {
	margin: 1.15rem 0 0;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
	line-height: 1.9;
	max-width: 42rem;
}

.rc-vg-prow__opl {
	color: rgba(78, 121, 139, 0.95);
	margin-right: 1.1em;
}

.rc-vg-phasen__erkl {
	margin: 2.4rem 0 0;
	color: var(--rc-color-muted);
	max-width: 44rem;
	font-size: clamp(17px, 0.2vw + 15px, 18px);
}

.rc-vg-phasen__abbinder {
	margin: 2.4rem 0 0;
	font-family: var(--rc-font-headline);
	font-size: 1.1rem;
	color: var(--rc-color-dark-navy);
	max-width: 44rem;
}

.rc-vg-phasen__erkl + .rc-vg-phasen__abbinder {
	margin-top: 1.5rem;
}

@media (max-width: 1000px) {

	.rc-vg-phasen .rc-exec-container::before {
		left: 6px;
	}

	.rc-vg-prow::before {
		width: 3px;
		height: 3px;
		left: -15px;
	}

	.rc-vg-prow {
		grid-template-columns: 1fr;
		gap: 0.8rem;
	}

	.rc-vg-prow__num {
		font-size: 4.5rem;
	}
}

/* --- A4 Fundament: Reifegradmodell (Tint, 7/10/1-Zeile) --- */

.rc-vg-fundament {
	background: var(--rc-exec-tint);
	border-top: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: var(--rc-exec-pad);
}

h2.rc-vg-fundament__title {
	margin-top: 1rem;
	font-size: clamp(28px, 1vw + 16px, 36px);
	color: var(--rc-color-dark-navy);
	max-width: 30ch;
}

.rc-vg-fundament__zeile {
	margin: 2.2rem 0 0;
	font-family: var(--rc-font-headline);
	font-size: clamp(24px, 1vw + 14px, 32px);
	color: rgba(2, 64, 89, 0.55);
	letter-spacing: 0.06em;
	max-width: none;
}

.rc-vg-fundament__zeile small {
	display: block;
	margin-top: 0.35rem;
	font-family: var(--rc-font-body);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
}

.rc-vg-fundament__copy {
	margin: 2.2rem 0 0;
	max-width: 70rem;
	color: var(--rc-color-text);
}

@media (min-width: 1200px) {

	.rc-vg-fundament__copy {
		columns: 2;
		column-gap: clamp(2.5rem, 4vw, 4rem);
	}
}

.rc-vg-fundament__anker {
	margin: 2.6rem 0 0;
	border-top: 1px solid rgba(2, 64, 89, 0.3);
	padding-top: 1.4rem;
	max-width: 46rem;
	font-size: 0.95rem;
	color: var(--rc-color-muted);
}

.rc-vg-fundament__anker a {
	color: var(--rc-color-navy);
	font-weight: 700;
	text-underline-offset: 0.25em;
}

/* --- A5 Standortbestimmung: Navy + weißes Panel (80px Überstand nach oben) --- */

.rc-vg-sbest {
	position: relative;
	color: var(--rc-color-white);
	background: linear-gradient(140deg, var(--rc-color-navy) 5%, var(--rc-color-dark-navy) 95%);
	padding-block: 0 var(--rc-exec-pad);
}

.rc-vg-sbest__grid {
	display: flex;
	gap: clamp(2rem, 4vw, 4.5rem);
	align-items: flex-start;
}

.rc-vg-sbest__col {
	flex: 0 0 32%;
	padding-top: var(--rc-exec-pad);
}

.rc-vg-sbest__eyebrow {
	color: rgba(255, 255, 255, 0.6);
}

h2.rc-vg-sbest__title {
	margin-top: 1rem;
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: rgba(255, 255, 255, 0.97);
}

.rc-vg-spanel {
	flex: 1;
	margin-top: -80px;
	position: relative;
	z-index: 3;
	background: var(--rc-color-white);
	color: var(--rc-color-text);
	border: 1px solid rgba(2, 64, 89, 0.18);
	padding: clamp(2rem, 3vw, 3rem);
}

.rc-vg-spanel__step {
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: 1.5rem;
}

.rc-vg-spanel__slabel {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
}

.rc-vg-spanel__stext {
	margin: 0.5rem 0 0;
	color: var(--rc-color-muted);
	font-size: 0.99rem;
	max-width: 42rem;
}

.rc-vg-spanel__stext strong {
	color: var(--rc-color-dark-navy);
}

.rc-vg-sbest__abbinder {
	margin: 2.6rem 0 0;
	font-family: var(--rc-font-headline);
	font-size: 1.08rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	max-width: 46rem;
}

.rc-vg-sbest__actions {
	margin-top: 1.8rem;
	display: flex;
	gap: 1.1rem;
	align-items: center;
	flex-wrap: wrap;
}

.rc-vg-sbest__alt {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.95rem;
}

@media (max-width: 900px) {

	.rc-vg-sbest__grid {
		flex-direction: column;
		gap: 0;
	}

	.rc-vg-sbest__col {
		flex: none;
		width: 100%;
		padding-top: clamp(3rem, 6vh, 4rem);
	}

	.rc-vg-spanel {
		margin-top: 1.8rem;
		width: 100%;
	}
}

/* --- A5 Entscheidungsbox „Ihr Aufwand“: kompakte Tabelle im Panel --- */

.rc-vg-aufwand {
	margin-top: 1.6rem;
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	padding-top: 1.5rem;
}

.rc-vg-aufwand table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 0.9rem;
	table-layout: fixed;
}

.rc-vg-aufwand th,
.rc-vg-aufwand td {
	text-align: left;
	vertical-align: top;
	padding: 0.7rem 0;
	border-top: 1px solid rgba(2, 64, 89, 0.14);
	overflow-wrap: break-word;
}

.rc-vg-aufwand tr:first-child th,
.rc-vg-aufwand tr:first-child td {
	border-top: 0;
	padding-top: 0.2rem;
}

.rc-vg-aufwand th {
	font-family: var(--rc-font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
	width: 36%;
	padding-right: 1.4rem;
	padding-top: 0.85rem;
}

.rc-vg-aufwand tr:first-child th {
	padding-top: 0.35rem;
}

.rc-vg-aufwand td {
	color: var(--rc-color-text);
	font-size: 0.95rem;
	line-height: 1.55;
}

@media (max-width: 600px) {

	.rc-vg-aufwand table,
	.rc-vg-aufwand tbody,
	.rc-vg-aufwand tr,
	.rc-vg-aufwand th,
	.rc-vg-aufwand td {
		display: block;
		width: 100%;
	}

	.rc-vg-aufwand tr {
		border-top: 1px solid rgba(2, 64, 89, 0.14);
		padding-block: 0.75rem;
	}

	.rc-vg-aufwand tr:first-child {
		border-top: 0;
		padding-top: 0.2rem;
	}

	.rc-vg-aufwand th,
	.rc-vg-aufwand td {
		border-top: 0;
		padding: 0;
	}

	.rc-vg-aufwand tr:first-child th {
		padding-top: 0;
	}

	.rc-vg-aufwand th {
		margin-bottom: 0.3rem;
	}
}

/* --- A5b Entscheidungs-Liste (weiß, stille Typo-Liste, 2-spaltig ab 900px) --- */

.rc-vg-entsch {
	padding-block: var(--rc-exec-pad);
}

h2.rc-vg-entsch__title {
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
	max-width: 30ch;
}

.rc-vg-entsch__list {
	list-style: none;
	margin: 2.6rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 clamp(2.5rem, 5vw, 5rem);
	max-width: 70rem;
}

@media (min-width: 900px) {

	.rc-vg-entsch__list {
		grid-template-columns: 1fr 1fr;
	}
}

.rc-vg-entsch__list li {
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: 1.1rem;
	color: var(--rc-color-muted);
	font-size: 0.99rem;
	max-width: none;
}

/* --- A6 Arbeitsprinzipien: stille 4er-Typo-Leiste (2×2 ab 800px) --- */

.rc-vg-prinz {
	padding-block: var(--rc-exec-pad);
}

.rc-vg-prinz__title {
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
}

.rc-vg-prinz__grid {
	margin-top: 2.6rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 clamp(2.5rem, 5vw, 5rem);
	max-width: 70rem;
}

@media (min-width: 800px) {

	.rc-vg-prinz__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.rc-vg-prinz__item {
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: 1.6rem;
}

.rc-vg-prinz__item p {
	margin: 0;
	max-width: 38rem;
	color: var(--rc-color-muted);
	font-size: 0.99rem;
}

.rc-vg-prinz__item strong {
	color: var(--rc-color-dark-navy);
	font-size: 1.05rem;
}

/* --- B: Über mich (rc-um-*) --- */

/* Neutralisiert globale Heading-Beschränkungen in den rc-um-Sektionen. */
.rc-um-statement p,
.rc-um-stationen h2,
.rc-um-quali h2,
.rc-um-haltung h2,
.rc-um-hrow h3,
.rc-um-passung h2,
.rc-um-passung h3,
.rc-um-schluss h2 {
	max-width: none;
	margin: 0;
	overflow-wrap: normal;
	hyphens: manual;
}

/* --- B1 Hero: übertretendes Porträt, Blueprint-Spant-Crop links --- */

.rc-um-hero {
	overflow: visible;
}

.rc-um-hero__bpclip {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}

.rc-bpx--left {
	left: -2%;
	top: -12%;
	height: 130%;
	opacity: 0.62;
}

.rc-um-hero__content {
	max-width: 60%;
}

.rc-um-hero .rc-sd-hero__title {
	max-width: none;
}

.rc-um-hero .rc-sd-hero__lead {
	max-width: 32rem;
}

.rc-um-hero__entity {
	max-width: 36rem;
}

.rc-um-hero__entity a {
	color: rgba(255, 255, 255, 0.85);
	font-weight: 700;
	text-underline-offset: 0.25em;
}

.rc-um-portrait {
	position: absolute;
	z-index: 5;
	top: 0;
	bottom: -80px;
	right: clamp(1.25rem, 4vw, 3rem);
	width: calc((100% - 2 * clamp(1.25rem, 4vw, 3rem)) / 3);
	margin: 0;
	border: 1px solid rgba(78, 121, 139, 0.9);
	background: var(--rc-color-dark-navy);
	overflow: hidden;
}

.rc-um-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 18%;
	display: block;
	filter: grayscale(35%) saturate(0.95) contrast(1.03);
}

.rc-um-portrait::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(2, 64, 89, 0.3);
	mix-blend-mode: multiply;
}

@media (max-width: 1000px) {

	.rc-bpx--left {
		height: 56%;
		top: 0;
		left: -14%;
		opacity: 0.75;
	}

	.rc-um-hero__content {
		max-width: none;
	}

	.rc-um-portrait {
		position: static;
		width: min(62vw, 330px);
		height: 55vw;
		max-height: 55vw;
		margin: 1.6rem calc(-1 * clamp(1.25rem, 4vw, 3rem)) 0 auto;
	}
}

/* B1 H1 (Review-Fassung, länger): ab 1366 eine Clamp-Stufe kleiner,
   bevor vier Zeilen entstehen. */
@media (min-width: 1366px) {

	.rc-um-hero .rc-sd-hero__title {
		font-size: clamp(2.2rem, 1.2vw + 1.15rem, 2.6rem);
	}
}

/* --- B2 Statement: links, kollisionsfrei zum Porträt --- */

.rc-um-statement {
	padding-block: var(--rc-exec-pad);
}

.rc-um-statement__rule {
	width: 40px;
	height: 2px;
	background: var(--rc-color-accent);
	margin: 0 0 2rem;
}

p.rc-um-statement__text {
	font-family: var(--rc-font-headline);
	font-weight: 400;
	font-size: clamp(32px, 1vw + 26px, 44px);
	line-height: 1.28;
	color: var(--rc-color-dark-navy);
	max-width: 58.33%;
}

@media (max-width: 1000px) {

	p.rc-um-statement__text {
		max-width: none;
	}
}

/* --- B3 Stationen: Register mit Caps-Labels, keine Ziffern --- */

.rc-um-stationen {
	border-top: 1px solid rgba(2, 64, 89, 0.08);
	padding-block: var(--rc-exec-pad);
}

h2.rc-um-stationen__title {
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
	max-width: 26ch;
}

.rc-um-stationen__rows {
	margin-top: 3rem;
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	max-width: 70rem;
}

.rc-um-strow {
	display: grid;
	grid-template-columns: minmax(120px, 200px) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 3rem);
	border-bottom: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: clamp(1.8rem, 2.6vw, 2.5rem);
}

.rc-um-strow__label {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
	padding-top: 0.2rem;
}

.rc-um-strow__name {
	margin: 0;
	font-weight: 700;
	color: var(--rc-color-dark-navy);
	font-size: 1.08rem;
}

.rc-um-strow__text {
	margin: 0.5rem 0 0;
	color: var(--rc-color-muted);
	max-width: 46rem;
	font-size: clamp(17px, 0.2vw + 15px, 18px);
}

.rc-um-stationen__bruecke {
	margin: 2rem 0 0;
	color: var(--rc-color-muted);
	font-size: 0.95rem;
	max-width: 46rem;
}

.rc-um-stationen__bruecke a {
	color: var(--rc-color-navy);
	font-weight: 700;
	text-underline-offset: 0.25em;
}

@media (max-width: 700px) {

	.rc-um-strow {
		grid-template-columns: 1fr;
		gap: 0.6rem;
	}
}

/* --- B4 Qualifikationen: schmales Tint-Band, eine Typo-Zeile --- */

.rc-um-quali {
	background: var(--rc-exec-tint);
	border-block: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: clamp(2.2rem, 4vh, 3.2rem);
}

.rc-um-quali__title {
	font-family: var(--rc-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
}

.rc-um-quali__line {
	margin: 0.9rem 0 0;
	font-family: var(--rc-font-headline);
	font-size: clamp(18px, 0.3vw + 16px, 20px);
	color: var(--rc-color-dark-navy);
	line-height: 1.6;
	max-width: 64rem;
}

/* --- B5 Haltung: asymmetrische Werte-Register 4/7 --- */

.rc-um-haltung {
	padding-block: var(--rc-exec-pad);
}

.rc-um-haltung__title {
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
}

.rc-um-haltung__rows {
	margin-top: 2.8rem;
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	max-width: 76rem;
}

.rc-um-hrow {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: clamp(1.5rem, 6vw, 6rem);
	border-bottom: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: clamp(1.8rem, 2.6vw, 2.6rem);
}

.rc-um-hrow h3 {
	font-size: clamp(1.3rem, 0.7vw + 1rem, 1.7rem);
	line-height: 1.12;
	color: var(--rc-color-dark-navy);
}

.rc-um-hrow p {
	margin: 0;
	color: var(--rc-color-muted);
	font-size: clamp(17px, 0.2vw + 15px, 18px);
	max-width: 44rem;
}

@media (max-width: 700px) {

	.rc-um-hrow {
		grid-template-columns: 1fr;
		gap: 0.6rem;
	}
}

/* --- B5b Passung: zweispaltige stille Typo-Listen ab 900px (Tint) --- */

.rc-um-passung {
	background: var(--rc-exec-tint);
	border-top: 1px solid rgba(2, 64, 89, 0.1);
	padding-block: var(--rc-exec-pad);
}

h2.rc-um-passung__title {
	font-size: clamp(1.7rem, 1.4vw + 1.1rem, 2.5rem);
	color: var(--rc-color-dark-navy);
	max-width: 26ch;
}

.rc-um-passung__cols {
	margin-top: 2.8rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.4rem clamp(2.5rem, 5vw, 5rem);
	max-width: 76rem;
}

@media (min-width: 900px) {

	.rc-um-passung__cols {
		grid-template-columns: 1fr 1fr;
		gap: 0 clamp(2.5rem, 5vw, 5rem);
		align-items: start;
	}
}

.rc-um-passung h3 {
	margin: 0 0 1rem;
	font-family: var(--rc-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
}

.rc-um-passung ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rc-um-passung li {
	border-top: 1px solid rgba(2, 64, 89, 0.2);
	padding-block: 0.95rem;
	color: var(--rc-color-muted);
	font-size: 0.99rem;
	max-width: none;
}

/* --- B6 Navy-Schlussblock mit integriertem CTA, Blueprint-Naben-Crop --- */

.rc-um-schluss {
	position: relative;
	overflow: hidden;
	color: var(--rc-color-white);
	background: linear-gradient(140deg, var(--rc-color-navy) 5%, var(--rc-color-dark-navy) 95%);
	padding-block: var(--rc-exec-pad);
}

.rc-um-schluss__inner {
	position: relative;
	z-index: 2;
}

.rc-um-schluss__eyebrow {
	color: rgba(255, 255, 255, 0.6);
}

h2.rc-um-schluss__title {
	margin-top: 1rem;
	font-size: clamp(28px, 1vw + 16px, 36px);
	color: rgba(255, 255, 255, 0.97);
	max-width: 28ch;
}

.rc-um-schluss__copy {
	margin: 1.6rem 0 0;
	max-width: 44rem;
	color: rgba(255, 255, 255, 0.85);
}

.rc-um-schluss__ctaline {
	margin: 2.4rem 0 0;
	font-family: var(--rc-font-headline);
	font-size: 1.15rem;
	color: rgba(255, 255, 255, 0.92);
	max-width: 44rem;
}

.rc-um-schluss__actions {
	margin-top: 1.4rem;
	display: flex;
	gap: 1.4rem;
	align-items: center;
	flex-wrap: wrap;
}

.rc-um-schluss__li {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.95rem;
	text-underline-offset: 0.25em;
}

.rc-um-schluss__li:hover,
.rc-um-schluss__li:focus-visible {
	color: var(--rc-color-white);
}

.rc-bpx--schluss {
	right: -8%;
	bottom: -18%;
	top: auto;
	height: 115%;
	opacity: 0.9;
}

@media (max-width: 1000px) {

	.rc-bpx--schluss {
		height: 55%;
		opacity: 0.6;
		right: -22%;
	}
}

/* =========================================================================
 * Startseite V1.2 (Stufe 2c) – Front-Page-Sektionen. An main.css anhängen.
 * Blueprint-Register/Ghost-Ziffern/Tint nach approbiertem Mock (12.07.2026).
 * Namespaced .rc-fp-* – kollidiert nicht mit Bestandsklassen.
 * ========================================================================= */
:root{--rc-fp-pad:clamp(4.5rem,9vh,8rem)}

.rc-fp-inner{max-width:var(--rc-container-standard);margin-inline:auto;padding-inline:var(--rc-container-pad)}
.rc-fp-eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rc-color-navy)}
.rc-fp-muster h2,.rc-fp-voraus h2,.rc-fp-phasen h2,.rc-fp-person h2{font-family:var(--rc-font-headline);font-weight:400;margin-top:1rem;font-size:clamp(1.7rem,1.4vw + 1.1rem,2.5rem);line-height:1.12;color:var(--rc-color-dark-navy);max-width:26ch}
.rc-fp-intro{margin-top:1.2rem;color:var(--rc-color-muted);max-width:46rem;font-size:clamp(1.0625rem,.2vw + 1rem,1.125rem);line-height:1.6}
.rc-fp-tlink{display:inline-block;margin-top:.55rem;color:var(--rc-color-navy);font-weight:700;font-size:.9rem;text-decoration:none;border-bottom:1px solid rgba(2,64,89,.35)}
.rc-fp-tlink:hover,.rc-fp-tlink:focus-visible{border-bottom-color:var(--rc-color-navy)}

/* Hero-Entity-Absatz (kleiner, hell auf Navy) */
.rc-hero__entity{max-width:var(--rc-container-text);margin-top:2.6rem;font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.72)}
.rc-hero__entity a{color:rgba(255,255,255,.9);font-weight:700;text-underline-offset:.2em}

/* H1b Statement (Serif, rote Akzentlinie) */
.rc-fp-statement{padding-block:var(--rc-fp-pad);text-align:center}
.rc-fp-statement__rule{width:40px;height:2px;background:var(--rc-color-accent);margin:0 auto 2rem}
.rc-fp-statement p{font-family:var(--rc-font-headline);font-weight:400;font-size:clamp(28px,1vw + 22px,44px);line-height:1.3;max-width:48ch;margin-inline:auto;color:var(--rc-color-dark-navy);text-wrap:balance}

/* S1 Muster-Register */
.rc-fp-muster{padding-block:var(--rc-fp-pad)}
.rc-fp-muster__grid{margin-top:2.6rem;display:grid;grid-template-columns:1fr;gap:0 clamp(2.5rem,5vw,5rem);max-width:76rem}
@media(min-width:900px){.rc-fp-muster__grid{grid-template-columns:1fr 1fr}}
.rc-fp-muster__item{border-top:1px solid rgba(2,64,89,.2);padding-block:1.5rem}
.rc-fp-muster__label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rc-color-navy)}
.rc-fp-muster__item h3{font-family:var(--rc-font-headline);font-weight:400;margin-top:.5rem;font-size:clamp(1.15rem,.5vw + 1rem,1.35rem);color:var(--rc-color-dark-navy)}
.rc-fp-muster__item>p{margin-top:.45rem;color:var(--rc-color-muted);font-size:.97rem;max-width:34rem}
.rc-fp-muster__abbinder{margin-top:2.2rem;font-family:var(--rc-font-headline);font-size:1.08rem;color:var(--rc-color-dark-navy);max-width:46rem}
.rc-fp-muster__abbinder a{color:var(--rc-color-navy);text-underline-offset:.25em}

/* S1b Zitat-Teaser (gated) */
.rc-fp-zitat{background:var(--rc-surface-tint);border-block:1px solid rgba(2,64,89,.1);padding-block:var(--rc-fp-pad)}
.rc-fp-zitat__frame{color:var(--rc-color-muted);font-size:.95rem;max-width:46rem}
.rc-fp-zitat blockquote{margin:1.8rem 0 0;max-width:46rem;position:relative;padding-left:2.2rem}
.rc-fp-zitat blockquote::before{content:"\201E";position:absolute;left:0;top:-.35em;font-family:var(--rc-font-headline);font-size:3rem;line-height:1;color:rgba(78,121,139,.8)}
.rc-fp-zitat blockquote p{font-family:var(--rc-font-headline);font-size:clamp(19px,.5vw + 15px,23px);line-height:1.5;color:var(--rc-color-dark-navy)}
.rc-fp-zitat blockquote footer{margin-top:1.1rem;font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--rc-color-muted)}
.rc-fp-zitat .rc-fp-tlink{margin-top:1.6rem}
@media(max-width:700px){.rc-fp-zitat blockquote{padding-left:1.6rem}}

/* S2 Voraussetzungen – Tint + 4 Paar-Register mit Ghost-Ziffern */
.rc-fp-voraus{background:var(--rc-surface-tint);border-block:1px solid rgba(2,64,89,.1);padding-block:var(--rc-fp-pad)}
.rc-fp-voraus__rows{margin-top:2.8rem;border-top:1px solid rgba(2,64,89,.2);max-width:76rem}
.rc-fp-pairrow{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:clamp(1.25rem,3vw,3rem);border-bottom:1px solid rgba(2,64,89,.2);padding-block:clamp(1.7rem,2.4vw,2.3rem)}
.rc-fp-pairrow__num{font-family:var(--rc-font-headline);font-size:clamp(64px,4.5vw + 16px,84px);line-height:.95;color:rgba(78,121,139,.5)}
.rc-fp-pairrow__label{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rc-color-navy)}
.rc-fp-pairrow__pair{margin-top:.8rem;display:grid;grid-template-columns:1fr;gap:.7rem clamp(2rem,4vw,3.5rem)}
@media(min-width:800px){.rc-fp-pairrow__pair{grid-template-columns:1fr 1fr}}
.rc-fp-pairrow__pair p{color:var(--rc-color-muted);font-size:.97rem;max-width:30rem}
.rc-fp-pairrow__pair strong{color:var(--rc-color-dark-navy)}
.rc-fp-voraus__bruecke{margin-top:2.2rem;color:var(--rc-color-muted);font-size:.95rem;max-width:52rem}
.rc-fp-voraus__bruecke a{color:var(--rc-color-navy);font-weight:700;text-underline-offset:.25em}
@media(max-width:700px){.rc-fp-pairrow{grid-template-columns:1fr;gap:.5rem}.rc-fp-pairrow__num{font-size:3.4rem}}

/* S3 Vorgehen – 3 Makrophasen als Register mit Ghost-Ziffern */
.rc-fp-phasen{padding-block:var(--rc-fp-pad)}
.rc-fp-phasen__rows{margin-top:3rem;border-top:1px solid rgba(2,64,89,.2)}
.rc-fp-prow{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:clamp(1.25rem,3vw,3rem);border-bottom:1px solid rgba(2,64,89,.2);padding-block:clamp(2rem,3vw,2.9rem)}
.rc-fp-prow__label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rc-color-muted)}
.rc-fp-prow__num{font-family:var(--rc-font-headline);font-size:clamp(72px,7vw + 20px,120px);line-height:.95;color:rgba(78,121,139,.5);margin-top:.3rem}
.rc-fp-prow h3{font-family:var(--rc-font-headline);font-weight:400;font-size:clamp(1.35rem,.8vw + 1rem,1.8rem);color:var(--rc-color-dark-navy)}
.rc-fp-prow__text{margin-top:.85rem;color:var(--rc-color-muted);max-width:42rem;font-size:clamp(1.0625rem,.2vw + 1rem,1.125rem)}
.rc-fp-prow__text a{color:var(--rc-color-navy);font-weight:700;text-underline-offset:.25em}
.rc-fp-phasen__erkl{margin-top:2.4rem;color:var(--rc-color-muted);max-width:44rem;font-size:clamp(1.0625rem,.2vw + 1rem,1.125rem)}
.rc-fp-phasen__detaillink{color:var(--rc-color-navy);font-weight:700}
@media(max-width:700px){.rc-fp-prow{grid-template-columns:1fr;gap:.8rem}.rc-fp-prow__num{font-size:4.5rem}}

/* S3b Beweis-Leiste */
.rc-fp-beweis{background:var(--rc-surface-tint);border-block:1px solid rgba(2,64,89,.1);padding-block:var(--rc-fp-pad)}
.rc-fp-beweis h2{font-family:var(--rc-font-headline);font-weight:400;font-size:clamp(1.5rem,1vw + 1rem,2rem);color:var(--rc-color-dark-navy)}
.rc-fp-beweis__grid{margin-top:2.2rem;display:grid;grid-template-columns:1fr;gap:0 clamp(2.5rem,4vw,4rem);max-width:76rem}
@media(min-width:900px){.rc-fp-beweis__grid{grid-template-columns:1fr 1fr 1fr}.rc-fp-beweis__grid--two{grid-template-columns:1fr 1fr;max-width:52rem}}
.rc-fp-beweis__item{border-top:1px solid rgba(2,64,89,.2);padding-block:1.4rem}
.rc-fp-beweis__item strong{color:var(--rc-color-dark-navy);font-size:1.02rem}
.rc-fp-beweis__item p{margin-top:.4rem;color:var(--rc-color-muted);font-size:.95rem;max-width:30rem}
.rc-fp-beweis__abbinder{margin-top:2rem;color:var(--rc-color-muted);font-size:.95rem;max-width:56rem}

/* Person-Sektion */
.rc-fp-person{padding-block:var(--rc-fp-pad)}
.rc-fp-person__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,5vw,5rem);align-items:start;max-width:76rem}
.rc-fp-person__copy{margin-top:1.4rem;color:var(--rc-color-muted);max-width:44rem;font-size:clamp(1.0625rem,.2vw + 1rem,1.125rem);line-height:1.6}
.rc-fp-person__body .rc-fp-tlink{margin-top:1.2rem}
.rc-fp-person__wnote{margin-top:2rem;color:var(--rc-color-muted);font-size:.9rem}
.rc-fp-person__wnote a{color:var(--rc-color-navy);font-weight:700;text-underline-offset:.25em}
.rc-fp-person__figure{margin:0}
.rc-fp-person__figure img{width:100%;height:auto;display:block;border-radius:var(--rc-radius-sm)}
.rc-fp-person__figure figcaption{margin-top:.9rem;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rc-color-navy)}
.rc-fp-person__fakten{margin-top:.6rem;color:var(--rc-color-muted);font-size:.85rem;line-height:1.6}
@media(max-width:820px){.rc-fp-person__grid{grid-template-columns:1fr}.rc-fp-person__figure{max-width:320px}}

/* =========================================================================
 * Startseite V1.3 – Feinschliff (Stufe 2c). AN main.css ANHÄNGEN (nach V1.2-Block).
 * Ergänzt: Hero-Scrim, Kosten-Zeile, Phasen horizontal, Ausfall-Block,
 * Einordnung (Entity/SEO), FAQ. Ältere ungenutzte Regeln (.rc-fp-prow) bleiben inert.
 * ========================================================================= */

/* Pkt 1 – Hero: stärkerer, links gewichteter Scrim (Text hält, Raupe atmet) */
.rc-hero__shade--fp{background:linear-gradient(100deg,rgba(1,28,64,.92) 0%,rgba(1,28,64,.78) 38%,rgba(1,28,64,.42) 70%,rgba(1,28,64,.30) 100%)}

/* Pkt 4 – Kosten des Nichthandelns als prominentes Navy-Band */
.rc-fp-kosten{background:linear-gradient(140deg,var(--rc-color-navy) 0%,var(--rc-color-dark-navy) 92%);color:#fff;padding-block:clamp(3.5rem,7vh,6rem)}
.rc-fp-kosten__eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.rc-fp-kosten__lead{margin-top:1.1rem;font-family:var(--rc-font-headline);font-size:clamp(1.5rem,1.4vw + 1.1rem,2.4rem);line-height:1.25;color:#fff;max-width:24ch}
.rc-fp-kosten__body{margin-top:1.3rem;color:rgba(255,255,255,.82);max-width:52rem;font-size:clamp(1.02rem,.2vw + 1rem,1.15rem);line-height:1.6}

/* Pkt 6 – Phasen als horizontale 3-Schritt-Sequenz */
.rc-fp-phasen__seq{list-style:none;margin:3rem 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:2.2rem}
@media(min-width:820px){.rc-fp-phasen__seq{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}}
.rc-fp-phasestep{position:relative;padding-top:1.6rem;border-top:1px solid rgba(2,64,89,.2)}
.rc-fp-phasestep::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--rc-color-accent)}
.rc-fp-phasestep__num{display:block;font-family:var(--rc-font-headline);font-size:clamp(56px,3vw + 30px,84px);line-height:.9;color:rgba(78,121,139,.5)}
.rc-fp-phasestep__label{display:block;margin-top:.4rem;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rc-color-muted)}
.rc-fp-phasestep h3{font-family:var(--rc-font-headline);font-weight:400;margin-top:.5rem;font-size:clamp(1.3rem,.6vw + 1.1rem,1.7rem);color:var(--rc-color-dark-navy)}
.rc-fp-phasestep p{margin-top:.6rem;color:var(--rc-color-muted);font-size:1rem;line-height:1.55;max-width:34rem}
.rc-fp-phasestep .rc-fp-tlink{margin-top:.7rem}

/* Pkt 3 – Ausfallsicherheit (Person-Sektion) */
.rc-fp-person__ausfall{margin-top:1.3rem;padding:1rem 1.2rem;background:var(--rc-surface-tint);border-left:2px solid var(--rc-color-navy);color:var(--rc-color-dark-navy);font-size:.98rem;line-height:1.55;max-width:44rem}
.rc-fp-person__ausfall strong{color:var(--rc-color-navy)}

/* Pkt 1/5 – Einordnung (Entity + SEO-Keyword-H2, ruhiger Boden) */
.rc-fp-einordnung{background:var(--rc-surface-soft);border-block:1px solid rgba(2,64,89,.1);padding-block:clamp(3rem,6vh,5rem)}
.rc-fp-einordnung h2{font-family:var(--rc-font-headline);font-weight:400;font-size:clamp(1.4rem,1vw + 1rem,2rem);line-height:1.15;color:var(--rc-color-dark-navy);max-width:26ch}
.rc-fp-einordnung__text{margin-top:1.2rem;color:var(--rc-color-muted);max-width:60rem;font-size:1.02rem;line-height:1.65}
.rc-fp-einordnung__text a{color:var(--rc-color-navy);font-weight:700;text-underline-offset:.2em}

/* Pkt 5 – FAQ */
.rc-fp-faq{padding-block:var(--rc-fp-pad)}
.rc-fp-faq__list{margin-top:2rem;border-top:1px solid rgba(2,64,89,.2);max-width:64rem}
.rc-fp-faq__item{border-bottom:1px solid rgba(2,64,89,.2)}
.rc-fp-faq__item summary{list-style:none;cursor:pointer;position:relative;padding:1.3rem 2.5rem 1.3rem 0;font-family:var(--rc-font-headline);font-size:clamp(1.1rem,.4vw + 1rem,1.3rem);color:var(--rc-color-dark-navy)}
.rc-fp-faq__item summary::-webkit-details-marker{display:none}
.rc-fp-faq__item summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;line-height:1;color:var(--rc-color-accent)}
.rc-fp-faq__item[open] summary::after{content:"\2013"}
.rc-fp-faq__item p{margin:0 0 1.4rem;color:var(--rc-color-muted);font-size:1rem;line-height:1.6;max-width:60rem}

/* =========================================================================
 * Stufe 2b – /vorgehen/ Schaubilder (Marker: rc-vg-d1). AN main.css ANHÄNGEN.
 * D1-Radar (dunkles Instrumenten-Panel), Hebel-Liste, Führung-Stepper
 * (horizontal ≥760px, vertikal darunter), D2-Phasenachse (nur ≥760px,
 * mobil tragen die Register-Zeilen), Wesenselemente-Landkarte inkl.
 * gestapelter Mobil-Darstellung. Radar-Achsenlabels wechseln <640px auf
 * Nummern (rc-d1__num), die nummerierte Hebel-Liste wird zur Legende.
 * ========================================================================= */

/* --- D1: dunkles Instrumenten-Panel --- */
.rc-vg-d1{margin-top:2.6rem;background:radial-gradient(120% 120% at 30% 10%,#043b52 0%,var(--rc-color-dark-navy) 62%);border:1px solid rgba(78,121,139,.35);position:relative;overflow:hidden}
.rc-vg-d1__inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.6rem,3.5vw,3.2rem)}
@media(max-width:860px){.rc-vg-d1__inner{grid-template-columns:1fr}}
.rc-vg-d1__svg{width:100%;height:auto;display:block}
.rc-vg-d1__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0}
.rc-vg-d1__side h3{font-family:var(--rc-font-headline);font-weight:400;font-size:clamp(1.4rem,1vw + 1rem,1.9rem);line-height:1.2;color:var(--rc-color-white);margin:.6rem 0 0;max-width:none}
.rc-vg-d1__lead{margin-top:1rem;color:rgba(255,255,255,.72);font-size:.98rem;line-height:1.6;max-width:30rem}
.rc-vg-d1__listlabel{margin:1.7rem 0 0;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(143,176,189,.9)}
.rc-vg-d1__hebel{list-style:none;counter-reset:rc-hebel;margin:.7rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1.4rem;max-width:26rem}
.rc-vg-d1__hebel li{counter-increment:rc-hebel;font-size:.88rem;color:rgba(255,255,255,.78);display:flex;gap:.55rem;align-items:baseline}
.rc-vg-d1__hebel li::before{content:counter(rc-hebel,decimal-leading-zero);font-size:.72rem;font-weight:700;letter-spacing:.06em;color:rgba(143,176,189,.85);flex:none}
.rc-vg-d1__hebel li.is-lever{color:var(--rc-color-white);font-weight:700}
.rc-vg-d1__hebel li.is-lever::before{color:var(--rc-color-accent)}
.rc-vg-d1__legend{margin-top:1.6rem;display:flex;flex-direction:column;gap:.6rem;font-size:.82rem;color:rgba(255,255,255,.7)}
.rc-vg-d1__legend span{display:inline-flex;align-items:center;gap:.6rem}
.rc-vg-d1__legend-muted{color:rgba(255,255,255,.45)}
.rc-vg-d1__dot{width:11px;height:11px;border-radius:50%;background:var(--rc-color-white);flex:none}
.rc-vg-d1__dot--red{background:var(--rc-color-accent)}
.rc-vg-d1__cap{margin:1.6rem 0 0;font-family:var(--rc-font-headline);font-style:italic;font-size:1.2rem;color:var(--rc-color-navy);max-width:none}

/* Radar-Achsenlabels: <640px Nummern statt Namen (Liste daneben = Legende) */
.rc-d1__num{display:none}
@media(max-width:640px){
	.rc-d1__lab{display:none}
	.rc-d1__num{display:block;font-size:16px}
}

/* --- Beispiel-Hebel Führung: responsiver Stepper --- */
.rc-vg-xmpl{margin-top:3.2rem;border-top:1px solid rgba(2,64,89,.18);padding-top:2.4rem}
.rc-vg-xmpl__label{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#436a79;margin:0}
.rc-vg-xmpl h3{font-family:var(--rc-font-headline);font-weight:400;font-size:clamp(1.3rem,1vw + 1rem,1.7rem);color:var(--rc-color-dark-navy);margin:.5rem 0 0;max-width:none;overflow-wrap:normal;hyphens:manual}
.rc-vg-xmpl__sub{color:var(--rc-color-muted);margin-top:.7rem;max-width:48rem;font-size:.96rem;line-height:1.6}

.rc-vg-step{position:relative;list-style:none;margin:2rem 0 0;padding:0}
.rc-vg-step::before{content:"";position:absolute;left:33px;top:18px;bottom:18px;width:1px;background:rgba(78,121,139,.4)}
.rc-vg-step__item{position:relative;display:flex;align-items:center;flex-wrap:wrap;column-gap:.9rem;row-gap:.1rem;padding:.6rem 0 .6rem 58px;min-height:2.2rem}
.rc-vg-step__num{position:absolute;left:0;width:16px;text-align:right;font-size:.72rem;line-height:1;color:var(--rc-color-muted)}
.rc-vg-step__marker{position:absolute;left:24px;top:50%;transform:translateY(-50%);width:18px;height:18px;display:flex;align-items:center;justify-content:center}
.rc-vg-step__marker::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rc-color-white);border:1.4px solid var(--rc-color-blueprint)}
.is-heute .rc-vg-step__marker::before{width:16px;height:16px;background:var(--rc-color-navy);border:none}
.is-next .rc-vg-step__marker::before{width:13px;height:13px;background:var(--rc-color-white);border:2px solid var(--rc-color-accent)}
.rc-vg-step__name{font-size:.95rem;color:var(--rc-color-muted)}
.is-heute .rc-vg-step__name{color:var(--rc-color-navy);font-weight:700}
.is-next .rc-vg-step__name{color:var(--rc-color-accent);font-weight:700}
.rc-vg-step__tag{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rc-color-navy)}
.rc-vg-step__tag--red{color:var(--rc-color-accent)}

@media(min-width:760px){
	.rc-vg-step{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));max-width:72rem;margin-top:2.4rem}
	.rc-vg-step::before{left:calc(100%/14);right:calc(100%/14);top:33px;bottom:auto;width:auto;height:1px}
	/* Fortschritt bis heutige Ausprägung (Stufe 1 → 2) */
	.rc-vg-step::after{content:"";position:absolute;left:calc(100%/14);width:calc(100%/7);top:32px;height:2px;background:var(--rc-color-navy)}
	.rc-vg-step__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;min-height:0;row-gap:.3rem;text-align:center}
	.rc-vg-step__num{position:static;width:auto;text-align:center}
	.rc-vg-step__marker{position:static;transform:none;margin-top:.15rem}
	.rc-vg-step__name{margin-top:.2rem}
}

/* --- Reserve-Box: Blueprint-Eckklammer (Instrument-Schwelle statt Werbekasten) --- */
.rc-vg-reserve{margin-top:2.4rem;position:relative;border:1px solid rgba(2,64,89,.18);padding:1.7rem 2rem;max-width:52rem}
.rc-vg-reserve::before{content:"";position:absolute;top:0;left:0;width:34px;height:2px;background:var(--rc-color-accent)}
.rc-vg-reserve::after{content:"";position:absolute;top:0;left:0;width:2px;height:34px;background:var(--rc-color-accent)}
.rc-vg-reserve p{color:var(--rc-color-navy);font-family:var(--rc-font-headline);font-size:1.1rem;line-height:1.5;margin:0;max-width:none}
.rc-vg-reserve p.rc-vg-reserve__sub{font-family:var(--rc-font-body);color:var(--rc-color-muted);font-size:.92rem;margin-top:.5rem}
.rc-vg-reserve__hl{color:var(--rc-color-accent)}
.rc-vg-reserve__link{display:inline-block;margin-top:1rem;color:var(--rc-color-accent);font-weight:700;font-size:.95rem;text-decoration:none;border-bottom:1px solid rgba(191,62,33,.4)}
.rc-vg-reserve__link:hover,.rc-vg-reserve__link:focus-visible{border-bottom-color:var(--rc-color-accent)}

/* --- D2: Phasenachse (nur ≥760px; mobil tragen die Register-Zeilen A3) --- */
.rc-vg-d2{margin:3rem 0 0;padding:0}
.rc-vg-d2__svg{width:100%;height:auto;display:block}
.rc-vg-d2__cap{margin-top:.6rem;font-size:.9rem;color:var(--rc-color-muted);line-height:1.6;max-width:60rem}
@media(max-width:759px){
	.rc-vg-d2__svg{display:none}
	.rc-vg-d2{margin-top:1.6rem}
}

/* --- Wesenselemente-Landkarte --- */
.rc-vg-lk{background:var(--rc-color-white);border-top:1px solid rgba(2,64,89,.1);padding-block:var(--rc-exec-pad)}
.rc-vg-lk h2{margin:0;overflow-wrap:normal;hyphens:manual}
h2.rc-vg-lk__title{margin-top:1rem;font-size:clamp(28px,1vw + 16px,36px);color:var(--rc-color-dark-navy);max-width:34ch}
.rc-vg-lk__copy{margin:1.4rem 0 0;max-width:54rem;color:var(--rc-color-text);line-height:1.65}
.rc-vg-lk__bruecke{margin:1.4rem 0 0;max-width:54rem;color:var(--rc-color-muted);font-size:.98rem;line-height:1.6;border-left:2px solid var(--rc-color-navy);padding-left:1.1rem}
.rc-vg-lk__panel{margin-top:2.4rem;background:radial-gradient(120% 120% at 50% 12%,#043b52 0%,var(--rc-color-dark-navy) 66%);border:1px solid rgba(78,121,139,.35);padding:clamp(1.5rem,3vw,2.6rem)}
.rc-vg-lk__svg{width:100%;height:auto;display:block}
.rc-vg-lk__legend{display:flex;gap:1rem 2.2rem;flex-wrap:wrap;margin-top:1.4rem;font-size:.85rem;color:var(--rc-color-muted)}
.rc-vg-lk__legend span{display:inline-flex;align-items:center;gap:.55rem}
.rc-vg-lk__sq{width:11px;height:11px;flex:none;border:1.5px solid var(--rc-color-navy)}
.rc-vg-lk__sq--red{border-color:var(--rc-color-accent);background:var(--rc-color-accent)}
.rc-vg-lk__tr{width:0;height:0;flex:none;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:11px solid var(--rc-color-navy)}
.rc-vg-lk__ci{width:12px;height:12px;flex:none;border-radius:50%;background:var(--rc-color-navy)}
.rc-vg-lk__lever{margin-top:2rem;border:1px solid rgba(2,64,89,.2);position:relative;padding:1.4rem 1.7rem;max-width:56rem}
.rc-vg-lk__lever::before{content:"";position:absolute;top:0;left:0;width:34px;height:2px;background:var(--rc-color-accent)}
.rc-vg-lk__lever::after{content:"";position:absolute;top:0;left:0;width:2px;height:34px;background:var(--rc-color-accent)}
.rc-vg-lk__lever p{color:var(--rc-color-navy);font-family:var(--rc-font-headline);font-size:1.1rem;line-height:1.5;margin:0;max-width:none}
.rc-vg-lk__lever p.rc-vg-lk__lever-sub{font-family:var(--rc-font-body);color:var(--rc-color-muted);font-size:.94rem;margin-top:.5rem}
.rc-vg-lk__note{margin:1.8rem 0 0;border-top:1px solid rgba(2,64,89,.18);padding-top:1.1rem;max-width:62rem;font-size:.86rem;color:var(--rc-color-muted);line-height:1.6}

/* Landkarte mobil: gestapelte Darstellung statt SVG */
.rc-vg-lk__mobile{display:none}
@media(max-width:759px){
	.rc-vg-lk__svg{display:none}
	.rc-vg-lk__mobile{display:block}
	.rc-vg-lk__legend{display:none}
}
.rc-vg-lk__mgroup{padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.14)}
.rc-vg-lk__mgroup:first-child{border-top:none;padding-top:0}
.rc-vg-lk__mgroup-title{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.rc-vg-lk__mlist{list-style:none;margin:.8rem 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.rc-vg-lk__mlist li{color:#dbe6ec;font-size:.95rem;line-height:1.45}
.rc-vg-lk__mlist li small{display:block;color:rgba(255,255,255,.5);font-size:.8rem;margin-top:.1rem}
.rc-vg-lk__mname{font-weight:700}
.rc-vg-lk__mlist li.is-lever .rc-vg-lk__mname{color:#e8a08f}
.rc-vg-lk__mtag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.7);padding:.12rem .45rem;margin-right:.55rem;vertical-align:middle}
.rc-vg-lk__mlever{margin:1.2rem 0 0;border:1px solid rgba(191,62,33,.55);background:rgba(191,62,33,.08);padding:.75rem .95rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rc-color-white)}

/* ============================================================= */
/* Wissen-Hub (Seite D, Content V2): D1 Hero-Extras bis D5 Outro */
/* ============================================================= */

/* D1 — Hero-Erweiterungen auf Basis von .rc-page-hero */
.rc-wi-hero__back {
	margin: 0 0 var(--rc-space-2xs);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.rc-wi-hero__back a {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
}

.rc-wi-hero__back a:hover,
.rc-wi-hero__back a:focus-visible {
	color: var(--rc-color-white);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.rc-wi-hero__entity {
	max-width: 720px;
	margin: var(--rc-space-sm) 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: clamp(0.92rem, 0.25vw + 0.86rem, 1.02rem);
	line-height: 1.62;
}

.rc-wi-hero__entity a {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: rgba(255, 255, 255, 0.4);
}

.rc-wi-hero__entity a:hover,
.rc-wi-hero__entity a:focus-visible {
	color: var(--rc-color-white);
	text-decoration-color: var(--rc-color-white);
}

/* D2 — Leitgedanke */
.rc-wi-statement {
	background: var(--rc-color-white);
	padding-block: var(--rc-space-2xl);
}

.rc-wi-statement__inner {
	display: grid;
	justify-items: center;
	gap: var(--rc-space-md);
	text-align: center;
}

.rc-wi-statement__rule {
	display: block;
	width: 2.4rem;
	height: 2px;
	background: var(--rc-color-accent);
}

.rc-wi-statement__text {
	max-width: 24ch;
	margin: 0;
	color: var(--rc-color-dark-navy);
	font-family: var(--rc-font-headline);
	font-size: clamp(1.6rem, 1.7vw + 1.1rem, 2.9rem);
	line-height: 1.14;
	text-wrap: balance;
}

/* D3 — Themenfelder */
.rc-wi-fields {
	background: var(--rc-color-white);
}

.rc-wi-fields__inner {
	display: grid;
	gap: var(--rc-space-lg);
}

.rc-wi-fields__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
}

.rc-wi-field {
	display: grid;
	gap: var(--rc-space-2xs) var(--rc-space-lg);
	padding-block: clamp(1.4rem, 1.8vw, 2.2rem);
	border-top: var(--rc-border-subtle);
}

.rc-wi-field:last-child {
	border-bottom: var(--rc-border-subtle);
}

.rc-wi-field__label {
	margin: 0;
	min-width: 0;
	color: var(--rc-color-navy);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.35;
	text-transform: uppercase;
	overflow-wrap: break-word;
	hyphens: auto;
}

.rc-wi-field__body {
	display: grid;
	gap: var(--rc-space-sm);
}

.rc-wi-field__text {
	margin: 0;
	max-width: 60ch;
	color: var(--rc-color-muted);
	line-height: 1.62;
}

.rc-wi-field__link {
	color: var(--rc-color-navy);
	font-size: var(--rc-type-small);
	font-weight: 700;
	text-decoration: none;
}

.rc-wi-field__link:hover,
.rc-wi-field__link:focus-visible {
	color: var(--rc-color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (min-width: 760px) {
	.rc-wi-field {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		column-gap: var(--rc-space-xl);
		align-items: start;
	}
}

/* D4 — Aktuelle Beiträge */
.rc-wi-posts {
	background: var(--rc-surface-soft);
	border-top: var(--rc-border-subtle);
	border-bottom: var(--rc-border-subtle);
}

.rc-wi-posts__inner {
	display: grid;
	gap: var(--rc-space-lg);
}

.rc-wi-posts__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: clamp(1rem, 1.4vw, 1.75rem);
}

.rc-wi-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--rc-space-xs);
	padding: clamp(1.4rem, 1.6vw, 2rem);
	background: var(--rc-color-white);
	border: var(--rc-border-subtle);
	border-radius: var(--rc-radius-lg);
	box-shadow: var(--rc-shadow-subtle);
	transition: box-shadow 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.rc-wi-card:hover,
.rc-wi-card:focus-within {
	border-color: rgba(191, 62, 33, 0.4);
	box-shadow: var(--rc-shadow-card);
	transform: translateY(-2px);
}

.rc-wi-card__tag {
	margin: 0;
	color: var(--rc-color-navy);
	font-size: clamp(0.66rem, 0.1vw + 0.63rem, 0.72rem);
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.3;
	text-transform: uppercase;
}

.rc-wi-card__title {
	max-width: none;
	margin: 0;
	font-size: var(--rc-type-h3);
	line-height: 1.2;
	overflow-wrap: break-word;
	hyphens: auto;
}

.rc-wi-card__link {
	color: var(--rc-color-dark-navy);
	text-decoration: none;
}

.rc-wi-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--rc-radius-lg);
}

.rc-wi-card__link:focus-visible {
	outline: none;
}

.rc-wi-card:has(.rc-wi-card__link:focus-visible) {
	outline: 2px solid var(--rc-color-accent);
	outline-offset: 2px;
}

.rc-wi-card__excerpt {
	margin: 0;
	color: var(--rc-color-muted);
	font-size: var(--rc-type-small);
	line-height: 1.6;
}

.rc-wi-card__cta {
	margin-top: auto;
	padding-top: var(--rc-space-xs);
	color: var(--rc-color-accent);
	font-size: var(--rc-type-small);
	font-weight: 700;
}

.rc-wi-card__cta::after {
	content: " →";
}

.rc-wi-posts__empty {
	margin: 0;
	color: var(--rc-color-muted);
	font-size: var(--rc-type-body);
}

.rc-wi-posts__note {
	margin: 0;
	color: var(--rc-color-muted);
	font-size: var(--rc-type-small);
}

.rc-wi-posts__note a {
	color: var(--rc-color-navy);
	font-weight: 700;
}

/* D5 — Abbinder vor dem CTA-Band */
.rc-wi-outro {
	background: var(--rc-color-white);
	padding-block: var(--rc-space-xl);
}

.rc-wi-outro__text {
	margin: 0;
	color: var(--rc-color-dark-navy);
	font-family: var(--rc-font-headline);
	font-size: clamp(1.15rem, 0.7vw + 0.95rem, 1.6rem);
	line-height: 1.4;
	text-wrap: balance;
}

/* Wissen-Beitrag: Kopfbereich (single.php) */
.entry__header {
	display: grid;
	gap: var(--rc-space-2xs);
	margin-bottom: var(--rc-space-lg);
}

.entry__back {
	margin: 0 0 var(--rc-space-xs);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.entry__back a {
	color: var(--rc-color-navy);
	text-decoration: none;
}

.entry__back a:hover,
.entry__back a:focus-visible {
	color: var(--rc-color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.entry__kicker {
	margin: 0;
	color: var(--rc-color-navy);
	font-size: var(--rc-type-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry__meta {
	color: var(--rc-color-muted);
	font-size: var(--rc-type-small);
}

/* =====================================================================
   Wissen-Beitrag: Lese-Layout V3 (Hero, TOC, Fortschritt, Boxen, Autor)
   ===================================================================== */

/* Lesefortschritt oben */
.rc-reading-progress {
	position: fixed;
	inset: 0 0 auto 0;
	height: 4px;
	background: transparent;
	z-index: 9999;
	pointer-events: none;
}
.rc-reading-progress__bar {
	display: block;
	height: 100%;
	width: 0;
	background: var(--rc-color-accent);
}

/* Artikel-Grundlayout */
.rc-article__wrap {
	max-width: 1080px;
	margin: 0 auto;
	padding: clamp(1.75rem, 3vw, 2.75rem) var(--rc-container-pad) var(--rc-space-2xl);
}
.rc-article__back {
	margin: 0 0 var(--rc-space-md);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}
.rc-article__back a {
	color: var(--rc-color-navy);
	text-decoration: none;
}
.rc-article__back a:hover,
.rc-article__back a:focus-visible {
	color: var(--rc-color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.rc-article__hero {
	margin: 0 0 var(--rc-space-md);
}
.rc-article__hero img {
	display: block;
	width: 100%;
	height: clamp(220px, 34vw, 360px);
	object-fit: cover;
	background: var(--rc-color-navy);
	border-radius: 3px;
}
.rc-article__kicker {
	margin: 0 0 0.6rem;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rc-color-accent);
}
.rc-article__title {
	font-family: var(--rc-font-headline);
	font-weight: 700;
	color: var(--rc-color-dark-navy);
	font-size: clamp(1.9rem, 2.4vw + 1rem, 2.9rem);
	line-height: 1.14;
	margin: 0 0 var(--rc-space-sm);
	max-width: none;
	text-wrap: wrap;
	hyphens: none;
	overflow-wrap: break-word;
}
.rc-article__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.7rem;
	color: var(--rc-color-muted);
	font-size: 0.86rem;
	padding-bottom: var(--rc-space-md);
	margin-bottom: var(--rc-space-lg);
	border-bottom: 1px solid #e1e7e9;
}
.rc-article__avatar {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
}
.rc-article__sep { opacity: 0.5; }
.rc-article__share {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--rc-color-navy);
	font-weight: 700;
	font-size: 0.78rem;
	text-decoration: none;
}
.rc-article__share:hover,
.rc-article__share:focus-visible { color: var(--rc-color-accent); }
.rc-article__share svg { fill: currentColor; }

/* Zwei-Spalten: Inhaltsverzeichnis + Lesetext */
.rc-article__grid {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	column-gap: clamp(2rem, 4vw, 3.25rem);
}
.rc-article__body { min-width: 0; }
.rc-article__body > p:first-of-type {
	font-family: var(--rc-font-headline);
	font-size: 1.24rem;
	line-height: 1.6;
	color: var(--rc-color-text);
}

/* Inhaltsverzeichnis (per JS befüllt), startet auf Lead-Höhe, läuft mit */
.rc-toc {
	position: sticky;
	top: calc(var(--rc-header-height) + var(--rc-admin-bar-offset) + 1.25rem);
	align-self: start;
	font-size: 0.85rem;
}
.rc-toc[hidden] { display: none; }
.rc-toc__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.rc-toc__ring { width: 44px; height: 44px; flex: none; }
.rc-toc__ring-text {
	font-family: var(--rc-font-body);
	font-size: 11px;
	font-weight: 700;
	fill: var(--rc-color-navy);
}
.rc-toc__label {
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--rc-color-muted);
}
.rc-toc ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 1px solid #e1e7e9;
}
.rc-toc li {
	margin-left: -1px;
	border-left: 2px solid transparent;
}
.rc-toc a {
	display: block;
	padding: 0.45rem 0 0.45rem 1rem;
	color: var(--rc-color-muted);
	line-height: 1.3;
	text-decoration: none;
}
.rc-toc li.is-active { border-left-color: var(--rc-color-accent); }
.rc-toc li.is-active a { color: var(--rc-color-dark-navy); font-weight: 700; }
.rc-toc a:hover,
.rc-toc a:focus-visible { color: var(--rc-color-navy); }

/* "Auf den Punkt"-Box */
.entry-tldr {
	background: var(--rc-surface-tint);
	border-left: 3px solid var(--rc-color-navy);
	border-radius: 0 4px 4px 0;
	padding: 1.25rem 1.5rem;
	margin: 0 0 1.75rem;
}
.entry-tldr__label {
	margin: 0 0 0.75rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rc-color-navy);
}
.entry-tldr ul { margin: 0; padding: 0; list-style: none; }
.entry-tldr li {
	position: relative;
	padding-left: 1.25rem;
	margin: 0 0 0.5rem;
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--rc-color-text);
}
.entry-tldr li:last-child { margin-bottom: 0; }
.entry-tldr li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 7px;
	height: 7px;
	background: var(--rc-color-accent);
}

/* Merksatz: Zitat-Block im Blueprint-Stil */
.rc-article__body blockquote {
	position: relative;
	margin: 2.25rem 0;
	padding: 0.4rem 0 0.4rem 1.9rem;
	border: 0;
}
.rc-article__body blockquote::before,
.rc-article__body blockquote::after {
	content: "";
	position: absolute;
	left: 0;
	width: 16px;
	height: 16px;
}
.rc-article__body blockquote::before { top: 0; border-left: 2px solid var(--rc-color-accent); border-top: 2px solid var(--rc-color-accent); }
.rc-article__body blockquote::after { bottom: 0; border-left: 2px solid var(--rc-color-navy); border-bottom: 2px solid var(--rc-color-navy); }
.rc-article__body blockquote p {
	font-family: var(--rc-font-headline);
	font-style: italic;
	font-size: clamp(1.3rem, 1vw + 1.1rem, 1.5rem);
	line-height: 1.4;
	color: var(--rc-color-dark-navy);
	margin: 0;
}
.rc-article__body blockquote cite {
	display: block;
	margin-top: 0.6rem;
	font-style: normal;
	font-size: 0.85rem;
	color: var(--rc-color-muted);
}

/* Autoren-Box */
.rc-author {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 1.6rem;
	align-items: start;
	border-top: 1px solid #e1e7e9;
	padding-top: var(--rc-space-lg);
	margin-top: var(--rc-space-xl);
}
.rc-author__portrait {
	width: 104px;
	height: 104px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 1px #e1e7e9;
}
.rc-author__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rc-color-accent);
}
.rc-author__name {
	font-family: var(--rc-font-headline);
	font-weight: 700;
	font-size: 1.3rem;
	color: var(--rc-color-dark-navy);
	margin: 0 0 0.7rem;
}
.rc-author__bio {
	font-size: 1.02rem;
	line-height: 1.62;
	color: var(--rc-color-text);
	margin: 0 0 0.9rem;
	max-width: 60ch;
}
.rc-author__link {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--rc-color-navy);
	text-decoration: none;
}
.rc-author__link:hover,
.rc-author__link:focus-visible { color: var(--rc-color-accent); }
.rc-author__arr { color: var(--rc-color-accent); }

/* Weiterlesen */
.rc-related {
	margin-top: var(--rc-space-xl);
	padding-top: var(--rc-space-lg);
	border-top: 1px solid #e1e7e9;
}
.rc-related__title {
	font-family: var(--rc-font-headline);
	color: var(--rc-color-dark-navy);
	font-size: var(--rc-type-h3);
	margin: 0 0 var(--rc-space-md);
}
.rc-related__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}
.rc-related__card {
	display: flex;
	gap: 1rem;
	align-items: center;
	background: var(--rc-surface-soft);
	border: 1px solid #e1e7e9;
	border-radius: var(--rc-radius-sm);
	padding: 0.9rem;
	text-decoration: none;
}
.rc-related__card:hover,
.rc-related__card:focus-visible { border-color: var(--rc-color-navy); }
.rc-related__thumb { flex: none; }
.rc-related__thumb img {
	display: block;
	width: 104px;
	height: 70px;
	object-fit: cover;
	border-radius: 3px;
	background: var(--rc-color-navy);
}
.rc-related__tag {
	display: block;
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rc-color-accent);
	margin-bottom: 0.35rem;
}
.rc-related__headline {
	font-family: var(--rc-font-headline);
	font-size: 1rem;
	line-height: 1.25;
	color: var(--rc-color-dark-navy);
}

/* Wissen-Karten (D4): Beitragsbild + roter Eyebrow */
.rc-wi-card { padding: 0; overflow: hidden; }
.rc-wi-card__thumb { display: block; }
.rc-wi-card__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 1200 / 630;
	object-fit: cover;
	background: var(--rc-color-navy);
}
.rc-wi-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1.4rem 1.4rem 1.5rem;
}
.rc-wi-card__tag { color: var(--rc-color-accent); }
.rc-wi-card__excerpt { flex: 1; }

/* Themenfelder (D3): Label als roter Eyebrow (Guss mit Karten) */
.rc-wi-field__label { color: var(--rc-color-accent); }

/* Reduced Motion: kein Farb-/Bewegungs-Overkill (Fortschritt bleibt funktional) */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* Mobil: einspaltig, Inhaltsverzeichnis ausgeblendet */
@media (max-width: 900px) {
	.rc-article__grid { grid-template-columns: 1fr; }
	.rc-toc { display: none; }
	.rc-related__grid { grid-template-columns: 1fr; }
	.rc-author { grid-template-columns: 72px minmax(0, 1fr); gap: 1.1rem; }
	.rc-author__portrait { width: 72px; height: 72px; }
}

/* =====================================================================
   Wissen-Beitrag: Feinschliff (2) 14.07. — H1-Umbruch, zentrierte
   Lesespalte mit Inhaltsverzeichnis im linken Rand
   ===================================================================== */
.rc-article__title {
	font-size: clamp(1.9rem, 2.4vw + 1rem, 2.9rem);
}

.rc-article__wrap { max-width: 1200px; }

/* Standard: einspaltige, zentrierte Lesespalte (auch ohne Inhaltsverzeichnis) */
.rc-article__grid { grid-template-columns: 1fr; }
.rc-article__main { min-width: 0; max-width: 820px; margin-left: auto; margin-right: auto; }
.rc-toc { grid-column: 1; }

/* Mit Inhaltsverzeichnis (>= 2 H2, per JS): Verzeichnis im linken Rand neben der Lesespalte */
@media (min-width: 1025px) {
	.rc-article.rc-has-toc .rc-article__grid {
		grid-template-columns: 230px minmax(0, 820px);
		justify-content: center;
		column-gap: clamp(2rem, 4vw, 3.25rem);
		align-items: start;
	}
	.rc-article.rc-has-toc .rc-article__main {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}
}

@media (max-width: 1024px) {
	.rc-toc { display: none; }
	.rc-related__grid { grid-template-columns: 1fr; }
}

/* --- Override: Legal-Seiten breiter (Datenschutz/Impressum) — 14.07.2026 --- */
body.page-template-page-legal { --rc-container-text: 960px; }
body.page-template-page-legal .entry__title { max-width: none; overflow-wrap: normal; }

/* --- Willkommens-/Bestaetigungsseiten (.rc-welcome) — 20.07.2026 --- */
/* Wiederverwendbar ueberall, wo die .rc-welcome-Markup genutzt wird
   (/willkommen/, /willkommen-whitepaper/). Tokens mit CI-Fallback. */
.rc-welcome { max-width: 44rem; margin: 1.5rem 0 0; font-family: "PT Sans", Arial, sans-serif; }
.rc-welcome .rc-welcome__badge { display: inline-flex; align-items: center; gap: .45rem; background: var(--rc-color-light-gray, #f2f2f2); color: var(--rc-color-navy, #024059); font-weight: 700; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; padding: .4rem .85rem; border-radius: 999px; margin: 0 0 1.3rem; }
.rc-welcome .rc-welcome__badge svg { width: 1rem; height: 1rem; color: var(--rc-color-accent, #bf3e21); flex: 0 0 auto; }
.rc-welcome .rc-welcome__lead { font-size: 1.22rem; line-height: 1.6; color: var(--rc-color-ink, #1d1d1b); margin: 0 0 1.5rem; font-weight: 400; }
.rc-welcome .rc-welcome__card { background: var(--rc-color-light-gray, #f2f2f2); border-left: 4px solid var(--rc-color-accent, #bf3e21); border-radius: 8px; padding: 1.3rem 1.5rem; margin: 0 0 1.9rem; }
.rc-welcome .rc-welcome__card p { margin: 0 0 .8rem; color: var(--rc-color-muted, #5b5b5b); line-height: 1.65; font-size: 1rem; }
.rc-welcome .rc-welcome__card p:last-child { margin: 0; }
.rc-welcome .rc-welcome__cta { display: inline-block; text-decoration: none; }
@media (max-width: 480px) {
  .rc-welcome .rc-welcome__lead { font-size: 1.12rem; }
  .rc-welcome .rc-welcome__card { padding: 1.1rem 1.2rem; }
}
