:root {
	--kfa-container: 1440px;
	--kfa-content: 840px;
	--kfa-surface: rgba(255, 255, 255, 0.82);
	--kfa-surface-strong: rgba(255, 255, 255, 0.96);
	--kfa-surface-soft: #f3ecea;
	--kfa-border: rgba(90, 9, 32, 0.12);
	--kfa-border-strong: rgba(90, 9, 32, 0.2);
	--kfa-shadow: 0 28px 80px rgba(74, 40, 46, 0.12);
	--kfa-shadow-soft: 0 18px 42px rgba(74, 40, 46, 0.1);
	--kfa-radius-xl: 32px;
	--kfa-radius-lg: 26px;
	--kfa-radius-md: 20px;
	--kfa-radius-sm: 16px;
	--kfa-header-offset: 150px;
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding-top: var(--kfa-header-offset);
	background:
		radial-gradient(circle at top left, rgba(225, 217, 215, 0.78), transparent 34%),
		radial-gradient(circle at top right, rgba(90, 9, 32, 0.08), transparent 26%),
		linear-gradient(180deg, #faf7f5 0%, #f4efed 52%, #fbfaf9 100%);
	color: var(--wp--preset--color--foreground, #353535);
	font-family: var(--wp--preset--font-family--primary), sans-serif;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.admin-bar {
	--kfa-header-offset: 182px;
}

body.home {
	padding-top: 0;
}

img,
svg,
iframe {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: var(--wp--preset--color--primary, #5A0920);
	text-decoration: none;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--wp--preset--color--primary-dark, #430618);
}

.wp-site-blocks {
	min-height: 100vh;
	overflow: clip;
}

main.site-main,
main.wp-block-group {
	width: min(100%, var(--kfa-container));
	margin: 0 auto;
	padding-left: clamp(20px, 3vw, 32px);
	padding-right: clamp(20px, 3vw, 32px);
}

body.home main.wp-block-group {
	padding-top: 0;
	padding-bottom: clamp(60px, 8vw, 110px);
}

body.home .entry-content.home-content-flow {
	display: grid;
	gap: clamp(28px, 4vw, 48px);
}

body.home .entry-content > .wp-block-group {
	margin-top: clamp(24px, 4vw, 38px);
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid var(--kfa-border);
	border-radius: var(--kfa-radius-xl);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 251, 0.9)),
		linear-gradient(135deg, rgba(225, 217, 215, 0.42), rgba(255, 255, 255, 0.96));
	box-shadow: var(--kfa-shadow-soft);
	backdrop-filter: blur(18px);
}

body.home .entry-content > .n2-section-smartslider + .wp-block-group,
body.home .entry-content > :not(.wp-block-group) + .wp-block-group {
	background:
		radial-gradient(circle at top right, rgba(90, 9, 32, 0.08), transparent 36%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 251, 0.93));
	box-shadow: var(--kfa-shadow);
}

body.home .entry-content > .wp-block-group > :last-child {
	margin-bottom: 0;
}

body.home .entry-content > .wp-block-group h1,
body.home .entry-content > .wp-block-group h2,
body.home .entry-content > .wp-block-group h3 {
	margin-top: 0;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-weight: 650;
	letter-spacing: -0.04em;
	line-height: 1.05;
	text-wrap: balance;
}

body.home .entry-content > .n2-section-smartslider + .wp-block-group > h1,
body.home .entry-content > .n2-section-smartslider + .wp-block-group > p,
body.home .entry-content > :not(.wp-block-group) + .wp-block-group > h1,
body.home .entry-content > :not(.wp-block-group) + .wp-block-group > p {
	max-width: 58rem;
}

body.home .entry-content > .wp-block-group h1 {
	font-size: clamp(2.8rem, 5vw, 5rem);
}

body.home .entry-content > .wp-block-group h2 {
	font-size: clamp(2rem, 4vw, 3.35rem);
}

body.home .entry-content > .wp-block-group h3 {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

body.home .entry-content > .wp-block-group p {
	max-width: none;
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	line-height: 1.75;
}

body.home .entry-content > .wp-block-group .wp-block-buttons {
	margin-top: 1.75rem;
	margin-bottom: 1.35rem;
}

body.home .entry-content > .wp-block-group .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 0.95rem 1.45rem;
	border: 1px solid var(--wp--preset--color--primary, #5A0920);
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #5A0920);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	text-decoration: none;
	box-shadow: 0 12px 24px rgba(90, 9, 32, 0.18);
	transform: translateY(0);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease;
}

body.home .entry-content > .wp-block-group .wp-block-button__link:hover,
body.home .entry-content > .wp-block-group .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--primary-dark, #430618);
	border-color: var(--wp--preset--color--primary-dark, #430618);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 18px 30px rgba(90, 9, 32, 0.22);
}

body.home .entry-content > .wp-block-group > .wp-block-columns {
	align-items: stretch !important;
	gap: clamp(22px, 3vw, 38px);
	margin-top: 0;
	margin-bottom: 0;
}

body.home .entry-content > .wp-block-group > .wp-block-columns > .wp-block-column:empty {
	display: none;
	flex: 0 0 0 !important;
	max-width: 0;
	min-width: 0;
	padding: 0;
}

body.home .entry-content > .wp-block-group .wp-block-image,
body.home .entry-content > .wp-block-group .wp-block-table {
	margin-bottom: 0;
}

body.home .entry-content > .wp-block-group .wp-block-image img {
	width: 100%;
	height: 100%;
	min-height: 320px;
	border-radius: calc(var(--kfa-radius-xl) - 8px);
	object-fit: cover;
	box-shadow: var(--kfa-shadow-soft);
}

body.home .entry-content > .wp-block-group .legacy-services-grid {
	margin-top: 1.8rem;
}

body.home .entry-content.home-content-flow > .wp-block-group {
	margin-top: 0;
}

.legacy-section--home-reachability {
	display: grid;
	gap: clamp(18px, 2vw, 26px);
}

.home-reachability-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(320px, 1.12fr);
	gap: clamp(18px, 2vw, 26px);
}

.home-reachability-card {
	padding: clamp(22px, 3vw, 34px);
}

.home-reachability-card--contact {
	background:
		radial-gradient(circle at top right, rgba(255, 255, 255, 0.56), transparent 38%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 245, 243, 0.94)),
		linear-gradient(135deg, rgba(225, 217, 215, 0.4), rgba(255, 255, 255, 0.96));
}

.home-reachability-card--schedule {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 251, 0.92)),
		linear-gradient(135deg, rgba(225, 217, 215, 0.36), rgba(255, 255, 255, 0.97));
	box-shadow: var(--kfa-shadow-soft);
}

.home-reachability-card__eyebrow {
	margin: 0 0 1rem;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.home-reachability-card__body > :last-child,
.home-reachability-card__table > :last-child {
	margin-bottom: 0;
}

.home-reachability-card__body p:first-of-type {
	font-size: clamp(1.06rem, 1.35vw, 1.18rem);
	color: var(--wp--preset--color--primary-dark, #430618);
}

.home-reachability-card__body p:nth-of-type(2) {
	padding: 1rem 1.1rem;
	border: 1px solid rgba(90, 9, 32, 0.1);
	border-radius: var(--kfa-radius-md);
	background: rgba(243, 236, 234, 0.78);
}



.home-reachability-card__body p:last-of-type a {
	color: inherit;
	text-decoration: none;
}

.home-reachability-card__table .wp-block-table {
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(90, 9, 32, 0.14);
	border-radius: var(--kfa-radius-md);
	background: linear-gradient(180deg, rgba(243, 236, 234, 0.96), rgba(255, 255, 255, 0.92));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.home-reachability-card__table table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.home-reachability-card__table .wp-block-table td,
.home-reachability-card__table .wp-block-table th,
.home-reachability-card__table td,
.home-reachability-card__table th {
	padding: 0.9rem 1rem;
	border: 0;
	border-bottom: 1px solid rgba(90, 9, 32, 0.08);
	text-align: left;
	vertical-align: top;
	color: var(--wp--preset--color--foreground, #353535);
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	line-height: 1.55;
}

.home-reachability-card__table .wp-block-table tr:last-child td,
.home-reachability-card__table .wp-block-table tr:last-child th,
.home-reachability-card__table tr:last-child td,
.home-reachability-card__table tr:last-child th {
	border-bottom: 0;
}

.home-reachability-card__table .wp-block-table td:first-child,
.home-reachability-card__table .wp-block-table th:first-child,
.home-reachability-card__table td:first-child,
.home-reachability-card__table th:first-child {
	width: 34%;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #430618);
	background: rgba(255, 255, 255, 0.46);
	white-space: nowrap;
}

.home-reachability-card__table .wp-block-table td:last-child,
.home-reachability-card__table .wp-block-table th:last-child,
.home-reachability-card__table td:last-child,
.home-reachability-card__table th:last-child {
	font-weight: 500;
}

.home-reachability-map .legacy-map-card__content h2 {
	margin-top: 0;
}

.home-feature-hero {
	position: relative;
	display: grid;
	align-items: end;
	width: 100vw;
	min-height: 100svh;
	margin:
		0
		calc(50% - 50vw)
		0;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(90, 9, 32, 0.98), rgba(56, 19, 27, 0.96)),
		#430618;
	box-shadow: 0 34px 90px rgba(57, 22, 30, 0.24);
}

.home-feature-hero::before,
.home-feature-hero::after {
	content: "";
	position: absolute;
	inset: 0;
}

.home-feature-hero::before {
	background:
		linear-gradient(105deg, rgba(32, 10, 16, 0.88) 0%, rgba(56, 19, 27, 0.72) 42%, rgba(56, 19, 27, 0.26) 100%),
		var(--kfa-home-hero-image) center 34% / cover no-repeat;
	transform: scale(1.03);
}

.home-feature-hero::after {
	background:
		radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 28%),
		linear-gradient(180deg, transparent 56%, rgba(32, 10, 16, 0.42) 100%);
}

.home-feature-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.22fr) minmax(290px, 0.78fr);
	gap: clamp(24px, 3vw, 40px);
	width: min(100%, var(--kfa-container));
	margin: 0 auto;
	padding:
		calc(var(--kfa-header-offset) + clamp(20px, 5vh, 72px))
		clamp(20px, 3vw, 32px)
		clamp(34px, 5vw, 56px);
	align-items: end;
}

.home-feature-hero__copy,
.home-feature-hero__panel {
	position: relative;
}

.home-feature-hero__copy .home-feature-hero__eyebrow {
	margin: 0 0 1.15rem;
	color: #fff;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.home-feature-hero__copy h1,
.home-feature-hero__copy .wp-block-heading {
	margin: 0;
	max-width: 10ch;
	color: #fff;
	font-size: clamp(3.8rem, 8vw, 7.2rem);
	font-weight: 650;
	line-height: 0.9;
	letter-spacing: -0.08em;
	text-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.home-feature-hero__copy p {
	max-width: 42rem;
	color: rgba(255, 245, 247, 0.9);
	font-size: clamp(1.02rem, 1.3vw, 1.18rem);
	line-height: 1.8;
}

.home-feature-hero__copy a {
	color: #fff;
	text-decoration-color: rgba(255, 255, 255, 0.4);
}

.home-feature-hero__copy > :last-child {
	margin-bottom: 0;
}

.home-feature-hero__copy .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin: 2rem 0 0;
}

.home-feature-hero__copy .wp-block-button {
	margin: 0;
}

.home-feature-hero__copy .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.4rem;
	padding: 1rem 1.55rem;
	border-width: 1px;
	border-style: solid;
	border-radius: 999px;
	background: #fff;
	border-color: #fff;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-size: 0.96rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	box-shadow: 0 16px 34px rgba(21, 6, 10, 0.24);
	transform: translateY(0);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease,
		backdrop-filter 0.22s ease;
}

.home-feature-hero__copy .wp-block-button:nth-child(2) .wp-block-button__link,
.home-feature-hero__copy .wp-block-button:nth-child(3) .wp-block-button__link {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.2);
	color: #fff;
	backdrop-filter: blur(18px);
	box-shadow: 0 14px 30px rgba(14, 4, 8, 0.16);
}

.home-feature-hero__copy .wp-block-button__link:hover,
.home-feature-hero__copy .wp-block-button__link:focus-visible {
	background: #fff;
	border-color: #fff;
	color: var(--wp--preset--color--primary-dark, #430618);
	transform: translateY(-3px);
	box-shadow: 0 22px 42px rgba(12, 3, 8, 0.3);
}

.home-feature-hero__copy .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.home-feature-hero__copy .wp-block-button:nth-child(2) .wp-block-button__link:focus-visible,
.home-feature-hero__copy .wp-block-button:nth-child(3) .wp-block-button__link:hover,
.home-feature-hero__copy .wp-block-button:nth-child(3) .wp-block-button__link:focus-visible {
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.48);
	color: #fff;
	box-shadow: 0 20px 38px rgba(12, 3, 8, 0.24);
}

.home-feature-hero__panel {
	padding: clamp(20px, 2.5vw, 28px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--kfa-radius-xl);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08)),
		linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03));
	backdrop-filter: blur(20px);
	box-shadow: 0 18px 38px rgba(22, 6, 11, 0.18);
	color: #fff;
}

.home-feature-hero__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.95rem;
	margin-bottom: 1rem;
}

.home-feature-hero__meta-card {
	padding: 0.95rem 1rem;
	border-radius: var(--kfa-radius-md);
	background: rgba(255, 255, 255, 0.08);
}

.home-feature-hero__meta-label {
	margin: 0 0 0.45rem;
	color: rgba(255, 237, 242, 0.72);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.home-feature-hero__meta-value {
	margin: 0;
	color: #fff;
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.55;
}

.home-feature-hero__notice {
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.home-feature-hero__notice p,
.home-feature-hero__notice strong,
.home-feature-hero__notice a {
	color: #fff;
}

.home-feature-hero__notice p {
	margin-bottom: 1rem;
	font-size: 0.98rem;
	line-height: 1.7;
}

.home-feature-hero__notice p:last-child {
	margin-bottom: 0;
}

.page-header-banner {
	width: min(100%, var(--kfa-container));
	margin: clamp(24px, 4vw, 44px) auto 0;
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--kfa-radius-xl);
	background:
		linear-gradient(135deg, rgba(90, 9, 32, 0.98), rgba(124, 23, 48, 0.92)),
		linear-gradient(180deg, #5A0920, #5A0920);
	box-shadow: var(--kfa-shadow);
}

.page-feature-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(360px, 50vh, 680px);
	margin-top: calc(-1 * var(--kfa-header-offset));
	padding-top: calc(var(--kfa-header-offset) + clamp(12px, 2vw, 24px));
	overflow: hidden;
	background: #5A0920;
	box-shadow: var(--kfa-shadow);
}

.page-feature-hero__media,
.page-feature-hero__shade {
	position: absolute;
	inset: 0;
}

.page-feature-hero__media {
	margin: 0;
}

.page-feature-hero__image,
.page-feature-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
}

.page-feature-hero__shade {
	background:
		linear-gradient(180deg, rgba(34, 15, 20, 0.16) 0%, rgba(34, 15, 20, 0.38) 45%, rgba(34, 15, 20, 0.82) 100%),
		radial-gradient(circle at top right, rgba(90, 9, 32, 0.08), transparent 34%);
}

.page-feature-hero__inner {
	position: relative;
	z-index: 1;
	width: min(100%, var(--kfa-container));
	margin: 0 auto;
	padding: clamp(24px, 3vw, 36px);
}

.page-feature-hero__content {
	display: inline-block;
	width: fit-content;
	max-width: min(100%, 720px);
	padding: clamp(20px, 3vw, 34px);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--kfa-radius-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08));
	box-shadow: 0 18px 42px rgba(18, 8, 10, 0.22);
	backdrop-filter: blur(16px);
}

.page-feature-hero__title {
	margin: 0;
	max-width: 100%;
	color: #fff;
	font-size: clamp(2.8rem, 5.2vw, 5.2rem);
	font-weight: 650;
	line-height: 0.94;
	letter-spacing: 0;
	text-wrap: balance;
	overflow-wrap: anywhere;
	hyphens: auto;
	text-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.page-content-flow {
	display: grid;
	gap: clamp(24px, 4vw, 38px);
}

main.site-main.is-layout-constrained > .page-content-flow--container-width,
main.wp-block-group.is-layout-constrained > .page-content-flow--container-width {
	width: min(100%, var(--wp--style--global--wide-size, 1380px));
	max-width: var(--wp--style--global--wide-size, 1380px) !important;
}

main.site-main.is-layout-constrained > .page-content-flow--services,
main.wp-block-group.is-layout-constrained > .page-content-flow--services {
	width: 100%;
	max-width: none !important;
}

.page-content-flow > * {
	margin: 0;
}

.page-content-flow > .wp-block-group,
.page-content-flow > .wp-block-columns:not(.team-grid) {
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid var(--kfa-border);
	border-radius: var(--kfa-radius-xl);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 251, 0.92)),
		linear-gradient(135deg, rgba(225, 217, 215, 0.36), rgba(255, 255, 255, 0.97));
	box-shadow: var(--kfa-shadow-soft);
	backdrop-filter: blur(18px);
}

.page-content-flow > .wp-block-group > :last-child,
.page-content-flow > .wp-block-columns:not(.team-grid) > :last-child {
	margin-bottom: 0;
}

.page-content-flow h2,
.page-content-flow h3,
.page-content-flow h4 {
	margin-top: 0;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-weight: 650;
	letter-spacing: -0.04em;
	line-height: 1.05;
	text-wrap: balance;
}

.page-content-flow h2 {
	font-size: clamp(2rem, 4vw, 3.2rem);
}

.page-content-flow h3 {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

.page-content-flow p,
.page-content-flow ul,
.page-content-flow ol {
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	line-height: 1.75;
}

.page-content-flow p:last-child,
.page-content-flow ul:last-child,
.page-content-flow ol:last-child {
	margin-bottom: 0;
}

.page-content-flow p + .wp-block-heading,
.page-content-flow ul + .wp-block-heading,
.page-content-flow ol + .wp-block-heading {
	margin-top: 1.8rem;
}

.page-content-flow a {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(90, 9, 32, 0.28);
}

.page-content-flow ul,
.page-content-flow ol {
	padding-left: 1.25rem;
}

.page-content-flow li + li {
	margin-top: 0.45rem;
}

.page-content-flow li::marker {
	color: var(--wp--preset--color--primary, #5A0920);
}

.page-content-flow .wp-block-buttons {
	margin-top: 1.5rem;
}

.page-content-flow .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 0.95rem 1.4rem;
	border: 1px solid var(--wp--preset--color--primary, #5A0920);
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #5A0920);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	text-transform: none;
	box-shadow: 0 12px 24px rgba(90, 9, 32, 0.18);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease;
}

.page-content-flow .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-dark, #430618);
	border-color: var(--wp--preset--color--primary-dark, #430618);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 18px 30px rgba(90, 9, 32, 0.2);
}

.page-content-flow > .wp-block-group > .wp-block-columns,
.page-content-flow > .wp-block-columns:not(.team-grid) {
	align-items: stretch !important;
	gap: clamp(22px, 3vw, 38px);
}

.page-content-flow .wp-block-column:empty {
	display: none;
	flex: 0 0 0 !important;
	max-width: 0;
	min-width: 0;
	padding: 0;
}

.page-content-flow .wp-block-table {
	margin: 1.4rem 0;
	overflow: hidden;
	border: 1px solid rgba(90, 9, 32, 0.14);
	border-radius: var(--kfa-radius-md);
	background: linear-gradient(180deg, rgba(243, 236, 234, 0.96), rgba(255, 255, 255, 0.92));
}

.page-content-flow .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
}

.page-content-flow .wp-block-table td,
.page-content-flow .wp-block-table th {
	padding: 0.9rem 1rem;
	border: 0;
	border-bottom: 1px solid rgba(90, 9, 32, 0.08);
	text-align: left;
	vertical-align: top;
}

.page-content-flow .wp-block-table tr:last-child td,
.page-content-flow .wp-block-table tr:last-child th {
	border-bottom: 0;
}

.page-content-flow .wp-block-table td:first-child,
.page-content-flow .wp-block-table th:first-child {
	width: 34%;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #430618);
	background: rgba(255, 255, 255, 0.46);
}

.page-content-flow .wp-block-image {
	margin-bottom: 0;
}

.page-content-flow .wp-block-image img {
	width: 100%;
	height: 100%;
	min-height: 320px;
	border-radius: calc(var(--kfa-radius-xl) - 8px);
	object-fit: cover;
	box-shadow: var(--kfa-shadow-soft);
}

.page-content-flow > .team-grid {
	display: grid !important;
	gap: clamp(18px, 2vw, 28px);
}

.page-content-flow > .team-grid > .wp-block-column {
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	grid-template-rows: auto auto;
	grid-template-areas:
		"image title"
		"image details";
	align-items: start;
	align-content: start;
	gap: clamp(20px, 3vw, 34px);
	margin: 0;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid var(--kfa-border);
	border-radius: var(--kfa-radius-xl);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 251, 0.92)),
		linear-gradient(135deg, rgba(225, 217, 215, 0.24), rgba(255, 255, 255, 0.98));
	box-shadow: var(--kfa-shadow-soft);
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-image,
.page-content-flow > .team-grid > .wp-block-column > .wp-block-gallery {
	grid-area: image;
	margin: 0;
}

/* A portrait added as a Gallery block must lay out like a single Image block. */
.page-content-flow > .team-grid > .wp-block-column > .wp-block-gallery {
	display: block;
	gap: 0;
	padding: 0;
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-gallery .wp-block-image {
	width: 100%;
	margin: 0;
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-image img,
.page-content-flow > .team-grid > .wp-block-column > .wp-block-gallery img {
	width: 100%;
	min-height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: calc(var(--kfa-radius-xl) - 8px);
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-heading {
	grid-area: title;
	margin-bottom: 0;
	font-size: clamp(1.9rem, 2.6vw, 2.6rem);
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-details,
.page-content-flow--service-detail .wp-block-details {
	grid-area: details;
	margin: 0;
	border: 1px solid rgba(90, 9, 32, 0.1);
	border-radius: var(--kfa-radius-md);
	background: linear-gradient(180deg, rgba(243, 236, 234, 0.9), rgba(255, 255, 255, 0.95));
	overflow: hidden;
}

.page-content-flow--service-detail .wp-block-details {
	margin-top: 1rem;
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-details summary,
.page-content-flow--service-detail .wp-block-details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.2rem;
	cursor: pointer;
	list-style: none;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark, #430618);
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-details summary::-webkit-details-marker,
.page-content-flow--service-detail .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-details summary::after,
.page-content-flow--service-detail .wp-block-details summary::after {
	content: "+";
	display: inline-grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 6px 16px rgba(74, 40, 46, 0.08);
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-details[open] summary::after,
.page-content-flow--service-detail .wp-block-details[open] summary::after {
	content: "−";
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-details > :not(summary),
.page-content-flow--service-detail .wp-block-details > :not(summary) {
	margin-left: 1.2rem;
	margin-right: 1.2rem;
}

.page-content-flow > .team-grid > .wp-block-column > .wp-block-details > :last-child,
.page-content-flow--service-detail .wp-block-details > :last-child {
	margin-bottom: 1.2rem;
}

.page-content-flow .legacy-services-grid {
	margin-top: 0;
}

.page-content-flow--services > .legacy-section--services {
	width: 100%;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-bottom: clamp(24px, 3vw, 38px);
}

.page-content-flow--services > .legacy-section--services.wp-block-group-is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-content-flow--services > .legacy-section--services.wp-block-group-is-layout-flow > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.page-content-flow--services > .legacy-section--services > .legacy-services-grid,
.page-content-flow--services > .legacy-section--services > .wp-block-heading,
.page-content-flow--services > .legacy-section--services > .legacy-section-title {
	width: 100%;
}

.page-content-flow--services > .legacy-section--services > .wp-block-heading,
.page-content-flow--services > .legacy-section--services > .legacy-section-title {
	margin-bottom: clamp(18px, 2.2vw, 30px);
}

.page-content-flow--sprechstunden > .wp-block-group > .wp-block-columns > .wp-block-column:first-child,
.page-content-flow--consultation-hours > .wp-block-group > .wp-block-columns > .wp-block-column:first-child,
.page-content-flow--heures-de-travail > .wp-block-group > .wp-block-columns > .wp-block-column:first-child {
	flex-basis: 100% !important;
}

.page-content-flow--services .leistung-card__link,
.page-content-flow--services .leistung-card__link:hover,
.page-content-flow--services .leistung-card__link:focus-visible {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

.page-content-flow .kfa-application-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.page-content-flow .kfa-application-card::before {
	content: "";
	position: absolute;
	inset: auto -12% -34% auto;
	width: clamp(220px, 28vw, 380px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(90, 9, 32, 0.12), rgba(90, 9, 32, 0));
	pointer-events: none;
	z-index: 0;
}

.page-content-flow .kfa-application-card > * {
	position: relative;
	z-index: 1;
}

.kfa-application-card__eyebrow {
	margin: 0 0 0.85rem;
	color: rgba(90, 9, 32, 0.72);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.kfa-application-card__lead {
	max-width: 46rem;
	margin-bottom: 0.55rem;
	color: rgba(52, 37, 41, 0.86);
}

.kfa-application-card__meta {
	margin-bottom: 0;
	color: rgba(90, 9, 32, 0.68);
	font-size: 0.9rem;
	font-weight: 600;
}

.kfa-booking-shell {
	display: grid;
	gap: clamp(20px, 3vw, 34px);
}

.kfa-booking-intro,
.kfa-booking-option,
.kfa-booking-detail,
.kfa-booking-support {
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid rgba(90, 9, 32, 0.12);
	border-radius: var(--kfa-radius-xl);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 251, 0.92)),
		linear-gradient(135deg, rgba(225, 217, 215, 0.36), rgba(255, 255, 255, 0.97));
	box-shadow: var(--kfa-shadow-soft);
}

.kfa-booking-eyebrow,
.kfa-booking-option__badge,
.kfa-booking-detail__badge {
	margin: 0 0 0.9rem;
	color: rgba(90, 9, 32, 0.68);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.kfa-booking-lead {
	max-width: 54rem;
	margin-bottom: 0;
	color: rgba(52, 37, 41, 0.86);
}

.kfa-booking-grid,
.kfa-booking-detail-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 28px);
}

.kfa-booking-option {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-height: 100%;
}

.kfa-booking-option .wp-block-heading,
.kfa-booking-detail .wp-block-heading,
.kfa-booking-support .wp-block-heading {
	margin-bottom: 0;
}

.kfa-booking-option p:last-of-type,
.kfa-booking-detail p:last-of-type,
.kfa-booking-support p:last-of-type {
	margin-bottom: 0;
}

.kfa-booking-option__link,
.kfa-booking-back,
.kfa-booking-cta,
.kfa-booking-call {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 48px;
	padding: 0.92rem 1.25rem;
	border-radius: 999px;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease;
}

.kfa-booking-option__link,
.kfa-booking-cta,
.kfa-booking-call {
	border: 1px solid var(--wp--preset--color--primary, #5A0920);
	background: var(--wp--preset--color--primary, #5A0920);
	color: #fff;
	box-shadow: 0 14px 28px rgba(90, 9, 32, 0.14);
}

.kfa-booking-option__link:hover,
.kfa-booking-cta:hover,
.kfa-booking-call:hover {
	background: var(--wp--preset--color--primary-dark, #430618);
	border-color: var(--wp--preset--color--primary-dark, #430618);
	color: #fff;
	transform: translateY(-1px);
}

.kfa-booking-back {
	border: 1px solid rgba(90, 9, 32, 0.14);
	background: rgba(255, 255, 255, 0.94);
	color: var(--wp--preset--color--primary-dark, #430618);
	box-shadow: 0 10px 22px rgba(74, 40, 46, 0.06);
}

.kfa-booking-back:hover {
	border-color: rgba(90, 9, 32, 0.24);
	background: #fff;
	color: var(--wp--preset--color--primary-dark, #430618);
	transform: translateY(-1px);
}

.kfa-booking-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-top: 1.6rem;
}

.kfa-booking-support {
	align-content: start;
	background:
		radial-gradient(circle at top right, rgba(90, 9, 32, 0.1), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 251, 0.93));
}

.kfa-form-notice {
	margin-top: 1.5rem;
	padding: 1rem 1.1rem;
	border: 1px solid transparent;
	border-radius: var(--kfa-radius-md);
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.6;
}

.kfa-form-notice--success {
	border-color: rgba(44, 112, 67, 0.16);
	background: linear-gradient(180deg, rgba(239, 249, 243, 0.98), rgba(248, 253, 250, 0.96));
	color: #1f6a37;
}

.kfa-form-notice--error {
	border-color: rgba(150, 60, 74, 0.16);
	background: linear-gradient(180deg, rgba(255, 245, 246, 0.98), rgba(255, 251, 251, 0.96));
	color: #7b2f3b;
}

.kfa-application-form {
	margin-top: clamp(24px, 3vw, 34px);
}

.kfa-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.1rem;
}

.kfa-form-field {
	display: grid;
	gap: 0.58rem;
	margin: 0;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-size: 0.96rem;
	font-weight: 650;
}

.kfa-form-field--wide {
	grid-column: 1 / -1;
}

.kfa-form-field__control {
	width: 100%;
	padding: 0.95rem 1rem;
	border: 1px solid rgba(90, 9, 32, 0.16);
	border-radius: var(--kfa-radius-md);
	background: rgba(255, 255, 255, 0.94);
	color: #24191c;
	font: inherit;
	line-height: 1.4;
	box-shadow: inset 0 1px 2px rgba(74, 40, 46, 0.04);
	transition:
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease;
}

.kfa-form-field textarea.kfa-form-field__control {
	min-height: 220px;
	resize: vertical;
}

.kfa-form-field select.kfa-form-field__control {
	padding-right: 3rem;
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, rgba(90, 9, 32, 0.8) 50%),
		linear-gradient(135deg, rgba(90, 9, 32, 0.8) 50%, transparent 50%);
	background-position:
		calc(100% - 1.15rem) calc(50% - 0.12rem),
		calc(100% - 0.78rem) calc(50% - 0.12rem);
	background-repeat: no-repeat;
	background-size: 0.42rem 0.42rem, 0.42rem 0.42rem;
}

.kfa-form-field__control:focus {
	outline: none;
	border-color: rgba(90, 9, 32, 0.48);
	background-color: #fff;
	box-shadow:
		0 0 0 4px rgba(90, 9, 32, 0.12),
		inset 0 1px 2px rgba(74, 40, 46, 0.04);
}

.kfa-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	margin-top: 1.4rem;
}

.kfa-form-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 0.95rem 1.6rem;
	border: 1px solid var(--wp--preset--color--primary, #5A0920);
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #5A0920);
	color: #fff;
	font: inherit;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 14px 28px rgba(90, 9, 32, 0.16);
	cursor: pointer;
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease;
}

.kfa-form-submit:hover,
.kfa-form-submit:focus-visible {
	background: var(--wp--preset--color--primary-dark, #430618);
	border-color: var(--wp--preset--color--primary-dark, #430618);
	transform: translateY(-2px);
	box-shadow: 0 18px 34px rgba(90, 9, 32, 0.2);
}

.kfa-form-legal {
	max-width: 32rem;
	margin: 0;
	color: rgba(52, 37, 41, 0.74);
	font-size: 0.94rem;
	line-height: 1.7;
}

/* Contact Form 7 should inherit the same visual language as the native forms. */
.wpcf7 {
	margin-top: clamp(24px, 3vw, 34px);
}

.wpcf7:first-child {
	margin-top: 0;
}

.wpcf7 .wpcf7-form {
	display: grid;
	gap: 1rem 1.1rem;
	margin: 0;
	padding: clamp(24px, 3vw, 34px);
	border: 1px solid rgba(90, 9, 32, 0.12);
	border-radius: var(--kfa-radius-xl);
	background:
		radial-gradient(circle at top right, rgba(90, 9, 32, 0.08), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 252, 251, 0.93));
	box-shadow: var(--kfa-shadow-soft);
}

.wpcf7 .hidden-fields-container {
	margin: 0;
	padding: 0;
	border: 0;
}

.wpcf7 .wpcf7-form > p {
	margin: 0;
}

.wpcf7 .wpcf7-form > p:empty {
	display: none;
}

.wpcf7 .wpcf7-form > p > label {
	display: grid;
	gap: 0.58rem;
	margin: 0;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-size: 0.96rem;
	font-weight: 650;
	line-height: 1.6;
}

.wpcf7 .wpcf7-form > p > label > br,
.wpcf7 .wpcf7-form > p > br {
	display: none;
}

.wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.wpcf7 .wpcf7-form :is(
	input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
	textarea,
	select
) {
	width: 100%;
	padding: 0.95rem 1rem;
	border: 1px solid rgba(90, 9, 32, 0.16);
	border-radius: var(--kfa-radius-md);
	background: rgba(255, 255, 255, 0.94);
	color: #24191c;
	font: inherit;
	line-height: 1.4;
	box-shadow: inset 0 1px 2px rgba(74, 40, 46, 0.04);
	transition:
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease;
}

.wpcf7 .wpcf7-form textarea {
	min-height: 220px;
	resize: vertical;
}

.wpcf7 .wpcf7-form select {
	padding-right: 3rem;
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, rgba(90, 9, 32, 0.8) 50%),
		linear-gradient(135deg, rgba(90, 9, 32, 0.8) 50%, transparent 50%);
	background-position:
		calc(100% - 1.15rem) calc(50% - 0.12rem),
		calc(100% - 0.78rem) calc(50% - 0.12rem);
	background-repeat: no-repeat;
	background-size: 0.42rem 0.42rem, 0.42rem 0.42rem;
}

.wpcf7 .wpcf7-form :is(
	input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
	textarea,
	select
):focus {
	outline: none;
	border-color: rgba(90, 9, 32, 0.48);
	background-color: #fff;
	box-shadow:
		0 0 0 4px rgba(90, 9, 32, 0.12),
		inset 0 1px 2px rgba(74, 40, 46, 0.04);
}

.wpcf7 .wpcf7-form .wpcf7-checkbox,
.wpcf7 .wpcf7-form .wpcf7-radio {
	display: grid;
	gap: 0.78rem;
}

.wpcf7 .wpcf7-form .wpcf7-list-item {
	display: flex;
	align-items: flex-start;
	gap: 0.78rem;
	margin: 0;
}

.wpcf7 .wpcf7-form :is(input[type="checkbox"], input[type="radio"]) {
	flex: 0 0 auto;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0.22rem 0 0;
	accent-color: var(--wp--preset--color--primary, #5A0920);
}

.wpcf7 .wpcf7-form .wpcf7-list-item-label {
	color: rgba(52, 37, 41, 0.86);
	font-size: 0.96rem;
	font-weight: 500;
	line-height: 1.65;
}

.wpcf7 .wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 48px;
	padding: 0.95rem 1.6rem;
	border: 1px solid var(--wp--preset--color--primary, #5A0920);
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #5A0920);
	color: #fff;
	font: inherit;
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 14px 28px rgba(90, 9, 32, 0.16);
	cursor: pointer;
	appearance: none;
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease;
}

.wpcf7 .wpcf7-form .wpcf7-submit:hover,
.wpcf7 .wpcf7-form .wpcf7-submit:focus-visible {
	background: var(--wp--preset--color--primary-dark, #430618);
	border-color: var(--wp--preset--color--primary-dark, #430618);
	transform: translateY(-2px);
	box-shadow: 0 18px 34px rgba(90, 9, 32, 0.2);
}

.wpcf7 .wpcf7-form .wpcf7-submit:disabled {
	cursor: wait;
	opacity: 0.72;
}

.wpcf7 .wpcf7-form .wpcf7-spinner {
	margin: 0 0 0 0.75rem;
}

.wpcf7 .wpcf7-form .wpcf7-not-valid {
	border-color: rgba(150, 60, 74, 0.4);
	background-color: rgba(255, 245, 246, 0.96);
	box-shadow:
		0 0 0 4px rgba(150, 60, 74, 0.1),
		inset 0 1px 2px rgba(74, 40, 46, 0.04);
}

.wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
	margin-top: 0.45rem;
	color: #7b2f3b;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.5;
}

.wpcf7 .wpcf7-response-output {
	margin: 0;
	padding: 1rem 1.1rem;
	border: 1px solid transparent;
	border-radius: var(--kfa-radius-md);
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.6;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: rgba(44, 112, 67, 0.16);
	background: linear-gradient(180deg, rgba(239, 249, 243, 0.98), rgba(248, 253, 250, 0.96));
	color: #1f6a37;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	border-color: rgba(150, 60, 74, 0.16);
	background: linear-gradient(180deg, rgba(255, 245, 246, 0.98), rgba(255, 251, 251, 0.96));
	color: #7b2f3b;
}

.page-header-banner .wp-block-post-title,
.page-header-banner h1,
.page-header-banner h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(2.6rem, 6vw, 4.8rem);
	font-weight: 650;
	line-height: 0.96;
	letter-spacing: -0.05em;
	text-wrap: balance;
}

.page-header-banner .breadcrumb {
	margin: 0 0 0.9rem;
	color: rgba(225, 217, 215, 0.94);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.legacy-home-intro,
.legacy-section {
	margin-bottom: clamp(40px, 6vw, 84px);
}

.legacy-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--kfa-border);
	border-radius: var(--kfa-radius-xl);
	background: var(--kfa-surface);
	box-shadow: var(--kfa-shadow);
	backdrop-filter: blur(18px);
}

.legacy-card--intro,
.legacy-card--content,
.legacy-split-card,
.legacy-map-card,
.legacy-service-detail {
	padding: clamp(20px, 3vw, 34px);
}

.legacy-card--intro {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.92fr);
	grid-template-areas:
		"title media"
		"copy media"
		"actions media"
		"notice notice";
	column-gap: clamp(24px, 4vw, 56px);
	row-gap: 1.1rem;
	align-items: start;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 252, 251, 0.9)),
		linear-gradient(180deg, #fff, #fff);
}

.kfa-card-shell {
	display: block;
}

.legacy-home-intro__title,
.legacy-rich-content h1,
.legacy-rich-content h2,
.legacy-rich-content h3,
.leistung-card__title,
.legacy-team-card__name,
.leistung-card__content .wp-block-post-title {
	margin: 0;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-weight: 650;
	letter-spacing: -0.04em;
	line-height: 1.06;
	text-wrap: balance;
}

.legacy-home-intro__title {
	grid-area: title;
	max-width: 11ch;
	font-size: clamp(2.8rem, 5vw, 5.1rem);
}

.legacy-rich-content h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.9rem, 3vw, 3rem);
}

.legacy-rich-content h3 {
	margin-bottom: 0.9rem;
	font-size: clamp(1.35rem, 2vw, 1.95rem);
}

.legacy-rich-content h2 + p,
.legacy-rich-content h3 + p,
.legacy-rich-content h2 + ul,
.legacy-rich-content h3 + ul {
	margin-top: 0;
}

.legacy-rich-content p,
.legacy-rich-content ul,
.legacy-rich-content ol,
.legacy-rich-content table,
.legacy-rich-content blockquote {
	margin: 0 0 1.2rem;
	color: var(--wp--preset--color--foreground, #353535);
	font-size: clamp(1rem, 1.2vw, 1.08rem);
	line-height: 1.75;
}

.legacy-rich-content p:last-child,
.legacy-rich-content ul:last-child,
.legacy-rich-content ol:last-child,
.legacy-rich-content table:last-child,
.legacy-rich-content blockquote:last-child {
	margin-bottom: 0;
}

.legacy-rich-content p + h2,
.legacy-rich-content p + h3,
.legacy-rich-content ul + h2,
.legacy-rich-content ul + h3,
.legacy-rich-content ol + h2,
.legacy-rich-content ol + h3 {
	margin-top: 1.8rem;
}

.legacy-rich-content strong {
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #430618);
}

.legacy-rich-content a {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(90, 9, 32, 0.32);
}

.legacy-rich-content ul,
.legacy-rich-content ol,
.wp-block-list {
	padding-left: 1.25rem;
}

.legacy-rich-content li,
.wp-block-list li {
	padding-left: 0.1rem;
}

.legacy-rich-content li + li,
.wp-block-list li + li {
	margin-top: 0.45rem;
}

.legacy-rich-content li::marker,
.wp-block-list li::marker {
	color: var(--wp--preset--color--primary, #5A0920);
}

.legacy-rich-content table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}

.wp-block-table {
	margin: 1.5rem 0;
	overflow: hidden;
	border: 1px solid rgba(90, 9, 32, 0.14);
	border-radius: var(--kfa-radius-md);
	background: var(--kfa-surface-soft);
}

.legacy-rich-content td,
.legacy-rich-content th {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid rgba(90, 9, 32, 0.08);
	text-align: left;
	vertical-align: top;
}

.legacy-rich-content tr:last-child td,
.legacy-rich-content tr:last-child th {
	border-bottom: 0;
}

.legacy-rich-content iframe {
	width: 100%;
	min-height: 420px;
	border: 0;
}

.legacy-home-intro__media {
	grid-area: media;
	margin: 0;
	height: 100%;
}

.legacy-home-intro__media img {
	width: 100%;
	height: 100%;
	min-height: 460px;
	border-radius: calc(var(--kfa-radius-xl) - 8px);
	object-fit: cover;
	box-shadow: var(--kfa-shadow-soft);
}

.legacy-home-intro__copy,
.legacy-home-intro__notice {
	max-width: none;
}

.legacy-home-intro__copy {
	grid-area: copy;
}

.legacy-home-intro__copy p:first-child {
	font-size: clamp(1.08rem, 1.4vw, 1.2rem);
	color: var(--wp--preset--color--primary-dark, #430618);
}

.legacy-home-intro__notice {
	grid-area: notice;
	margin-top: 0.45rem;
	padding: clamp(18px, 2vw, 24px);
	border: 1px solid rgba(90, 9, 32, 0.1);
	border-radius: var(--kfa-radius-lg);
	background: linear-gradient(135deg, rgba(225, 217, 215, 0.52), rgba(255, 255, 255, 0.95));
}

.legacy-section-title {
	margin: 0 0 1.4rem;
	color: var(--wp--preset--color--primary-dark, #430618);
	font-size: clamp(2.05rem, 4vw, 3.7rem);
	font-weight: 650;
	line-height: 1;
	letter-spacing: -0.05em;
}

.legacy-section-title::after {
	content: "";
	display: block;
	width: 78px;
	height: 4px;
	margin-top: 0.95rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--wp--preset--color--primary, #5A0920), rgba(90, 9, 32, 0.15));
}

.legacy-section--services {
	padding-bottom: 0;
}

.legacy-split-card__layout,
.legacy-map-card__layout,
.legacy-service-detail__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(310px, 0.98fr);
	align-items: stretch;
	gap: clamp(20px, 3vw, 40px);
}

.legacy-split-card__content,
.legacy-map-card__content,
.legacy-service-detail__content {
	padding: 0.2rem 0;
}

.legacy-split-card__media,
.legacy-map-card__media,
.legacy-service-detail__media {
	height: 100%;
}

.legacy-split-card__media img,
.legacy-map-card__media iframe,
.legacy-service-detail__media img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	border-radius: calc(var(--kfa-radius-xl) - 8px);
	object-fit: cover;
	box-shadow: var(--kfa-shadow-soft);
}

.legacy-map-card {
	margin-top: clamp(18px, 2vw, 26px);
}

.legacy-service-detail__media img {
	position: static;
	min-height: 480px;
}

.legacy-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin: 0.5rem 0 0;
}

.legacy-action-row .wp-block-button {
	margin: 0;
}

.legacy-action-row .wp-block-button__link,
.legacy-action-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 0.95rem 1.4rem;
	border: 1px solid var(--wp--preset--color--primary, #5A0920);
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #5A0920);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	text-transform: none;
	box-shadow: 0 12px 24px rgba(90, 9, 32, 0.18);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		background-color 0.22s ease,
		border-color 0.22s ease,
		color 0.22s ease;
}

.legacy-action-row .wp-block-button__link:hover,
.legacy-action-link:hover {
	background: var(--wp--preset--color--primary-dark, #430618);
	border-color: var(--wp--preset--color--primary-dark, #430618);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 18px 30px rgba(90, 9, 32, 0.2);
}

.legacy-action-row .is-style-outline .wp-block-button__link,
.legacy-action-link {
	background: rgba(255, 255, 255, 0.86);
	border-color: rgba(90, 9, 32, 0.16);
	color: var(--wp--preset--color--primary-dark, #430618);
	box-shadow: none;
}

.legacy-action-row .is-style-outline .wp-block-button__link:hover {
	background: rgba(225, 217, 215, 0.7);
	border-color: rgba(90, 9, 32, 0.26);
	color: var(--wp--preset--color--primary-dark, #430618);
	box-shadow: none;
}

.legacy-action-link__icon {
	display: inline-flex;
	width: 1rem;
	height: 1rem;
}

.legacy-action-link__icon svg {
	width: 100%;
	height: 100%;
}

.legacy-services-grid,
.leistungen-grid,
.legacy-team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: clamp(18px, 2vw, 28px);
}

.leistung-card,
.legacy-team-card {
	overflow: hidden;
	border: 1px solid rgba(90, 9, 32, 0.1);
	border-radius: var(--kfa-radius-lg);
	background: var(--kfa-surface-strong);
	box-shadow: var(--kfa-shadow-soft);
	transition:
		transform 0.22s ease,
		box-shadow 0.22s ease,
		border-color 0.22s ease;
}

.leistung-card:hover,
.legacy-team-card:hover {
	transform: translateY(-4px);
	border-color: rgba(90, 9, 32, 0.2);
	box-shadow: 0 22px 48px rgba(74, 40, 46, 0.12);
}

.leistung-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
}

.leistung-card__image,
.leistung-card__image img {
	width: 100%;
	aspect-ratio: 16 / 11;
	object-fit: cover;
}

.leistung-card__image {
	overflow: hidden;
	margin: 0;
	min-height: 200px;
	background: linear-gradient(135deg, rgba(90, 9, 32, 0.12), rgba(225, 217, 215, 0.52));
}

.leistung-card__image--empty {
	background: linear-gradient(135deg, rgba(90, 9, 32, 0.14), rgba(225, 217, 215, 0.65));
}

.leistung-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.95rem;
	padding: 1.4rem 1.4rem 1.6rem;
	text-align: left;
}

.leistung-card__title,
.leistung-card__content .wp-block-post-title {
	font-size: clamp(1.35rem, 1.8vw, 1.8rem);
}

.leistung-card__content .wp-block-post-title a {
	color: inherit;
}

.leistung-card__excerpt,
.leistung-card__content .wp-block-post-excerpt__excerpt {
	margin: 0;
	color: var(--wp--preset--color--foreground-light, #686868);
	font-size: 0.98rem;
	line-height: 1.7;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.legacy-team-card__image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.legacy-team-card__image {
	margin: 0;
	min-height: 320px;
	background: linear-gradient(135deg, rgba(90, 9, 32, 0.12), rgba(225, 217, 215, 0.52));
}

.legacy-team-card__body {
	padding: 1.35rem 1.35rem 1.45rem;
}

.legacy-team-card__name {
	margin-bottom: 0.55rem;
	font-size: clamp(1.4rem, 2vw, 1.9rem);
}

.legacy-team-card__role {
	margin: 0;
	color: var(--wp--preset--color--foreground-light, #686868);
	font-size: 0.98rem;
	line-height: 1.6;
}

.legacy-team-card__details,
.legacy-accordion {
	margin-top: 1rem;
	border: 1px solid rgba(90, 9, 32, 0.1);
	border-radius: var(--kfa-radius-md);
	background: var(--kfa-surface-soft);
	overflow: hidden;
}

.legacy-team-card__details summary,
.legacy-accordion summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.2rem;
	cursor: pointer;
	list-style: none;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark, #430618);
}

.legacy-team-card__details summary::-webkit-details-marker,
.legacy-accordion summary::-webkit-details-marker {
	display: none;
}

.legacy-team-card__details summary::after,
.legacy-accordion summary::after {
	content: "+";
	display: inline-grid;
	width: 2rem;
	height: 2rem;
	place-items: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 6px 16px rgba(74, 40, 46, 0.08);
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1;
}

.legacy-team-card__details[open] summary::after,
.legacy-accordion[open] summary::after {
	content: "−";
}

.legacy-team-card__details[open] summary,
.legacy-accordion[open] summary {
	color: var(--wp--preset--color--primary, #5A0920);
}

.legacy-team-card__details > :not(summary),
.legacy-accordion > :not(summary) {
	margin-left: 1.2rem;
	margin-right: 1.2rem;
}

.legacy-team-card__details > :last-child,
.legacy-accordion > :last-child {
	margin-bottom: 1.2rem;
}

blockquote {
	margin: 1.5rem 0;
	padding: 1rem 0 1rem 1.2rem;
	border-left: 4px solid rgba(90, 9, 32, 0.26);
	color: var(--wp--preset--color--primary-dark, #430618);
	background: linear-gradient(90deg, rgba(225, 217, 215, 0.38), transparent);
}

@media (max-width: 1023px) {
	body {
		--kfa-header-offset: 124px;
	}

	body.admin-bar {
		--kfa-header-offset: 168px;
	}

	body.home .entry-content > .wp-block-group {
		padding: clamp(20px, 4vw, 30px);
	}

	.page-content-flow > .team-grid > .wp-block-column {
		grid-template-columns: 1fr;
		grid-template-areas:
			"image"
			"title"
			"details";
	}

	.page-content-flow > .team-grid > .wp-block-column > .wp-block-image img,
	.page-content-flow > .team-grid > .wp-block-column > .wp-block-gallery img {
		max-width: 360px;
		min-height: 320px;
	}

	.kfa-booking-grid,
	.kfa-booking-detail-layout {
		grid-template-columns: 1fr;
	}

	.home-feature-hero__inner {
		grid-template-columns: 1fr;
		padding-top: calc(var(--kfa-header-offset) + clamp(16px, 4vh, 46px));
	}

	.home-feature-hero__panel {
		max-width: 38rem;
	}

	.home-feature-hero__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-reachability-grid {
		grid-template-columns: 1fr;
	}

	.kfa-form-grid {
		grid-template-columns: 1fr;
	}

	.legacy-card--intro {
		grid-template-columns: 1fr;
		grid-template-areas:
			"title"
			"media"
			"copy"
			"actions"
			"notice";
	}

	.legacy-home-intro__media img {
		min-height: 360px;
	}

	.legacy-split-card__layout,
	.legacy-map-card__layout,
	.legacy-service-detail__layout {
		grid-template-columns: 1fr;
	}

	.legacy-split-card__media,
	.legacy-service-detail__media {
		order: -1;
	}

	.legacy-split-card__media img,
	.legacy-map-card__media iframe,
	.legacy-service-detail__media img {
		min-height: 320px;
	}
}

@media (max-width: 767px) {
	body {
		--kfa-header-offset: 68px;
	}

	body.admin-bar {
		--kfa-header-offset: 114px;
	}

	.page-feature-hero {
		min-height: clamp(300px, 46vh, 520px);
	}

	.page-feature-hero__inner {
		padding: 1rem;
	}

	.home-feature-hero {
		min-height: 100svh;
	}

	.home-feature-hero__inner {
		padding:
			calc(var(--kfa-header-offset) + clamp(10px, 3vh, 26px))
			1rem
			1.2rem;
	}

	.home-feature-hero__copy h1,
	.home-feature-hero__copy .wp-block-heading {
		font-size: clamp(3rem, 12vw, 4.6rem);
		max-width: 8.5ch;
	}

	.kfa-booking-intro,
	.kfa-booking-option,
	.kfa-booking-detail,
	.kfa-booking-support {
		padding: 1rem;
		border-radius: var(--kfa-radius-lg);
	}

	.kfa-booking-actions {
		flex-direction: column;
	}

	.kfa-booking-option__link,
	.kfa-booking-back,
	.kfa-booking-cta,
	.kfa-booking-call {
		width: 100%;
	}

	.home-feature-hero__meta {
		grid-template-columns: 1fr;
	}

	.home-feature-hero__copy .wp-block-buttons {
		flex-direction: column;
	}

	.home-feature-hero__copy .wp-block-button,
	.home-feature-hero__copy .wp-block-button__link {
		width: 100%;
	}

	.page-feature-hero__content {
		padding: 1rem 1rem 1.1rem;
		border-radius: var(--kfa-radius-md);
	}

	.page-content-flow > .wp-block-group,
	.page-content-flow > .wp-block-columns:not(.team-grid),
	.page-content-flow > .team-grid > .wp-block-column {
		padding: 1rem;
		border-radius: var(--kfa-radius-lg);
	}

	.page-content-flow .wp-block-image img,
	.page-content-flow > .team-grid > .wp-block-column > .wp-block-image img,
	.page-content-flow > .team-grid > .wp-block-column > .wp-block-gallery img {
		min-height: 240px;
		border-radius: var(--kfa-radius-md);
	}

	.page-content-flow .wp-block-table td,
	.page-content-flow .wp-block-table th {
		padding: 0.72rem 0.78rem;
		font-size: 0.94rem;
	}

	.kfa-form-field__control {
		padding: 0.88rem 0.92rem;
	}

	.kfa-form-field textarea.kfa-form-field__control {
		min-height: 180px;
	}

	.kfa-form-actions {
		align-items: stretch;
	}

	.kfa-form-submit {
		width: 100%;
	}

	.wpcf7 .wpcf7-form {
		padding: 1rem;
		border-radius: var(--kfa-radius-lg);
	}

	.wpcf7 .wpcf7-form :is(
		input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
		textarea,
		select
	) {
		padding: 0.88rem 0.92rem;
	}

	.wpcf7 .wpcf7-form textarea {
		min-height: 180px;
	}

	.wpcf7 .wpcf7-form .wpcf7-submit {
		width: 100%;
	}

	body.home .entry-content > .wp-block-group {
		padding: 1rem;
		border-radius: var(--kfa-radius-lg);
	}

	.home-reachability-card {
		padding: 1rem;
		border-radius: var(--kfa-radius-lg);
	}

	.home-reachability-card__table td,
	.home-reachability-card__table th {
		padding: 0.72rem 0.78rem;
		font-size: 0.94rem;
	}

	body.home .entry-content > .wp-block-group .wp-block-image img {
		min-height: 240px;
		border-radius: var(--kfa-radius-md);
	}

	.page-header-banner {
		padding: 1.6rem 1.4rem 1.8rem;
		border-radius: var(--kfa-radius-lg);
	}

	.legacy-card--intro,
	.legacy-card--content,
	.legacy-split-card,
	.legacy-map-card,
	.legacy-service-detail {
		padding: 1rem;
		border-radius: var(--kfa-radius-lg);
	}

	.legacy-home-intro__media img,
	.legacy-split-card__media img,
	.legacy-map-card__media iframe,
	.legacy-service-detail__media img {
		min-height: 260px;
		border-radius: var(--kfa-radius-md);
	}

	.legacy-action-row {
		flex-direction: column;
	}

	.legacy-action-link,
	.legacy-action-row .wp-block-button,
	.legacy-action-row .wp-block-button__link {
		width: 100%;
	}

	.legacy-action-row .wp-block-button__link,
	.legacy-action-link {
		justify-content: center;
	}
}



.leistung-card__image, .leistung-card__image img {
  /* aspect-ratio: 16 / 11; */
  aspect-ratio: 1;
  padding: 1em;
  border: ;
  border-radius: 48px;
  border: 11px solid #791C1F;
}

.leistung-card__image {
  padding: 0;
}
