/* =========================================================
   LEISTUNGEN – PREMIUM SERVICE PAGE
   ========================================================= */
.fv-services-page { background:#f5f2ec; color:#151a1d; }

.fv-services-hero {
	position:relative;
	padding:clamp(34px,4.5vw,62px) 0 clamp(48px,5vw,72px);
	background:
		radial-gradient(circle at 82% 10%, rgba(185,128,85,.09), transparent 28%),
		linear-gradient(180deg,#f8f5ef 0%,#f0ebe3 100%);
	overflow:hidden;
}

.fv-services-hero__grid {
	display:grid;
	grid-template-columns:minmax(0,.88fr) minmax(520px,1.02fr);
	gap:clamp(44px,6vw,92px);
	align-items:center;
}

.fv-services-hero__copy {
	max-width:690px;
	min-width:0;
	padding-block:12px;
}

.fv-services-hero h1 {
	margin:0;
	max-width:11ch;
	color:#111518;
	font-size:clamp(3.65rem,5.7vw,6.3rem);
	line-height:.93;
	letter-spacing:-.055em;
	text-wrap:balance;
	word-break:normal;
	overflow-wrap:normal;
	hyphens:none;
}

.fv-services-hero h1 span,
.fv-services-hero h1 em {
	display:block;
}

.fv-services-hero h1 em {
	margin-top:.06em;
	color:#a66f48;
	font-style:normal;
}

.fv-services-hero__lead {
	max-width:620px;
	margin:24px 0 0;
	color:#555d62;
	font-size:1.02rem;
	line-height:1.78;
}

.fv-services-hero__actions {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:20px;
	margin-top:28px;
}

.fv-services-hero__textlink {
	display:inline-flex;
	align-items:center;
	gap:9px;
	padding-bottom:5px;
	border-bottom:1px solid rgba(22,27,30,.18);
	color:#171b1e;
	font-size:.82rem;
	font-weight:800;
	text-decoration:none;
}

.fv-services-hero__textlink span {
	color:#a66f48;
}

.fv-services-hero__scope {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin-top:34px;
	border-top:1px solid rgba(20,24,28,.11);
	border-bottom:1px solid rgba(20,24,28,.11);
}

.fv-services-hero__scope > div {
	min-width:0;
	padding:17px 17px 18px 0;
	border-right:1px solid rgba(20,24,28,.09);
}

.fv-services-hero__scope > div:not(:first-child) {
	padding-left:17px;
}

.fv-services-hero__scope > div:last-child {
	border-right:0;
}

.fv-services-hero__scope span,
.fv-services-hero__scope strong,
.fv-services-hero__scope small {
	display:block;
}

.fv-services-hero__scope span {
	color:#a66f48;
	font-size:.64rem;
	font-weight:800;
	letter-spacing:.13em;
}

.fv-services-hero__scope strong {
	margin-top:13px;
	color:#171b1e;
	font-family:var(--fv-font-display);
	font-size:1.15rem;
	line-height:1.08;
}

.fv-services-hero__scope small {
	margin-top:7px;
	color:#686f73;
	font-size:.7rem;
	line-height:1.48;
}

.fv-services-hero__visual {
	position:relative;
	margin:0;
	min-width:0;
}

.fv-services-hero__main-image {
	position:relative;
	overflow:hidden;
	min-height:560px;
	border-radius:30px;
	background:#d6d1c8;
	box-shadow:0 30px 88px rgba(18,22,24,.14);
}

.fv-services-hero__main-image::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,transparent 55%,rgba(7,9,10,.24) 100%);
	pointer-events:none;
}

.fv-services-hero__main-image img {
	display:block;
	width:100%;
	height:100%;
	min-height:560px;
	object-fit:cover;
	object-position:center;
}

.fv-services-hero__caption {
	position:absolute;
	left:22px;
	right:22px;
	bottom:22px;
	z-index:2;
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:28px;
	padding:17px 19px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:18px;
	background:rgba(12,14,15,.78);
	backdrop-filter:blur(12px);
	color:#fff;
}

.fv-services-hero__caption span {
	color:#cf9a74;
	font-size:.62rem;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
}

.fv-services-hero__caption strong {
	max-width:280px;
	color:#fff;
	font-family:var(--fv-font-display);
	font-size:1.02rem;
	font-weight:500;
	line-height:1.18;
	text-align:right;
}

@media (max-width:1100px) {
	.fv-services-hero__grid {
		grid-template-columns:1fr;
		gap:38px;
	}

	.fv-services-hero__copy {
		max-width:780px;
	}

	.fv-services-hero h1 {
		max-width:12ch;
	}

	.fv-services-hero__visual {
		max-width:900px;
	}

	.fv-services-hero__main-image,
	.fv-services-hero__main-image img {
		min-height:520px;
	}
}

@media (max-width:700px) {
	.fv-services-hero {
		padding:28px 0 54px;
	}

	.fv-services-hero h1 {
		max-width:100%;
		font-size:clamp(3rem,13.2vw,4.65rem);
		line-height:.95;
	}

	.fv-services-hero__lead {
		margin-top:20px;
		font-size:.98rem;
		line-height:1.72;
	}

	.fv-services-hero__actions {
		display:grid;
		align-items:start;
		gap:16px;
		margin-top:24px;
	}

	.fv-services-hero__scope {
		grid-template-columns:1fr;
		margin-top:28px;
	}

	.fv-services-hero__scope > div,
	.fv-services-hero__scope > div:not(:first-child) {
		padding:14px 0;
		border-right:0;
		border-bottom:1px solid rgba(20,24,28,.09);
	}

	.fv-services-hero__scope > div:last-child {
		border-bottom:0;
	}

	.fv-services-hero__scope strong {
		margin-top:8px;
	}

	.fv-services-hero__main-image,
	.fv-services-hero__main-image img {
		min-height:390px;
	}

	.fv-services-hero__main-image {
		border-radius:22px;
	}

	.fv-services-hero__caption {
		left:12px;
		right:12px;
		bottom:12px;
		display:block;
		padding:14px 15px;
		border-radius:14px;
	}

	.fv-services-hero__caption strong {
		display:block;
		margin-top:6px;
		max-width:none;
		text-align:left;
		font-size:.95rem;
	}
}

.fv-services-intro { padding:clamp(88px,9vw,138px) 0; background:#fbfaf7; }
.fv-services-intro__grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(340px,.62fr); gap:clamp(40px,8vw,120px); align-items:start; }
.fv-services-intro h2 { max-width:880px; font-size:clamp(3.1rem,5.6vw,6rem); line-height:.94; letter-spacing:-.05em; }
.fv-services-intro__copy { padding-top:4px; }
.fv-services-intro__copy p { color:#5d6469; line-height:1.85; }
.fv-services-intro__copy p + p { margin-top:20px; }

.fv-services-showcase { padding:clamp(88px,9vw,140px) 0; background:#111315; color:#fff; }
.fv-services-showcase .fv-kicker { color:#cf9a74; }
.fv-services-showcase__head { display:grid; grid-template-columns:minmax(0,.9fr) minmax(330px,.6fr); gap:clamp(36px,7vw,100px); align-items:end; margin-bottom:48px; }
.fv-services-showcase__head h2 { color:#fff; font-size:clamp(3.1rem,5.7vw,6.1rem); line-height:.92; letter-spacing:-.05em; }
.fv-services-showcase__head > p { color:#bcc1c4; font-size:1rem; line-height:1.8; }
.fv-services-list { display:grid; gap:20px; }
.fv-service-feature { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr); gap:0; min-height:520px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:30px; background:#171a1c; box-shadow:0 28px 80px rgba(0,0,0,.18); }
.fv-service-feature--reverse .fv-service-feature__media { order:2; }
.fv-service-feature--reverse .fv-service-feature__content { order:1; }
.fv-service-feature__media { position:relative; min-height:520px; overflow:hidden; }
.fv-service-feature__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)); pointer-events:none; }
.fv-service-feature__media img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--fv-ease); }
.fv-service-feature:hover .fv-service-feature__media img { transform:scale(1.025); }
.fv-service-feature__number { position:absolute; z-index:2; top:22px; left:22px; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:rgba(10,12,13,.70); border:1px solid rgba(255,255,255,.15); backdrop-filter:blur(10px); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.fv-service-feature__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(38px,5vw,72px); }
.fv-service-feature__content h3 { color:#fff; font-size:clamp(2.4rem,4vw,4.7rem); line-height:.94; letter-spacing:-.045em; }
.fv-service-feature__content > p:not(.fv-kicker) { margin-top:20px; color:#bfc4c6; line-height:1.78; }
.fv-service-feature__content ul { display:grid; gap:0; margin:28px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.10); }
.fv-service-feature__content li { position:relative; padding:12px 0 12px 20px; border-bottom:1px solid rgba(255,255,255,.10); color:#e2e5e6; font-size:.9rem; }
.fv-service-feature__content li::before { content:""; position:absolute; left:1px; top:22px; width:6px; height:6px; border-radius:50%; background:#c7926d; }
.fv-service-feature__content > a { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:28px; color:#fff; font-size:.8rem; font-weight:800; text-decoration:none; }
.fv-service-feature__content > a span { color:#cf9a74; }

.fv-services-onsite { padding:clamp(78px,7vw,112px) 0 0; background:#ffffff !important; }
.fv-services-onsite__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:clamp(48px,7vw,108px); align-items:center; }
.fv-services-onsite__visual { position:relative; }
.fv-services-onsite__visual img { width:100%; aspect-ratio:1/1.03; object-fit:cover; border-radius:30px; box-shadow:0 28px 80px rgba(20,22,24,.12); }
.fv-services-onsite__floating { position:absolute; right:24px; bottom:24px; max-width:calc(100% - 48px); padding:17px 19px; border-radius:17px; background:#111315; color:#fff; box-shadow:0 22px 70px rgba(0,0,0,.22); }
.fv-services-onsite__floating span { display:block; color:#ca966f; font-size:.6rem; font-weight:800; letter-spacing:.15em; }
.fv-services-onsite__floating strong { display:block; margin-top:6px; font-family:var(--fv-font-display); font-size:1.05rem; line-height:1.14; }
.fv-services-onsite__content h2 { max-width:720px; font-size:clamp(3rem,5.3vw,5.65rem); line-height:.94; letter-spacing:-.05em; }
.fv-services-onsite__content > p:not(.fv-kicker) { max-width:640px; margin-top:20px; color:#5d6469; font-size:.98rem; line-height:1.78; }
.fv-services-onsite__quickfacts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:30px; border-top:1px solid rgba(20,24,28,.11); border-bottom:1px solid rgba(20,24,28,.11); }
.fv-services-onsite__quickfacts > div { padding:18px 20px 18px 0; border-right:1px solid rgba(20,24,28,.10); }
.fv-services-onsite__quickfacts > div:not(:first-child) { padding-left:20px; }
.fv-services-onsite__quickfacts > div:last-child { border-right:0; }
.fv-services-onsite__quickfacts span,.fv-services-onsite__quickfacts strong,.fv-services-onsite__quickfacts small { display:block; }
.fv-services-onsite__quickfacts span { color:#a66f48; font-size:.63rem; font-weight:800; letter-spacing:.12em; }
.fv-services-onsite__quickfacts strong { margin-top:10px; font-family:var(--fv-font-display); font-size:1.1rem; line-height:1.04; }
.fv-services-onsite__quickfacts small { margin-top:7px; color:#70767a; font-size:.72rem; line-height:1.45; }
.fv-services-onsite__editorial-flow {
	position:relative;
	z-index:0;
	margin-top:48px;
	padding:56px 0 58px;
	border-top:0;
}
.fv-services-onsite__editorial-flow::before {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	bottom:0;
	left:50%;
	width:100vw;
	transform:translateX(-50%);
	background:#f3eee7;
}
.fv-services-onsite__decision {
	padding:0;
}
.fv-services-onsite__decision-head {
	display:grid;
	grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
	gap:clamp(34px,6vw,94px);
	align-items:end;
}
.fv-services-onsite__decision-head h3 {
	max-width:780px;
	font-size:clamp(2.5rem,4vw,4.25rem);
	line-height:.98;
	letter-spacing:-.048em;
	text-wrap:balance;
}
.fv-services-onsite__decision-head > p {
	max-width:560px;
	color:#5f666b;
	font-size:1rem;
	line-height:1.82;
}
.fv-services-onsite__decision-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
	margin-top:34px;
}
.fv-services-onsite__decision-grid article {
	min-height:214px;
	padding:26px 28px 30px;
	border:1px solid rgba(20,24,28,.09);
	border-radius:24px;
	background:rgba(255,255,255,.72);
	box-shadow:0 14px 34px rgba(18,22,24,.05);
	transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}
.fv-services-onsite__decision-grid article:hover {
	transform:translateY(-3px);
	border-color:rgba(166,111,72,.24);
	box-shadow:0 22px 48px rgba(18,22,24,.08);
}
.fv-services-onsite__decision-grid article:first-child {
	background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(247,241,234,.92) 100%);
	border-color:rgba(166,111,72,.18);
}
.fv-services-onsite__decision-grid span {
	color:#a66f48;
	font-size:.64rem;
	font-weight:800;
	letter-spacing:.12em;
}
.fv-services-onsite__decision-grid h4 {
	margin-top:34px;
	color:#171b1e;
	font-family:var(--fv-font-display);
	font-size:clamp(1.45rem,2vw,2rem);
	line-height:1.02;
	letter-spacing:-.03em;
}
.fv-services-onsite__decision-grid p {
	margin-top:12px;
	color:#626a6f;
	font-size:.92rem;
	line-height:1.72;
}
.fv-services-onsite__cta {
	margin-top:32px;
}


.fv-services-cta { padding:clamp(88px,9vw,132px) 0; background:#111315; color:#fff; }
.fv-services-cta__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(340px,.62fr); gap:clamp(42px,8vw,110px); align-items:end; }
.fv-services-cta .fv-kicker { color:#cf9a74; }
.fv-services-cta h2 { color:#fff; font-size:clamp(3rem,5.5vw,5.8rem); line-height:.94; letter-spacing:-.05em; }
.fv-services-cta__grid > div:last-child p { color:#bdc2c4; line-height:1.8; margin-bottom:28px; }

@media (max-width:1100px) {
	.fv-services-hero__grid,
	.fv-services-intro__grid,
	.fv-services-showcase__head,
	.fv-services-onsite__grid,
	.fv-services-cta__grid { grid-template-columns:1fr; }
	.fv-services-hero__visual { min-height:620px; }
	.fv-services-showcase__head { margin-bottom:36px; }
	.fv-service-feature { grid-template-columns:1fr; }
	.fv-service-feature--reverse .fv-service-feature__media,
	.fv-service-feature--reverse .fv-service-feature__content { order:initial; }
	.fv-service-feature__media { min-height:470px; }
	.fv-services-onsite__visual { max-width:760px; }
	.fv-services-onsite__floating { right:20px; bottom:20px; }
	.fv-services-onsite__decision-head { grid-template-columns:1fr; }
	
	.fv-services-onsite__decision-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:700px) {
	.fv-services-hero { padding-top:42px; }
	.fv-services-hero h1 { font-size:clamp(3.2rem,15vw,5rem); }
	.fv-services-hero__actions { display:grid; align-items:start; }
	.fv-services-hero__visual { min-height:460px; }
	.fv-services-hero__main-image { inset:0 42px 46px 0; border-radius:23px; }
	
	
	.fv-services-intro,
	.fv-services-showcase,
	.fv-services-onsite,
	.fv-services-cta { padding:72px 0; }
	.fv-services-onsite { padding-bottom:0; }
	.fv-services-intro h2,
	.fv-services-showcase__head h2,
	.fv-services-onsite__content h2,
	.fv-services-cta h2 { font-size:clamp(2.8rem,13vw,4.35rem); }
	.fv-service-feature { border-radius:22px; }
	.fv-service-feature__media { min-height:330px; }
	.fv-service-feature__content { padding:30px 24px 34px; }
	.fv-service-feature__content h3 { font-size:clamp(2.3rem,11vw,3.5rem); }
	.fv-services-onsite__floating { position:absolute; right:14px; bottom:14px; left:14px; max-width:none; margin:0; padding:14px 15px; }
	.fv-services-onsite__quickfacts { grid-template-columns:1fr; margin-top:24px; }
	.fv-services-onsite__quickfacts > div,
	.fv-services-onsite__quickfacts > div:not(:first-child) { padding:14px 0; border-right:0; border-bottom:1px solid rgba(20,24,28,.09); }
	.fv-services-onsite__quickfacts > div:last-child { border-bottom:0; }
	.fv-services-onsite__editorial-flow { margin-top:32px; padding:42px 0 44px; }
	
	
	.fv-services-onsite__decision { padding-top:0; }
	.fv-services-onsite__decision-grid { grid-template-columns:1fr; margin-top:22px; }
	.fv-services-onsite__decision-grid article,
	.fv-services-onsite__decision-grid article:not(:first-child) {
		min-height:0;
		padding:22px 22px 24px;
		border:1px solid rgba(20,24,28,.09);
		border-radius:20px;
	}
	.fv-services-onsite__decision-grid article + article {
		margin-top:0;
	}
	.fv-services-onsite__decision-grid h4 { margin-top:14px; }
	
	
	
	
}


/* =========================================================
   v2.5.5 – Vor-Ort-Beratung + digitaler Raumplaner
   ========================================================= */
.fv-services-onsite__digital {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:24px;
	align-items:center;
	margin-top:24px;
	padding-top:22px;
	border-top:1px solid rgba(20,24,28,.10);
}
.fv-services-onsite__digital span {
	display:block;
	color:#a66f48;
	font-size:.62rem;
	font-weight:800;
	letter-spacing:.13em;
	text-transform:uppercase;
}
.fv-services-onsite__digital p {
	max-width:520px;
	margin:7px 0 0;
	color:#626a6f;
	font-size:.88rem;
	line-height:1.65;
}
.fv-services-onsite__digital > a {
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:13px 17px;
	border:1px solid rgba(20,24,28,.12);
	border-radius:999px;
	background:rgba(255,255,255,.58);
	color:#171b1e;
	font-size:.76rem;
	font-weight:800;
	text-decoration:none;
	white-space:nowrap;
	transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.fv-services-onsite__digital > a:hover {
	transform:translateY(-2px);
	border-color:rgba(166,111,72,.35);
	background:#fff;
	color:#171b1e;
}
.fv-services-onsite__digital i {
	color:#a66f48;
	font-style:normal;
}
@media (max-width:700px) {
	.fv-services-onsite__digital {
		grid-template-columns:1fr;
		align-items:start;
	}
	.fv-services-onsite__digital > a {
		justify-self:start;
	}
}


/* =========================================================
   v2.7.8 – Leistungen: regionaler Fachbereich / Local SEO
   ========================================================= */
.fv-services-region {
	padding: clamp(78px, 8vw, 126px) 0;
	background:
		linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)) 0 0 / 100% 100%,
		linear-gradient(135deg, #32403a 0%, var(--fv-forest) 52%, #26312c 100%);
	color: #fff;
}

.fv-services-region__grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(42px, 7vw, 118px);
	align-items: end;
}

.fv-services-region .fv-kicker {
	color: #d3aa82;
}

.fv-services-region h2 {
	max-width: 760px;
	margin: 0;
	color: #f6f3ed;
	font-family: var(--fv-font-display);
	font-size: clamp(2.5rem, 4.1vw, 4.65rem);
	line-height: 1.02;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.fv-services-region__copy {
	max-width: 690px;
	justify-self: end;
}

.fv-services-region__copy p {
	margin: 0;
	color: rgba(246,243,237,.82);
	font-size: clamp(1rem, 1.16vw, 1.12rem);
	line-height: 1.82;
}

.fv-services-region__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(46px, 5vw, 76px);
	border-top: 1px solid rgba(255,255,255,.15);
	border-bottom: 1px solid rgba(255,255,255,.15);
}

.fv-services-region__links article {
	min-height: 190px;
	padding: 30px 30px 34px 0;
}

.fv-services-region__links article + article {
	padding-left: 30px;
	border-left: 1px solid rgba(255,255,255,.15);
}

.fv-services-region__links span {
	display: block;
	margin-bottom: 24px;
	color: #d3aa82;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .16em;
}

.fv-services-region__links strong {
	display: block;
	max-width: 26ch;
	color: #f8f4ee;
	font-family: var(--fv-font-display);
	font-size: clamp(1.3rem, 1.65vw, 1.7rem);
	line-height: 1.17;
	font-weight: 600;
	letter-spacing: -.025em;
}

.fv-services-region__links small {
	display: block;
	max-width: 36ch;
	margin-top: 13px;
	color: rgba(246,243,237,.72);
	font-size: .9rem;
	line-height: 1.65;
}

@media (max-width: 900px) {
	.fv-services-region__grid {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.fv-services-region__copy {
		justify-self: start;
	}

	.fv-services-region__links {
		grid-template-columns: 1fr;
	}

	.fv-services-region__links article,
	.fv-services-region__links article + article {
		min-height: 0;
		padding: 28px 0;
		border-left: 0;
	}

	.fv-services-region__links article + article {
		border-top: 1px solid rgba(255,255,255,.14);
	}
}
