:root {
	--fr-red: #cc1f26;
	--fr-red-dark: #a8181e;
	--fr-ink: #1e1e1e;
	--fr-muted: #6b6b6b;
	--fr-soft: #9b9b9b;
	--fr-sand: #f8f6f3;
	--fr-card: #fafaf9;
	--fr-line: #e8e4df;
	--fr-dark: #161616;
	--fr-top: #1a1a1a;
	--fr-wide: 1280px;
	--fr-copy: 1200px;
}

body {
	margin: 0;
	color: var(--fr-ink);
	background: #fff;
}
.wp-block-post-content > .fr-hero,
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; }

a { text-decoration-thickness: 1px; text-underline-offset: 2px; }
img { max-width: 100%; height: auto; }

.fr-display,
h1.fr-display,
h2.fr-display {
	font-family: "Barlow Condensed", Impact, sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.1;
	text-wrap: wrap;
}

.fr-kicker {
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--fr-red);
	margin: 0 0 12px;
}
.fr-section p.fr-kicker,
.fr-hero-card p.fr-kicker {
	font-size: 12px;
	line-height: 16px;
}

.fr-lead {
	font-family: "Barlow Condensed", Impact, sans-serif;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.05;
	color: var(--fr-red);
}

.fr-muted { color: var(--fr-muted); }
.fr-red { color: var(--fr-red); }

.fr-section {
	padding: 112px 0;
}
.fr-section.is-layout-constrained > *,
.fr-trustbar.is-layout-constrained > * {
	max-width: var(--fr-copy);
}
.fr-section--sand { background: var(--fr-sand); }
.fr-section--dark { background: var(--fr-dark); color: #fff; }
.fr-section--dark h2,
.fr-section--dark h3,
.fr-section--dark p { color: #fff; }
.fr-section--dark .fr-muted { color: #c8c4bf; }

.fr-topbar {
	background: #1e1e1e;
	color: #a0a0a0;
	font-family: Barlow, sans-serif;
	font-size: 12px;
	letter-spacing: 0.04em;
	height: 36px;
}
.fr-topbar p,
.fr-topbar a { color: #a0a0a0; text-decoration: none; margin: 0; font-size: 12px; }
.fr-topbar a:hover { color: #fff; }
.fr-topbar__inner {
	max-width: var(--fr-copy);
	margin: 0 auto;
	padding: 0;
	height: 36px;
	align-items: center;
	gap: 16px;
}
.fr-topbar__loc,
.fr-topbar__contact {
	display: flex !important;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
}
.fr-topbar__contact { gap: 16px; }
.fr-topbar__contact a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.fr-topbar__loc::before,
.fr-topbar__contact a::before {
	content: "";
	display: block;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	background: center / contain no-repeat;
}
.fr-topbar__loc::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.fr-topbar__contact a[href^="mailto"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A0A0A0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.fr-topbar__contact a[href^="tel"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A0A0A0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.home .fr-nav .wp-block-navigation-item:first-child > a { color: var(--fr-red) !important; }

.fr-header {
	background: rgba(255, 255, 255, 0.97);
	position: sticky;
	top: 0;
	z-index: 40;
	box-shadow: 0 2px 24px rgba(0, 0, 0, 0.1);
	border-bottom: 0;
}
.fr-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, 0.97);
	backdrop-filter: blur(12px);
}
body:not(.home) .fr-header { border-bottom: 0; }
.fr-header__inner {
	max-width: var(--fr-copy);
	margin: 0 auto;
	padding: 0;
	height: 72px;
	gap: 8px;
}
.fr-header .custom-logo-link { line-height: 0; }
.fr-header .custom-logo { width: auto !important; height: 40px !important; }
.fr-nav {
	font-family: Barlow, sans-serif;
	font-size: 14px;
	font-weight: 500;
}
.fr-nav a { color: var(--fr-ink) !important; text-decoration: none; }
.fr-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.fr-nav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content,
.fr-nav .wp-block-navigation-submenu:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"]) > .wp-block-navigation-item__content {
	color: var(--fr-red) !important;
}
.fr-nav .wp-block-navigation__container {
	gap: 4px !important;
	align-items: center;
}
.fr-nav .wp-block-navigation__container > .wp-block-navigation-item {
	position: relative;
	display: flex;
	align-items: center;
	height: 36px;
}
.fr-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 8px 12px;
	line-height: 20px;
	background: none;
}
.fr-nav .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-right: 4px;
}
.fr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 0;
	height: 2px;
	background: var(--fr-red);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.2s;
	pointer-events: none;
}
.fr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item:hover::after,
.fr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .current-menu-item::after,
.fr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .current-menu-ancestor::after,
.fr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-submenu:has([aria-expanded="true"])::after {
	transform: scaleX(1);
}
.fr-nav .wp-block-navigation-submenu__toggle {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	margin: 0 12px 0 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--fr-ink);
}
.fr-nav .current-menu-ancestor > .wp-block-navigation-submenu__toggle,
.fr-nav .wp-block-navigation-submenu:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"]) > .wp-block-navigation-submenu__toggle {
	color: var(--fr-red);
}
.fr-nav .wp-block-navigation-submenu__toggle svg {
	display: block;
	width: 14px;
	height: 14px;
	stroke: currentColor;
	fill: none;
	transition: transform 0.2s;
}
.fr-nav .wp-block-navigation-submenu:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"]) > .wp-block-navigation-submenu__toggle svg {
	transform: rotate(180deg);
}
@media (min-width: 1024px) {
	.fr-nav .wp-block-navigation__submenu-container {
		top: calc(100% - 1px) !important;
		left: 0 !important;
		min-width: 220px !important;
		width: 220px !important;
		padding: 8px 0 !important;
		margin: 0;
		background: #fff !important;
		border: 0 !important;
		border-radius: 4px;
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14);
	}
	.fr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: 100%;
		height: auto;
		margin: 0;
		list-style: none;
	}
	.fr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 10px 20px !important;
		line-height: 20px;
		font-size: 14px;
		font-weight: 500;
		color: #1e1e1e !important;
	}
	.fr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		content: none;
	}
	.fr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:not(.current-menu-item) > .wp-block-navigation-item__content:hover {
		background: #f8f6f3;
		color: #1e1e1e !important;
	}
	.fr-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
	.fr-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content:hover {
		color: var(--fr-red) !important;
		background: #f8f6f3;
		font-weight: 600;
	}
}
.fr-nav .wp-block-navigation__container > .fr-nav-cta { display: none; }
.fr-header__cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--fr-red);
	color: #fff;
	border-radius: 4px;
	height: 40px;
	min-height: 40px;
	padding: 0 20px;
	font-family: Barlow, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.fr-header__cta .wp-block-button__link::after {
	content: "";
	width: 15px;
	height: 15px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.fr-hero.wp-block-cover {
	min-height: 0 !important;
	align-items: flex-start;
	justify-content: flex-start;
	padding-top: clamp(32px, calc(25vh - 165px), 140px) !important;
	padding-bottom: clamp(80px, calc(50vh - 350px), 260px) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.fr-hero .wp-block-cover__image-background { object-position: right center; transform: scaleX(-1); }
.fr-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(30, 30, 30, 0.35) 0%, rgba(30, 30, 30, 0.15) 50%, rgba(30, 30, 30, 0.65) 100%);
}
.fr-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
	width: min(var(--fr-copy), calc(100% - 48px));
	margin-left: max(24px, calc((100vw - var(--fr-wide)) / 2 + 40px)) !important;
	margin-right: auto !important;
}
.fr-hero::before {
	content: "";
	position: absolute;
	z-index: 2;
	left: 50%;
	bottom: 32px;
	width: 28px;
	height: 28px;
	transform: translateX(-50%);
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fr-hero-card {
	background: rgba(255, 255, 255, 0.9);
	color: #1e1e1e;
	width: min(660px, 100%);
	max-width: 660px;
	margin-left: 0 !important;
	margin-right: auto !important;
	padding: clamp(28px, 5vw, 52px);
	border-left: 4px solid var(--fr-red);
	border-radius: 0 4px 4px 0;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
}
.fr-hero-card h1 {
	color: #1e1e1e;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 800;
	line-height: 1.08;
	margin: 0 0 16px;
}
.fr-hero .wp-block-buttons {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 12px;
	margin-top: 0;
}
.fr-hero .wp-block-button { width: auto; flex: 0 0 auto; }
.fr-hero .wp-block-button__link { min-height: 52px; height: 52px; font-size: 16px; padding: 0 28px; white-space: nowrap; }
@media (max-width: 720px) {
	.fr-hero .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}
	.fr-hero .wp-block-button,
	.fr-hero .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}
.wp-site-blocks > .fr-main { margin-top: 0 !important; }
.fr-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-left: 8px;
	vertical-align: -3px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fr-hero .is-style-outline .wp-block-button__link {
	background: transparent;
	color: #1e1e1e;
	border: 2px solid #1e1e1e;
}
.fr-hero .is-style-outline .wp-block-button__link::after { content: none; }
.fr-hero-card .fr-red { color: var(--fr-red); }
.fr-hero-card .fr-kicker { margin-bottom: 16px; }
.fr-hero-card p {
	color: #6b6b6b;
	font-size: 15px;
	line-height: 1.7;
	max-width: 540px;
	margin: 0;
	margin-left: 0 !important;
	margin-right: auto !important;
}
.fr-hero-card > .fr-kicker {
	max-width: none;
	margin-left: 0 !important;
	margin-right: auto !important;
}
.fr-hero-card > p:not(.fr-kicker) + p { margin-top: 25px; }
.fr-hero-card > p:last-of-type { margin-bottom: 32px; }
.fr-hero .wp-block-buttons { margin-bottom: 24px; }

.wp-block-buttons { gap: 12px; }
.wp-block-button__link {
	border-radius: 4px;
	font-family: Barlow, sans-serif;
	font-weight: 600;
}
.is-style-outline .wp-block-button__link {
	background: #fff;
	color: var(--fr-ink);
	border: 1px solid var(--fr-ink);
}
.fr-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 8px;
	vertical-align: -3px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fr-actions .is-style-outline .wp-block-button__link::after { content: none; background: none; }
.fr-center > .wp-block-buttons,
.fr-section--stone > .wp-block-buttons,
.fr-refs > .wp-block-buttons {
	display: flex;
	width: 100%;
	justify-content: center;
}
.fr-page-hero .wp-block-button__link {
	height: 48px;
	min-height: 48px;
	padding: 0 24px;
	font-size: 15px;
}
.fr-page-hero:has(a[href="#stellen"]) .wp-block-button__link {
	height: 48px;
	min-height: 48px;
	padding: 0 24px;
	font-size: 15px;
}

.fr-trustbar { background: var(--fr-ink); padding: 16px 0; }
.fr-trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.fr-trust li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	list-style: none;
	background: transparent;
	border: 0;
	border-right: 1px solid rgba(255, 255, 255, 0.1);
	color: #fff;
	padding: 16px 22px;
	font-family: Barlow, sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
}
.fr-trust li::before {
	content: "";
	width: 16px;
	height: 16px;
	flex: none;
	background: center / contain no-repeat;
}
.fr-trust li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='m15.5 12.9 1.5 8.5a.5.5 0 0 1-.8.5L12.6 19.2a1 1 0 0 0-1.2 0l-3.6 2.7a.5.5 0 0 1-.8-.5l1.5-8.5'/%3E%3C/svg%3E"); }
.fr-trust li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.fr-trust li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }
.fr-trust li:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.fr-trust li:nth-child(5)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12.83 2.18-8.23 3.9a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z'/%3E%3Cpath d='M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12'/%3E%3Cpath d='M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17'/%3E%3C/svg%3E"); }
.fr-trust li:last-child { border-right: 0; }
.fr-section h2.fr-display { font-size: clamp(36px, 5vw, 52px); font-weight: 700; line-height: 1.1; }
.fr-section--stone h2.fr-display,
.fr-refs h2.fr-display,
.fr-voices h2.fr-display { font-size: clamp(28px, 4vw, 44px); line-height: 1.15; }
.fr-section--ink .fr-trust-top h2.fr-display { font-size: clamp(32px, 4vw, 48px); }
.fr-faq-section h2.fr-display { font-size: clamp(32px, 4vw, 52px); font-weight: 800; }
.fr-contact h2.fr-display { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; max-width: 11em; }
.fr-section p { font-size: 15px; line-height: 1.7; }
.fr-textlink { margin: 8px 0 0; }
.fr-textlink a { color: var(--fr-red); font-family: Barlow, sans-serif; font-weight: 600; text-decoration: none; }
.fr-textlink a::after { content: " ›"; }
.fr-section--stone { background: #e8e4df; }
.fr-center { text-align: center; }
.fr-center .fr-display { max-width: 22em; margin-left: auto; margin-right: auto; }
.fr-checks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 40px;
	list-style: none;
	padding: 0;
	margin: 8px 0 24px;
}
.fr-checks li { display: flex; gap: 10px; align-items: flex-start; }
.fr-checks li::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	margin-top: 2px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fr-contact .fr-cta {
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
	align-items: stretch;
}
.fr-contact .fr-cta > .wp-block-column:first-child {
	background: var(--fr-ink);
	color: #fff;
	padding: 48px;
}
.fr-contact .fr-cta > .wp-block-column:first-child h2 { color: #fff; margin-bottom: 20px; }
.fr-contact .fr-cta > .wp-block-column:first-child > p:not(.fr-kicker):not(.fr-cta__phone):not(.fr-cta__mail) { color: #a0a0a0; font-size: 14px; line-height: 1.7; margin-bottom: 32px; }
.fr-contact .fr-cta > .wp-block-column:first-child .fr-kicker {
	margin-top: 8px;
	padding-top: 32px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: #808080;
	letter-spacing: 0.1em;
}
.fr-cta__phone,
.fr-cta__mail { margin: 0 0 12px; }
.fr-cta__phone a,
.fr-cta__mail a {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
.fr-cta__phone a::before,
.fr-cta__mail a::before {
	content: "";
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 4px;
	background-color: rgba(204, 31, 38, 0.15);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px;
}
.fr-cta__phone a {
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 18px;
	font-weight: 700;
}
.fr-cta__phone a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.fr-cta__mail a { color: #a0a0a0; font-family: Inter, sans-serif; font-size: 14px; font-weight: 400; }
.fr-cta__mail a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.fr-contact .fr-cta > .wp-block-column:last-child { background: #fff; padding: 48px; }

.fr-service-grid.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	align-items: stretch;
}
.fr-service-grid > .wp-block-column { flex-basis: auto; }
.fr-service-card.wp-block-group {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
	border-radius: 4px;
	background: #c8c4bf;
	padding: 0;
	height: auto;
	display: block;
}
.fr-service-card .wp-block-image,
.fr-service-card figure { margin: 0; height: 100%; }
.fr-service-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: auto;
}
.fr-service-card h3 {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 12px 16px;
	background: rgba(20, 20, 20, 0.88);
	color: #fff;
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.fr-service-card h3::after { content: "›"; color: var(--fr-red); font-size: 18px; letter-spacing: 0; }
.fr-service-card ul {
	position: absolute;
	z-index: 4;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	margin: 0;
	padding: 16px 16px 46px;
	list-style: none;
	color: #fff;
	text-align: left;
	background: #1a1a1a;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.fr-service-card li { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 14px; font-weight: 500; line-height: 1.35; margin: 0 0 6px; }
.fr-service-card li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--fr-red);
	flex: none;
}
.fr-service-card ul::after { content: none; }
.fr-service-card:hover ul,
.fr-service-card:focus-within ul { opacity: 1; }
.fr-service-card:hover h3,
.fr-service-card:focus-within h3 { opacity: 0; }
.fr-service-card .wp-block-button {
	position: absolute;
	inset: 0;
	z-index: 5;
	margin: 0;
	pointer-events: none;
}
.fr-service-card .wp-block-button__link {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	background: transparent;
	background-color: transparent;
	color: transparent;
	border-radius: 0;
	padding: 0 16px 14px;
	font-size: 0;
	line-height: 1.3;
	box-shadow: none;
	pointer-events: auto;
}
.fr-service-card:hover .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.fr-service-card:focus-within .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.fr-service-card .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.fr-service-card .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
	background: transparent;
	background-color: transparent;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}
.fr-service-card .fr-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link::after,
.fr-service-card .wp-block-button__link::after,
.fr-service-card:hover .wp-block-button__link::after {
	content: none;
	display: none;
	background: none;
}
.editor-styles-wrapper .fr-service-grid.wp-block-columns {
	display: grid;
	grid-template-columns: 1fr;
}
.editor-styles-wrapper .fr-service-card.wp-block-group {
	aspect-ratio: auto;
	display: flex;
	flex-direction: column;
	height: auto;
	overflow: visible;
}
.editor-styles-wrapper .fr-service-card figure,
.editor-styles-wrapper .fr-service-card .wp-block-image {
	width: 100% !important;
	max-width: none !important;
	height: auto;
}
.editor-styles-wrapper .fr-service-card img {
	position: static !important;
	width: 100% !important;
	height: 180px !important;
	max-height: 180px !important;
	aspect-ratio: auto !important;
	object-fit: cover;
}
.editor-styles-wrapper .fr-service-card h3,
.editor-styles-wrapper .fr-service-card:hover h3,
.editor-styles-wrapper .fr-service-card:focus-within h3,
.editor-styles-wrapper .fr-service-card ul,
.editor-styles-wrapper .fr-service-card:hover ul,
.editor-styles-wrapper .fr-service-card:focus-within ul,
.editor-styles-wrapper .fr-service-card .wp-block-button,
.editor-styles-wrapper .fr-service-card .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.editor-styles-wrapper .fr-service-card .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.editor-styles-wrapper .fr-service-card .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus,
.editor-styles-wrapper .fr-service-card:hover .wp-block-button__link,
.editor-styles-wrapper .fr-service-card:focus-within .wp-block-button__link {
	position: static;
	inset: auto;
	opacity: 1;
	height: auto;
	font-size: 14px;
	color: #fff;
	pointer-events: auto;
}
.editor-styles-wrapper .fr-service-card h3 { color: #fff; }
.editor-styles-wrapper .fr-service-card ul {
	background: #1a1a1a;
	padding: 12px 16px;
}
.editor-styles-wrapper .fr-service-card .wp-block-button__link {
	display: inline-flex;
	width: auto;
	margin: 12px 16px 16px;
	padding: 8px 14px;
	color: #fff;
	background: var(--fr-red);
	background-color: var(--fr-red);
}

.fr-steps { position: relative; align-items: start; text-align: center; }
.fr-steps::before {
	content: "";
	position: absolute;
	top: 32px;
	left: 16%;
	right: 16%;
	border-top: 2px dashed #cc1f26;
}
.fr-step__no {
	position: relative;
	z-index: 1;
	width: 64px;
	height: 64px;
	margin: 0 auto 24px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--fr-red);
	color: #fff;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
}
.fr-steps h3 {
	margin: 0 0 12px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 33px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.fr-section--stone .wp-block-button__link {
	min-height: 56px;
	height: 56px;
	padding: 0 32px;
	font-size: 16px;
}
.fr-steps p:not(.fr-step__no) { max-width: 280px; margin-left: auto; margin-right: auto; color: #6b6b6b; }
.fr-steps p.fr-step__no { color: #fff; max-width: none; }

.fr-section--ink { background: var(--fr-ink); color: #fff; }
.fr-section--ink:has(.fr-trust-top) { background: #2c2b28; overflow-x: clip; }
.fr-section--ink:has(.fr-trust-top) .fr-value { background: #2c2b28; }
.fr-section--ink:has(.fr-trust-top) .fr-value p:last-child { color: #a3a09b; }
.fr-section--ink h2,
.fr-section--ink h3,
.fr-section--ink .fr-trust-copy { color: #fff; }
.fr-section--ink .fr-kicker { color: var(--fr-red); }
.fr-trust-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
	gap: 24px 40px;
	align-items: center;
	margin-bottom: 48px;
}
.fr-trust-copy { color: #a0a0a0; max-width: 560px; margin: 0 0 22px; }
.fr-meister {
	position: relative;
	margin: 0;
}
.fr-meister::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 46%;
	width: 128%;
	height: 78%;
	transform: translate(-50%, -50%);
	background: radial-gradient(ellipse at center, rgba(255, 246, 236, 0.16), rgba(255, 246, 236, 0) 70%);
	pointer-events: none;
}
.fr-meister img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.fr-chips--dark { margin: 0; }
.fr-chips--dark li {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.12);
	border-radius: 3px;
	color: #a0a0a0;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.fr-values.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(255, 255, 255, 0.07);
	margin-bottom: 1px;
}
.fr-values > .wp-block-column { flex-basis: auto; }
.fr-value {
	background: var(--fr-ink);
	padding: 32px;
	height: 100%;
}
.fr-value .fr-kicker { display: flex; align-items: center; gap: 12px; }
.fr-value .fr-kicker::before {
	content: "";
	width: 36px;
	height: 36px;
	border-radius: 4px;
	flex: none;
	background-color: rgba(204, 31, 38, 0.12);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
}
.fr-values > .wp-block-column:nth-child(1) .fr-kicker::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.fr-values > .wp-block-column:nth-child(2) .fr-kicker::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.fr-values > .wp-block-column:nth-child(3) .fr-kicker::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='m15.5 12.9 1.5 8.5a.5.5 0 0 1-.8.5L12.6 19.2a1 1 0 0 0-1.2 0l-3.6 2.7a.5.5 0 0 1-.8-.5l1.5-8.5'/%3E%3C/svg%3E"); }
.fr-values > .wp-block-column:nth-child(4) .fr-kicker::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }
.fr-value h3 { margin: 16px 0 8px; font-family: Barlow, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.35; color: #fff; }
.fr-value p:last-child { color: #808080; font-size: 14px; line-height: 1.7; }
.fr-mannschaft {
	display: block;
	position: relative;
	margin: 0;
	padding: 32px 32px 32px 52px;
	background: rgba(204, 31, 38, 0.06);
	border-top: 1px solid rgba(204, 31, 38, 0.2);
	color: #fff;
	font-family: Barlow, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.01em;
}
.fr-mannschaft__line { display: block; }
.fr-mannschaft .fr-mannschaft__rest { color: #a0a0a0; font-weight: 400; }
.fr-mannschaft > span,
.fr-mannschaft__line > span:not(.fr-mannschaft__rest) { color: var(--fr-red); }
.fr-mannschaft::before {
	content: "";
	position: absolute;
	left: 32px;
	top: 50%;
	width: 4px;
	height: 32px;
	transform: translateY(-50%);
	background: var(--fr-red);
}

.fr-project-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.fr-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 40px; }
.fr-filters button {
	border: 1px solid rgba(30, 30, 30, 0.18);
	background: transparent;
	color: var(--fr-muted);
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 6px 16px;
	border-radius: 2px;
	cursor: pointer;
}
.fr-filters button.is-active { background: var(--fr-red); color: #fff; border-color: var(--fr-red); }
.fr-filters button:focus-visible { outline: 2px solid var(--fr-red); outline-offset: 2px; }
.fr-project {
	position: relative;
	background: #fff;
	border: 0;
	border-radius: 4px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
	overflow: hidden;
}
.fr-project a { color: inherit; text-decoration: none; display: flex; flex-direction: column; height: 100%; }
.fr-project img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.fr-project .fr-kicker {
	position: absolute;
	top: 12px;
	left: 12px;
	margin: 0;
	padding: 4px 10px;
	background: rgba(30, 30, 30, 0.75);
	color: #fff;
	border-radius: 2px;
	letter-spacing: 0;
	text-transform: none;
	font-size: 12px;
	font-weight: 600;
}
.fr-project__body { display: flex; flex-direction: column; flex: 1; padding: 20px; }
.fr-project h3 { margin: 0 0 16px; font-family: Barlow, sans-serif; font-size: 15px; font-weight: 700; line-height: 1.35; }
.fr-project .fr-muted,
.fr-project__body > p:not(.fr-kicker):not(.fr-muted):not(.fr-project__more) {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.4;
	color: #6b6b6b;
}
.fr-project .fr-muted::before,
.fr-project__body > p:not(.fr-kicker):not(.fr-muted):not(.fr-project__more)::before {
	content: "";
	width: 13px;
	height: 13px;
	flex: none;
	margin-top: 2px;
	background: center / contain no-repeat;
}
.fr-project .fr-muted::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.fr-project__body > p:not(.fr-kicker):not(.fr-muted):not(.fr-project__more)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12.83 2.18-8.23 3.9a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z'/%3E%3Cpath d='M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12'/%3E%3Cpath d='M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17'/%3E%3C/svg%3E"); }
.fr-project__more { display: none; }
.fr-refs .wp-block-button__link {
	height: 44px;
	min-height: 44px;
	padding: 0 24px;
	font-size: 14px;
}
.fr-project-single {
	padding: 80px 0;
	margin-block: 0 !important;
	background: #fff;
}
.fr-project-single > .fr-project-single__head,
.fr-project-single > .wp-block-post-content {
	width: min(var(--fr-copy), calc(100% - 48px));
	max-width: none !important;
	margin-left: max(24px, calc((100% - var(--fr-copy)) / 2)) !important;
	margin-right: auto !important;
}
.fr-project-single > * + * { margin-block-start: 0 !important; }
.fr-project-single__head > * + * { margin-block-start: 0 !important; }
.fr-project-single__head { padding: 0; text-align: left; }
.fr-project-single__head h1 {
	font-family: "Barlow Condensed", Impact, sans-serif;
	font-size: clamp(28px, 3.5vw, 46px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.15;
	max-width: none;
	margin: 0;
	text-align: left;
}
.fr-project-single__head .fr-kicker { margin: 0 0 12px; }
.fr-project-single__head .fr-kicker a {
	color: var(--fr-red);
	text-decoration: none;
}
.fr-project-line {
	color: var(--fr-muted);
	font-size: 15px;
	line-height: 1.5;
	margin: 16px 0 0;
	text-align: left;
}
.fr-project-copy { max-width: 68ch; margin: 16px 0 0; text-align: left; }
.fr-project-copy p { margin: 0; }
.fr-project-copy p + p { margin-top: 12px; }
.fr-shots {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
	margin-top: 40px;
}
.fr-shot-slot { margin: 0; }
.fr-shot-open {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--fr-sand);
	cursor: zoom-in;
}
.fr-shot-open:focus-visible { outline: 2px solid var(--fr-red); outline-offset: 3px; }
.fr-shot--empty {
	display: block;
	min-height: 180px;
	background: var(--fr-sand);
	border: 1px dashed var(--fr-line);
}
.fr-shot-label {
	font-family: Barlow, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--fr-muted);
	margin: 8px 0 0;
	text-align: left;
}
.fr-shot {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.fr-shot-open .fr-shot {
	height: 100%;
	aspect-ratio: auto;
}
.fr-lightbox {
	width: min(1100px, calc(100vw - 48px));
	max-height: calc(100vh - 48px);
	margin: auto;
	padding: 56px 64px 28px;
	border: 0;
	background: #fff;
	overflow: hidden;
}
.fr-lightbox::backdrop { background: rgba(30, 30, 30, 0.72); }
.fr-lightbox figure { margin: 0; }
.fr-lightbox img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: calc(100vh - 180px);
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}
.fr-lightbox figcaption {
	margin: 12px 0 0;
	font-family: Barlow, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--fr-muted);
	text-align: left;
}
.fr-lightbox__close,
.fr-lightbox__nav {
	position: absolute;
	border: 0;
	background: #fff center / 18px 18px no-repeat;
	cursor: pointer;
}
.fr-lightbox__close {
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1e1e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
}
.fr-lightbox__nav {
	top: 50%;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
}
.fr-lightbox__prev {
	left: 12px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1e1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
}
.fr-lightbox__next {
	right: 12px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1e1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
.fr-lightbox__close:focus-visible,
.fr-lightbox__nav:focus-visible { outline: 2px solid var(--fr-red); outline-offset: 2px; }
.fr-project-more { margin-top: 80px; text-align: left; }
.fr-project-more h2 {
	margin: 0 0 24px;
	font-size: clamp(28px, 3.5vw, 40px);
	line-height: 1.1;
	text-align: left;
}
.fr-project-more__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.fr-project-cta { margin: 40px 0 0; }
.fr-project-more > .fr-project-cta:first-child { margin-top: 0; }
.fr-project-cta a {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 24px;
	background: var(--fr-red);
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-family: Barlow, sans-serif;
	font-size: 14px;
	font-weight: 600;
}
.fr-project-cta a:hover { background: var(--fr-red-dark); color: #fff; }

.fr-ref-editor { margin-top: 28px; }
.fr-ref-editor__intro {
	margin: 0 0 20px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}
.fr-ref-editor__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 20px;
}
.fr-ref-editor__wide { grid-column: 1 / -1; }
.fr-ref-editor__shots {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 12px;
}
.fr-ref-editor__label {
	margin: 0 0 8px;
	font-family: Barlow, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.fr-ref-editor__shot img,
.fr-ref-editor__empty {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	background: #f8f6f3;
	margin: 0 0 8px;
}
.fr-ref-editor__empty { border: 1px dashed #c3c4c7; }
.fr-ref-editor__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0 0 8px;
}
.fr-ref-editor__note {
	margin: 8px 0 0;
	color: #646970;
	font-size: 12px;
	line-height: 1.4;
}
.fr-ref-editor__footer {
	margin-top: 8px;
}
@media (max-width: 782px) {
	.fr-ref-editor__grid,
	.fr-ref-editor__shots { grid-template-columns: 1fr; }
	.fr-ref-editor__wide { grid-column: auto; }
}

.fr-quotes.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.fr-quotes > .wp-block-column { flex-basis: auto; }
.fr-quote {
	background: #fff;
	border: 0;
	border-left: 4px solid var(--fr-red);
	border-radius: 0 4px 4px 0;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	padding: 28px;
	height: 100%;
}
.fr-quote p:first-child {
	margin-top: 0;
	color: #1e1e1e;
	font-size: 15px;
	font-style: italic;
	line-height: 1.75;
}
.fr-quote p:first-child::before {
	content: "★★★★★";
	display: block;
	margin-bottom: 16px;
	color: #f5a623;
	font-size: 16px;
	font-style: normal;
	line-height: 16px;
	letter-spacing: 2px;
}
.fr-quote p:first-child { margin-bottom: 20px; }
.fr-quote p:last-child {
	margin: 0;
	color: #1e1e1e;
	font-family: Barlow, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
}
.fr-quote p:last-child span {
	display: block;
	margin-top: 2px;
	color: #6b6b6b;
	font-size: 13px;
	font-weight: 400;
}

.fr-faq-section .fr-faq {
	max-width: 768px;
	background: #fff;
	border: 1px solid #e8e4df;
	border-radius: 4px;
	padding: 0 28px;
}
.fr-faq details {
	border-bottom: 1px solid var(--fr-line);
	padding: 0;
}
.fr-faq details:last-child { border-bottom: 0; }
.fr-faq summary {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	list-style: none;
	cursor: pointer;
	padding: 20px 0;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: #1e1e1e;
}
.fr-faq summary::-webkit-details-marker { display: none; }
.fr-faq summary::marker { content: ""; }
.fr-faq summary::after {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	margin-top: 2px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.3s;
}
.fr-faq details[open] summary { color: var(--fr-red); }
.fr-faq details[open] summary::after { transform: rotate(180deg); }
.fr-faq details > p,
.fr-faq details .wp-block-paragraph { color: #6b6b6b; font-size: 15px; line-height: 1.75; margin: 0; padding: 0 32px 20px 0; }

.fr-cta.wp-block-columns {
	display: grid;
	grid-template-columns: 420px 1fr;
	gap: 0;
	align-items: stretch;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
}
.fr-cta__points { list-style: none; padding: 0; margin: 0 0 40px; }
.fr-cta__points li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	color: #c0c0c0;
	font-size: 14px;
	line-height: 20px;
}
.fr-cta__points li:last-child { margin-bottom: 0; }
.fr-cta__points li::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	border-radius: 50%;
	background: rgba(204, 31, 38, 0.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;
}

.fr-form {
	background: transparent;
	color: var(--fr-ink);
	padding: 0;
	border-radius: 0;
}
.fr-form .fr-kicker { letter-spacing: 0.1em; margin: 0 0 4px; }
.fr-form h3 { margin: 0 0 24px; color: var(--fr-ink); font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 700; }
.fr-form p,
.fr-form label,
.fr-form span { color: var(--fr-muted); }
.fr-form__progress {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	gap: 0;
	margin: 0 0 32px;
}
.fr-form__progress::before {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	top: 50%;
	height: 1px;
	background: rgba(30, 30, 30, 0.12);
}
.fr-form__progress span {
	position: relative;
	z-index: 1;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	border: 0;
	background: rgba(30, 30, 30, 0.12);
	color: #a0a0a0;
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 700;
}
.fr-form__progress span.is-current,
.fr-form__progress span.is-done { background: var(--fr-red); color: #fff; }
.fr-form__progress::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 14px;
	top: 50%;
	height: 1px;
	width: calc((100% - 28px) * (var(--fr-step, 1) - 1) / 3);
	background: var(--fr-red);
	transform: translateY(-50%);
}
.fr-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.fr-choice {
	position: relative;
	text-align: left;
	background: var(--fr-card);
	border: 1.5px solid var(--fr-line);
	border-radius: 4px;
	padding: 16px 40px 16px 16px;
	cursor: pointer;
	font: inherit;
}
.fr-choice strong { display: block; color: var(--fr-ink); font-size: 15px; }
.fr-choice span { font-size: 13px; }
.fr-choice::after {
	content: "";
	position: absolute;
	top: 14px;
	right: 14px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1.5px solid var(--fr-line);
	background: #fff;
}
.fr-choice.is-selected { border-color: var(--fr-red); background: rgba(204, 31, 38, 0.05); }
.fr-choice.is-selected strong { color: var(--fr-red); }
.fr-choice.is-selected::after {
	border-color: var(--fr-red);
	background: var(--fr-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.fr-form textarea,
.fr-form input[type="text"],
.fr-form input[type="email"],
.fr-form input[type="tel"] {
	width: 100%;
	box-sizing: border-box;
	border: 1.5px solid #e8e4df;
	border-radius: 4px;
	padding: 12px 16px;
	font: inherit;
	font-size: 15px;
	color: var(--fr-ink);
	background: #f8f6f3;
}
.fr-form textarea:focus,
.fr-form input:focus {
	outline: none;
	border-color: var(--fr-red);
	box-shadow: 0 0 0 3px rgba(204, 31, 38, 0.12);
}
.fr-radios label {
	padding: 10px 12px;
	border: 1.5px solid transparent;
	border-radius: 4px;
}
.fr-radios label:has(input:checked) {
	background: rgba(204, 31, 38, 0.05);
	border-color: var(--fr-red);
	color: var(--fr-ink);
}
.fr-form__q { margin: 22px 0 10px; }
.fr-form .fr-form__opt {
	margin-left: 6px;
	color: var(--fr-soft);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}
.fr-picks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0;
}
.fr-picks--pair { grid-template-columns: 1fr 1fr; }
.fr-picks:not(.fr-picks--pair) > .fr-pick:last-child:nth-child(odd) { grid-column: 1 / -1; }
.fr-pick {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 12px 14px;
	border: 1.5px solid var(--fr-line);
	border-radius: 4px;
	background: var(--fr-card);
	color: var(--fr-ink);
	cursor: pointer;
}
.fr-pick input {
	appearance: none;
	width: 16px;
	height: 16px;
	margin: 0;
	flex: none;
	border: 1.5px solid #c8c4bf;
	border-radius: 50%;
	background: #fff;
	display: grid;
	place-items: center;
}
.fr-pick input:checked {
	border-color: var(--fr-red);
	box-shadow: inset 0 0 0 4px var(--fr-red);
}
.fr-pick:has(input:checked) {
	border-color: var(--fr-red);
	background: rgba(204, 31, 38, 0.05);
}
.fr-pick span {
	color: var(--fr-ink);
	font-size: 15px;
	line-height: 1.35;
}
.fr-radios { display: flex; flex-direction: column; gap: 8px; }
.fr-radios label,
.fr-check { display: flex; gap: 8px; align-items: flex-start; color: var(--fr-ink); }
.fr-form__nav { display: flex; justify-content: flex-end; margin-top: 32px; }
.fr-form__nav:has([data-back]:not([hidden])) { justify-content: space-between; }
.fr-form button[type="submit"],
.fr-form [data-next],
.fr-form [data-back] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: Barlow, sans-serif;
	font-weight: 600;
	font-size: 14px;
	border-radius: 4px;
	padding: 10px 24px;
	cursor: pointer;
}
.fr-form [data-next]::after,
.fr-form button[type="submit"]::after {
	content: "";
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fr-form [data-next],
.fr-form button[type="submit"] { background: var(--fr-red); color: #fff; border: 0; margin-left: 0; height: 40px; padding: 0 24px; }
.fr-form [data-next]:disabled { opacity: 0.45; cursor: default; }
.fr-form [data-back] { background: none; border: 1.5px solid #e8e4df; color: #6b6b6b; }
.fr-form [hidden] { display: none !important; }
.fr-form__error { color: var(--fr-red) !important; }
.fr-form__success { background: #fff; padding: 8px 4px 12px; }
.fr-form__mark {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin: 0 0 16px;
	border-radius: 50%;
	background: rgba(204, 31, 38, 0.12);
}
.fr-form__mark::after {
	content: "";
	width: 28px;
	height: 28px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12.2 2.3 2.3 4.7-5'/%3E%3C/svg%3E") center / 28px no-repeat;
}
.fr-form__thanks .fr-kicker { margin-bottom: 8px; }
.fr-form__thanks h3 {
	margin: 0 0 12px;
	font-size: 32px;
	line-height: 1.1;
}
.fr-form__thanks > p,
.fr-form__thanks [data-thanks-lead] {
	margin: 0 0 24px;
	color: #4a4a4a;
	font-size: 16px;
	line-height: 1.6;
}
.fr-form__next {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.fr-form__next li {
	display: grid;
	grid-template-columns: 28px 1fr;
	column-gap: 12px;
	align-items: start;
}
.fr-form__next li::before {
	content: counter(fr-next);
	counter-increment: fr-next;
	grid-row: 1 / span 2;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--fr-red);
	color: #fff;
	font-family: Barlow, sans-serif;
	font-size: 13px;
	font-weight: 700;
	display: grid;
	place-items: center;
}
.fr-form__next { counter-reset: fr-next; }
.fr-form__next strong {
	grid-column: 2;
	grid-row: 1;
	display: block;
	color: var(--fr-ink);
	font-size: 15px;
	line-height: 1.3;
}
.fr-form__next span {
	grid-column: 2;
	grid-row: 2;
	display: block;
	margin-top: 2px;
	color: var(--fr-muted);
	font-size: 14px;
	line-height: 1.5;
}
.fr-form__call { margin: 0; font-size: 15px; color: var(--fr-ink); }
.fr-form__call a { color: var(--fr-red); font-weight: 600; text-decoration: none; }
.fr-hp { position: absolute; left: -9999px; }

.fr-page-hero.is-layout-constrained:not(.fr-prose) > .fr-kicker,
.fr-page-hero.is-layout-constrained:not(.fr-prose) > h1,
.fr-page-hero.is-layout-constrained:not(.fr-prose) > p:not(.fr-kicker),
.fr-section.fr-svc-band.is-layout-constrained > .fr-svc-note,
.fr-section.fr-about-lead.is-layout-constrained > p {
	margin-left: max(24px, calc((100% - var(--fr-copy)) / 2)) !important;
	margin-right: auto !important;
}
.fr-page-hero {
	padding: 80px 0;
	background: #fff;
	border-bottom: 1px solid rgba(30, 30, 30, 0.08);
	box-shadow: inset 0 3px 0 var(--fr-red);
}
.fr-page-hero.is-layout-constrained > * + * { margin-block-start: 0 !important; }
.fr-page-hero .fr-kicker { margin-bottom: 12px; }
.fr-page-hero h1 {
	font-size: clamp(28px, 3.5vw, 46px);
	line-height: 1.15;
	max-width: 720px;
	margin: 0;
}
.fr-page-termin .fr-page-hero h1,
.fr-page-hero:has(+ .fr-termin) h1 {
	max-width: none;
	white-space: nowrap;
}
@media (max-width: 600px) {
	.fr-page-termin .fr-page-hero h1,
	.fr-page-hero:has(+ .fr-termin) h1 {
		white-space: normal;
	}
}
.fr-page-hero:has(.fr-lead) h1 { margin-bottom: 160px; }
.fr-page-hero .fr-lead {
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.15;
	margin: 0 0 24px;
	max-width: none;
}
.fr-page-hero > p:not(.fr-kicker):not(.fr-lead) {
	font-size: 17px;
	line-height: 1.8;
	color: #4a4a4a;
	max-width: 820px;
	margin: 0 0 20px;
}
.fr-page-termin .fr-page-hero > p:not(.fr-kicker):not(.fr-lead),
.fr-page-hero:has(+ .fr-termin) > p:not(.fr-kicker):not(.fr-lead) {
	max-width: var(--fr-copy);
	margin-top: 16px;
	margin-left: max(24px, calc((100% - var(--fr-copy)) / 2)) !important;
	margin-right: auto !important;
	padding-left: 0;
	text-align: left;
}
.fr-page-termin .fr-page-hero #my-cal-inline-erstgespraech {
	box-sizing: border-box;
	width: min(var(--fr-copy), calc(100% - 48px)) !important;
	height: min(80vh, 760px) !important;
	min-height: 640px;
	margin-top: 8px !important;
	margin-left: max(24px, calc((100% - var(--fr-copy)) / 2)) !important;
	margin-right: auto !important;
	overflow: hidden !important;
}
.fr-page-hero .fr-chips { margin: 12px 0 32px; }
.fr-page-hero .wp-block-buttons { justify-content: flex-start; }
.fr-page-hero:has(.fr-stats) { padding-bottom: 0; border-bottom: 0; }
.fr-page-hero:has(.fr-stats) h1 { margin-bottom: 176px; }
.fr-page-hero:has(.fr-stats) .fr-stats { margin-top: 48px; }
.fr-page-hero:has(a[href="#stellen"]) > p { max-width: 720px; margin-bottom: 32px; }
.fr-page-hero.fr-refs-hero > p:not(.fr-kicker) {
	max-width: 720px;
	margin-top: 16px !important;
}
.fr-page-hero.fr-prose {
	background: var(--fr-sand);
	max-width: none;
	padding: 80px 24px 96px;
	border-bottom: 0;
	box-shadow: none;
}
.fr-page-hero.fr-prose.is-layout-constrained > * {
	max-width: 760px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.fr-page-hero.fr-prose h1 {
	font-size: clamp(32px, 5vw, 52px);
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 40px;
}
.fr-page-hero.fr-prose h2 {
	margin: 24px auto 0;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	color: #1e1e1e;
}
.fr-page-hero.fr-prose.is-layout-constrained > h2 { margin-top: 24px !important; }
.fr-page-hero.fr-prose.is-layout-constrained > h1 + h2 { margin-top: 0 !important; }
.fr-page-hero.fr-prose > p.fr-kicker {
	font-size: 12px;
	line-height: 1.4;
	color: var(--fr-red);
	letter-spacing: 0.12em;
	margin-bottom: 12px;
}
.fr-page-hero.fr-prose > p:not(.fr-kicker) {
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.8;
	color: #6b6b6b;
}
.fr-page-hero.fr-prose.is-layout-constrained > h2 + p { margin-top: 8px !important; }
.fr-page-hero.fr-prose > p.fr-legal-name { color: #1e1e1e; font-weight: 500; }
.fr-page-hero.fr-prose strong { color: #1e1e1e; font-weight: 600; }
.fr-section.fr-prose { padding: 80px 0; max-width: none; }
.fr-section.fr-prose h2 {
	font-size: clamp(26px, 3.5vw, 38px);
	line-height: 1.15;
	margin: 0 0 20px;
	padding-left: 32px;
	border-left: 3px solid var(--fr-red);
}
.fr-section.fr-prose p {
	font-size: 16px;
	line-height: 1.75;
	color: #6b6b6b;
	max-width: 820px;
	margin: 0;
	padding-left: 32px;
}
.fr-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.fr-chips li {
	border: 1px solid rgba(30, 30, 30, 0.1);
	background: #f8f6f3;
	border-radius: 3px;
	padding: 5px 12px;
	font-family: Barlow, sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #1e1e1e;
	line-height: 1.4;
}
.fr-chips--dark li {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 3px;
	color: #a0a0a0;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.is-layout-constrained > .fr-service-grid,
.is-layout-constrained > .fr-trust-top,
.is-layout-constrained > .fr-values,
.is-layout-constrained > .fr-mannschaft {
	max-width: var(--fr-copy) !important;
}
.fr-prose { max-width: 820px; }
.fr-split { align-items: center; }
.fr-split.fr-valign-top { align-items: start; }
.fr-split.fr-valign-center { align-items: center; }
.fr-split.fr-valign-bottom { align-items: end; }
.fr-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.fr-stat {
	background: var(--fr-sand);
	padding: 16px;
}
.fr-stat p:first-child,
p.fr-stat {
	font-family: "Barlow Condensed", sans-serif;
	font-size: 32px;
	line-height: 1;
	color: var(--fr-red);
	margin: 0 0 4px;
}
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.fr-footer {
	background: #1e1e1e;
	color: #fff;
	padding: 64px 0;
}
.fr-footer__grid.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 64px;
	max-width: var(--fr-copy);
	margin: 0 auto;
}
.fr-footer__grid > .wp-block-column { flex-basis: auto; margin: 0; }
.fr-footer p { color: #a0a0a0; font-size: 14px; line-height: 1.7; max-width: 240px; margin: 0 0 24px; }
.fr-footer a,
.fr-footer li { color: #a0a0a0; }
.fr-footer h3,
.fr-footer__label { color: #fff; }
.fr-footer a { text-decoration: none; }
.fr-footer a:hover { color: #fff; }
.fr-footer__logo {
	display: block;
	height: 40px;
	width: auto;
	margin: 0 0 20px;
	filter: brightness(0) invert(1);
}
.fr-footer__label {
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 20px;
}
.fr-footer__links { list-style: none; padding: 0; margin: 0; max-width: none; }
.fr-footer .is-layout-flow > * + * { margin-block-start: 0 !important; }
.fr-footer__links li { margin: 0 0 10px; line-height: 24px; }
.fr-footer__links li:last-child { margin-bottom: 0; }
.fr-footer__links a { font-size: 14px; color: #a0a0a0; }
.fr-footer__social { display: flex; gap: 12px; max-width: none; }
.fr-footer__social a {
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 4px;
	background-color: rgba(255, 255, 255, 0.08);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px;
}
.fr-footer__social a[aria-label="Instagram"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E"); }
.fr-footer__social a[aria-label="Facebook"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E"); }
.fr-footer p.fr-footer__name,
.fr-footer p.fr-footer__addr,
.fr-footer p.fr-footer__phone,
.fr-footer p.fr-footer__mail,
.fr-footer p.fr-footer__legal,
.fr-footer p.fr-footer__social { max-width: none; }
.fr-footer p.fr-footer__social { margin: 0; }
.fr-footer__social a:hover { background-color: rgba(255, 255, 255, 0.2); }
.fr-footer p.fr-footer__name,
.fr-footer p.fr-footer__addr,
.fr-footer p.fr-footer__phone,
.fr-footer p.fr-footer__mail { margin: 0 0 10px; line-height: 22px; }
.fr-footer p.fr-footer__name { color: #fff; font-weight: 400; }
.fr-footer__addr,
.fr-footer__phone,
.fr-footer__mail { display: flex; align-items: flex-start; gap: 8px; max-width: none; margin: 0 0 10px; }
.fr-footer__addr::before,
.fr-footer__phone::before,
.fr-footer__mail::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: none;
	margin-top: 3px;
	background: center / contain no-repeat;
}
.fr-footer__addr::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.fr-footer__phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.fr-footer__mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.fr-footer__phone a,
.fr-footer__mail a { color: #a0a0a0; font-size: 14px; }
.fr-footer__legal { max-width: none; display: flex; gap: 16px; margin-top: 24px; }
.fr-footer__legal a { color: #6b6b6b; font-size: 12px; text-decoration: underline; }
.fr-footer__legal .fr-consent__open {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #6b6b6b;
	font: inherit;
	font-size: 12px;
	line-height: inherit;
	text-decoration: underline;
	cursor: pointer;
}
.fr-legalbar {
	background: var(--fr-red);
	color: #fff;
	padding: 12px 0;
	margin-block-start: 0 !important;
}
.wp-site-blocks > .wp-block-template-part { margin-block-start: 0 !important; }
.fr-legalbar__row {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 24px;
	width: min(var(--fr-copy), calc(100% - 48px));
	max-width: var(--fr-copy) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.fr-legalbar p {
	color: #fff;
	margin: 0;
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.04em;
	max-width: none;
	text-align: left;
}
.fr-legalbar a {
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-decoration: none;
}
.fr-legalbar a:hover { text-decoration: underline; }

.fr-booking-empty {
	background: var(--fr-sand);
	min-height: 220px;
	display: grid;
	place-items: center;
	text-align: center;
	padding: 32px;
	color: var(--fr-muted);
}
.fr-booking iframe,
.fr-booking .calendly-inline-widget { width: 100%; min-height: 720px; border: 0; }
.fr-booking__gate {
	background: var(--fr-sand);
	min-height: 220px;
	display: grid;
	place-items: center;
	align-content: center;
	justify-items: center;
	gap: 16px;
	text-align: center;
	padding: 32px 24px;
}
.fr-booking__gate p { max-width: 46ch; margin: 0; color: var(--fr-muted); }
.fr-booking__gate a { color: var(--fr-red); }
.fr-booking__allow {
	min-height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: 4px;
	background: var(--fr-red);
	color: #fff;
	font-family: Barlow, sans-serif;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.fr-booking__allow:hover { background: var(--fr-red-dark); }
.fr-booking__gate[hidden] { display: none !important; }

.fr-jobs { display: grid; gap: 16px; }
.fr-career .fr-career__stack > .fr-jobs { margin-top: 8px !important; }
.fr-job {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	align-items: center;
	padding: 24px;
	background: #fff;
	border: 0;
	border-left: 4px solid var(--fr-red);
	border-radius: 0 4px 4px 0;
}
.fr-job .fr-kicker { margin-bottom: 8px; }
.fr-job h3 {
	margin: 0 0 8px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(26px, 3vw, 32px);
	font-weight: 700;
	line-height: 1.1;
	color: #1e1e1e;
}
.fr-job__meta,
.fr-job__text { margin: 0; }
.fr-job__meta { font-size: 13px; line-height: 1.4; color: #6b6b6b; }
.fr-job__text { margin-top: 12px; font-size: 15px; line-height: 1.7; color: #4a4a4a; }
.fr-job__action { margin: 0; }
.fr-job__action a {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 20px;
	background: var(--fr-red);
	color: #fff;
	border-radius: 4px;
	font-family: Barlow, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}
.fr-job__action a::after {
	content: "";
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
.fr-job__action a:hover { opacity: 0.9; color: #fff; }
.fr-job-single {
	padding: 48px 0 80px;
	background: #fff;
}
.fr-job-single__head,
.fr-job-single > .wp-block-post-content,
.fr-job-single > .fr-job-single__apply {
	width: min(760px, calc(100% - 48px));
	max-width: none !important;
	margin-left: max(24px, calc((100% - 760px) / 2)) !important;
	margin-right: auto !important;
}
.fr-job-back { margin: 0 0 24px; }
.fr-job-back a {
	color: #6b6b6b;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
.fr-job-back a:hover { color: var(--fr-red); }
.fr-job-single .fr-kicker { margin-bottom: 12px; }
.fr-job-single h1 {
	margin: 0 0 16px;
	font-size: clamp(36px, 6vw, 56px);
	line-height: 1.05;
}
.fr-job-single__meta {
	margin: 0 0 20px;
	font-size: 14px;
	line-height: 1.4;
	color: #6b6b6b;
}
.fr-job-single__lead {
	margin: 0;
	font-size: 17px;
	line-height: 1.75;
	color: #4a4a4a;
}
.fr-job-single > .wp-block-post-content { margin-top: 40px !important; }
.fr-job-single .wp-block-post-content h2 {
	margin: 32px 0 12px;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(26px, 3vw, 32px);
	line-height: 1.15;
}
.fr-job-single .wp-block-post-content h2:first-child { margin-top: 0; }
.fr-job-single .wp-block-post-content ul {
	margin: 0 0 8px;
	padding-left: 0;
	list-style: none;
}
.fr-job-single .wp-block-post-content li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 22px;
	font-size: 16px;
	line-height: 1.65;
	color: #4a4a4a;
}
.fr-job-single .wp-block-post-content li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fr-red);
}
.fr-job-single__apply { margin-top: 36px !important; }
.fr-job-single__apply .wp-block-button__link {
	height: 52px;
	min-height: 52px;
	padding: 0 28px;
	font-size: 16px;
}
@media (max-width: 1023px) {
	.fr-career.is-layout-constrained > .fr-career__stack {
		padding-left: 24px;
		padding-right: 24px;
		box-sizing: border-box;
	}
	.fr-job__action a { width: 100%; }
}
@media (min-width: 768px) {
	.fr-job {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 32px;
		padding: 32px 36px;
	}
	.fr-job__action a { width: auto; }
	.fr-job-single { padding: 72px 0 112px; }
}

.fr-section.fr-svc-intro,
.fr-section.fr-svc-band { padding: 80px 0; }
.fr-svc-band--white { background: #fff; }
.fr-svc-band--sand { background: var(--fr-sand); }
.fr-section.fr-svc-intro { background: #fff; border-bottom: 1px solid rgba(30, 30, 30, 0.07); }
.fr-section.fr-svc-intro > h2.fr-display {
	max-width: var(--fr-copy);
	margin: 0 auto 24px;
	color: var(--fr-red);
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.15;
}
.fr-section.fr-svc-intro > p {
	max-width: var(--fr-copy);
	margin: 0 auto 32px;
	font-size: 17px;
	line-height: 1.8;
	color: #4a4a4a;
}
.fr-section p.fr-label {
	margin: 0 0 12px;
	color: #9a9a9a;
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 16px;
	text-transform: uppercase;
}
.fr-svc-intro .fr-chips { margin: 0 0 32px; }
.fr-svc-intro .wp-block-buttons { justify-content: flex-start; }
.fr-svc-intro .wp-block-button__link { height: 48px; min-height: 48px; padding: 0 24px; font-size: 15px; }
.fr-svc-split.wp-block-columns,
.fr-svc-faq__grid.wp-block-columns,
.fr-svc-trust__top.wp-block-columns,
.fr-svc-trust__cards.wp-block-columns {
	display: grid;
	align-items: center;
	gap: 48px;
	margin-bottom: 0;
}
.fr-svc-split.wp-block-columns { grid-template-columns: 1fr 1fr; }
.fr-svc-split.wp-block-columns.fr-valign-top,
.wp-block-columns.fr-valign-top { align-items: start; }
.fr-svc-split.wp-block-columns.fr-valign-center,
.wp-block-columns.fr-valign-center { align-items: center; }
.fr-svc-split.wp-block-columns.fr-valign-bottom,
.wp-block-columns.fr-valign-bottom { align-items: end; }
.fr-svc-split--flip > .wp-block-column:first-child { order: 2; }
.fr-svc-split > .wp-block-column { margin: 0; }
.fr-section.fr-svc-band h2.fr-display {
	max-width: none;
	margin: 0 0 20px;
	font-size: clamp(26px, 3.5vw, 38px);
	line-height: 1.15;
}
.fr-svc-split p { margin: 0 0 20px; font-size: 16px; line-height: 1.75; color: #6b6b6b; }
.fr-chips--mini { margin: 0; }
.fr-chips--mini li { padding: 4px 10px; font-size: 12px; }
.fr-svc-split img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; }
.fr-svc-note { max-width: 820px; padding-left: 32px; border-left: 3px solid var(--fr-red); }
.fr-svc-note h2.fr-display { margin-bottom: 16px; }
.fr-svc-note > p { margin: 0; max-width: 820px; font-size: 16px; line-height: 1.75; color: #6b6b6b; }
.fr-svc-note__hint {
	margin-top: 24px !important;
	padding-top: 16px;
	border-top: 1px solid rgba(30, 30, 30, 0.08);
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: #9a9a9a !important;
}
.fr-section.fr-svc-trust { padding: 112px 0; background: #2c2b28; overflow-x: clip; }
.fr-svc-trust__top.wp-block-columns { grid-template-columns: minmax(0, 1fr) minmax(300px, 440px); gap: 24px 40px; align-items: center; margin-bottom: 56px; }
.fr-svc-trust h2.fr-display { max-width: none; margin: 0 0 24px; color: #fff; font-size: clamp(28px, 4vw, 44px); }
.fr-svc-trust__top p { max-width: 620px; margin: 0; font-size: 15px; line-height: 1.75; color: #a0a0a0; }
.fr-svc-trust__top .fr-chips--dark { margin-top: 22px; }
.fr-svc-trust__photo { position: relative; margin: 0; overflow: visible; aspect-ratio: auto; border: 0; border-radius: 0; }
.fr-svc-trust__photo::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 46%;
	width: 128%;
	height: 78%;
	transform: translate(-50%, -50%);
	background: radial-gradient(ellipse at center, rgba(255, 246, 236, 0.16), rgba(255, 246, 236, 0) 70%);
	pointer-events: none;
}
.fr-svc-trust__photo img { position: relative; display: block; width: 100%; height: auto; object-fit: contain; }
.fr-svc-trust__photo figcaption { display: none; }
.fr-svc-trust__cards.wp-block-columns { grid-template-columns: repeat(4, 1fr); gap: 1px; align-items: stretch; background: rgba(255, 255, 255, 0.07); }
.fr-svc-trust__cards > .wp-block-column { margin: 0; padding: 32px; background: #2c2b28; }
.fr-svc-trust__cards h3 { margin: 0 0 16px; color: #fff; font-family: Barlow, sans-serif; font-size: 16px; line-height: 1.35; }
.fr-svc-trust__cards p { margin: 0; color: #a3a09b; font-size: 14px; line-height: 1.7; }
.fr-svc-trust__note {
	margin: 0;
	padding: 32px 32px 32px 52px;
	background: rgba(204, 31, 38, 0.06);
	border-top: 1px solid rgba(204, 31, 38, 0.2);
	color: #a0a0a0;
	font-size: 15px;
	line-height: 1.7;
}
.fr-section.fr-svc-faq { padding: 96px 0; }
.fr-svc-faq__grid.wp-block-columns { grid-template-columns: 1fr 2fr; gap: 64px; align-items: start; }
.fr-svc-faq h2.fr-display { max-width: none; margin: 0 0 16px; font-size: clamp(26px, 3.5vw, 38px); font-weight: 700; }
.fr-svc-faq__grid > .wp-block-column:first-child > p:not(.fr-kicker):not(.fr-textlink) { margin: 0 0 32px; font-size: 15px; line-height: 1.7; color: #6b6b6b; }
.fr-svc-faq .fr-faq { max-width: none; background: none; border: 0; border-top: 1px solid rgba(30, 30, 30, 0.1); border-radius: 0; padding: 0; }
.fr-svc-faq .fr-faq summary { font-family: Barlow, sans-serif; font-size: 15px; }
.fr-about-lead { padding: 96px 0; background: #fff; }
.fr-section.fr-about-lead > p { max-width: 820px; margin: 0 0 20px; font-size: 17px; line-height: 1.8; color: #4a4a4a; }
.fr-section.fr-about-lead > p:nth-of-type(2) { margin-bottom: 0; }
.fr-stats--six { grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 48px; }
.fr-stats--six .wp-block-group.fr-stat {
	padding: 20px;
	border-top: 3px solid var(--fr-red);
	border-radius: 0 0 4px 4px;
	text-align: center;
	background: var(--fr-sand);
}
.fr-stats--six p.fr-stat {
	margin: 0 0 4px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: #1e1e1e;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}
.fr-stats--six .fr-stat p:last-child { margin: 0; padding: 0; border: 0; background: none; color: #6b6b6b; font-size: 12px; line-height: 1.4; }
.fr-about-hero { border-bottom: 0; }
.fr-about-hero .fr-kicker { line-height: 16px; margin-bottom: 12px; }
.fr-about-hero h1 { line-height: 1.1; }
.fr-section.fr-about-lead.is-layout-constrained > .fr-stats--six { margin-top: 48px !important; }
.fr-about-family { background: #f8f6f3; }
.fr-about-family__grid.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; max-width: none; }
.fr-about-family__grid > .wp-block-column { margin: 0; }
.fr-about-family__grid > .wp-block-column:last-child { display: flex; align-items: flex-end; background: #1e1e1e; min-height: 480px; }
.fr-about-family__copy { max-width: 520px; margin: 0 80px 0 auto; padding: 112px 0; }
.fr-about-family .fr-kicker { margin-bottom: 16px; letter-spacing: 0.14em; }
.fr-about-family h2.fr-display { max-width: none; margin: 0 0 28px; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.1; }
.fr-about-family__copy > p { margin: 0 0 20px; font-size: 15px; line-height: 1.75; color: #4a4a4a; }
.fr-about-pull {
	margin: 12px 0 32px !important;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--fr-red);
	color: #1e1e1e !important;
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(17px, 2vw, 20px) !important;
	font-weight: 600;
	line-height: 1.45 !important;
}
.fr-about-family__photo { margin: 0; width: 100%; height: 620px; }
.fr-about-family__photo img { display: block; width: 100%; height: 620px; max-height: 620px; object-fit: contain; object-position: bottom center; }
.fr-about-team { background: #fff; padding: 112px 0 80px; }
.fr-about-team .fr-kicker { margin-bottom: 16px; letter-spacing: 0.14em; }
.fr-about-team h2.fr-display { max-width: var(--fr-copy); margin: 0 auto 40px; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; }
.fr-about-team__cols.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin: 0; }
.fr-about-team__cols p { margin: 0; font-size: 15px; line-height: 1.75; color: #4a4a4a; }
.fr-about-quote {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	box-sizing: border-box;
	background: #1e1e1e;
	padding: 80px max(40px, calc((100% - 1200px) / 2));
}
.fr-about-quote.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.fr-about-quote__mark {
	flex: none;
	margin: 4px 0 0;
	font-size: 0;
	line-height: 0;
	color: transparent;
}
.fr-about-quote__mark::before {
	content: "\"";
	display: block;
	color: var(--fr-red);
	font-family: "Barlow Condensed", sans-serif;
	font-size: clamp(64px, 8vw, 100px);
	font-weight: 700;
	line-height: 0.8;
}
.fr-about-quote__text p { margin: 0; color: #fff; font-family: "Barlow Condensed", sans-serif; font-size: clamp(24px, 3.5vw, 42px); font-weight: 600; line-height: 1.25; }
.fr-about-quote__by { margin-top: 24px !important; color: rgba(255, 255, 255, 0.35) !important; font-family: Barlow, sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.12em; line-height: 1.4 !important; text-transform: uppercase; }
.fr-about-values { background: #f8f6f3; padding: 96px 0; }
.fr-about-values .fr-kicker { margin-bottom: 12px; }
.fr-about-values h2.fr-display { max-width: var(--fr-copy); margin: 0 auto 48px; font-size: clamp(26px, 3.5vw, 38px); }
.fr-about-values__grid.wp-block-columns { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 0; }
.fr-about-card { height: 100%; box-sizing: border-box; background: #fff; border-top: 3px solid var(--fr-red); border-radius: 0 0 4px 4px; padding: 24px; }
.fr-about-icon { width: 26px; height: 26px; margin: 0 0 16px; background: center / 26px 26px no-repeat; }
.fr-about-icon--shield { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10'/%3E%3C/svg%3E"); }
.fr-about-icon--users { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.fr-about-icon--trend { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 7 13.5 15.5 8.5 10.5 2 17'/%3E%3Cpolyline points='16 7 22 7 22 13'/%3E%3C/svg%3E"); }
.fr-about-icon--anchor { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='3'/%3E%3Cline x1='12' x2='12' y1='22' y2='8'/%3E%3Cpath d='M5 12H2a10 10 0 0 0 20 0h-3'/%3E%3C/svg%3E"); }
.fr-about-card h3 { margin: 0 0 8px; font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 700; line-height: 1.2; }
.fr-about-card p:not(.fr-about-icon) { margin: 0; font-size: 14px; line-height: 1.7; color: #6b6b6b; }
.fr-about-points { background: #fff; padding: 96px 0; }
.fr-about-points__grid.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin: 0; }
.fr-about-points__grid > .wp-block-column { margin: 0; padding: 32px; border-left: 3px solid var(--fr-red); }
.fr-about-points h3 { margin: 0 0 16px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(22px, 2.5vw, 30px); font-weight: 700; line-height: 1.2; }
.fr-about-points p { margin: 0 0 12px; font-size: 15px; line-height: 1.8; color: #4a4a4a; }
.fr-about-points p:last-child { margin-bottom: 0; }
.fr-about-strong { font-weight: 600; color: #1e1e1e !important; }
.fr-about-jobs { background: #f8f6f3; padding: 112px 0; text-align: center; }
.fr-about-jobs .fr-kicker { margin-bottom: 20px; letter-spacing: 0.14em; }
.fr-about-jobs.is-layout-constrained > * {
	max-width: 780px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.fr-about-jobs h2.fr-display { max-width: 780px; margin: 0 auto 32px; font-size: clamp(32px, 5vw, 56px); line-height: 1.05; }
.fr-about-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 780px; margin: 0 auto; padding: 0; list-style: none; }
.fr-about-tags li { background: #fff; border: 1px solid #e0ddd9; border-radius: 2px; padding: 8px 16px; color: #4a4a4a; font-family: Barlow, sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 0.02em; }
.fr-about-jobs .wp-block-buttons { display: flex; justify-content: center; width: 100%; max-width: none; margin: 40px 0 0; padding-top: 40px; position: relative; }
.fr-about-jobs .wp-block-buttons::before { content: ""; position: absolute; top: 0; left: 50%; width: 40px; height: 2px; background: var(--fr-red); transform: translateX(-50%); }
.fr-about-jobs .wp-block-button__link { height: 56px; min-height: 56px; padding: 0 40px; font-size: 16px; letter-spacing: 0.02em; }
.fr-termin { padding: 64px 0 80px; background: var(--fr-sand); }

.fr-nav .wp-block-navigation__responsive-container.is-menu-open,
.fr-nav .is-menu-open .wp-block-navigation__responsive-dialog,
.fr-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	background: #1e1e1e !important;
}
.fr-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 72px 28px 40px;
}
.fr-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
}
.fr-nav .is-menu-open .wp-block-navigation__responsive-container-close,
.fr-nav .is-menu-open .wp-block-navigation__responsive-container-close svg {
	color: #fff;
	fill: #fff;
}
.fr-nav .is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	width: 100%;
	gap: 0 !important;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	height: auto;
	width: 100%;
	margin: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.fr-nav .is-menu-open .wp-block-navigation-item__content,
.fr-nav .is-menu-open .wp-block-navigation-submenu__toggle {
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: Barlow, sans-serif;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.35;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	flex: 1 1 auto;
	width: auto;
	padding: 16px 0;
	text-align: left;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(.fr-nav-cta) > .wp-block-navigation-item__content {
	background: none;
}
.fr-nav .is-menu-open .wp-block-navigation-submenu:not(.current-menu-ancestor) > .wp-block-navigation-item__content,
.fr-nav .is-menu-open .wp-block-navigation-submenu:not(.current-menu-ancestor) > .wp-block-navigation-submenu__toggle {
	color: rgba(255, 255, 255, 0.92) !important;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-link:not(.fr-nav-cta) > .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-link:not(.fr-nav-cta) > .wp-block-navigation-item__content::after,
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-right: 16px;
	border-right: 1.5px solid rgba(255, 255, 255, 0.4);
	border-bottom: 1.5px solid rgba(255, 255, 255, 0.4);
	transform: rotate(-45deg);
	flex: none;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
	transform: rotate(45deg);
	margin-top: -3px;
}
.fr-nav .is-menu-open .wp-block-navigation-submenu__toggle {
	width: 44px;
	height: 44px;
	margin: 0;
	color: rgba(255, 255, 255, 0.55) !important;
}
.fr-nav .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	display: none;
	flex: 1 0 100%;
	width: 100% !important;
	min-width: 0 !important;
	height: auto;
	margin: 0;
	padding: 0 0 8px 2px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
}
.fr-nav .is-menu-open .wp-block-navigation-submenu:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"]) > .wp-block-navigation__submenu-container {
	display: flex;
	flex-direction: column;
}
.fr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	height: auto;
	border: 0;
}
.fr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 0 8px 12px;
	color: rgba(255, 255, 255, 0.62) !important;
	font-family: Barlow, sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.01em;
}
.fr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	content: none;
}
.fr-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.fr-nav .is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content,
.fr-nav .is-menu-open .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	color: var(--fr-red) !important;
	font-weight: 500;
}
.fr-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content::after {
	border-color: var(--fr-red);
}
.fr-nav .is-menu-open .fr-nav-cta {
	display: block;
	margin-top: 28px;
	border-bottom: 0;
}
.fr-nav .is-menu-open .wp-block-navigation__container > .fr-nav-cta > .wp-block-navigation-item__content {
	display: flex;
	justify-content: center;
	flex: 1 0 100%;
	width: 100%;
	box-sizing: border-box;
	background: var(--fr-red) !important;
	color: #fff !important;
	border-radius: 4px;
	padding: 14px 20px;
	font-family: Barlow, sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.fr-nav .is-menu-open .fr-nav-cta .wp-block-navigation-item__content::after {
	content: none;
}
.admin-bar .fr-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 104px; }
.admin-bar .fr-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 50px; }
@media (max-width: 782px) {
	.admin-bar .fr-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 118px; }
	.admin-bar .fr-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 64px; }
}

@media (max-width: 1248px) {
	.fr-header__inner,
	.fr-topbar__inner { padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
	.fr-section.is-layout-constrained,
	.fr-page-hero.is-layout-constrained:not(.fr-prose),
	.fr-trustbar.is-layout-constrained,
	.fr-footer.is-layout-constrained { padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
}
@media (max-width: 1023px) {
	.fr-header .fr-header__cta { display: none !important; }
	.fr-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.fr-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.fr-nav-cta { display: block; }
}
@media (max-width: 767px) {
	.fr-topbar { display: none; }
}
@media (max-width: 900px) {
	.fr-meister,
	.fr-svc-trust__photo { max-width: 420px; margin-left: auto; margin-right: auto; }
	.fr-trust-top,
	.fr-project-more__grid,
	.fr-cta.wp-block-columns,
	.fr-stats,
	.fr-footer__grid.wp-block-columns,
	.fr-quotes.wp-block-columns { grid-template-columns: 1fr; }
	.fr-choices { grid-template-columns: 1fr 1fr; }
	.fr-steps::before { display: none; }
	.fr-header__inner { justify-content: space-between; }
	.fr-hero-card { padding: 24px 20px; }
	.fr-section { padding: 48px 24px; }
	.fr-topbar__contact { gap: 16px; }
	.fr-values.wp-block-columns,
	.fr-service-grid.wp-block-columns { grid-template-columns: repeat(2, 1fr); }
	.fr-section.fr-svc-intro,
	.fr-section.fr-svc-band,
	.fr-section.fr-svc-trust,
	.fr-section.fr-svc-faq,
	.fr-about-lead,
	.fr-termin { padding: 48px 24px; }
	.fr-svc-split.wp-block-columns,
	.fr-svc-faq__grid.wp-block-columns,
	.fr-svc-trust__top.wp-block-columns,
	.fr-about-family__grid.wp-block-columns,
	.fr-about-team__cols.wp-block-columns,
	.fr-about-points__grid.wp-block-columns { display: grid; grid-template-columns: 1fr; }
	.fr-svc-trust__cards.wp-block-columns,
	.fr-about-values__grid.wp-block-columns,
	.fr-stats--six.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; }
	.fr-about-family__copy { margin: 0; padding: 48px 24px; }
	.fr-about-quote { flex-direction: column; gap: 16px; }
	.fr-svc-split--flip > .wp-block-column:first-child { order: 0; }
	.fr-project-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.fr-values.wp-block-columns,
	.fr-service-grid.wp-block-columns,
	.fr-about-values__grid.wp-block-columns,
	.fr-stats--six.wp-block-columns,
	.fr-project-grid,
	.fr-shots { grid-template-columns: 1fr; }
	.fr-lightbox { padding: 52px 16px 20px; }
	.fr-lightbox__prev { left: 4px; }
	.fr-lightbox__next { right: 4px; }
}

/* Abstände wie in der Vorlage: WordPress-Blockabstand 24px aus, dann die gemessenen Werte. */
.fr-section.is-layout-constrained > * + *,
.fr-section .is-layout-flow > * + *,
.fr-section .is-layout-constrained > * + * {
	margin-block-start: 0 !important;
}
.fr-section--sand:not(.fr-refs):not(.fr-faq-section):not(.fr-contact) > h2 { margin-bottom: 24px; }
.fr-section--sand:not(.fr-refs):not(.fr-faq-section):not(.fr-contact) > p + p { margin-top: 24px !important; }
.fr-section--sand:not(.fr-refs):not(.fr-faq-section):not(.fr-contact) > .fr-checks {
	margin-top: 32px !important;
	margin-bottom: 32px !important;
	gap: 12px 40px;
	line-height: 22px;
}
.fr-section.fr-center:not(.fr-voices):not(.fr-faq-section) > .fr-kicker { margin-bottom: 12px; }
.fr-section.fr-center:not(.fr-voices):not(.fr-faq-section):not(.fr-section--stone) > h2 { margin: 0 auto 16px; }
.fr-section.fr-center:not(.fr-voices):not(.fr-faq-section):not(.fr-section--stone) > p:not(.fr-kicker) {
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 48px;
	font-size: 16px;
	line-height: 1.7;
}
.fr-service-grid + .fr-service-grid { margin-top: 20px !important; }
.fr-section--stone > .fr-kicker { margin-bottom: 12px; }
.fr-section.fr-section--stone.fr-center > h2.fr-display { margin: 0 auto 56px; }
.fr-section--stone > .fr-steps { margin-bottom: 48px; }
.fr-section--ink .fr-kicker { margin-bottom: 16px; }
.fr-section--ink .fr-trust-top h2 { margin-bottom: 20px; }
.fr-trust-copy { margin-bottom: 28px; line-height: 1.75; }
.fr-trust-top { margin-bottom: 56px; }
.fr-refs > h2.fr-display { margin-bottom: 16px; line-height: 1.1; }
.fr-section.fr-refs.is-layout-constrained > p { max-width: 580px; margin-bottom: 40px; }
.fr-refs .fr-projects { margin-bottom: 40px; }
.fr-voices > .fr-kicker { margin-bottom: 12px; }
.fr-voices > h2 { margin-bottom: 48px; }
.fr-faq-section > .fr-kicker { margin-bottom: 12px; }
.fr-faq-section > h2 { margin-bottom: 48px; }
.fr-faq details { margin: 0 !important; }
.fr-center .fr-display { max-width: none; }

.fr-career { padding: 64px 0; background: #fff; }
.fr-career-team,
.fr-career-sitesec,
.fr-career-jobs,
.fr-career-faqsec { background: var(--fr-sand); }
.fr-career-band,
.fr-career-train { background: #1e1e1e; }
.fr-career-band { padding: 64px 0; }
.fr-career-cta { padding: 80px 0; text-align: center; }
.fr-career.is-layout-constrained > .fr-career__stack {
	max-width: var(--fr-copy);
	margin-left: auto !important;
	margin-right: auto !important;
}
.fr-career.is-layout-constrained > * + *,
.fr-career .is-layout-flow > * + *,
.fr-career .fr-career__stack > * + * { margin-block-start: 0 !important; }
.fr-career-hero { padding: 80px 0; }
.fr-career-hero.is-layout-constrained > * {
	max-width: var(--fr-copy) !important;
	margin-left: max(24px, calc((100% - var(--fr-copy)) / 2)) !important;
	margin-right: auto !important;
}
.fr-career-hero.is-layout-constrained > * + * { margin-block-start: 0 !important; }
.fr-page-hero.fr-career-hero > .fr-kicker {
	margin-bottom: 12px !important;
	font-size: 12px !important;
	line-height: 19.8px !important;
	letter-spacing: 0.12em;
	color: var(--fr-red) !important;
}
.fr-career-hero.is-layout-constrained > h1 { max-width: 720px !important; }
.fr-career-hero h1 {
	max-width: 720px;
	margin-bottom: 0;
	font-size: clamp(28px, 3.5vw, 46px);
	font-weight: 700;
	line-height: 1.15;
}
.fr-career-hero .fr-career-lead {
	max-width: 720px !important;
	margin-top: 16px !important;
	margin-bottom: 32px !important;
	font-size: 17px !important;
	line-height: 1.8 !important;
	color: #4a4a4a !important;
}
.fr-career p.fr-kicker {
	margin-bottom: 12px;
	font-family: Barlow, sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 16px !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--fr-red) !important;
}
.fr-career h2.fr-display { max-width: none; margin: 0 0 24px; font-size: clamp(26px, 3.5vw, 38px); line-height: 1.15; }
.fr-career-sitesec h2.fr-display,
.fr-career-faqsec h2.fr-display { font-size: clamp(24px, 3vw, 34px); }
.fr-career-process h2.fr-display { margin-bottom: 48px; }
.fr-career-jobs h2.fr-display { margin-bottom: 16px; }
.fr-career-head h2.fr-display { max-width: 560px; margin-bottom: 0; }
.fr-career-head { margin-bottom: 48px; }
.fr-career-copy > p:not(.fr-kicker),
.fr-career-aside > p:not(.fr-kicker),
.fr-career-region > p:not(.fr-kicker) { margin: 0 0 16px; font-size: 16px; line-height: 1.8; color: #4a4a4a; }
.fr-career-sitesec .fr-career-copy > p:not(.fr-kicker),
.fr-career-expect .fr-career-copy > p:not(.fr-kicker),
.fr-career-train .fr-career-copy > p:not(.fr-kicker),
.fr-career-note > p:not(.fr-career-note__title) { font-size: 15px; }
.fr-career-copy > p:last-child { margin-bottom: 0; }
.fr-career-pull {
	margin: 32px 0 0 !important;
	padding: 20px;
	border-left: 3px solid var(--fr-red);
	background: #fff;
	border-radius: 0 4px 4px 0;
	color: #1e1e1e !important;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 18px !important;
	font-weight: 600;
	line-height: 1.4 !important;
}
.fr-career-split { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.fr-career-split--start,
.fr-career-split.fr-valign-top { align-items: start; }
.fr-career-split.fr-valign-center { align-items: center; }
.fr-career-split.fr-valign-bottom { align-items: end; }
.fr-career-split.fr-valign-top > .fr-career-aside { justify-content: flex-start; }
.fr-career-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	background: #e0ddd9;
	border-radius: 4px;
}
.fr-career-ph p { margin: 0; font-size: 13px; letter-spacing: 0.05em; color: #9a9590; }
.fr-career-ph--wide { aspect-ratio: 16 / 9; }
.fr-career-cards,
.fr-career-stats,
.fr-career-steps { display: grid; gap: 24px; }
.fr-career-cards { grid-template-columns: 1fr; }
.fr-career-card {
	padding: 24px;
	background: var(--fr-sand);
	border-top: 3px solid var(--fr-red);
	border-radius: 0 0 4px 4px;
}
.fr-career-icon { width: 24px; height: 24px; margin: 0 0 16px; background: center / 24px 24px no-repeat; }
.editor-styles-wrapper .fr-career-icon {
	overflow: hidden;
}
.editor-styles-wrapper .fr-career-icon [data-rich-text-placeholder]::after {
	content: none;
}
.fr-career-icon--calendar { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E"); }
.fr-career-icon--wrench { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }
.fr-career-icon--smartphone { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='20' x='5' y='2' rx='2' ry='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E"); }
.fr-career-icon--coffee { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v2'/%3E%3Cpath d='M14 2v2'/%3E%3Cpath d='M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1'/%3E%3Cpath d='M6 2v2'/%3E%3C/svg%3E"); }
.fr-career-icon--message { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.fr-career-icon--users { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.fr-career-icon--pin { width: 22px; height: 22px; margin: 0; background-size: 22px 22px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.fr-career-card h3 { margin: 0 0 8px; font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 700; line-height: 1.5; }
.fr-career-card p:not(.fr-career-icon) { margin: 0; font-size: 14px; line-height: 1.7; color: #6b6b6b; }
.fr-career-stats { grid-template-columns: 1fr 1fr; gap: 24px; }
.fr-career-stat { text-align: center; }
.fr-career-stat__value { margin: 0; color: var(--fr-red); font-family: "Barlow Condensed", sans-serif; font-size: clamp(28px, 3.5vw, 40px); font-weight: 700; line-height: 1; }
.fr-career-stat__label { margin: 8px 0 0 !important; color: rgba(255, 255, 255, 0.5); font-size: 12px; letter-spacing: 0.05em; line-height: 1.4; }
.fr-career-sites,
.fr-career-checks,
.fr-career-chips { display: flex; flex-direction: column; gap: 12px; }
.fr-career-sites { margin-top: 32px !important; }
.fr-career-site { display: grid; grid-template-columns: 6px 1fr; column-gap: 16px; row-gap: 2px; align-items: start; padding: 16px; background: #fff; border-radius: 4px; }
.fr-career-site::before,
.fr-career-chip::before {
	content: "";
	width: 6px;
	height: 6px;
	margin-top: 7px;
	border-radius: 50%;
	background: var(--fr-red);
	flex: none;
}
.fr-career-site::before { grid-row: 1 / span 2; }
.fr-career-site__name,
.fr-career-site__text { margin: 0; }
.fr-career-site__name { font-family: "Barlow Condensed", sans-serif; font-size: 17px; font-weight: 700; line-height: 1.5; color: #1e1e1e; }
.fr-career-site__text { margin-top: 2px; font-size: 13px; line-height: 1.5; color: #6b6b6b; }
.fr-career-kickerrow { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.fr-career-kickerrow .fr-kicker { margin: 0; }
.fr-career-region h3 { margin: 0 0 16px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(22px, 2.5vw, 30px); font-weight: 700; line-height: 1.2; }
.fr-career-region > p { font-size: 15px; }
.fr-career-sitesec h2,
.fr-career-faqsec h2 { font-size: clamp(24px, 3vw, 34px); }
.fr-career-aside { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.fr-career-check {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #4a4a4a;
}
.fr-career-check::before {
	content: "";
	width: 18px;
	height: 18px;
	margin-top: 2px;
	flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}
.fr-career-note { padding: 32px; background: var(--fr-sand); border-top: 3px solid var(--fr-red); border-radius: 0 0 4px 4px; }
.fr-career-note__title { margin: 0 0 24px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(20px, 2.5vw, 26px); font-weight: 700; line-height: 1.35; color: #1e1e1e; }
.fr-career-note p:last-child { margin: 0; line-height: 1.75; }
.fr-career-empty {
	max-width: 720px;
	margin-top: 40px !important;
	padding: 32px;
	background: #fff;
	border-left: 4px solid var(--fr-red);
	border-radius: 0 4px 4px 0;
}
.fr-career-empty h3 { margin: 0 0 12px; font-family: "Barlow Condensed", sans-serif; font-size: 24px; font-weight: 700; line-height: 1.5; }
.fr-career-empty > p { margin: 0 0 24px; font-size: 15px; line-height: 1.75; color: #4a4a4a; }
.fr-career-train h2 { color: #fff; line-height: 1.1; }
.fr-career-train .fr-career-copy > p:not(.fr-kicker) { color: rgba(255, 255, 255, 0.65); }
.fr-career-em { color: rgba(255, 255, 255, 0.85) !important; font-weight: 500; }
.fr-career-bring .fr-kicker { margin-bottom: 16px; color: rgba(255, 255, 255, 0.4) !important; letter-spacing: 0.1em; }
.fr-career-chip {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 16px 20px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 4px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
}
.fr-career-chip::before { margin-top: 0; }
.fr-career-train .wp-block-buttons { margin-top: 32px; }
.fr-career-process h2 { margin-bottom: 48px; }
.fr-career-steps { gap: 32px; }
.fr-career-step__no { margin: 0 0 16px; color: #f0ede9; font-family: "Barlow Condensed", sans-serif; font-size: 48px; font-weight: 700; line-height: 1; }
.fr-career-step h3 { margin: 16px 0 12px; font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 700; line-height: 1.2; }
.fr-career-step h3::before { content: ""; display: block; width: 32px; height: 3px; margin-bottom: 16px; background: var(--fr-red); }
.fr-career-step p:not(.fr-career-step__no) { margin: 0; font-size: 14px; line-height: 1.75; color: #6b6b6b; }
.fr-career-faqgrid { display: grid; grid-template-columns: 1fr; gap: 48px; }
.fr-career-faqsec h2 { font-size: clamp(24px, 3vw, 34px); margin-bottom: 0; }
.fr-career-faq details { border-bottom: 1px solid #e8e5e1; margin: 0 !important; }
.fr-career-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0;
	cursor: pointer;
	list-style: none;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	color: #1e1e1e;
}
.fr-career-faq summary::-webkit-details-marker { display: none; }
.fr-career-faq summary::after {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}
.fr-career-faq details[open] summary::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.fr-career-faq details p { margin: 0; padding: 0 0 20px; font-size: 15px; line-height: 1.75; color: #4a4a4a; }
.fr-career-cta .fr-kicker { margin-bottom: 20px; letter-spacing: 0.14em; }
.fr-career-cta h2 { max-width: none; margin: 0 auto 20px; font-size: clamp(32px, 5vw, 56px); line-height: 1.05; }
.fr-career-cta__text { max-width: 520px; margin: 0 auto 40px; font-size: 16px; line-height: 1.75; color: #6b6b6b; }
.fr-career-rule { width: 40px; height: 2px; margin: 0 auto 40px; background: var(--fr-red); }
.fr-career-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; width: 100%; }
.fr-career .wp-block-button__link { border-radius: 4px; font-weight: 600; }
.fr-page-hero.fr-career-hero .wp-block-button__link,
.fr-career-btn--lg .wp-block-button__link {
	height: 48px;
	min-height: 48px;
	padding: 0 24px;
	font-size: 15px;
	line-height: 48px;
}
.fr-career-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link { height: auto; min-height: 0; padding: 16px 32px; font-size: 16px; line-height: 24px; }
.fr-career-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link { padding: 16px 40px; }
.fr-career-btn--sm .wp-block-button__link { height: auto; min-height: 0; padding: 12px 28px; font-size: 15px; line-height: 1.5; }
.fr-career-train .fr-career-btn--sm .wp-block-button__link { padding: 16px 28px; }
.fr-career .is-style-outline .wp-block-button__link { background: transparent; color: #1e1e1e; border: 2px solid #1e1e1e; padding: 16px 40px; font-size: 16px; line-height: 24px; }
.fr-career .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { opacity: 0.9; }
.fr-career .is-style-outline .wp-block-button__link:hover { opacity: 0.7; }
.fr-career .fr-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link::after,
.fr-career-hero .fr-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link::after { width: 18px; height: 18px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E"); }
.fr-career-btn--sm .wp-block-button__link::after { width: 16px; height: 16px; }
@media (min-width: 640px) {
	.fr-career-cards { grid-template-columns: 1fr 1fr; }
	.fr-career-stats { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
	.fr-career-steps { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
	.fr-career { padding: 96px 0; }
	.fr-career-band { padding: 80px 0; }
	.fr-career-cta { padding: 112px 0; }
	.fr-career-split { grid-template-columns: 1fr 1fr; gap: 80px; }
	.fr-career-split--photo .fr-career-ph { order: -1; }
	.fr-career-cards,
	.fr-career-stats { grid-template-columns: repeat(3, 1fr); }
	.fr-career-stats { grid-template-columns: repeat(6, 1fr); }
	.fr-career-faqgrid { grid-template-columns: repeat(3, 1fr); gap: 80px; }
	.fr-career-faq { grid-column: span 2; }
	.fr-career-note { padding: 40px; }
	.fr-career-empty { padding: 48px; }
}
.fr-career .is-layout-flow > .fr-career-pull { margin-top: 32px !important; }
.fr-career .is-layout-flow > .fr-career-sites { margin-top: 32px !important; }
.fr-career .fr-career__stack > .fr-career-empty { margin-top: 40px !important; }
.fr-career .fr-career-stat.is-layout-flow > .fr-career-stat__label { margin-top: 8px !important; }
.fr-career .fr-career-copy.is-layout-flow > .wp-block-buttons { margin-top: 32px !important; }
.fr-career-cta p.fr-kicker { margin-bottom: 20px !important; letter-spacing: 0.14em; }
.fr-career-cta h2.fr-display { margin: 0 auto 20px; font-size: clamp(32px, 5vw, 56px); line-height: 1.05; }
.fr-career-train h2.fr-display { line-height: 1.1; color: #fff; }
.fr-career-bring p.fr-kicker { margin-bottom: 16px !important; color: rgba(255, 255, 255, 0.4) !important; letter-spacing: 0.1em; }

.fr-job-editor { margin: 4px 0 28px; }
.fr-job-editor__intro {
	margin: 0 0 16px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}
.fr-job-editor__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 20px;
}
.fr-job-editor__wide { grid-column: 1 / -1; }
.fr-job-editor__preview {
	margin: 12px 0 0;
	padding: 16px 18px;
	background: #f8f6f3;
	border-left: 4px solid #cc1f26;
}
.fr-job-editor__caption {
	margin: 0 0 10px;
	color: #6b6b6b;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.fr-job-editor__kicker {
	margin: 0 0 6px;
	color: #cc1f26;
	font-family: Barlow, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}
.fr-job-editor__name {
	margin: 0;
	color: #1e1e1e;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
}
.fr-job-editor__meta {
	margin: 8px 0 0;
	color: #6b6b6b;
	font-size: 13px;
	line-height: 1.4;
}
.fr-job-editor__text {
	margin: 8px 0 0;
	color: #4a4a4a;
	font-size: 14px;
	line-height: 1.6;
}
.fr-job-editor__next {
	margin: 14px 0 0;
	color: #646970;
	font-size: 13px;
	line-height: 1.5;
}
@media (max-width: 782px) {
	.fr-job-editor__grid { grid-template-columns: 1fr; }
}

body.post-type-page .editor-visual-editor__post-title-wrapper {
	max-width: min(1200px, calc(100% - 48px));
	margin: 12px auto 0 !important;
	padding: 12px 0 16px !important;
	border-bottom: 1px solid #e8e4df;
}
body.post-type-page .editor-visual-editor__post-title-wrapper::before {
	content: "Seitentitel für Browser und Menüs";
	display: block;
	margin-bottom: 4px;
	color: #6b6b6b;
	font-family: Barlow, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}
body.post-type-page .editor-visual-editor__post-title-wrapper .editor-post-title {
	margin: 0;
	min-height: 0;
	font-family: Barlow, sans-serif !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.wp-site-blocks > .wp-block-template-part:has(.fr-header) { display: contents; }

html { scroll-padding-top: 88px; }
html:has(body.admin-bar) { scroll-padding-top: 120px; }
.admin-bar .fr-header { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .fr-header { top: 46px; }
	html:has(body.admin-bar) { scroll-padding-top: 134px; }
}

.fr-header { transition: box-shadow 0.25s ease; }
body.is-scrolled .fr-header { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14); }

.wp-block-button__link,
.fr-form [data-next],
.fr-form button[type="submit"],
.fr-form [data-back] {
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.fr-form [data-next]:hover,
.fr-form button[type="submit"]:hover {
	background-color: var(--fr-red-dark);
}
.is-style-outline .wp-block-button__link:hover {
	border-color: var(--fr-red);
	color: var(--fr-red);
}
.fr-header__cta .wp-block-button__link::after,
.fr-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link::after,
.fr-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link::after {
	transition: transform 0.2s ease;
}
.fr-header__cta .wp-block-button__link:hover::after,
.fr-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover::after,
.fr-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.fr-project img { transition: transform 0.45s ease; }
.fr-project:hover img { transform: scale(1.045); }

:focus-visible {
	outline: 2px solid var(--fr-red);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }

	.fr-choice,
	.fr-choice::after,
	.fr-pick,
	.fr-form__progress span,
	.fr-form__progress::after,
	.fr-radios label,
	.fr-form textarea,
	.fr-form input[type="text"],
	.fr-form input[type="email"],
	.fr-form input[type="tel"] {
		transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, width 0.35s ease;
	}
	.fr-choice:active { transform: scale(0.98); }
	.fr-form__progress span.is-current { transform: scale(1.08); }

	.fr-form.is-forward .fr-form__panel:not([hidden]) {
		animation: fr-step-forward 0.32s ease;
	}
	.fr-form.is-back .fr-form__panel:not([hidden]) {
		animation: fr-step-back 0.32s ease;
	}
	.fr-form__success:not([hidden]) .fr-form__mark {
		animation: fr-mark-in 0.45s ease both;
	}
	.fr-form__success:not([hidden]) .fr-form__next li {
		animation: fr-thanks-item 0.4s ease both;
	}
	.fr-form__success:not([hidden]) .fr-form__next li:nth-child(2) { animation-delay: 0.08s; }
	.fr-form__success:not([hidden]) .fr-form__next li:nth-child(3) { animation-delay: 0.16s; }

	@supports (interpolate-size: allow-keywords) {
		.fr-faq details,
		.fr-career-faq details { interpolate-size: allow-keywords; }
		.fr-faq details::details-content,
		.fr-career-faq details::details-content {
			height: 0;
			overflow: clip;
			transition: height 0.28s ease, content-visibility 0.28s allow-discrete;
		}
		.fr-faq details[open]::details-content,
		.fr-career-faq details[open]::details-content { height: auto; }
	}
}

@keyframes fr-step-forward {
	from { opacity: 0; transform: translateX(18px); }
	to { opacity: 1; transform: none; }
}
@keyframes fr-step-back {
	from { opacity: 0; transform: translateX(-18px); }
	to { opacity: 1; transform: none; }
}
@keyframes fr-mark-in {
	from { opacity: 0; transform: scale(0.6); }
	to { opacity: 1; transform: none; }
}
@keyframes fr-thanks-item {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.fr-project img,
	.fr-header,
	.wp-block-button__link::after,
	.fr-choice,
	.fr-choice::after,
	.fr-pick,
	.fr-form__progress span,
	.fr-form__progress::after { transition: none; }
	.fr-project:hover img { transform: none; }
}

@media (max-width: 640px) {
	.fr-choices,
	.fr-picks { grid-template-columns: 1fr; }
	.fr-picks--pair { grid-template-columns: 1fr 1fr; }
}

html.fr-consent-known .fr-consent { display: none; }
html:not([data-fr-consent="all"]) [id^="my-cal-inline"] { display: none !important; }
html[data-fr-consent="all"] .fr-booking__gate { display: none !important; }
.fr-consent {
	position: fixed;
	z-index: 80;
	left: 16px;
	right: 16px;
	bottom: max(16px, env(safe-area-inset-bottom));
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px 28px;
	align-items: center;
	max-width: 920px;
	max-height: calc(100dvh - 32px);
	margin: 0 auto;
	padding: 20px 24px;
	overflow: auto;
	background: #fff;
	border: 1px solid var(--fr-line);
	border-radius: 4px;
	box-shadow: 0 12px 40px rgba(30, 30, 30, 0.12);
}
.fr-consent__copy p { margin: 0; }
.fr-consent__copy .fr-kicker { margin-bottom: 6px; }
.fr-consent__copy #fr-consent-copy { color: var(--fr-ink); font-size: 15px; line-height: 1.45; }
.fr-consent__more { margin-top: 8px !important; }
.fr-consent__more a { color: var(--fr-red); font-size: 14px; font-weight: 600; text-decoration: none; }
.fr-consent__actions { display: flex; flex-wrap: nowrap; gap: 10px; }
.fr-consent__actions button {
	min-height: 44px;
	padding: 0 18px;
	border-radius: 4px;
	font-family: Barlow, sans-serif;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
}
.fr-consent__accept { border: 0; background: var(--fr-red); color: #fff; }
.fr-consent__accept:hover { background: var(--fr-red-dark); }
.fr-consent__deny { border: 1px solid var(--fr-ink); background: #fff; color: var(--fr-ink); }
.fr-consent__deny:hover { background: var(--fr-sand); }
@media (max-width: 639px) {
	.fr-consent {
		grid-template-columns: 1fr;
		left: 12px;
		right: 12px;
		bottom: max(12px, env(safe-area-inset-bottom));
		max-height: calc(100dvh - 24px);
		padding: 16px;
	}
	.fr-consent__actions { display: grid; }
	.fr-consent__actions button { white-space: normal; }
}

