/* =========================================================
   FUSSBODEN VINCENZ – ÜBER UNS
   Loaded only on /ueber-uns/
   ========================================================= */

body.page-ueber-uns #main-container,
body.page-ueber-uns .site-main,
body.page-ueber-uns #primary,
body.page-ueber-uns .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.page-ueber-uns [data-page-title],
body.page-ueber-uns .hero-section[data-type="type-1"] { display:none !important; }

.fv-about-page { background: var(--fv-ivory); }

/* hero */
.fv-about-hero {
	position:relative;
	min-height:clamp(660px,78svh,860px);
	margin:0;
	background:#0a0b0c;
	color:#fff;
	overflow:hidden;
	isolation:isolate;
}


.fv-about-hero__inner {
	position:relative;
	min-height:inherit;
	display:flex;
	align-items:center;
	padding-block:92px 112px;
}
.fv-about-hero__content { width:min(670px,52vw); }
.fv-about-hero .fv-kicker { color:#d3a27e; margin-bottom:22px; }
.fv-about-hero h1 {
	font-size:clamp(4rem,7.8vw,8.2rem);
	line-height:.87;
	letter-spacing:-.06em;
	color:#fff;
	max-width:760px;
}
.fv-about-hero__lead {
	max-width:620px;
	margin-top:28px;
	font-size:clamp(1.08rem,1.45vw,1.28rem);
	line-height:1.72;
	color:rgba(255,255,255,.82);
}
.fv-about-hero__actions { display:flex; align-items:center; gap:22px; margin-top:34px; }
.fv-about-hero__link { color:#fff; font-size:.86rem; font-weight:800; text-decoration:none; }
.fv-about-hero__link span { color:var(--fv-accent-light); margin-left:6px; }
.fv-about-hero__facts {
	position:absolute;
	left:32px; right:32px; bottom:24px;
	display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
	max-width:980px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:20px;
	background:rgba(12,14,15,.72);
	backdrop-filter:blur(16px);
	overflow:hidden;
}
.fv-about-hero__facts div { position:relative; padding:18px 22px 19px 56px; border-right:1px solid rgba(255,255,255,.09); }
.fv-about-hero__facts div:last-child { border-right:0; }
.fv-about-hero__facts span { position:absolute; left:20px; top:20px; font-size:.62rem; letter-spacing:.14em; color:var(--fv-accent-light); }
.fv-about-hero__facts strong { display:block; color:#fff; font-family:var(--fv-font-display); font-size:1.08rem; line-height:1.2; }
.fv-about-hero__facts small { display:block; margin-top:4px; color:#aeb3b5; font-size:.66rem; letter-spacing:.09em; text-transform:uppercase; }

/* intro */
.fv-about-intro { padding:clamp(92px,9vw,145px) 0; background:var(--fv-paper); }
.fv-about-intro__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:clamp(54px,8vw,130px); align-items:start; }
.fv-about-intro h2 { max-width:700px; font-size:clamp(3rem,5.2vw,5.8rem); line-height:.95; }
.fv-about-intro__copy { max-width:650px; padding-top:38px; }
.fv-about-intro__copy p { color:var(--fv-text-soft); font-size:1.05rem; line-height:1.86; }
.fv-about-intro__copy p + p { margin-top:24px; }

/* values */


/* craft */
.fv-about-craft { padding:clamp(90px,9vw,142px) 0; background:#eceae5; }
.fv-about-craft__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(50px,7vw,110px); align-items:center; }
.fv-about-craft__visual { position:relative; min-height:620px; border-radius:34px; overflow:hidden; box-shadow:0 30px 80px rgba(15,18,20,.14); }
.fv-about-craft__visual img { width:100%; height:100%; min-height:620px; object-fit:cover; }
.fv-about-craft__stamp { position:absolute; right:22px; bottom:22px; padding:20px 22px; border-radius:18px; background:#101214; color:#fff; }
.fv-about-craft__stamp span { display:block; font-size:.6rem; letter-spacing:.15em; color:var(--fv-accent-light); }
.fv-about-craft__stamp strong { display:block; margin-top:6px; font-family:var(--fv-font-display); font-size:1.2rem; }
.fv-about-craft__content h2 { max-width:720px; font-size:clamp(2.9rem,4.8vw,5.2rem); line-height:.96; }
.fv-about-craft__content > p:not(.fv-kicker) { margin-top:24px; max-width:650px; color:var(--fv-text-soft); line-height:1.8; }
.fv-about-craft__list { list-style:none; padding:0; margin:30px 0 0; border-top:1px solid rgba(23,32,44,.11); }
.fv-about-craft__list li { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid rgba(23,32,44,.11); color:var(--fv-text); font-size:.94rem; }
.fv-about-craft__list span { color:var(--fv-accent); font-size:.68rem; font-weight:800; letter-spacing:.13em; }
.fv-about-text-link { display:inline-flex; gap:8px; margin-top:26px; font-size:.82rem; font-weight:800; text-decoration:none; }
.fv-about-text-link span { color:var(--fv-accent); }

/* process */
.fv-about-process { padding:clamp(92px,9vw,142px) 0; background:var(--fv-paper); }
.fv-about-process__head { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.55fr); gap:50px; align-items:end; margin-bottom:44px; }
.fv-about-process__head h2 { font-size:clamp(3rem,5vw,5.5rem); line-height:.96; }
.fv-about-process__head > p { color:var(--fv-text-soft); line-height:1.75; }
.fv-about-process__steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid rgba(23,32,44,.14); }
.fv-about-process__steps article { position:relative; padding:28px 22px 20px 0; border-right:1px solid rgba(23,32,44,.10); }
.fv-about-process__steps article:not(:first-child) { padding-left:22px; }
.fv-about-process__steps article:last-child { border-right:0; }
.fv-about-process__steps span { color:var(--fv-accent); font-size:.68rem; font-weight:800; letter-spacing:.15em; }
.fv-about-process__steps h3 { margin-top:36px; font-size:1.55rem; }
.fv-about-process__steps p { margin-top:10px; color:var(--fv-text-soft); font-size:.9rem; line-height:1.65; }

/* region */
.fv-about-region {
	position:relative;
	min-height:720px;
	background:#121617;
	color:#fff;
	overflow:hidden;
	isolation:isolate;
}


.fv-about-region .fv-kicker { color:#d2a37e; }
.fv-about-region h2 {
	color:#fff;
	font-size:clamp(4.1rem,7vw,7.8rem);
	line-height:.88;
	text-shadow:0 10px 30px rgba(0,0,0,.18);
}

.fv-about-region__tags { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.fv-about-region__tags span {
	padding:11px 16px;
	border:1px solid rgba(255,255,255,.16);
	border-radius:999px;
	background:rgba(255,255,255,.08);
	backdrop-filter:blur(10px);
	color:#fff;
	font-size:.78rem;
	font-weight:700;
}

/* detail */


/* cta */


@media (max-width:1100px) {
	.fv-about-hero__content { width:min(650px,64vw); }
	.fv-about-hero__facts { left:24px; right:24px; }
	
	
	
	.fv-about-process__steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.fv-about-process__steps article:nth-child(3) { border-right:0; }
	.fv-about-process__steps article:nth-child(-n/**/+3) { border-bottom:1px solid rgba(23,32,44,.10); }
}

@media (max-width:800px) {
	.fv-about-hero { min-height:760px; }
	
	
	.fv-about-hero__inner { align-items:flex-end; padding-block:150px 160px; }
	.fv-about-hero__content { width:100%; max-width:620px; }
	.fv-about-hero h1 { font-size:clamp(3.5rem,15vw,5.8rem); }
	.fv-about-hero__lead { font-size:1.02rem; line-height:1.68; }
	.fv-about-hero__facts { left:16px; right:16px; bottom:16px; grid-template-columns:1fr; max-width:none; }
	.fv-about-hero__facts div { padding:12px 14px 12px 46px; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
	.fv-about-hero__facts div:last-child { border-bottom:0; }
	.fv-about-hero__facts span { left:15px; top:14px; }
	.fv-about-hero__facts small { display:none; }
	.fv-about-intro__grid, .fv-about-craft__grid, .fv-about-process__head{ grid-template-columns:1fr; }
	.fv-about-intro__copy { padding-top:0; }
	.fv-about-craft__visual { min-height:460px; }
	.fv-about-craft__visual img { min-height:460px; }
	.fv-about-process__steps { grid-template-columns:1fr; }
	.fv-about-process__steps article,
	.fv-about-process__steps article:not(:first-child) { padding:20px 0; border-right:0; border-bottom:1px solid rgba(23,32,44,.10); }
	.fv-about-process__steps h3 { margin-top:12px; }
	.fv-about-region{ min-height:620px; }
	
}

@media (max-width:600px) {
	.fv-about-hero__actions { align-items:stretch; flex-direction:column; gap:12px; }
	.fv-about-hero__link { padding:8px 2px; }
	
	
	
	
	.fv-about-craft__visual { min-height:390px; border-radius:24px; }
	.fv-about-craft__visual img { min-height:390px; }
	.fv-about-region h2 { font-size:clamp(3.2rem,14vw,5rem); }
	
	
}


/* =========================================================
   ÜBER UNS – STORY / TIMELINE / MANIFEST
   ========================================================= */

.fv-about-story {
	padding: clamp(90px,9vw,144px) 0;
	background: #0d0f10;
	color: #fff;
}

.fv-about-story__head {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(320px,.55fr);
	gap: 52px;
	align-items: end;
	margin-bottom: 58px;
}

.fv-about-story .fv-kicker {
	color: #c99a77;
}

.fv-about-story__head h2 {
	color: #fff;
	font-size: clamp(3rem,5.3vw,5.8rem);
	line-height: .94;
}

.fv-about-story__head > p {
	margin: 0;
	color: #adb3b6;
	line-height: 1.76;
}

.fv-about-story__timeline {
	border-top: 1px solid rgba(255,255,255,.14);
}

.fv-about-story__timeline article {
	display: grid;
	grid-template-columns: 160px 44px minmax(0,1fr);
	gap: 28px;
	padding: 42px 0;
	border-bottom: 1px solid rgba(255,255,255,.11);
	align-items: start;
}

.fv-about-story__year {
	font-family: var(--fv-font-display);
	font-size: clamp(2.2rem,4vw,4rem);
	line-height: 1;
	color: #fff;
}

.fv-about-story__line {
	position: relative;
	min-height: 112px;
}

.fv-about-story__line::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 7px;
	bottom: -49px;
	width: 1px;
	background: rgba(255,255,255,.18);
}

.fv-about-story__line::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 7px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--fv-accent);
	transform: translateX(-50%);
	box-shadow: 0 0 0 6px rgba(154,106,71,.14);
}

.fv-about-story__timeline article:last-child .fv-about-story__line::before {
	bottom: 6px;
}

.fv-about-story__copy {
	max-width: 760px;
}

.fv-about-story__copy h3 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.7rem,2.7vw,2.6rem);
	line-height: 1.05;
}

.fv-about-story__copy > p:not(.fv-kicker) {
	margin-top: 14px;
	color: #aeb4b7;
	line-height: 1.72;
}


@media (max-width: 800px) {
	.fv-about-story__head {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.fv-about-story__timeline article {
		grid-template-columns: 92px 28px minmax(0,1fr);
		gap: 15px;
		padding: 30px 0;
	}
	.fv-about-story__line {
		min-height: 96px;
	}
	.fv-about-story__year {
		font-size: 2rem;
	}
}

@media (max-width: 520px) {
	.fv-about-story__timeline article {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.fv-about-story__line {
		display: none;
	}
	.fv-about-story__year {
		color: #d0a17d;
	}
	
}

/* =========================================================
   V2.0.1 – SPLIT HERO: TEXT LINKS, PORTRAIT RECHTS
   ========================================================= */
.fv-about-hero--split {
	min-height: 0;
	background:
		radial-gradient(circle at 10% 8%, rgba(154,106,71,.08), transparent 27%),
		linear-gradient(180deg,#f7f4ee 0%,#f1ede6 100%);
	color: var(--fv-text);
	overflow: hidden;
}

.fv-about-hero--split .fv-about-hero__inner {
	display: grid;
	grid-template-columns: minmax(0,.88fr) minmax(460px,1.12fr);
	gap: clamp(48px,7vw,110px);
	align-items: center;
	min-height: 0;
	padding-block: clamp(64px,7vw,96px);
}

.fv-about-hero--split .fv-about-hero__content {
	width: auto;
	max-width: 640px;
}

.fv-about-hero--split .fv-kicker {
	color: var(--fv-accent);
	margin-bottom: 20px;
}

.fv-about-hero--split h1 {
	max-width: 680px;
	color: var(--fv-text);
	font-size: clamp(4rem,6.6vw,7.2rem);
	line-height: .9;
	letter-spacing: -.06em;
}

.fv-about-hero--split .fv-about-hero__lead {
	max-width: 590px;
	margin-top: 28px;
	color: var(--fv-text-soft);
	font-size: clamp(1.04rem,1.2vw,1.18rem);
	line-height: 1.74;
}

.fv-about-hero--split .fv-about-hero__link {
	color: var(--fv-text);
}

.fv-about-hero--split .fv-about-hero__link span {
	color: var(--fv-accent);
}

.fv-about-hero--split .fv-about-hero__facts {
	position: static;
	max-width: none;
	margin-top: 34px;
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	border: 1px solid rgba(23,32,44,.10);
	border-radius: 20px;
	background: rgba(255,255,255,.62);
	backdrop-filter: blur(12px);
	overflow: hidden;
}

.fv-about-hero--split .fv-about-hero__facts div {
	position: relative;
	padding: 18px 16px 18px 18px;
	border-right: 1px solid rgba(23,32,44,.09);
}

.fv-about-hero--split .fv-about-hero__facts div:last-child {
	border-right: 0;
}

.fv-about-hero--split .fv-about-hero__facts span {
	position: static;
	display: block;
	margin-bottom: 8px;
	color: var(--fv-accent);
	font-size: .61rem;
	font-weight: 800;
	letter-spacing: .14em;
}

.fv-about-hero--split .fv-about-hero__facts strong {
	display: block;
	color: var(--fv-text);
	font-family: var(--fv-font-display);
	font-size: 1.05rem;
	line-height: 1.15;
}

.fv-about-hero--split .fv-about-hero__facts small {
	display: block;
	margin-top: 5px;
	color: #7b7f82;
	font-size: .61rem;
	line-height: 1.45;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.fv-about-hero__visual {
	position: relative;
	margin: 0;
	min-height: 610px;
	border-radius: 34px;
	overflow: hidden;
	background: #d9d2c8;
	box-shadow: 0 34px 90px rgba(20,24,27,.16);
}

.fv-about-hero__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg,transparent 56%,rgba(8,10,11,.42) 100%);
}

.fv-about-hero__visual img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 610px;
	object-fit: cover;
	object-position: 55% 28%;
	transition: transform 1.2s var(--fv-ease);
}

.fv-about-hero--split.is-ready .fv-about-hero__visual img {
	transform: scale(1.015);
}

.fv-about-hero__visual figcaption {
	position: absolute;
	z-index: 2;
	left: 22px;
	bottom: 22px;
	padding: 15px 17px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 16px;
	background: rgba(11,12,13,.78);
	backdrop-filter: blur(12px);
	color: #fff;
}

.fv-about-hero__visual figcaption span,
.fv-about-hero__visual figcaption strong {
	display: block;
}

.fv-about-hero__visual figcaption span {
	font-size: .61rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #d1a17d;
}

.fv-about-hero__visual figcaption strong {
	margin-top: 5px;
	font-family: var(--fv-font-display);
	font-size: 1.08rem;
}

@media (max-width: 1000px) {
	.fv-about-hero--split .fv-about-hero__inner {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
	}
	.fv-about-hero--split h1 {
		font-size: clamp(3.4rem,7.5vw,5.6rem);
	}
	.fv-about-hero__visual,
	.fv-about-hero__visual img {
		min-height: 540px;
	}
	.fv-about-hero--split .fv-about-hero__facts {
		grid-template-columns: 1fr;
	}
	.fv-about-hero--split .fv-about-hero__facts div {
		border-right: 0;
		border-bottom: 1px solid rgba(23,32,44,.09);
	}
	.fv-about-hero--split .fv-about-hero__facts div:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 760px) {
	.fv-about-hero--split .fv-about-hero__inner {
		grid-template-columns: 1fr;
		padding-block: 48px 56px;
	}
	.fv-about-hero--split .fv-about-hero__content {
		max-width: none;
	}
	.fv-about-hero--split h1 {
		font-size: clamp(3.4rem,15vw,5.2rem);
	}
	.fv-about-hero--split .fv-about-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.fv-about-hero__visual,
	.fv-about-hero__visual img {
		min-height: 470px;
	}
	.fv-about-hero__visual {
		border-radius: 26px;
	}
}


/* v2.0.2 – Vor-Ort-Beratung als Differenzierungsmerkmal */


/* =========================================================
   v2.0.3 – ÜBER UNS: FACHLICHKEIT, EXPERTISE, KUNDENBEDÜRFNISSE
   ========================================================= */

.fv-about-story__head--compact {
	display: block;
	max-width: 900px;
	margin-bottom: 52px;
}

.fv-about-story__head--compact h2 {
	max-width: 900px;
}

.fv-about-story__timeline article {
	grid-template-columns: 190px 38px minmax(0, 1fr);
	gap: 28px;
}

.fv-about-story__year {
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
}

.fv-about-story__copy {
	max-width: 900px;
	min-width: 0;
}

.fv-about-story__copy h3 {
	max-width: 850px;
	font-size: clamp(1.65rem, 2.35vw, 2.45rem);
	line-height: 1.08;
	text-wrap: balance;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.fv-about-story__copy > p:not(.fv-kicker) {
	max-width: 860px;
	font-size: .98rem;
	line-height: 1.72;
}


@media (max-width: 1000px) {
	.fv-about-story__timeline article {
		grid-template-columns: 118px 30px minmax(0, 1fr);
		gap: 18px;
	}
	
	
	
}

@media (max-width: 620px) {
	.fv-about-story__timeline article {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.fv-about-story__line {
		display: none;
	}
	.fv-about-story__year {
		color: #d0a17d;
		font-size: 2rem;
	}
	.fv-about-story__copy h3 {
		font-size: 1.7rem;
	}
	
	
}


/* =========================================================
   v2.3.0 – Raumplaner im Vor-Ort-Beratungsbereich
   ========================================================= */


/* =========================================================
   v2.3.4 – Über-uns-Hero: Person & Betrieb
   ========================================================= */
.fv-about-hero--split .fv-kicker {
	color: #A96F46;
	margin-bottom: 20px;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}


/* =========================================================
   v2.3.7 – Regionalbereich: Bild oben, Text auf schwarzem Panel
   ========================================================= */
.fv-about-region--split {
	min-height: 0 !important;
	background: #08090a;
	color: #fff;
	overflow: hidden;
	isolation: auto;
}

.fv-about-region--split .fv-about-region__image-only {
	position: relative;
	width: 100%;
	height: clamp(500px, 58vw, 760px);
	overflow: hidden;
	background: #17191a;
}

.fv-about-region--split .fv-about-region__image-only img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: none;
	transform: none;
}

.fv-about-region--split .fv-about-region__panel {
	background:
		radial-gradient(circle at 72% 0%, rgba(169,111,70,.08), transparent 28%),
		linear-gradient(180deg,#08090a 0%,#050607 100%);
}

.fv-about-region--split .fv-about-region__panel-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding-block: clamp(74px, 7vw, 112px);
	text-align: center;
}

.fv-about-region--split h2 {
	margin: 0;
	max-width: 1180px;
	color: #fff;
	font-family: var(--fv-font-display);
	font-size: clamp(3.2rem, 5.6vw, 6.3rem);
	line-height: .96;
	letter-spacing: -.05em;
	text-wrap: balance;
}

.fv-about-region__rule {
	display: block;
	width: 92px;
	height: 1px;
	margin: 30px 0 26px;
	background: #A96F46;
}

.fv-about-region--split .fv-about-region__panel-inner > p {
	max-width: 820px;
	margin: 0;
	color: #d2d6d8;
	font-size: 1.04rem;
	line-height: 1.8;
}

.fv-about-region--split .fv-about-region__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 36px;
}

.fv-about-region--split .fv-about-region__tags span {
	padding: 11px 22px;
	border: 1px solid rgba(169,111,70,.68);
	border-radius: 999px;
	background: rgba(169,111,70,.04);
	color: #f2eee8;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .02em;
}

@media (max-width: 800px) {
	.fv-about-region--split .fv-about-region__image-only {
		height: clamp(360px, 72vw, 520px);
	}

	.fv-about-region--split .fv-about-region__panel-inner {
		min-height: 0;
		padding-block: 64px 70px;
	}

	.fv-about-region--split h2 {
		font-size: clamp(2.8rem, 12vw, 4.5rem);
	}

	.fv-about-region--split .fv-about-region__panel-inner > p {
		max-width: 640px;
		font-size: .98rem;
		line-height: 1.72;
	}
}

@media (max-width: 520px) {
	.fv-about-region--split .fv-about-region__image-only {
		height: 320px;
	}

	.fv-about-region--split .fv-about-region__panel-inner {
		align-items: flex-start;
		padding-block: 54px 60px;
		text-align: left;
	}

	.fv-about-region--split h2 {
		font-size: clamp(2.55rem, 12vw, 3.7rem);
	}

	.fv-about-region__rule {
		margin: 24px 0 22px;
	}

	.fv-about-region--split .fv-about-region__tags {
		justify-content: flex-start;
		gap: 9px;
		margin-top: 28px;
	}

	.fv-about-region--split .fv-about-region__tags span {
		padding: 9px 14px;
		font-size: .72rem;
	}
}
