/* =========================================================
   PROJEKTE / REFERENZEN
   ========================================================= */
body.page-template-default.page.page-id .fv-projects-page,
.fv-projects-page { background:#f5f2ec; color:#101315; }
body.fv-project-lightbox-open { overflow:hidden; }

.fv-projects-hero {
	position:relative;
	padding:clamp(40px,6vw,76px) 0 clamp(34px,5vw,56px);
	background:
		radial-gradient(circle at 14% 18%, rgba(199,152,117,.12), transparent 34%),
		linear-gradient(180deg, #fbf8f2 0%, #f2ede5 100%);
	overflow:hidden;
}
.fv-projects-hero::before {
	content:""; position:absolute; inset:auto -8% -120px auto; width:420px; height:420px;
	background:radial-gradient(circle, rgba(18,24,28,.08), transparent 66%); pointer-events:none;
}
.fv-projects-hero__inner {
	display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:clamp(34px,5vw,72px); align-items:center;
}
.fv-projects-hero__copy { max-width:650px; }
.fv-projects-hero__copy h1 {
	margin:0; color:#111418; font-size:clamp(3.5rem,6.4vw,6.4rem); line-height:.9; letter-spacing:-.055em;
}
.fv-projects-hero__lead {
	margin:20px 0 0; color:#52585d; font-size:1.04rem; line-height:1.8; max-width:560px;
}
.fv-projects-hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.fv-projects-hero__actions .fv-button--ghost {
	background:transparent; color:#111315; border:1px solid rgba(17,19,21,.12);
}
.fv-projects-hero__actions .fv-button--ghost:hover { border-color:rgba(17,19,21,.28); background:rgba(255,255,255,.6); }
.fv-projects-hero__visual {
	display:grid; grid-template-columns:minmax(0,1fr) 178px; gap:16px; align-items:stretch;
}
.fv-projects-hero__main,
.fv-projects-hero__stack img {
	overflow:hidden; border-radius:28px; box-shadow:0 28px 80px rgba(20,22,24,.14);
}
.fv-projects-hero__main { min-height:620px; }
.fv-projects-hero__main img { width:100%; height:100%; object-fit:cover; }
.fv-projects-hero__stack { display:grid; gap:16px; }
.fv-projects-hero__stack img { width:100%; height:196px; object-fit:cover; }

.fv-projects-trustbar {
	padding:0 0 clamp(52px,6vw,78px);
	background:#f5f2ec;
}
.fv-projects-trustbar__grid {
	display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:hidden; border-radius:26px;
	border:1px solid rgba(15,18,20,.09); background:#fbfaf6; box-shadow:0 18px 55px rgba(20,22,24,.05);
}
.fv-projects-trustbar__grid > div { padding:28px 28px 26px; min-height:184px; border-right:1px solid rgba(15,18,20,.08); }
.fv-projects-trustbar__grid > div:last-child { border-right:0; }
.fv-projects-trustbar__grid span { display:block; color:#ab734b; font-size:.72rem; font-weight:800; letter-spacing:.14em; }
.fv-projects-trustbar__grid strong { display:block; margin-top:46px; color:#13171a; font-family:var(--fv-font-display); font-size:2rem; line-height:1; }
.fv-projects-trustbar__grid small { display:block; margin-top:14px; color:#636a70; font-size:.93rem; line-height:1.7; }

.fv-projects-featured,
.fv-projects-cta { padding:clamp(86px,9vw,132px) 0; }
.fv-projects-featured { background:#111315; color:#fff; }
.fv-projects-featured .fv-kicker { color:#d2a480; }
.fv-projects-featured__head,
.fv-projects-cta__inner {
	display:grid; grid-template-columns:minmax(0,.9fr) minmax(340px,.66fr); gap:clamp(34px,6vw,86px); align-items:end;
}
.fv-projects-featured__head h2,
.fv-projects-cta h2 {
	margin:0; font-size:clamp(3rem,5.8vw,6rem); line-height:.92; letter-spacing:-.05em;
}
.fv-projects-featured__head p:last-child,
.fv-projects-cta__copy p {
	margin:0; font-size:1rem; line-height:1.82;
}
.fv-projects-featured__head p:last-child { color:#c7cbcd; }

.fv-projects-featured--all {
	padding-bottom:clamp(96px,10vw,150px);
}
.fv-projects-featured__gallery {
	column-count:4;
	column-gap:18px;
	margin-top:44px;
}
.fv-projects-featured__item {
	break-inside:avoid;
	margin:0 0 18px;
}
.fv-projects-featured__media {
	position:relative;
	display:block;
	width:100%;
	padding:0;
	border:1px solid rgba(255,255,255,.08);
	border-radius:22px;
	overflow:hidden;
	background:#191c1e;
	cursor:zoom-in;
	box-shadow:0 20px 54px rgba(0,0,0,.18);
}
.fv-projects-featured__media::after {
	content:"";
	position:absolute;
	inset:52% 0 0;
	background:linear-gradient(180deg,transparent,rgba(8,10,11,.78));
	pointer-events:none;
}
.fv-projects-featured__media img {
	display:block;
	width:100%;
	height:auto;
	transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .45s ease;
}
.fv-projects-featured__item:hover .fv-projects-featured__media img {
	transform:scale(1.025);
	filter:saturate(1.04);
}
.fv-projects-featured__index {
	position:absolute;
	z-index:2;
	top:14px;
	left:14px;
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	border:1px solid rgba(255,255,255,.16);
	border-radius:50%;
	background:rgba(10,12,13,.62);
	backdrop-filter:blur(10px);
	color:#fff;
	font-size:.62rem;
	font-weight:800;
	letter-spacing:.1em;
}
.fv-projects-featured__label {
	position:absolute;
	z-index:2;
	left:16px;
	right:16px;
	bottom:14px;
	color:#fff;
	font-size:.72rem;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}



.fv-projects-cta { background:#f9f7f2; }
.fv-projects-cta__copy p { color:#5e666b; margin-bottom:26px; }

/* Lightbox */
.fv-project-lightbox[hidden] { display:none; }
.fv-project-lightbox { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:28px; }
.fv-project-lightbox__backdrop { position:absolute; inset:0; border:0; background:rgba(5,7,8,.88); backdrop-filter:blur(9px); cursor:zoom-out; }
.fv-project-lightbox__dialog { position:relative; z-index:1; width:min(1180px,94vw); max-height:90vh; display:grid; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; border-radius:24px; background:#111315; box-shadow:0 40px 120px rgba(0,0,0,.48); }
.fv-project-lightbox__dialog img { display:block; width:100%; max-height:82vh; object-fit:contain; background:#0b0c0d; }
.fv-project-lightbox__caption { padding:14px 18px; color:#fff; font-size:.88rem; font-weight:700; }
.fv-project-lightbox__close { position:absolute; z-index:3; top:12px; right:12px; width:44px; height:44px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(11,12,13,.78); color:#fff; font-size:1.7rem; line-height:1; cursor:pointer; }

@media (max-width: 1100px) {
	.fv-projects-hero__inner,
	.fv-projects-featured__head,
	.fv-projects-cta__inner { grid-template-columns:1fr; }
	.fv-projects-hero__visual { grid-template-columns:minmax(0,1fr); }
	.fv-projects-hero__stack { grid-template-columns:repeat(3, minmax(0,1fr)); }
	.fv-projects-hero__stack img { height:190px; }
	.fv-projects-trustbar__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fv-projects-trustbar__grid > div:nth-child(2) { border-right:0; }
	.fv-projects-trustbar__grid > div:nth-child(-n+2) { border-bottom:1px solid rgba(15,18,20,.08); }
	.fv-projects-featured__gallery { column-count:3; }
}

@media (max-width: 700px) {
	.fv-projects-hero { padding-top:30px; }
	.fv-projects-hero__copy h1 { font-size:clamp(3.1rem,15vw,5rem); }
	.fv-projects-hero__actions { display:grid; }
	.fv-projects-hero__main { min-height:420px; }
	.fv-projects-hero__stack { grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
	.fv-projects-hero__stack img { height:92px; border-radius:18px; }
	.fv-projects-trustbar__grid { grid-template-columns:1fr; }
	.fv-projects-trustbar__grid > div { min-height:0; border-right:0; border-bottom:1px solid rgba(15,18,20,.08); }
	.fv-projects-trustbar__grid > div:last-child { border-bottom:0; }
	.fv-projects-featured,
	.fv-projects-cta { padding:72px 0; }
	.fv-projects-featured__head h2,
	.fv-projects-cta h2 { font-size:clamp(2.7rem,13vw,4.4rem); }
	.fv-projects-featured__gallery { column-count:2; column-gap:12px; }
	.fv-projects-featured__item { margin-bottom:12px; }
	.fv-projects-featured__media { border-radius:18px; }
	.fv-project-lightbox { padding:14px; }
	.fv-project-lightbox__dialog { width:100%; border-radius:18px; }
}

@media (max-width:480px) {
	.fv-projects-featured__gallery { column-count:1; }
}


/* =========================================================
   v2.5.0 – Referenzbereich: sichtbare Premium-Überschrift
   ========================================================= */
.fv-projects-featured__head h2 {
	color: #ffffff !important;
	text-shadow: 0 8px 28px rgba(0,0,0,.16);
}


/* =========================================================
   v2.7.0 – Projektseite: Premium-Kundenvorteile
   ========================================================= */
.fv-projects-trustbar__grid > div {
	transition: transform .24s ease, background .24s ease, box-shadow .24s ease;
}

.fv-projects-trustbar__grid > div:hover {
	transform: translateY(-3px);
	background: #fff;
	box-shadow: 0 18px 42px rgba(18,22,24,.055);
}

.fv-projects-trustbar__grid strong {
	letter-spacing: -.025em;
}

.fv-projects-trustbar__grid small {
	max-width: 28ch;
	line-height: 1.68;
}


/* =========================================================
   v2.7.9 – Projekte & Referenzen: SEO + Editorial
   ========================================================= */
.fv-projects-context {
	padding: clamp(78px, 8vw, 118px) 0;
	background: #f5f2ec;
}

.fv-projects-context__grid {
	display: grid;
	grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
	gap: clamp(42px,7vw,112px);
	align-items: start;
}

.fv-projects-context h2 {
	max-width: 720px;
	margin: 0;
	color: #121518;
	font-family: var(--fv-font-display);
	font-size: clamp(2.7rem,4.7vw,5.1rem);
	line-height: .98;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.fv-projects-context__copy {
	max-width: 720px;
	justify-self: end;
}

.fv-projects-context__copy p {
	margin: 0;
	color: #596168;
	font-size: 1rem;
	line-height: 1.82;
}

.fv-projects-context__copy p + p {
	margin-top: 18px;
}

.fv-projects-featured__label {
	text-transform: none;
	letter-spacing: .045em;
	font-size: .74rem;
}




/* =========================================================
   v2.8.4 – Projektseite: kompakter Abschluss statt Redundanz
   ========================================================= */
.fv-projects-cta__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px 24px;
}

.fv-projects-cta__textlink {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #1a1d20;
	font-size: .92rem;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid rgba(26,29,32,.24);
	padding-bottom: 3px;
	transition: color .2s ease, border-color .2s ease;
}

.fv-projects-cta__textlink:hover {
	color: var(--fv-accent-hover);
	border-color: var(--fv-accent-hover);
}


/* =========================================================
   v2.8.6 – Projektkontext: ruhigere Headline
   ========================================================= */
.fv-projects-context h2 {
	max-width: 650px;
	font-size: clamp(2.55rem, 4.25vw, 4.65rem);
	line-height: 1.01;
}


/* =========================================================
   v2.9.1 – Projektkontext: mehr Textpräsenz ohne mehr Inhalt
   ========================================================= */
.fv-projects-context__grid {
	grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
}

.fv-projects-context__copy {
	max-width: 790px;
}

.fv-projects-context__copy p {
	font-size: clamp(1.08rem, 1.28vw, 1.22rem);
	line-height: 1.82;
	letter-spacing: -.005em;
}

.fv-projects-context__copy p + p {
	margin-top: 24px;
}

@media (max-width: 900px) {
	.fv-projects-context__grid {
		grid-template-columns: 1fr;
	}

	.fv-projects-context__copy p {
		font-size: 1.04rem;
	}
}
