/*
 * Funkenkunst presentation layer.
 * Loaded after the technical A&B 3.6 foundation and its plugin adapters.
 */

:root {
	--fk-night: #140409;
	--fk-night-soft: #1e070e;
	--fk-night-raised: #2a0c14;
	--fk-line: #4a1a26;
	--fk-brand: #c81840;
	--fk-brand-strong: #900828;
	--fk-brand-hover: #e0234f;
	--fk-rose: #ff9db1;
	--fk-rose-light: #ffc6d2;
	--fk-gold: #f59b0b;
	--fk-white: #ffffff;
	--fk-muted: #c9a9b2;
	--fk-width: 1220px;
	--fk-depth-brand: 7px 7px 0 rgba(200, 24, 64, 0.58);
	--fk-depth-rose: 7px 7px 0 rgba(255, 157, 177, 0.38);
	--fk-depth-gold: 7px 7px 0 rgba(245, 155, 11, 0.36);
	--fk-depth-neutral: 7px 7px 0 rgba(255, 255, 255, 0.2);
	--fk-depth-brand-hover: 11px 11px 0 rgba(200, 24, 64, 0.58);
	--fk-depth-rose-hover: 11px 11px 0 rgba(255, 157, 177, 0.42);
	--fk-depth-gold-hover: 11px 11px 0 rgba(245, 155, 11, 0.36);
	--fk-depth-neutral-hover: 11px 11px 0 rgba(255, 255, 255, 0.22);
	--fk-lift: translate(-2px, -2px);
	--fk-lift-strong: translate(-4px, -4px);
	--fk-button-shadow: 3px 3px 0 rgba(20, 4, 9, 0.5);
	--fk-button-shadow-hover: 5px 5px 0 rgba(20, 4, 9, 0.55);
	--fk-step-shadow: 4px 4px 0 var(--fk-brand-strong);
	--fk-step-shadow-hover: 7px 7px 0 var(--fk-brand-strong);
	--fk-motion: 160ms ease;
	--fk-rot-0: #ffffff;
	--fk-rot-1: #ffd7c2;
	--fk-rot-2: #ff9db1;
	--fk-rot-3: #c81840;
	--fk-rot-4: #7d0a24;
	--fk-orange-0: #ffffff;
	--fk-orange-1: #ffe0b8;
	--fk-orange-2: #ffab52;
	--fk-orange-3: #ef6712;
	--fk-orange-4: #8f3405;
	--fk-gold-0: #ffffff;
	--fk-gold-1: #fff3c2;
	--fk-gold-2: #ffd24a;
	--fk-gold-3: #f59b0b;
	--fk-gold-4: #a35a05;
	--fk-gruen-0: #ffffff;
	--fk-gruen-1: #d9ffe0;
	--fk-gruen-2: #6ef58c;
	--fk-gruen-3: #12b53f;
	--fk-gruen-4: #0a6b26;
	--fk-tuerkis-0: #ffffff;
	--fk-tuerkis-1: #d9fbff;
	--fk-tuerkis-2: #66e8f5;
	--fk-tuerkis-3: #12a5bd;
	--fk-tuerkis-4: #075d6e;
	--fk-blau-0: #ffffff;
	--fk-blau-1: #d6f0ff;
	--fk-blau-2: #6ec6ff;
	--fk-blau-3: #1e6fd9;
	--fk-blau-4: #0d3a80;
	--fk-violett-0: #ffffff;
	--fk-violett-1: #f0d9ff;
	--fk-violett-2: #c78cff;
	--fk-violett-3: #8a3ddb;
	--fk-violett-4: #4a1780;
	--fk-magenta-0: #ffffff;
	--fk-magenta-1: #ffd9f2;
	--fk-magenta-2: #ff70c8;
	--fk-magenta-3: #d61b8a;
	--fk-magenta-4: #7a0a4c;
	--fk-silber-0: #ffffff;
	--fk-silber-1: #ffffff;
	--fk-silber-2: #e6ecf5;
	--fk-silber-3: #9fb0c4;
	--fk-silber-4: #5a6b80;
	--fk-komet-0: #ffffff;
	--fk-komet-1: #ffe6a3;
	--fk-komet-2: #ffd7c2;
	--fk-komet-3: #f59b0b;
	--fk-komet-4: #8f3405;
}

:root {
	--ab-brand: #c81840;
	--ab-brand-light: #ff9db1;
	--ab-action: #a81038;
	--ab-action-hover: #900828;
	--ab-ink: #25080f;
	--ab-text: #2f2226;
	--ab-muted: #6b565c;
	--ab-line: #e0cbd1;
	--ab-field-border: #80676e;
	--ab-surface: #fdf4f6;
	--ab-surface-strong: #f8e4ea;
	--ab-inverse: #140409;
	--ab-on-inverse-muted: #e7c9d1;
	--ab-accent: #8a1030;
	--ab-accent-light: #fbe6ec;
	--ab-ground: #fdf4f6;
	--ab-on-action: #ffffff;
	color-scheme: light;
	letter-spacing: 0;
}

body {
	background: var(--ab-ground);
	color: var(--ab-text);
	letter-spacing: 0;
}

:root[data-ab-theme="dunkel"] {
	--ab-ground: #140409;
	--ab-surface: #1e070e;
	--ab-surface-strong: #2a0c14;
	--ab-line: #4a1a26;
	--ab-field-border: #a9828c;
	--ab-ink: #ffffff;
	--ab-text: #f2e4e8;
	--ab-muted: #c9a9b2;
	--ab-brand: #ff9db1;
	--ab-action: #ff9db1;
	--ab-action-hover: #ffc6d2;
	--ab-on-action: #140409;
	--ab-inverse: #2a0c14;
	--ab-on-inverse: #ffffff;
	--ab-on-inverse-muted: #c9a9b2;
	color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
	:root:not([data-ab-theme="hell"]) {
		--ab-ground: #140409;
		--ab-surface: #1e070e;
		--ab-surface-strong: #2a0c14;
		--ab-line: #4a1a26;
		--ab-field-border: #a9828c;
		--ab-ink: #ffffff;
		--ab-text: #f2e4e8;
		--ab-muted: #c9a9b2;
		--ab-brand: #ff9db1;
		--ab-action: #ff9db1;
		--ab-action-hover: #ffc6d2;
		--ab-on-action: #140409;
		--ab-inverse: #2a0c14;
		--ab-on-inverse: #ffffff;
		--ab-on-inverse-muted: #c9a9b2;
		color-scheme: dark;
	}
}

:root[data-ab-contrast="hoch"] .fk-home {
	--fk-line: #ffffff;
	--fk-muted: #ffffff;
}

:root[data-ab-contrast="hoch"] .fk-home :is(.fk-card, .fk-profile, .fk-step-number, .fk-step-igniter, .fk-button) {
	box-shadow: none;
	transform: none;
}

.site-header {
	position: relative;
	z-index: 30;
	border-top: 0;
	border-bottom: 2px solid var(--fk-brand);
	background: var(--fk-night);
	color: var(--fk-white);
}

.site-header__utility {
	border-bottom: 1px solid var(--fk-line);
	background: var(--fk-night-soft);
}

.site-header__utility-inner,
.site-header__inner {
	width: min(calc(100% - 3rem), var(--fk-width));
	max-width: none;
	margin-inline: auto;
}

.site-header__utility-inner {
	min-height: 56px;
	padding-block: 0.35rem;
}

.site-header__help {
	color: var(--fk-muted);
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 400;
	text-transform: none;
}

.site-header__accessibility {
	margin-left: auto;
}

.ab-utility-button {
	min-height: var(--ab-tap);
	padding: 0.4rem 0.75rem;
	border: 2px solid var(--fk-rose);
	border-radius: 4px;
	background: transparent;
	color: var(--fk-rose);
	font-size: 0.9rem;
}

.ab-utility-button:hover,
.ab-utility-button:focus-visible,
.ab-utility-button[aria-pressed="true"],
.ab-utility-button[aria-expanded="true"] {
	border-color: var(--fk-rose);
	background: var(--fk-rose);
	color: var(--fk-night);
}

.fk-motion-toggle__icon {
	display: inline-block;
	min-width: 1rem;
	margin-right: 0.25rem;
	font-weight: 800;
}

.ab-display-panel {
	right: 0;
	left: auto;
	width: min(31rem, calc(100vw - 2rem));
	border: 2px solid var(--fk-rose);
	border-radius: 4px;
	background: var(--fk-night-raised);
	box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.65);
	color: var(--fk-white);
}

.ab-display-panel__label,
.ab-display-panel__hint {
	color: var(--fk-muted);
}

.ab-display-reset {
	color: var(--fk-rose-light);
}

.ls-toggle:hover,
.ls-toggle:focus {
	border-color: var(--fk-brand);
	background: transparent;
}

.site-header__inner {
	min-height: 84px;
	padding: 0;
}

.site-branding {
	max-width: none;
}

.site-branding .fk-wordmark {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	gap: 0.8rem;
	color: var(--fk-white);
	font-size: 1.4rem;
	font-weight: 800;
	text-decoration: none;
}

.fk-wordmark:hover,
.fk-wordmark:focus-visible {
	color: var(--fk-rose-light);
}

.fk-wordmark__mark {
	display: block;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 0;
	background: var(--fk-brand);
	box-shadow: 5px 5px 0 rgba(255, 157, 177, 0.5);
	transform: none;
}

.primary-menu,
.primary-navigation .primary-menu > ul {
	gap: 1.75rem;
}

.site-branding .custom-logo {
	max-width: 220px;
	max-height: 64px;
	object-fit: contain;
}

.primary-menu a {
	min-height: 44px;
	padding: 0.5rem 0;
	border-bottom: 3px solid transparent;
	color: var(--fk-white);
	font-size: 0.95rem;
	font-weight: 750;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
}

.primary-menu a:hover,
.primary-menu a:focus,
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a,
.primary-menu .current_page_item > a,
.primary-menu .current_page_ancestor > a {
	border-bottom-color: var(--fk-brand);
	background: transparent;
	color: var(--fk-white);
	text-decoration: none;
}

.primary-menu .sub-menu,
.primary-menu .children {
	border: 2px solid var(--fk-line);
	border-radius: 3px;
	background: var(--fk-night-raised);
	box-shadow: 7px 7px 0 rgba(0, 0, 0, 0.6);
}

.primary-menu .sub-menu a,
.primary-menu .children a {
	padding: 0.55rem 0.75rem;
	border-bottom: 0;
	color: var(--fk-white);
}

.menu-toggle {
	border-color: var(--fk-rose);
	background: transparent;
	color: var(--fk-white);
}

.menu-toggle__icon span {
	background: currentColor;
}

.site-main {
	min-height: 55vh;
	background: var(--ab-ground);
	color: var(--ab-text);
}

.content-shell :is(.entry-title, .archive-title, .post-summary__title a, h1, h2, h3, h4, h5, h6) {
	color: var(--ab-ink);
}

.content-shell :is(.entry, .archive-description, .post-summary, .comments-area) {
	color: var(--ab-text);
}

.content-shell :is(input, select, textarea) {
	background: var(--ab-surface);
	color: var(--ab-text);
}

.fk-home {
	position: relative;
	isolation: isolate;
	overflow: clip;
	background: var(--fk-night);
	color: #f2e4e8;
}

.fk-home > :not(.fk-cursor-trail) {
	position: relative;
	z-index: 1;
}

.fk-cursor-trail {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.fk-cursor-trail--hero {
	z-index: 1;
}

.fk-container {
	width: min(calc(100% - 3rem), var(--fk-width));
	margin-inline: auto;
}

.fk-hero {
	position: relative;
	display: flex;
	height: auto;
	min-height: 44rem;
	max-height: none;
	align-items: flex-end;
	overflow: hidden;
	background: transparent;
}

.fk-firework {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	cursor: crosshair;
	touch-action: pan-y;
}

.fk-hero__content {
	position: relative;
	z-index: 2;
	padding-block: 6rem 8rem;
	pointer-events: none;
}

.fk-hero__content > * {
	pointer-events: auto;
}

.fk-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--fk-rose-light);
	font-family: var(--ab-font-mono);
	font-size: 0.92rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.fk-hero h1 {
	max-width: 20ch;
	margin: 0;
	color: var(--fk-white);
	font-size: clamp(3.5rem, 2rem + 5vw, 6.5rem);
	font-weight: 800;
	line-height: 0.94;
	letter-spacing: 0;
}

.fk-rule {
	display: block;
	width: 9rem;
	height: 8px;
	margin: 2rem 0;
	background: var(--fk-brand);
}

.fk-hero__lead {
	max-width: 34ch;
	margin: 0 0 2.25rem;
	color: #e7c9d1;
	font-size: 1.35rem;
}

.fk-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

.fk-button,
.fk-home .wp-element-button {
	display: inline-flex;
	min-height: var(--ab-tap);
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1rem;
	border: 2px solid var(--fk-brand);
	border-radius: 4px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	box-shadow: var(--fk-button-shadow);
	transition:
		transform 120ms ease,
		box-shadow 120ms ease,
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.fk-button:focus-visible,
.fk-home .wp-element-button:focus-visible {
	transform: translate(-1px, -1px);
	box-shadow: var(--fk-button-shadow-hover);
}

.fk-hero .fk-button,
.fk-hero .wp-element-button {
	padding: 0.8rem 1.35rem;
	font-size: 1.1rem;
}

.fk-button--primary {
	--fk-button-shadow: 3px 3px 0 rgba(255, 157, 177, 0.5);
	--fk-button-shadow-hover: 5px 5px 0 rgba(255, 157, 177, 0.6);
	background: var(--fk-brand);
	color: var(--fk-white);
}

.fk-button--primary:hover {
	border-color: var(--fk-brand-hover);
	background: var(--fk-brand-hover);
	color: var(--fk-white);
}

.fk-button--outline {
	border-color: var(--fk-rose);
	background: transparent;
	color: var(--fk-rose);
}

.fk-button--outline:hover {
	border-color: var(--fk-rose);
	background: var(--fk-rose);
	color: var(--fk-night);
}

@media (hover: hover) {
	.fk-button:hover,
	.fk-home .wp-element-button:hover {
		box-shadow: var(--fk-button-shadow-hover);
		transform: translate(-1px, -1px);
	}
}

.fk-marquee {
	overflow: hidden;
	border-block: 2px solid var(--fk-night-raised);
	background: var(--fk-brand);
	color: var(--fk-white);
}

.fk-marquee__track {
	display: flex;
	width: max-content;
	align-items: center;
	gap: 1.25rem;
	padding-block: 0.9rem;
	font-family: var(--ab-font-mono);
	font-size: 1.5rem;
	font-weight: 800;
	text-transform: uppercase;
	animation: fk-marquee 22s linear infinite;
}

.fk-marquee__track i {
	display: inline;
	width: auto;
	height: auto;
	background: transparent;
	font-style: normal;
	transform: none;
}

.fk-marquee__track i::before {
	content: "·";
}

.fk-stats {
	padding-inline: 1.5rem;
	padding-block: 3.5rem;
	border-bottom: 2px solid var(--fk-line);
	background: var(--fk-night-soft);
}

.fk-stats__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
}

.fk-stat {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 0.35rem;
	padding-left: 0;
	border-left: 0;
}

.fk-stat strong {
	color: var(--fk-rose);
	font-size: 3.5rem;
	line-height: 1;
}

.fk-stat span {
	color: var(--fk-muted);
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
}

.fk-section {
	padding-inline: 1.5rem;
	padding-block: 5.5rem;
	background: transparent;
}

.fk-section--surface {
	padding-block: 5rem;
	border-block: 2px solid var(--fk-line);
	background: var(--fk-night-soft);
}

.fk-section-head {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	align-items: end;
	margin-bottom: 3rem;
}

.fk-section-head h2,
.fk-contact h2 {
	flex: 1 1 30rem;
	margin: 0;
	color: var(--fk-white);
	font-size: clamp(2.25rem, 1.4rem + 2.6vw, 3.5rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: 0;
}

.fk-section-head > p:last-child {
	max-width: 60ch;
	flex: 0 1 26rem;
	margin: 0;
	color: var(--fk-muted);
	font-size: 1.08rem;
}

.fk-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.fk-card {
	--fk-card-rest-shadow: var(--fk-depth-brand);
	--fk-card-hover-shadow: var(--fk-depth-brand-hover);
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 17rem;
	flex-direction: column;
	padding: 1.75rem;
	border: 2px solid var(--fk-line);
	border-radius: 4px;
	background: var(--fk-night-soft);
	box-shadow: var(--fk-card-rest-shadow);
	transition: transform var(--fk-motion), box-shadow var(--fk-motion), border-color var(--fk-motion);
}

.fk-card::before {
	display: block;
	width: 3rem;
	height: 6px;
	margin-bottom: 1.25rem;
	background: var(--fk-brand);
	content: "";
}

.fk-card--light {
	--fk-card-rest-shadow: var(--fk-depth-rose);
	--fk-card-hover-shadow: var(--fk-depth-rose-hover);
}

.fk-card--gold {
	--fk-card-rest-shadow: var(--fk-depth-gold);
	--fk-card-hover-shadow: var(--fk-depth-gold-hover);
}

.fk-card--neutral {
	--fk-card-rest-shadow: var(--fk-depth-neutral);
	--fk-card-hover-shadow: var(--fk-depth-neutral-hover);
}

.fk-card__number {
	position: static;
	color: var(--fk-rose);
	font-family: inherit;
	font-size: 2.75rem;
	font-weight: 800;
	line-height: 1;
}

.fk-card h3,
.fk-profile h3,
.fk-steps h3 {
	margin: 0.6rem 0;
	color: var(--fk-white);
	font-size: 1.6rem;
}

.fk-card h3,
.fk-profile h3 {
	transition: color var(--fk-motion);
}

.fk-card p,
.fk-profile p,
.fk-steps p {
	margin-bottom: 0;
	color: #f2e4e8;
}

.fk-card > a {
	margin-top: auto;
	padding-top: 1rem;
	color: var(--fk-rose);
	font-weight: 750;
	text-underline-offset: 0.2em;
}

.fk-card > a span {
	display: inline-block;
	margin-left: 0.35rem;
	transition: transform var(--fk-motion);
}

.fk-card > a::after,
.fk-profile h3 a::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
}

.fk-profile h3 a {
	color: inherit;
	text-decoration: none;
}

.fk-card > a:focus-visible,
.fk-profile h3 a:focus-visible {
	outline: 0;
	text-decoration-thickness: 0.16em;
}

.fk-steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1.2rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.fk-steps li {
	position: relative;
	min-width: 0;
	margin: 0;
	padding-top: 4.4rem;
}

.fk-steps li:not(:last-child)::after {
	position: absolute;
	top: 1.45rem;
	right: -0.8rem;
	width: calc(100% - 3.6rem);
	height: 2px;
	background: var(--fk-line);
	content: "";
}

.fk-fuse-section {
	position: relative;
	isolation: isolate;
	overflow: clip;
}

.fk-fuse-section > .fk-container {
	position: relative;
	z-index: 1;
}

.fk-fuse-canvas {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
	image-rendering: pixelated;
}

.fk-fuse-ready .fk-steps li:not(:last-child)::after {
	opacity: 0;
}

.fk-steps li > :is(.fk-step-number, .fk-step-igniter) {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: inline-flex;
	width: 3rem;
	height: 3rem;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--fk-white);
	border-radius: 3px;
	background: var(--fk-brand);
	color: var(--fk-white);
	font-weight: 800;
	box-shadow: var(--fk-step-shadow);
	transition: transform var(--fk-motion), box-shadow var(--fk-motion);
}

.fk-step-igniter {
	margin: 0;
	padding: 0;
	appearance: none;
	font: inherit;
	line-height: 1;
	cursor: pointer;
}

.fk-step-igniter > span {
	pointer-events: none;
}

.fk-step-igniter:focus-visible {
	outline: 3px solid var(--ab-focus);
	outline-offset: 3px;
}

.fk-step-igniter:disabled {
	cursor: wait;
}

.fk-steps li.is-fuse-hit > :is(.fk-step-number, .fk-step-igniter) {
	animation: fk-fuse-box-hit 420ms steps(2, end);
	box-shadow: 9px 9px 0 var(--fk-gold);
}

.fk-steps li.is-fuse-complete > :is(.fk-step-number, .fk-step-igniter) {
	border-color: var(--fk-gold);
	box-shadow: var(--fk-step-shadow-hover);
}

@keyframes fk-fuse-box-hit {
	0%, 100% { transform: translate(0, 0) rotate(0); }
	20% { transform: translate(-3px, 2px) rotate(-2deg); }
	40% { transform: translate(3px, -2px) rotate(2deg); }
	60% { transform: translate(-2px, -2px) rotate(-1deg); }
	80% { transform: translate(2px, 2px) rotate(1deg); }
}

@media (hover: hover) {
	.fk-steps li:hover > :is(.fk-step-number, .fk-step-igniter) {
		box-shadow: var(--fk-step-shadow-hover);
		transform: var(--fk-lift);
	}
}

.fk-steps h3 {
	margin-right: 0;
	font-size: 1.15rem;
}

.fk-steps p {
	color: var(--fk-muted);
}

#ablauf .fk-section-head {
	margin-bottom: 3rem;
}

#ablauf .fk-section-head h2 {
	font-size: clamp(2rem, 1.3rem + 2.2vw, 3rem);
}

#uns .fk-section-head {
	display: block;
	max-width: 38rem;
}

#uns .fk-section-head .fk-eyebrow {
	margin-bottom: 1rem;
}

#uns .fk-section-head h2 {
	margin-bottom: 1.25rem;
	font-size: clamp(2rem, 1.3rem + 2.2vw, 3rem);
}

#uns .fk-section-head > p:last-child {
	font-size: var(--ab-lead);
}

.fk-profile-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.6rem;
}

.fk-profile {
	--fk-card-rest-shadow: var(--fk-depth-brand);
	--fk-card-hover-shadow: var(--fk-depth-brand-hover);
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 27rem;
	flex-direction: column;
	padding: 1.4rem;
	border: 2px solid var(--fk-line);
	border-radius: 4px;
	background: var(--fk-night-soft);
	box-shadow: var(--fk-card-rest-shadow);
	transition: transform var(--fk-motion), box-shadow var(--fk-motion), border-color var(--fk-motion);
}

.fk-profile:nth-child(2) {
	--fk-card-rest-shadow: var(--fk-depth-rose);
	--fk-card-hover-shadow: var(--fk-depth-rose-hover);
}

.fk-profile:nth-child(3) {
	--fk-card-rest-shadow: var(--fk-depth-gold);
	--fk-card-hover-shadow: var(--fk-depth-gold-hover);
}

.fk-profile__symbol {
	display: inline-flex;
	width: 100%;
	height: 14rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin-bottom: 1.25rem;
	border: 2px solid var(--fk-line);
	background: var(--fk-night-raised);
	color: var(--fk-muted);
	font-size: 0.85rem;
	font-weight: 600;
}

.fk-profile__placeholder-icon {
	font-size: 1.75rem;
	font-weight: 400;
}

.fk-profile h3 {
	margin: 0 0 0.5rem;
	font-size: 1.3rem;
}

.fk-profile__role {
	margin: 0 0 0.5rem;
	color: var(--fk-muted) !important;
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
}

.fk-card:focus-within,
.fk-profile:focus-within {
	border-color: var(--fk-rose);
	outline: 3px solid var(--ab-focus);
	outline-offset: 2px;
	box-shadow: var(--fk-card-hover-shadow);
	transform: var(--fk-lift-strong);
}

.fk-card:focus-within h3,
.fk-profile:focus-within h3 {
	color: var(--fk-rose);
}

@supports selector(:has(:focus-visible)) {
	.fk-card:focus-within,
	.fk-profile:focus-within {
		border-color: var(--fk-line);
		outline: 0;
		outline-offset: 0;
		box-shadow: var(--fk-card-rest-shadow);
		transform: none;
	}

	.fk-card:focus-within h3,
	.fk-profile:focus-within h3 {
		color: var(--fk-white);
	}

	.fk-card:has(:focus-visible),
	.fk-profile:has(:focus-visible) {
		border-color: var(--fk-rose);
		outline: 3px solid var(--ab-focus);
		outline-offset: 2px;
		box-shadow: var(--fk-card-hover-shadow);
		transform: var(--fk-lift-strong);
	}

	.fk-card:has(:focus-visible) h3,
	.fk-profile:has(:focus-visible) h3 {
		color: var(--fk-rose);
	}
}

.fk-contact {
	padding-inline: 1.5rem;
	padding-block: 5.5rem;
	border-top: 2px solid var(--fk-night-raised);
	border-bottom: 0;
	background: var(--fk-brand);
	color: var(--fk-white);
}

.fk-contact .fk-eyebrow {
	color: var(--fk-white);
}

.fk-contact h2 {
	max-width: none;
	font-size: clamp(2.5rem, 1.6rem + 3.4vw, 4.5rem);
	line-height: 0.98;
}

.fk-contact p:not(.fk-eyebrow) {
	max-width: 52ch;
	margin: 1.25rem 0 2rem;
	font-size: var(--ab-lead);
}

.fk-button--light {
	border-color: var(--fk-white);
	background: var(--fk-white);
	color: var(--fk-brand-strong);
}

.fk-button--light:hover {
	border-color: var(--fk-night);
	background: var(--fk-night);
	color: var(--fk-white);
}

.site-footer {
	padding-inline: 1.5rem;
	border-top: 2px solid var(--fk-line);
	background: var(--fk-night);
	color: var(--fk-muted);
}

.site-footer__inner,
.site-footer__widgets-inner {
	width: min(calc(100% - 3rem), var(--fk-width));
	max-width: none;
}

.site-footer__inner {
	padding-block: 2.5rem;
}

.site-footer a,
.site-footer .euwb-legal-links a,
.site-footer__legal-list a {
	color: var(--fk-white);
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: var(--fk-rose-light);
}

.content-shell {
	padding-block: 3.5rem 5rem;
}

.content-shell .entry,
.post-summary,
.comments-area {
	border-radius: 4px;
}

.entry-content :is(.wp-block-button__link, button, input[type="submit"]),
.button {
	border-radius: 4px;
}

[data-ab-reveal] {
	opacity: 1;
	translate: 0 0;
}

body[data-ab-reveal-ready].ab-motion-calm .fk-section-head[data-ab-reveal] {
	opacity: 0;
	translate: 0 0.5rem;
	transition: opacity 280ms cubic-bezier(.2,.7,.2,1), translate 280ms cubic-bezier(.2,.7,.2,1);
}

body[data-ab-reveal-ready].ab-motion-calm .fk-section-head[data-ab-reveal].is-revealed {
	opacity: 1;
	translate: 0 0;
}

body[data-ab-reveal-ready].ab-motion-staged [data-ab-reveal] {
	opacity: 0;
	translate: 0 1.5rem;
	transition: opacity 620ms cubic-bezier(.2,.7,.2,1), translate 620ms cubic-bezier(.2,.7,.2,1);
	transition-delay: var(--ab-reveal-delay, 0ms);
}

body[data-ab-reveal-ready].ab-motion-staged :is(.fk-card, .fk-profile)[data-ab-reveal] {
	transition:
		opacity 620ms cubic-bezier(.2,.7,.2,1),
		translate 620ms cubic-bezier(.2,.7,.2,1),
		transform var(--fk-motion),
		box-shadow var(--fk-motion),
		border-color var(--fk-motion);
	transition-delay:
		var(--ab-reveal-delay, 0ms),
		var(--ab-reveal-delay, 0ms),
		0ms,
		0ms,
		0ms;
}

body[data-ab-reveal-ready].ab-motion-staged [data-ab-reveal].is-revealed {
	opacity: 1;
	translate: 0 0;
}

@keyframes fk-marquee {
	to {
		transform: translateX(-50%);
	}
}

@media (hover: hover) {
	.fk-card:hover,
	.fk-profile:hover {
		border-color: var(--fk-rose);
		box-shadow: var(--fk-card-hover-shadow);
		transform: var(--fk-lift-strong);
	}

	.fk-card:hover h3,
	.fk-profile:hover h3 {
		color: var(--fk-rose);
	}

	.fk-card:hover > a span {
		transform: translateX(0.3rem);
	}

}

@media (max-width: 900px) {
	.site-header__utility-inner,
	.site-header__inner,
	.fk-container,
	.site-footer__inner,
	.site-footer__widgets-inner {
		width: min(calc(100% - 2rem), var(--fk-width));
	}

	.site-header__utility-inner {
		align-items: flex-start;
	}

	.site-header__help {
		width: 100%;
	}

	.fk-stats,
	.fk-section,
	.fk-contact,
	.site-footer {
		padding-inline: 1rem;
	}

	.primary-navigation {
		background: var(--fk-night-raised);
	}

	.primary-menu a {
		color: var(--fk-white);
	}

	.fk-hero {
		min-height: 44rem;
	}

	.fk-hero h1 {
		font-size: 4.25rem;
	}

	.fk-section-head {
		flex-direction: column;
		gap: 1rem;
	}

	.fk-section-head .fk-eyebrow {
		margin-bottom: 0;
	}

	.fk-section-head h2,
	.fk-section-head > p:last-child {
		width: 100%;
		flex-basis: auto;
	}

	.fk-steps {
		grid-template-columns: 1fr;
		gap: 1.65rem;
	}

	.fk-steps li:not(:last-child)::after {
		display: none;
	}

	.fk-steps li {
		min-height: 4rem;
		padding: 0 0 0 4.2rem;
	}
}

@media (max-width: 700px) {
	:root {
		--fk-depth-brand: 5px 5px 0 rgba(200, 24, 64, 0.58);
		--fk-depth-rose: 5px 5px 0 rgba(255, 157, 177, 0.38);
		--fk-depth-gold: 5px 5px 0 rgba(245, 155, 11, 0.36);
		--fk-depth-neutral: 5px 5px 0 rgba(255, 255, 255, 0.2);
		--fk-depth-brand-hover: 7px 7px 0 rgba(200, 24, 64, 0.58);
		--fk-depth-rose-hover: 7px 7px 0 rgba(255, 157, 177, 0.42);
		--fk-depth-gold-hover: 7px 7px 0 rgba(245, 155, 11, 0.36);
		--fk-depth-neutral-hover: 7px 7px 0 rgba(255, 255, 255, 0.22);
		--fk-step-shadow: 3px 3px 0 var(--fk-brand-strong);
		--fk-step-shadow-hover: 5px 5px 0 var(--fk-brand-strong);
	}

	.fk-card,
	.fk-profile {
		max-width: calc(100% - 5px);
	}
}

@media (max-width: 782px), (hover: none), (pointer: coarse) {
	.fk-cursor-trail {
		display: none !important;
	}
}

@media (max-width: 700px) {
	.site-header__accessibility {
		width: 100%;
		margin-left: 0;
	}

	.site-header__utility-inner {
		gap: 0.35rem;
	}

	.site-header__help {
		display: none;
	}

	.fk-wordmark {
		font-size: 1.25rem;
	}

	.fk-wordmark__mark {
		flex-basis: 19px;
		width: 19px;
		height: 19px;
	}

	.fk-hero {
		height: calc(100svh - 175px);
		min-height: 520px;
		max-height: 640px;
	}

	.fk-hero__content {
		padding-block: 3rem 2.5rem;
	}

	.fk-hero h1 {
		max-width: 10ch;
		font-size: 3.35rem;
	}

	.fk-hero__lead {
		font-size: 1.12rem;
	}

	.fk-stats__grid,
	.fk-card-grid,
	.fk-profile-grid {
		grid-template-columns: 1fr;
	}

	.fk-stat strong {
		font-size: 2.75rem;
	}

	.fk-section,
	.fk-contact {
		padding-block: 4rem;
	}

	.fk-section-head h2,
	.fk-contact h2 {
		font-size: 2.65rem;
	}

	.fk-contact h2 {
		max-width: 24ch;
	}

	.fk-card {
		min-height: 15rem;
	}

}

@media (max-width: 420px) {
	.ab-utility-button {
		padding-inline: 0.45rem;
		font-size: 0.75rem;
	}

	.fk-motion-toggle [data-fk-motion-label] {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		clip-path: inset(50%);
	}

	.fk-hero h1 {
		font-size: 2.75rem;
	}

	.fk-actions {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fk-marquee__track {
		animation: none;
	}

	[data-ab-reveal],
	body[data-ab-reveal-ready] [data-ab-reveal] {
		opacity: 1;
		translate: none;
		transition: none;
	}

	body[data-ab-reveal-ready].ab-motion-staged :is(.fk-card, .fk-profile)[data-ab-reveal] {
		transition: none;
	}

	.fk-button,
	.fk-home .wp-element-button,
	.fk-steps li > :is(.fk-step-number, .fk-step-igniter) {
		transition: none;
	}

	.fk-card:hover,
	.fk-card:focus-within,
	.fk-profile:hover,
	.fk-profile:focus-within,
	.fk-button:hover,
	.fk-button:focus-visible,
	.fk-home .wp-element-button:hover,
	.fk-home .wp-element-button:focus-visible,
	.fk-steps li:hover > :is(.fk-step-number, .fk-step-igniter),
	.fk-steps li.is-fuse-hit > :is(.fk-step-number, .fk-step-igniter) {
		animation: none;
		transform: none;
	}

	@supports selector(:has(:focus-visible)) {
		.fk-card:has(:focus-visible),
		.fk-profile:has(:focus-visible) {
			transform: none;
		}
	}
}

:root[data-fk-motion="aus"] .fk-marquee__track {
	animation-play-state: paused;
}

:root[data-fk-motion="aus"] .fk-cursor-trail {
	visibility: hidden;
}

@media (forced-colors: active) {
	.fk-wordmark__mark,
	.fk-marquee__track i,
	.fk-steps li > :is(.fk-step-number, .fk-step-igniter) {
		border: 2px solid CanvasText;
	}

	.fk-card,
	.fk-profile,
	.fk-button {
		box-shadow: none;
	}
}

@media print {
	.site-header__utility,
	.menu-toggle,
	.fk-firework,
	.fk-fuse-canvas,
	.fk-marquee {
		display: none !important;
	}

	.fk-home,
	.fk-hero,
	.fk-section,
	.fk-section--surface,
	.fk-contact,
	.fk-card,
	.fk-profile {
		background: #fff !important;
		color: #000 !important;
	}

	.fk-home :is(h1, h2, h3, p, a, span) {
		color: #000 !important;
	}
}
