/* Generated from the inline styles in fenster-tueren.html. */
.primary-fill {
				fill: var(--primary-color);
			}
			.primary-stroke {
				stroke: var(--primary-color);
			}

			/*
			 Фикс карточек на этой странице: правила после index/modals/sanierung,
			 селекторы #portfolio / #coverage сильнее общих классов.
			*/
			/* Hero: без вспышки фото при обновлении (до загрузки sanierung.css) */
			body.page-fenster-tueren #hero .hero-layout {
				display: flex;
				align-items: stretch;
				min-height: clamp(360px, 56vh, 520px);
			}
			body.page-fenster-tueren #hero .hero-media {
				flex: 0 0 50%;
				max-width: 50%;
				overflow: hidden;
				min-height: clamp(360px, 56vh, 520px);
			}
			body.page-fenster-tueren #hero .hero-media-slideshow--video {
				position: relative;
				width: 100%;
				min-height: clamp(360px, 56vh, 520px);
				background: #f7f2ea;
			}
			body.page-fenster-tueren #hero .hero-media-video {
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				opacity: 1;
			}
			@media (max-width: 1080px) {
				body.page-fenster-tueren #hero .hero-media-slideshow--video {
					position: relative;
					width: 100%;
					min-height: clamp(240px, 52vw, 380px);
					aspect-ratio: 16 / 10;
					overflow: hidden;
				}
			}
			@media (max-width: 760px) {
				body.page-fenster-tueren #hero .hero-media-video {
					display: none !important;
				}
			}

			:root {
				--card-media-aspect: 4 / 3;
				--card-media-brightness: 0.97;
				--card-media-brightness-hover: 1.09;
				--card-media-saturate: 1.03;
				--card-media-overlay: rgba(0, 0, 0, 0.11);
				--card-media-overlay-hover: rgba(0, 0, 0, 0.04);
				--card-hover-lift: -6px;
				--card-hover-shadow: 0 20px 44px rgba(31, 31, 31, 0.18);
				--card-hover-border: rgba(202, 156, 81, 0.48);
			}

			#coverage .property-owners-card {
				box-shadow: none;
				transition: transform 0.25s ease, box-shadow 0.25s ease,
					border-color 0.25s ease;
			}
			#coverage .property-owners-card:hover {
				transform: translateY(-6px);
				box-shadow: none;
				border-color: rgba(202, 156, 81, 0.48);
			}
			#coverage .property-owners-image {
				position: relative;
				width: 100%;
				aspect-ratio: 4 / 3;
				min-height: 0;
				overflow: hidden;
				background: #ece7df;
				border-bottom: 1px solid rgba(202, 156, 81, 0.12);
			}
			#coverage .property-owners-image::after {
				content: '';
				position: absolute;
				inset: 0;
				z-index: 1;
				background: rgba(0, 0, 0, 0.11);
				pointer-events: none;
				transition: background 0.25s ease;
			}
			#coverage .property-owners-card:hover .property-owners-image::after {
				background: rgba(0, 0, 0, 0.04);
			}
			#coverage .property-owners-image img {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
				filter: brightness(0.97) saturate(1.03);
				transition: opacity 1s ease-in-out, filter 0.35s ease;
			}
			#coverage .property-owners-img-current {
				z-index: 2;
				opacity: 1;
			}
			#coverage .property-owners-img-current.is-fading-out {
				opacity: 0;
			}
			#coverage .property-owners-img-next {
				z-index: 3;
				opacity: 0;
			}
			#coverage .property-owners-img-next.active {
				opacity: 1;
			}
			#coverage .property-owners-card:hover .property-owners-image img {
				filter: brightness(1.09) saturate(1.05);
			}

			/* CTA "Bauzinsrechner" innerhalb der Ergänzungskredit-Karte */
			.funding-cta {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: 8px;
				width: 100%;
				margin-top: 18px;
				padding: 13px 18px;
				border: none;
				border-radius: 12px;
				font-family: inherit;
				font-size: 0.95rem;
				font-weight: 700;
				color: #fff;
				cursor: pointer;
				background: linear-gradient(135deg, #ca9c51 0%, #a4763a 100%);
				box-shadow: 0 6px 16px rgba(202, 156, 81, 0.32);
				transition: transform 0.18s ease, box-shadow 0.18s ease,
					filter 0.18s ease;
			}
			.funding-cta:hover {
				transform: translateY(-1px);
				box-shadow: 0 10px 22px rgba(202, 156, 81, 0.42);
				filter: brightness(1.04);
			}
			.funding-cta:focus-visible {
				outline: 2px solid #fff;
				outline-offset: 2px;
			}
			.funding-cta svg {
				width: 17px;
				height: 17px;
			}
			@media (max-width: 768px) {
				.bs-hero__grid { position: relative; display: block; overflow: hidden; }
				.bs-hero__art { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; max-width: none; }
				.bs-hero__content { position: relative; z-index: 1; width: 100%; max-width: 100%; background: rgba(8, 8, 8, .38); }
				.bs-hero h1, .bs-hero h1 span, .bs-hero__lead, .bs-hero__eyebrow { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,.42); }
				.bs-hero__slide.is-active { display: block; opacity: 1; }
			}

/* =====================================================================
			   Bad Sanierung — bespoke, unique layout (brand tokens reused)
			   Scoped under body.page-fenster-tueren with the .bs- prefix so it
			   never collides with index.css / sanierung.css.
			   ===================================================================== */
			.page-fenster-tueren {
				--bs-gold: #ca9c51;
				--bs-gold-deep: #a4763a;
				--bs-ink: #1f1f1f;
				--bs-ink-soft: #5e554a;
				--bs-cream: #f6f0e4;
				--bs-cream-2: #efe7d7;
				--bs-line: rgba(202, 156, 81, 0.22);
				--bs-radius: 18px;
				--bs-shadow: 0 24px 60px rgba(31, 31, 31, 0.12);
				background: #fff;
			}
			.page-fenster-tueren main {
				font-family: 'Satoshi', -apple-system, BlinkMacSystemFont, 'Segoe UI',
					Roboto, sans-serif;
				color: var(--bs-ink);
			}
			.bs-wrap {
				width: min(var(--page-max-width, 1610px), calc(100vw - (var(--page-gutter, 150px) * 2)));
				margin: 0 auto;
			}
			.bs-section {
				padding: clamp(56px, 8vw, 112px) 0;
			}
			.bs-section--cream {
				background: linear-gradient(180deg, #f8f2e7 0%, #f2ead9 100%);
			}
			/* Einheitlicher Sektions-Kicker im Marken-Stil (.section-subtitle) */
			.bs-eyebrow {
				display: inline-flex;
				align-items: center;
				font-size: 16px;
				font-weight: 700;
				letter-spacing: 1.2px;
				text-transform: uppercase;
				color: var(--primary-color, #ca9c51);
			}
			.bs-eyebrow::before {
				display: none;
			}
			/* Einheitliche Sektions-Überschrift im Marken-Stil (.section-heading h2) */
			.bs-h2 {
				font-size: clamp(28px, 3.1vw, 44px);
				line-height: 1.18;
				font-weight: 700;
				color: #242424;
				margin: 10px 0 0;
			}
			.bs-lead {
				margin: 16px 0 0;
				max-width: 620px;
				font-size: 1.06rem;
				line-height: 1.65;
				color: var(--bs-ink-soft);
			}
			.bs-head-center {
				text-align: center;
			}
			/* Kompakte Abstaende fuer den eingebetteten Bewertungsbereich. */
			section#reviews {
				padding-top: clamp(32px, 4vw, 56px);
				padding-bottom: clamp(32px, 4vw, 56px);
			}
			section#reviews .bs-head-center {
				margin-bottom: clamp(24px, 3vw, 40px);
			}
			@media (max-width: 768px) {
				section#reviews {
					padding-top: 28px;
					padding-bottom: 28px;
				}
				section#reviews .bs-head-center {
					margin-bottom: 22px;
				}
			}
			/* Mehr Abstand zwischen Ueberschrift und Karten in Garantien */
			section#garantien .bs-head-center { margin-bottom: clamp(36px, 4.5vw, 64px); }
			/* Leistungen als dunkle Expertise-Sektion (Kopf hell, 3 Spalten) */
			body.page-fenster-tueren main > section#expertise .bs-h2 { color: #fffdf9; }
			body.page-fenster-tueren main > section#expertise .bs-lead { color: #cdc0aa; }
			body.page-fenster-tueren main > section#expertise .bs-head-center { margin-bottom: clamp(36px, 4.5vw, 60px); }
			body.page-fenster-tueren main > section#expertise .expertise-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
			.bs-head-center .bs-lead {
				margin-left: auto;
				margin-right: auto;
			}
			/* Einheitliche Buttons im Marken-Stil (.hero-btn / .form-submit-btn):
			   goldene Pille mit Glow, wie im Header/auf der Sanierung-Seite. */
			.bs-btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: 10px;
				min-height: 60px;
				padding: 18px 38px;
				border-radius: 999px;
				border: 1px solid transparent;
				font-weight: 600;
				font-size: 16px;
				letter-spacing: 0.01em;
				line-height: 1;
				text-decoration: none;
				cursor: pointer;
				box-sizing: border-box;
				transition: transform 0.18s ease, box-shadow 0.18s ease,
					background 0.18s ease, border-color 0.18s ease;
			}
			.bs-btn--gold {
				color: #fff;
				background: linear-gradient(180deg, #cca057 0%, #b98940 100%);
				border-color: rgba(202, 156, 81, 0.4);
				box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14),
					0 0 0 1px rgba(255, 255, 255, 0.08) inset,
					0 0 32px rgba(202, 156, 81, 0.38),
					0 0 64px rgba(237, 201, 143, 0.18);
			}
			.bs-btn--gold:hover {
				transform: translateY(-2px);
				background: linear-gradient(180deg, #d6aa63 0%, #c39147 100%);
				border-color: rgba(202, 156, 81, 0.7);
				box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18),
					0 0 0 1px rgba(255, 255, 255, 0.1) inset,
					0 0 40px rgba(212, 166, 90, 0.48),
					0 0 80px rgba(237, 201, 143, 0.26);
			}
			.bs-btn--ghost {
				color: var(--bs-ink);
				background: transparent;
				border: 1.5px solid rgba(31, 31, 31, 0.2);
				box-shadow: none;
			}
			.bs-btn--ghost:hover {
				border-color: var(--bs-gold);
				color: var(--bs-gold-deep);
			}
			.bs-btn--light {
				color: var(--bs-ink);
				background: #fff;
				border-color: rgba(31, 31, 31, 0.08);
			}
			.bs-btn--light:hover {
				transform: translateY(-2px);
				box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
			}

			/* ---------- HERO ---------- */
			.bs-hero {
				position: relative;
				overflow: hidden;
				height: auto;
				min-height: clamp(620px, 68vh, 760px);
				padding: 0;
				box-sizing: border-box;
				background: radial-gradient(
						1000px 560px at 82% -10%,
						rgba(202, 156, 81, 0.2),
						transparent 62%
					),
					linear-gradient(160deg, #fdfaf4 0%, #f2e9d7 100%);
				color: #1f1f1f;
			}
			.bs-hero .bs-wrap {
				width: 100%;
			}
			.bs-hero__grid {
				display: flex;
				align-items: stretch;
				min-height: clamp(620px, 68vh, 760px);
				gap: 0;
			}
			.bs-hero__content {
				flex: 0 0 50%;
				max-width: 50%;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				justify-content: center;
				padding: 138px clamp(28px, 4vw, 64px) 56px
					max(var(--page-gutter, 150px), calc((100vw - var(--page-max-width, 1610px)) / 2));
			}
			.bs-hero__eyebrow {
				color: var(--primary-color, #ca9c51);
			}
			.bs-hero__reviews {
				width: fit-content;
				padding: 9px 14px;
				display: inline-flex;
				align-items: center;
				gap: 9px;
				color: #1f1f1f;
				background: #fff;
				border: 1px solid rgba(202, 156, 81, 0.35);
				border-radius: 999px;
				box-shadow: 0 6px 18px rgba(31,31,31,.07);
				font-size: .9rem;
				line-height: 1.2;
			}
			.bs-hero__reviews span {
				color: #ca9c51;
				font-size: 1rem;
				letter-spacing: .04em;
			}
			.bs-hero h1 {
				font-size: clamp(2rem, 2.65vw, 3.15rem);
				line-height: 1.06;
				font-weight: 800;
				letter-spacing: -0.02em;
				margin: 18px 0 0;
				color: #1f1f1f;
			}
			.bs-hero h1 span {
				color: #a4763a;
			}
			.bs-hero__lead {
				margin: 20px 0 0;
				max-width: 540px;
				font-size: 1.05rem;
				font-weight: 500;
				line-height: 1.6;
				color: #5e554a;
			}
			.bs-hero__chips {
				list-style: none;
				margin: 26px 0 0;
				padding: 0;
				display: grid;
				grid-template-columns: minmax(0, 1fr);
				gap: 10px;
				max-width: 560px;
			}
			.bs-hero__chips li {
				display: grid;
				grid-template-columns: 24px minmax(0, 1fr);
				align-items: start;
				column-gap: 10px;
				row-gap: 2px;
				padding: 3px 0;
				border-radius: 0;
				font-size: 0.92rem;
				font-weight: 500;
				color: #1f1f1f;
				background: transparent;
				border: 0;
				box-shadow: none;
			}
			.bs-hero__chips li strong {
				font-weight: 500;
			}
			.bs-hero__chips li small {
				grid-column: 2;
				display: block;
				margin-top: 0;
				color: #786f65;
				font-size: .76rem;
				font-weight: 500;
				line-height: 1.3;
			}
			.bs-hero__chips svg {
				width: 22px;
				height: 22px;
				padding: 4px;
				box-sizing: border-box;
				color: #fff;
				background: #ca9c51;
				border-radius: 50%;
				flex: none;
			}
			.bs-hero__cta {
				margin: 30px 0 0;
				display: flex;
				flex-wrap: wrap;
				gap: 14px;
			}
			.bs-hero__badges {
				margin: 34px 0 0;
				padding-top: 26px;
				border-top: 1px solid rgba(31, 31, 31, 0.1);
				display: flex;
				align-items: center;
				gap: 14px;
				flex-wrap: wrap;
			}
			.bs-hero__badges img {
				height: 40px;
				width: auto;
				opacity: 1;
				background: #fff;
				border: 1px solid rgba(31, 31, 31, 0.14);
				border-radius: 12px;
				padding: 11px 16px;
				box-sizing: content-box;
			}
			@media (max-width: 620px) {
				.bs-hero__reviews { align-items: flex-start; border-radius: 14px; font-size: .8rem; }
				.bs-hero__chips { grid-template-columns: 1fr; }
				.bs-hero__badges { gap: 8px; }
				.bs-hero__badges img { height: 30px; padding: 8px 10px; }
			}
			/* Decorative CSS "tiled bath" panel — kein Foto nötig */
			.bs-hero__art {
				position: relative;
				flex: 0 0 50%;
				max-width: 50%;
				align-self: stretch;
				overflow: hidden;
				background: #efe7d7;
			}
			.bs-hero__slides {
				position: absolute;
				inset: 0;
			}
			.bs-hero__slide {
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
				opacity: 0;
				transform: none;
				transition: opacity 1.1s ease-in-out;
				will-change: opacity;
			}
			.bs-hero__slide.is-active {
				opacity: 1;
				transform: none;
			}
			/* Dezenter Rahmen-Schatten innen für Tiefe */
			.bs-hero__art::after {
				content: '';
				position: absolute;
				inset: 0;
				pointer-events: none;
				box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
			}
			.bs-hero__seal {
				position: absolute;
				z-index: 2;
				left: 22px;
				bottom: 22px;
				right: 22px;
				display: flex;
				align-items: center;
				gap: 16px;
				padding: 18px 20px;
				border-radius: 16px;
				background: rgba(20, 17, 14, 0.86);
				backdrop-filter: blur(6px);
				border: 1px solid rgba(231, 200, 135, 0.3);
			}
			.bs-hero__seal-badge {
				flex: none;
				width: 54px;
				height: 54px;
				border-radius: 50%;
				display: grid;
				place-items: center;
				background: linear-gradient(135deg, #ca9c51, #a4763a);
				color: #fff;
			}
			.bs-hero__seal-badge svg {
				width: 26px;
				height: 26px;
			}
			.bs-hero__seal strong {
				display: block;
				color: #fff;
				font-size: 1.02rem;
			}
			.bs-hero__seal span {
				display: block;
				color: #cdc3b2;
				font-size: 0.86rem;
				margin-top: 2px;
			}

			/* ---------- STATS ---------- */
			.bs-stats {
				background: var(--bs-ink);
			}
			.bs-stats__grid {
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 1px;
				background: rgba(255, 255, 255, 0.08);
				border-radius: var(--bs-radius);
				overflow: hidden;
			}
			.bs-stats__cell {
				background: var(--bs-ink);
				padding: 34px 24px;
				text-align: center;
			}
			.bs-stats__num {
				font-size: clamp(1.8rem, 3.4vw, 2.6rem);
				font-weight: 800;
				color: #e7c887;
				line-height: 1;
			}
			.bs-stats__label {
				margin-top: 10px;
				color: #b9b1a4;
				font-size: 0.95rem;
			}

			/* ---------- BAD-TYPEN ---------- */
			.bs-types__grid {
				margin-top: 46px;
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 20px;
			}
			.bs-type {
				position: relative;
				border-radius: var(--bs-radius);
				padding: 30px 26px 28px;
				background: #fff;
				border: 1px solid var(--bs-line);
				box-shadow: 0 10px 26px rgba(31, 31, 31, 0.06);
				transition: transform 0.25s ease, box-shadow 0.25s ease,
					border-color 0.25s ease;
			}
			.bs-type:hover {
				transform: translateY(-6px);
				box-shadow: var(--bs-shadow);
				border-color: rgba(202, 156, 81, 0.5);
			}
			.bs-type__icon {
				width: 54px;
				height: 54px;
				border-radius: 14px;
				display: grid;
				place-items: center;
				background: var(--bs-cream);
				color: var(--bs-gold-deep);
				margin-bottom: 18px;
			}
			.bs-type__icon svg {
				width: 28px;
				height: 28px;
				fill: none;
				stroke: currentColor;
				stroke-width: 1.8;
				stroke-linecap: round;
				stroke-linejoin: round;
			}
			.bs-type h3 {
				font-size: 1.16rem;
				font-weight: 800;
				margin: 0 0 8px;
			}
			.bs-type p {
				margin: 0;
				font-size: 0.96rem;
				line-height: 1.55;
				color: var(--bs-ink-soft);
			}

			/* ---------- LEISTUNGEN ---------- */
			.bs-services__grid {
				margin-top: 46px;
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 22px;
			}
			.bs-service {
				display: flex;
				gap: 16px;
				padding: 26px;
				border-radius: var(--bs-radius);
				background: #fff;
				border: 1px solid rgba(31, 31, 31, 0.07);
				transition: border-color 0.25s ease, transform 0.25s ease;
			}
			.bs-service:hover {
				transform: translateY(-4px);
				border-color: rgba(202, 156, 81, 0.5);
			}
			.bs-service__ic {
				flex: none;
				width: 46px;
				height: 46px;
				border-radius: 12px;
				display: grid;
				place-items: center;
				background: linear-gradient(135deg, #ca9c51, #a4763a);
				color: #fff;
			}
			.bs-service__ic svg {
				width: 24px;
				height: 24px;
				fill: none;
				stroke: currentColor;
				stroke-width: 1.9;
				stroke-linecap: round;
				stroke-linejoin: round;
			}
			.bs-service h3 {
				font-size: 1.05rem;
				font-weight: 800;
				margin: 2px 0 6px;
			}
			.bs-service p {
				margin: 0;
				font-size: 0.93rem;
				line-height: 1.5;
				color: var(--bs-ink-soft);
			}

			/* ---------- PAKETE ---------- */
			.bs-pkgs {
				margin-top: 48px;
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 22px;
				align-items: stretch;
			}
			.bs-pkg {
				display: flex;
				flex-direction: column;
				position: relative;
				background: linear-gradient(160deg, #bda374 0%, #90784f 100%);
				color: #fff;
				border: 1px solid rgba(255, 255, 255, 0.22);
				border-radius: var(--bs-radius);
				padding: 32px 28px;
				box-shadow: 0 10px 24px rgba(120, 102, 66, 0.16);
				transition: transform 0.25s ease, box-shadow 0.25s ease;
			}
			.bs-pkg:hover {
				transform: translateY(-6px);
				box-shadow: 0 26px 52px rgba(164, 118, 58, 0.42);
			}
			/* „Beliebteste Wahl": gleicher Farbton, nur stärker hervorgehoben */
			.bs-pkg--featured {
				background: linear-gradient(160deg, #d8a54e 0%, #a5722c 100%);
				transform: translateY(-12px) scale(1.02);
				border-color: rgba(255, 255, 255, 0.5);
				box-shadow: 0 34px 64px rgba(164, 118, 58, 0.48),
					0 0 0 1px rgba(255, 255, 255, 0.22);
				z-index: 1;
			}
			.bs-pkg--featured:hover {
				transform: translateY(-16px) scale(1.02);
				box-shadow: 0 42px 76px rgba(164, 118, 58, 0.55),
					0 0 0 1px rgba(255, 255, 255, 0.3);
			}
			.bs-pkg__tag {
				align-self: flex-start;
				font-size: 0.72rem;
				font-weight: 800;
				letter-spacing: 0.12em;
				text-transform: uppercase;
				padding: 6px 12px;
				border-radius: 999px;
				background: #fff;
				color: var(--bs-gold-deep);
			}
			.bs-pkg h3 {
				font-size: 1.35rem;
				font-weight: 800;
				margin: 18px 0 4px;
				color: #fff;
			}
			.bs-pkg__price {
				font-size: 2rem;
				font-weight: 800;
				color: #fff;
				margin: 10px 0 2px;
			}
			.bs-pkg__price small {
				display: block;
				font-size: 0.82rem;
				font-weight: 600;
				color: rgba(255, 255, 255, 0.85);
				margin-top: 2px;
			}
			.bs-pkg ul {
				list-style: none;
				margin: 20px 0 26px;
				padding: 20px 0 0;
				border-top: 1px solid rgba(255, 255, 255, 0.3);
				display: grid;
				gap: 11px;
			}
			.bs-pkg li {
				display: flex;
				gap: 10px;
				font-size: 0.95rem;
				line-height: 1.45;
				color: #fff;
			}
			.bs-pkg li svg {
				flex: none;
				width: 18px;
				height: 18px;
				margin-top: 1px;
				color: #fff;
			}
			.bs-pkg .bs-btn {
				margin-top: auto;
				width: 100%;
				background: #fff !important;
				color: var(--bs-ink) !important;
				border: none !important;
				box-shadow: 0 10px 22px rgba(31, 31, 31, 0.18) !important;
			}
			.bs-pkg .bs-btn:hover {
				transform: translateY(-2px);
				filter: none;
			}
			.bs-pkgs__note {
				margin: 22px auto 0;
				text-align: center;
				font-size: 0.86rem;
				color: var(--bs-ink-soft);
				max-width: 640px;
			}

			/* ---------- TIMELINE ---------- */
			.bs-timeline {
				margin-top: 50px;
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 22px;
				counter-reset: bs-step;
			}
			.bs-step {
				position: relative;
				padding: 30px 24px 26px;
				border-radius: var(--bs-radius);
				background: #fff;
				border: 1px solid rgba(31, 31, 31, 0.07);
			}
			.bs-step::before {
				counter-increment: bs-step;
				content: counter(bs-step);
				position: absolute;
				top: -18px;
				left: 24px;
				width: 42px;
				height: 42px;
				border-radius: 12px;
				display: grid;
				place-items: center;
				font-weight: 800;
				color: #fff;
				background: linear-gradient(135deg, #ca9c51, #a4763a);
				box-shadow: 0 8px 18px rgba(202, 156, 81, 0.4);
			}
			.bs-step__day {
				margin-top: 14px;
				font-size: 0.76rem;
				font-weight: 800;
				letter-spacing: 0.1em;
				text-transform: uppercase;
				color: var(--bs-gold-deep);
			}
			.bs-step h3 {
				font-size: 1.08rem;
				font-weight: 800;
				margin: 6px 0 6px;
			}
			.bs-step p {
				margin: 0;
				font-size: 0.92rem;
				line-height: 1.5;
				color: var(--bs-ink-soft);
			}

			/* ---------- FÖRDERUNG ---------- */
			.bs-fund {
				margin-top: 46px;
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 22px;
			}
			.bs-fund__card {
				background: #fff;
				border: 1px solid var(--bs-line);
				border-radius: var(--bs-radius);
				padding: 30px 26px;
			}
			.bs-fund__card--hi {
				background: var(--bs-cream);
				border-color: rgba(202, 156, 81, 0.45);
			}
			.bs-fund__badge {
				font-size: 0.74rem;
				font-weight: 800;
				letter-spacing: 0.08em;
				color: var(--bs-gold-deep);
				text-transform: uppercase;
			}
			.bs-fund__amt {
				font-size: 1.9rem;
				font-weight: 800;
				margin: 12px 0 4px;
			}
			.bs-fund__amt span {
				display: block;
				font-size: 0.85rem;
				font-weight: 600;
				color: var(--bs-ink-soft);
			}
			.bs-fund__card ul {
				list-style: none;
				margin: 16px 0 0;
				padding: 0;
				display: grid;
				gap: 9px;
			}
			.bs-fund__card li {
				position: relative;
				padding-left: 24px;
				font-size: 0.93rem;
				line-height: 1.45;
				color: var(--bs-ink-soft);
			}
			.bs-fund__card li::before {
				content: '';
				position: absolute;
				left: 4px;
				top: 8px;
				width: 8px;
				height: 8px;
				border-radius: 50%;
				background: var(--bs-gold);
			}
			.bs-fund__hint {
				margin-top: 28px;
				display: flex;
				gap: 14px;
				align-items: flex-start;
				padding: 20px 24px;
				border-radius: 14px;
				background: rgba(202, 156, 81, 0.1);
				border: 1px solid var(--bs-line);
				font-size: 0.94rem;
				line-height: 1.55;
				color: var(--bs-ink-soft);
			}
			.bs-fund__hint strong {
				color: var(--bs-ink);
			}

			/* ---------- GARANTIEN BAND ---------- */
			.bs-guarantees {
				background: linear-gradient(135deg, #201c18 0%, #14110e 100%);
				color: #f4ede1;
			}
			.bs-guarantees__grid {
				margin-top: 42px;
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 22px;
			}
			.bs-guar {
				padding: 26px;
				border-radius: var(--bs-radius);
				background: rgba(255, 255, 255, 0.04);
				border: 1px solid rgba(231, 200, 135, 0.16);
			}
			.bs-guar__ic {
				width: 46px;
				height: 46px;
				border-radius: 12px;
				display: grid;
				place-items: center;
				color: #e7c887;
				background: rgba(231, 200, 135, 0.12);
				margin-bottom: 14px;
			}
			.bs-guar__ic svg {
				width: 24px;
				height: 24px;
				fill: none;
				stroke: currentColor;
				stroke-width: 1.9;
				stroke-linecap: round;
				stroke-linejoin: round;
			}
			.bs-guar h3 {
				font-size: 1.08rem;
				font-weight: 800;
				margin: 0 0 6px;
				color: #fff;
			}
			.bs-guar p {
				margin: 0;
				font-size: 0.93rem;
				line-height: 1.55;
				color: #c6bcac;
			}
			.bs-guarantees .bs-eyebrow {
				color: #e7c887;
			}
			.bs-guarantees .bs-eyebrow::before {
				background: #e7c887;
			}

			/* ---------- FAQ ---------- */
			.bs-faq {
				margin-top: 42px;
				max-width: 860px;
				margin-left: auto;
				margin-right: auto;
				display: grid;
				gap: 14px;
			}
			.bs-faq details {
				background: #fff;
				border: 1px solid var(--bs-line);
				border-radius: 14px;
				padding: 4px 24px;
				transition: border-color 0.2s ease, box-shadow 0.2s ease;
			}
			.bs-faq details[open] {
				border-color: rgba(202, 156, 81, 0.5);
				box-shadow: 0 12px 28px rgba(31, 31, 31, 0.07);
			}
			.bs-faq summary {
				list-style: none;
				cursor: pointer;
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 16px;
				padding: 20px 0;
				font-size: 1.05rem;
				font-weight: 700;
			}
			.bs-faq summary::-webkit-details-marker {
				display: none;
			}
			.bs-faq summary::after {
				content: '+';
				flex: none;
				font-size: 1.6rem;
				font-weight: 400;
				line-height: 1;
				color: var(--bs-gold-deep);
				transition: transform 0.2s ease;
			}
			.bs-faq details[open] summary::after {
				transform: rotate(45deg);
			}
			.bs-faq p {
				margin: 0;
				padding: 0 0 22px;
				font-size: 0.98rem;
				line-height: 1.65;
				color: var(--bs-ink-soft);
			}

			/* ---------- FINANZIERUNG ---------- */
			.bs-finance__mount {
				margin-top: 12px;
			}

			/* ---------- ÜBER UNS / TEAM ---------- */
			.bs-team__row {
				margin-top: 42px;
				display: flex;
				flex-wrap: wrap;
				gap: 18px;
				justify-content: center;
			}
			.bs-team__card {
				width: 210px;
				background: #fff;
				border: 1px solid rgba(31, 31, 31, 0.07);
				border-radius: 16px;
				overflow: hidden;
				text-align: center;
			}
			.bs-team__photo {
				aspect-ratio: 1 / 1;
				overflow: hidden;
				background: var(--bs-cream);
			}
			.bs-team__photo img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
			.bs-team__card h3 {
				font-size: 1.02rem;
				font-weight: 800;
				margin: 16px 0 2px;
			}
			.bs-team__card span {
				display: block;
				font-size: 0.86rem;
				color: var(--bs-gold-deep);
				padding-bottom: 18px;
			}

			/* ---------- FINAL CTA ---------- */
			.bs-cta {
				background: linear-gradient(135deg, #ca9c51 0%, #a4763a 100%);
				color: #fff;
				text-align: center;
			}
			.bs-cta h2 {
				font-size: clamp(1.8rem, 3.6vw, 2.7rem);
				font-weight: 800;
				margin: 0;
				letter-spacing: -0.01em;
				color: #fff;
			}
			.bs-cta p {
				margin: 16px auto 0;
				max-width: 560px;
				font-size: 1.08rem;
				line-height: 1.6;
				color: rgba(255, 255, 255, 0.92);
			}
			.bs-cta__actions {
				margin-top: 30px;
				display: flex;
				gap: 14px;
				justify-content: center;
				flex-wrap: wrap;
			}
			.bs-cta__meta {
				margin-top: 22px;
				font-size: 0.9rem;
				color: rgba(255, 255, 255, 0.85);
			}

			/* ---------- RESPONSIVE ---------- */
			@media (max-width: 1023px) {
				.bs-hero {
					height: auto;
					min-height: 0;
				}
				.bs-hero__grid {
					flex-direction: column;
					min-height: 0;
				}
				.bs-hero__content {
					flex: none;
					max-width: 100%;
					padding: 42px 20px 34px;
					align-items: center;
					text-align: center;
				}
				.bs-hero__art {
					flex: none;
					order: -1;
					max-width: 100%;
					width: 100%;
					height: clamp(250px, 58vw, 420px);
				}
				.bs-hero__lead { margin-left: auto; margin-right: auto; }
				.bs-hero__chips { width: min(100%, 560px); text-align: left; }
				.bs-hero__reviews { order: 1; }
				.bs-hero h1 { order: 2; }
				.bs-hero__lead { order: 3; }
				.bs-hero__cta { order: 4; width: min(100%, 560px); justify-content: center; }
				.bs-hero__cta .bs-btn { width: 100%; justify-content: center; }
				.bs-hero__chips { order: 5; }
				.bs-hero__badges { display: none; }
				.bs-stats__grid,
				.bs-types__grid,
				.bs-timeline {
					grid-template-columns: repeat(2, 1fr);
				}
				.bs-services__grid,
				.bs-pkgs,
				.bs-fund,
				.bs-guarantees__grid {
					grid-template-columns: 1fr 1fr;
				}
				.bs-pkg--featured {
					transform: none;
				}
			}
			@media (max-width: 680px) {
				.bs-stats__grid,
				.bs-types__grid,
				.bs-services__grid,
				.bs-pkgs,
				.bs-timeline,
				.bs-fund,
				.bs-guarantees__grid {
					grid-template-columns: 1fr;
				}
				.bs-hero__cta .bs-btn,
				.bs-cta__actions .bs-btn {
					width: 100%;
				}
			}

			/* --- Override index.css alternating "main > section" !important backgrounds.
			   Höhere Spezifität (body.page-fenster-tueren main > section.klasse) + !important. --- */
			body.page-fenster-tueren main > section.bs-hero {
				background: radial-gradient(
						1000px 560px at 82% -10%,
						rgba(202, 156, 81, 0.2),
						transparent 62%
					),
					linear-gradient(160deg, #fdfaf4 0%, #f2e9d7 100%) !important;
			}
			body.page-fenster-tueren main > section.bs-metrics {
				background: #f2e7d4 !important;
				border-top: 1px solid rgba(202, 156, 81, 0.3);
				border-bottom: 1px solid rgba(202, 156, 81, 0.3);
				padding: 34px 0;
			}
			body.page-fenster-tueren .hero-bottom-metrics .hero-trust-strip {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 0;
				max-width: 1180px;
				padding: 0 24px;
			}
			body.page-fenster-tueren .hero-bottom-metrics .hero-trust-item {
				position: relative;
				padding: 2px 34px;
				display: flex;
				flex-direction: column;
				align-items: center;
			}
			body.page-fenster-tueren .hero-bottom-metrics .hero-trust-item + .hero-trust-item::before {
				content: '';
				position: absolute;
				top: 8px;
				bottom: 8px;
				left: 0;
				width: 1px;
				background: rgba(83,67,47,.2);
			}
			body.page-fenster-tueren .hero-trust-icon {
				width: 30px;
				height: 30px;
				margin-bottom: 9px;
				color: #ca9c51;
				filter: invert(67%) sepia(48%) saturate(667%) hue-rotate(359deg) brightness(92%) contrast(86%);
			}
			body.page-fenster-tueren .hero-bottom-metrics .hero-trust-item strong {
				color: #ca9c51;
				background: linear-gradient(135deg, #e2bd79 0%, #ca9c51 52%, #9f7134 100%);
				-webkit-background-clip: text;
				background-clip: text;
				-webkit-text-fill-color: transparent;
				font-size: clamp(1.65rem, 2.5vw, 2.35rem);
				font-weight: 800;
				letter-spacing: -.02em;
			}
			body.page-fenster-tueren .hero-bottom-metrics .hero-trust-item strong span {
				display: inline;
				margin: 0;
				color: inherit;
				font: inherit;
			}
			body.page-fenster-tueren .hero-bottom-metrics .hero-trust-item > span:last-child {
				margin-top: 8px;
				color: #403930;
				font-size: .78rem;
				font-weight: 700;
				letter-spacing: .12em;
				line-height: 1.4;
				text-transform: uppercase;
			}
			@media (max-width: 680px) {
				body.page-fenster-tueren .hero-bottom-metrics .hero-trust-strip {
					grid-template-columns: 1fr;
					gap: 20px;
				}
				body.page-fenster-tueren .hero-bottom-metrics .hero-trust-item + .hero-trust-item::before {
					top: -10px;
					bottom: auto;
					left: 18%;
					right: 18%;
					width: auto;
					height: 1px;
				}
			}
			body.page-fenster-tueren main > section.bs-section--cream {
				background: linear-gradient(180deg, #f8f2e7 0%, #f2ead9 100%) !important;
			}
			/* Garantien-Sektion im Sanierung-Stil: warmer Grund behalten (nicht die
			   Alternierung), damit die hellen Karten wie auf der Sanierung-Seite wirken. */
			body.page-fenster-tueren main > section.expertise-section {
				background:
					radial-gradient(
						ellipse 70% 65% at 100% 0%,
						rgba(255, 228, 185, 0.45) 0%,
						rgba(255, 224, 160, 0.15) 50%,
						transparent 82%
					),
					radial-gradient(
						ellipse 68% 62% at 0% 100%,
						rgba(220, 180, 120, 0.4) 0%,
						rgba(202, 156, 81, 0.12) 48%,
						transparent 80%
					),
					linear-gradient(165deg, #4a3727 0%, #2a2018 55%, #1b1511 100%) !important;
			}
			/* Überschrift zentriert wie in der Expertise-Sektion der Sanierung-Seite */
			body.page-fenster-tueren main > section.expertise-section .section-heading {
				text-align: center;
			}
			body.page-fenster-tueren
				main
				> section.expertise-section
				.section-heading
				span {
				justify-content: center;
			}
			body.page-fenster-tueren
				main
				> section.expertise-section
				.section-heading
				h2 {
				max-width: none;
				margin-left: auto;
				margin-right: auto;
			}
			/* Kicker-Strich entfernen, damit er zu den übrigen Sektionen passt */
			body.page-fenster-tueren
				main
				> section.expertise-section
				.section-heading
				span::before {
				display: none;
			}
			/* Team-Sektion 1:1 wie auf der Sanierung-Seite dimensionieren – die
			   größeren Schriftgrade dort sind an .page-sanierung-innenausbau gebunden. */
			body.page-fenster-tueren
				.team-showcase-section--row
				.team-showcase__description-part {
				font-size: clamp(1rem, 0.38vw + 0.9rem, 1.18rem);
				line-height: 1.6;
			}
			body.page-fenster-tueren
				.team-showcase-section--row
				.team-showcase__title {
				margin: 0 0 clamp(12px, 1.4vw, 18px);
				font-size: clamp(1.5rem, 1.75vw + 0.85rem, 2rem);
				line-height: 1.2;
			}
			body.page-fenster-tueren
				.team-showcase-section--row
				.team-showcase__tagline {
				font-size: clamp(1.02rem, 0.35vw + 0.92rem, 1.14rem);
				line-height: 1.55;
			}
			body.page-fenster-tueren
				.team-showcase-section--row
				.team-showcase-card__name {
				font-size: clamp(11px, 1.15vw, 15px);
				letter-spacing: 0.07em;
			}
			body.page-fenster-tueren
				.team-showcase-section--row
				.team-showcase-card__role {
				font-size: clamp(12px, 1.2vw, 14px);
			}
			/* Kontakt-Layout + Karte 1:1 wie auf der Sanierung-Seite (dort an
			   .page-sanierung-innenausbau gebunden, daher hier nachgezogen). */
			body.page-fenster-tueren #contact.contact-section--with-map .contact-container {
				display: flex !important;
				flex-direction: column !important;
				align-items: stretch !important;
				gap: 40px !important;
			}
			body.page-fenster-tueren #contact .contact-layout {
				display: grid !important;
				grid-template-columns: minmax(0, 1fr) minmax(320px, 500px) !important;
				gap: clamp(24px, 3vw, 36px) !important;
				width: 100% !important;
				align-items: start !important;
				padding-right: clamp(20px, 2.5vw, 140px) !important;
				padding-left: 0 !important;
				box-sizing: border-box !important;
			}
			body.page-fenster-tueren #contact .contact-content {
				display: flex !important;
				flex-direction: column !important;
				align-items: stretch !important;
			}
			body.page-fenster-tueren #contact .contact-map,
			body.page-fenster-tueren #contact .contact-map-d3 {
				display: flex !important;
				flex-direction: column !important;
				align-items: flex-start !important;
				width: 100% !important;
				margin: 0 !important;
			}
			body.page-fenster-tueren #contact .contact-aside {
				width: 100% !important;
				max-width: 500px !important;
			}
			body.page-fenster-tueren #contact .germany-map-d3-box {
				margin: 0 !important;
				max-width: 100% !important;
			}
			body.page-fenster-tueren #contact .germany-map-d3 {
				width: 100% !important;
				height: auto !important;
				display: block !important;
			}
			@media (max-width: 1200px) {
				body.page-fenster-tueren #contact .contact-layout {
					grid-template-columns: 1fr !important;
					padding-right: 0 !important;
				}
				body.page-fenster-tueren #contact .contact-aside {
					max-width: 100% !important;
				}
			}
			body.page-fenster-tueren main > section.bs-cta {
				background: linear-gradient(135deg, #ca9c51 0%, #a4763a 100%) !important;
			}
			body.page-fenster-tueren main > section#ablauf .process-map {
				background: #faf8f4;
				border: 1px solid rgba(202, 156, 81, 0.22);
				border-radius: 24px;
				box-shadow:
					inset 0 0 0 1px rgba(255, 255, 255, 0.65),
					0 16px 48px rgba(42, 34, 28, 0.08);
				overflow: hidden;
			}
			body.page-fenster-tueren main > section:is(.bs-metrics, #coverage, #portfolio, #pakete, #ablauf, #foerderung, #garantien, #team, #reviews, #contact, .bs-section--cream):not(.expertise-section):not(.bs-cta):nth-of-type(even) {
				background: #ffffff !important;
				background-image: none !important;
			}
			body.page-fenster-tueren main > section:is(.bs-metrics, #coverage, #portfolio, #pakete, #ablauf, #foerderung, #garantien, #team, #reviews, #contact, .bs-section--cream):not(.bs-metrics):not(.expertise-section):not(.bs-cta):nth-of-type(odd) {
				background: #f2e7d4 !important;
				background-image: none !important;
			}
			body.page-fenster-tueren main > section.bs-metrics.hero-bottom-metrics {
				background: #f2e7d4 !important;
				background-image: none !important;
			}
			/* Feste Reihenfolge nach dem Hero, unabhängig von eingefügten Sektionen. */
			body.page-fenster-tueren main > section.fenster-pain {
				background: #ffffff !important;
				background-image: none !important;
			}
			body.page-fenster-tueren main > section#coverage {
				background: #ffffff !important;
				background-image: none !important;
			}
			body.page-fenster-tueren main > section#transformation.fenster-transformation {
				background: #f2e7d4 !important;
				background-image: none !important;
			}
			body.page-fenster-tueren main > section.bs-metrics .hero-trust-item > span:last-child {
				display: block !important;
				opacity: 1 !important;
				visibility: visible !important;
				color: rgba(255,255,255,.82) !important;
				-webkit-text-fill-color: rgba(255,255,255,.82) !important;
			}
			.fenster-pain {
				padding: clamp(42px, 5vh, 68px) 0;
				background: #f7f2ea;
				scroll-margin-top: 121px;
			}
			.fenster-pain__eyebrow {
				margin: 0 0 14px;
				color: #ca8f2e;
				font-size: clamp(.78rem, .9vw, .96rem);
				font-weight: 800;
				letter-spacing: .13em;
				line-height: 1.3;
				text-align: center;
				text-transform: uppercase;
			}
			.fenster-pain__title {
				max-width: 1120px;
				margin: 0 auto clamp(48px, 5vw, 72px);
				color: #1f1f1f;
				font-size: clamp(2rem, 3vw, 3.35rem);
				line-height: 1.08;
				letter-spacing: -.035em;
				text-align: center;
				text-wrap: balance;
			}
			.fenster-pain__grid {
				display: grid;
				grid-template-columns: auto minmax(0, 1fr);
				gap: clamp(36px, 4vw, 64px);
				margin-top: clamp(56px, 5vw, 72px) !important;
				align-items: stretch;
				height: clamp(440px, calc(100vh - 250px), 620px);
			}
			.fenster-pain__media {
				min-height: 0;
				width: auto;
				height: 100%;
				max-width: 100%;
				justify-self: start;
				overflow: hidden;
				border-radius: 22px;
				box-shadow: 0 24px 60px rgba(31,31,31,.16);
				aspect-ratio: 4 / 5;
			}
			.fenster-pain__media img {
				width: 100%;
				height: 100%;
				display: block;
				object-fit: cover;
			}
			.fenster-pain__list {
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				gap: 0;
			}
			.fenster-pain__item {
				padding: clamp(16px, 2.2vh, 25px) 0;
				border-bottom: 1px solid rgba(31,31,31,.14);
			}
			.fenster-pain__item:first-child { border-top: 1px solid rgba(31,31,31,.14); }
			.fenster-pain__icon {
				position: relative;
				width: 38px;
				height: 38px;
				margin-bottom: 11px;
				display: grid;
				place-items: center;
				color: #fff;
				background: #a9343b;
				box-shadow: 0 6px 18px rgba(169, 52, 59, .34), 0 0 0 4px rgba(169, 52, 59, .09);
				border-radius: 50%;
				line-height: 1;
				animation: caution-beat 5s ease-in-out infinite;
			}
			.fenster-pain__icon::after {
				content: '';
				position: absolute;
				inset: -2px;
				border: 2px solid rgba(200, 68, 75, .82);
				border-radius: inherit;
				pointer-events: none;
				animation: caution-ring 5s ease-out infinite;
			}
			.fenster-pain__item:nth-child(2) .fenster-pain__icon,
			.fenster-pain__item:nth-child(2) .fenster-pain__icon::after { animation-delay: .32s; }
			.fenster-pain__item:nth-child(3) .fenster-pain__icon,
			.fenster-pain__item:nth-child(3) .fenster-pain__icon::after { animation-delay: .64s; }
			@keyframes caution-beat {
				0%, 45%, 50%, 95%, 100% { transform: scale(1); box-shadow: 0 6px 18px rgba(169, 52, 59, .34), 0 0 0 4px rgba(169, 52, 59, .09); }
				18%, 68% { transform: scale(1.08); box-shadow: 0 7px 24px rgba(190, 58, 66, .5), 0 0 0 6px rgba(190, 58, 66, .12); }
				36%, 86% { transform: scale(.99); }
			}
			@keyframes caution-ring {
				0% { opacity: .72; transform: scale(.92); }
				45% { opacity: 0; transform: scale(1.58); }
				49% { opacity: 0; transform: scale(.92); }
				50% { opacity: .72; transform: scale(.92); }
				95%, 100% { opacity: 0; transform: scale(1.58); }
			}
			@media (prefers-reduced-motion: reduce) {
				.fenster-pain__icon,
				.fenster-pain__icon::after { animation: none; }
			}
			.fenster-pain__icon img {
				width: 19px;
				height: 19px;
				display: block;
				filter: brightness(0) invert(1);
			}
			.fenster-pain__item h3 {
				margin: 0 0 7px;
				color: #1f1f1f;
				font-size: clamp(1.12rem, 1.45vw, 1.5rem);
				line-height: 1.2;
			}
			.fenster-pain__item p {
				margin: 0;
				max-width: 920px;
				color: #51483f;
				font-size: clamp(1rem, .45vw + .92rem, 1.12rem);
				font-weight: 450;
				line-height: 1.68;
				text-wrap: pretty;
			}

			/* Transformation: replaces the former portfolio section. */
			.fenster-transform {
				padding: clamp(64px, 8vw, 112px) 0;
				color: #fff;
				background: #202020;
				overflow: hidden;
			}
			.fenster-transform__head {
				max-width: 760px;
				margin: 0 auto clamp(34px, 5vw, 54px);
				text-align: center;
			}
			.fenster-transform__eyebrow {
				margin: 0 0 13px;
				color: #d5a551;
				font-size: .78rem;
				font-weight: 700;
				letter-spacing: .16em;
				text-transform: uppercase;
			}
			.fenster-transform__title {
				margin: 0;
				font-size: clamp(2.25rem, 5vw, 4.8rem);
				line-height: .98;
				letter-spacing: -.045em;
			}
			.fenster-transform__lead {
				margin: 18px 0 0;
				color: rgba(255,255,255,.68);
				font-size: clamp(1rem, 1.4vw, 1.25rem);
			}
			.fenster-transform__viewport { overflow: hidden; }
			.fenster-transform__track {
				display: flex;
				transition: transform .55s cubic-bezier(.22,.75,.22,1);
			}
			.fenster-transform__slide {
				min-width: 100%;
				padding: 0 2px;
			}
			.compare-card {
				position: relative;
				width: min(100%, 1080px);
				margin: 0 auto;
				aspect-ratio: 16 / 9;
				overflow: hidden;
				border: 1px solid rgba(255,255,255,.18);
				border-radius: 24px;
				background: rgba(255,255,255,.08);
				box-shadow: 0 28px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12);
				isolation: isolate;
			}
			.compare-card__image,
			.compare-card__before {
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
			}
			.compare-card__image { display: block; object-fit: cover; }
			.compare-card__before { overflow: hidden; width: 30%; border-right: 2px solid #fff; }
			.compare-card__before img { width: var(--compare-width, 100%); max-width: none; }
			.compare-card__tag {
				position: absolute;
				bottom: 18px;
				z-index: 4;
				padding: 9px 14px;
				border: 1px solid rgba(255,255,255,.22);
				border-radius: 999px;
				background: rgba(20,20,20,.58);
				backdrop-filter: blur(12px);
				font-size: .76rem;
				font-weight: 700;
				letter-spacing: .12em;
				text-transform: uppercase;
			}
			.compare-card__tag--before { left: 18px; }
			.compare-card__tag--after { right: 18px; }
			.compare-card__handle {
				position: absolute;
				top: 50%; left: 30%; z-index: 5;
				width: 48px; height: 48px;
				display: grid; place-items: center;
				transform: translate(-50%,-50%);
				border-radius: 50%;
				color: #202020; background: #fff;
				box-shadow: 0 8px 28px rgba(0,0,0,.28);
				font-size: 1.2rem;
				pointer-events: none;
			}
			.compare-card__range {
				position: absolute; inset: 0; z-index: 6;
				width: 100%; height: 100%; margin: 0;
				opacity: 0; cursor: ew-resize;
			}
			.fenster-transform__nav {
				display: flex; align-items: center; justify-content: center;
				gap: 14px; margin-top: 26px;
			}
			.fenster-transform__arrow {
				width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.22);
				border-radius: 50%; color: #fff; background: rgba(255,255,255,.08);
				font-size: 1.25rem; cursor: pointer; transition: .2s ease;
			}
			.fenster-transform__arrow:hover { color: #202020; background: #d5a551; border-color: #d5a551; }
			.fenster-transform__count { min-width: 58px; color: rgba(255,255,255,.62); text-align: center; font-size: .82rem; letter-spacing: .12em; }
			body.page-fenster-tueren main > section.fenster-transformation {
				padding: clamp(48px, 4.5vw, 68px) 0 clamp(58px, 5.5vw, 82px);
				color: #1f1f1f;
				background: #f2e7d4 !important;
				background-image: none !important;
				overflow: visible !important;
			}
			body.page-fenster-tueren main > section.fenster-transformation > .container,
			.fenster-transformation .property-owners-carousel { overflow: visible !important; }
			body.page-fenster-tueren main > section.fenster-transformation::before {
				background: none !important;
			}
			.fenster-transformation .section-header { margin-bottom: clamp(26px, 3vw, 40px); text-align: center; }
			.fenster-transformation .section-subtitle { color: #d5a551; }
			.fenster-transformation .section-header h2 { color: #1f1f1f; font-size: clamp(2.3rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.045em; text-transform: none; }
			.fenster-transformation .property-owners-carousel { --property-owners-carousel-gap: 24px; --property-owners-carousel-per-view: 3; position: relative; overflow: visible; }
			.fenster-transformation .property-owners-carousel__viewport {
				width: 100%;
				margin: 0;
				padding: 0;
				overflow: visible !important;
			}
			.fenster-transformation .property-owners-carousel__track { display: flex; gap: var(--property-owners-carousel-gap); transition: transform .65s cubic-bezier(.4,0,.2,1); }
			.fenster-transformation .property-owners-carousel__slide { flex: 0 0 calc((100% - (var(--property-owners-carousel-gap) * (var(--property-owners-carousel-per-view) - 1))) / var(--property-owners-carousel-per-view)); min-width: 0; }
			.fenster-transformation .property-owners-card { height: 100%; border: 1px solid rgba(202,156,81,.28); border-radius: 18px; background: rgba(255,255,255,.7); box-shadow: 0 20px 54px rgba(55,42,24,.14); overflow: hidden; }
			.fenster-transformation .property-owners-image { position: relative; width: 100%; aspect-ratio: 4 / 3; min-height: 0; overflow: hidden; cursor: ew-resize; touch-action: pan-y; user-select: none; }
			/* Defensive cleanup for cached/previous carousel initializations. */
			.fenster-transformation [data-carousel-clone] { display: none !important; }
			.fenster-transformation .property-owners-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 1 !important; pointer-events: none; user-select: none; }
			.fenster-transformation .ba-after { z-index: 2; clip-path: inset(0 0 0 var(--pos, 30%)); }
			.fenster-transformation .ba-label { position: absolute; top: auto; bottom: 13px; z-index: 5; padding: 6px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; background: rgba(20,17,14,.7); backdrop-filter: blur(10px); font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; pointer-events: none; }
			.fenster-transformation .ba-label--before { left: 12px; }
			.fenster-transformation .ba-label--after { right: 12px; }
			.fenster-transformation .ba-handle { position: absolute; top: 0; bottom: 0; left: var(--pos, 30%); z-index: 4; width: 2px; margin-left: -1px; background: #fff; pointer-events: none; }
			.fenster-transformation .ba-handle::after { content: ''; position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; transform: translate(-50%,-50%); border-radius: 50%; background: #fff; box-shadow: 0 5px 18px rgba(0,0,0,.32); }
			.fenster-transformation .ba-handle::before { content: '\2039\2003\203A'; position: absolute; top: 50%; left: 50%; z-index: 1; transform: translate(-50%,-50%); color: #a4763a; font-size: 15px; font-weight: 700; white-space: nowrap; }
			@media (max-width: 1024px) {
				.fenster-transformation .property-owners-carousel__track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); transform: none !important; }
				.fenster-transformation .property-owners-carousel__slide { width: auto; }
			}
			@media (max-width: 640px) {
				.fenster-transformation .property-owners-carousel__track { grid-template-columns: 1fr; }
				.fenster-transformation .property-owners-image { aspect-ratio: 4 / 5; }
			}
			body.page-fenster-tueren main > section.fenster-value {
				padding: clamp(72px, 8vw, 112px) 0;
				background: #ffffff !important;
				background-image: none !important;
			}
			.fenster-value__head { max-width: 1000px; margin: 0 auto clamp(40px, 5vw, 64px); text-align: center; }
			.fenster-value__head h2 { margin: 0; color: #1f1f1f; font-size: clamp(2.15rem, 4.2vw, 4rem); line-height: 1.04; letter-spacing: -.04em; text-wrap: balance; }
			.fenster-value__head p { max-width: 850px; margin: 22px auto 0; color: #62594f; font-size: clamp(1rem, 1.3vw, 1.18rem); line-height: 1.6; }
			.fenster-value .fenster-value__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: clamp(20px, 2.2vw, 30px); }
			.fenster-value .fenster-value__card { display: flex; flex-direction: column; min-width: 0; padding: 0; overflow: hidden; border: 1px solid rgba(202,156,81,.24); border-radius: 18px; background: #fff; box-shadow: 0 15px 40px rgba(45,34,21,.09); transition: transform .5s ease, border-color .5s ease, box-shadow .5s ease; }
			.fenster-value .fenster-value__card:hover { transform: translateY(-5px); border-color: rgba(202,156,81,.55); box-shadow: 0 22px 50px rgba(45,34,21,.14); }
			.fenster-value__photo { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #ece7df; }
			.fenster-value__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
			.fenster-value__card:hover .fenster-value__photo img { transform: scale(1.04); }
			.fenster-value__body { display: grid; flex: 1; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto 24px auto 32px 1fr; column-gap: 16px; align-items: center; padding: clamp(28px, 2.5vw, 36px); }
			.fenster-value__body .benefit-icon { grid-column: 1; grid-row: 1; margin: 0; }
			.fenster-value__body h3 { grid-column: 2; grid-row: 1; margin: 0; color: #1f1f1f; font-size: clamp(1.18rem, 1.3vw, 1.42rem); line-height: 1.25; }
			.fenster-value__body > p { grid-column: 1 / -1; grid-row: 3; margin: 0; color: #62594f; font-size: .98rem; line-height: 1.68; }
			.fenster-value__body ul {
				display: grid;
				grid-column: 1 / -1;
				grid-row: 5;
				align-self: end;
				gap: 16px;
				width: 100%;
				margin: 0;
				padding: 24px 0 0;
				border-top: 1px solid rgba(202,156,81,.2);
				list-style: none;
			}
			.fenster-value__body li { position: relative; padding-left: 26px; color: #342f29; font-size: clamp(.96rem, .35vw + .88rem, 1.04rem); line-height: 1.55; }
			.fenster-value__body li::before { content: '\2713'; position: absolute; left: 0; top: .02em; color: #b58036; font-size: 1.05em; font-weight: 800; }
			.fenster-value .section-actions { margin-top: clamp(34px, 4vw, 52px); }
			@media (max-width: 1024px) {
				.fenster-value .fenster-value__grid { grid-template-columns: 1fr; width: min(100%, 680px); margin: 0 auto; }
				.fenster-value__body { padding: 24px; }
			}
			body.page-fenster-tueren main > section.fenster-references {
				padding: clamp(68px, 7vw, 104px) 0;
				background: #fff !important;
				background-image: none !important;
			}
			.fenster-references__head { margin-bottom: clamp(34px, 4vw, 52px); text-align: center; }
			.fenster-references__head .bs-eyebrow { display: block; margin-bottom: 12px; }
			.fenster-references__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.2vw, 30px); }
			.fenster-reference { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(202,156,81,.25); border-radius: 18px; background: #fff; box-shadow: 0 16px 42px rgba(45,34,21,.09); cursor: pointer; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
			.fenster-reference:hover { transform: translateY(-5px); border-color: rgba(202,156,81,.55); box-shadow: 0 22px 52px rgba(45,34,21,.14); }
			.fenster-reference .portfolio-image { position: relative; width: 100%; aspect-ratio: 4 / 3; min-height: 0; overflow: hidden; background: #ece7df; }
			.fenster-reference .portfolio-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
			.fenster-reference__meta { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 18px; padding: 22px; }
			.fenster-reference__meta h3 { margin: 0 0 5px; color: #1f1f1f; font-size: 1.16rem; line-height: 1.25; }
			.fenster-reference__meta p { margin: 0; color: #8a7c6d; font-size: .86rem; }
			.fenster-reference__open { flex: none; padding: 0; border: 0; color: #a4763a; background: transparent; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
			.fenster-reference__open span { display: inline-block; margin-left: 4px; transition: transform .2s ease; }
			.fenster-reference:hover .fenster-reference__open span { transform: translateX(4px); }
			@media (max-width: 1024px) { .fenster-references__grid { grid-template-columns: 1fr; width: min(100%, 680px); margin: 0 auto; } }
			@media (max-width: 520px) { .fenster-reference__meta { align-items: flex-start; flex-direction: column; } }
			body.page-fenster-tueren main > section.fenster-bts {
				padding: clamp(64px, 7vw, 100px) 0;
				background: #fff !important;
				background-image: none !important;
			}
			.fenster-bts__head { margin-bottom: clamp(34px, 4vw, 52px); text-align: center; }
			.fenster-bts__head .section-subtitle { display: block; margin-bottom: 12px; color: #ca9c51; font-size: .76rem; font-weight: 800; letter-spacing: .16em; }
			.fenster-bts__head h2 { margin: 0; color: #1f1f1f; font-size: clamp(2rem, 3.8vw, 3.6rem); line-height: 1.06; letter-spacing: -.035em; }
			.fenster-bts .fenster-bts__rail { display: grid; grid-template-columns: repeat(3, minmax(0, 360px)); justify-content: center; gap: clamp(20px, 2.2vw, 30px); margin: 0 auto; }
			.fenster-bts .project-video-card { position: relative; width: 100%; max-width: 360px; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; border-radius: 20px; background: #17130f; box-shadow: 0 18px 44px rgba(42,34,28,.16); }
			.fenster-bts .project-video-card video { display: block; width: 100%; height: 100%; object-fit: cover; }
			@media (max-width: 767px) {
				.fenster-bts .container { width: 100%; max-width: none; padding: 0; }
				.fenster-bts__head { padding: 0 20px; }
				.fenster-bts .fenster-bts__rail { display: flex; justify-content: flex-start; gap: 16px; width: 100%; padding: 4px 20px 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
				.fenster-bts .fenster-bts__rail::-webkit-scrollbar { display: none; }
				.fenster-bts .project-video-card { flex: 0 0 min(82vw, 340px); scroll-snap-align: center; }
			}
			body.page-fenster-tueren main > section#team.team-showcase-section {
				padding: clamp(68px, 7vw, 104px) 0;
				background: #f2e7d4 !important;
				background-image: none !important;
			}
			#team .team-showcase-container { width: min(1280px, calc(100% - 48px)); margin: 0 auto; }
			#team .team-showcase__header { max-width: 900px; margin: 0 auto clamp(36px, 4vw, 54px); text-align: center; }
			#team .team-showcase__description { max-width: 900px; margin: 0 auto; }
			#team .team-showcase__title { color: #b58036; }
			#team .team-showcase__description-part { color: #6c6258; }
			#team .team-showcase__tagline { color: #b58036; }
			#team .team-showcase__frame { width: 100%; max-width: none; overflow: visible; padding: clamp(18px, 2vw, 28px); border: 1px solid rgba(202,156,81,.26); border-radius: 20px; background: rgba(255,255,255,.58); }
			#team .team-showcase__grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: clamp(18px, 2vw, 28px) !important; width: 100% !important; max-width: none !important; transform: none !important; }
			#team .team-showcase-card { position: relative !important; display: flex !important; flex-direction: column !important; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; margin: 0 !important; padding: 0 0 34px !important; overflow: visible !important; transform: none; border: 0; background: transparent; transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
			#team .team-showcase-card:hover { transform: translateY(-6px); border-color: rgba(255,255,255,.2); box-shadow: 0 20px 42px rgba(42,34,28,.16); }
			#team .team-showcase-card__media { position: relative !important; display: block !important; width: 100% !important; height: auto !important; overflow: visible !important; }
			#team .team-showcase-card__photo { position: relative !important; inset: auto !important; display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1 / 1 !important; overflow: hidden !important; transform: none !important; border-radius: 14px !important; background: #e8e2d8; }
			#team .team-showcase-card__photo img { position: absolute !important; inset: 0 !important; display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; opacity: 1 !important; visibility: visible !important; object-fit: cover !important; object-position: center top !important; transition: transform .5s ease; }
			#team .team-showcase-card__info { position: absolute !important; left: 50% !important; right: auto !important; top: auto !important; bottom: 0 !important; width: calc(100% - 24px) !important; height: auto !important; margin: 0 !important; transform: translateX(-50%) !important; z-index: 2 !important; }
			#team .team-showcase-card__info-panel { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 72px !important; height: auto !important; box-sizing: border-box !important; padding: 10px 12px !important; background: #fff !important; }
			#team .team-showcase-card__name { margin: 0 0 5px !important; line-height: 1.25 !important; }
			#team .team-showcase-card__line { margin: 0 auto 5px !important; }
			#team .team-showcase-card__role { margin: 0 !important; line-height: 1.3 !important; }
			#team .team-showcase-card:hover .team-showcase-card__photo img { transform: scale(1.03); }
			#team .team-showcase__footer { margin-top: clamp(32px, 4vw, 48px); }
			body.page-fenster-tueren main > section#final-cta.fenster-final-cta {
				position: relative;
				overflow: hidden;
				padding: clamp(76px, 8vw, 124px) 24px;
				background: #f2e7d4 !important;
				background-image: none !important;
				color: #1f1f1f;
				text-align: center;
			}
			body.page-fenster-tueren main > section#final-cta.fenster-final-cta::before {
				content: '';
				position: absolute;
				inset: 0;
				background: radial-gradient(circle at 50% 50%, rgba(202,156,81,.1), transparent 58%);
				pointer-events: none;
			}
			.fenster-final-cta__inner { width: min(980px, 100%); margin: 0 auto; }
			.fenster-final-cta__eyebrow { display: block; margin-bottom: 18px; color: #d6a34e; font-size: clamp(.78rem, .7vw, .94rem); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
			.fenster-final-cta h2 { max-width: 900px; margin: 0 auto 22px; color: #1f1f1f; font-size: clamp(2.25rem, 4.6vw, 4.7rem); line-height: 1.04; letter-spacing: -.035em; }
			.fenster-final-cta p { max-width: 820px; margin: 0 auto 34px; color: #675b4d; font-size: clamp(1rem, 1.2vw, 1.25rem); line-height: 1.65; }
			.fenster-final-cta .bs-btn { min-width: min(100%, 310px); }
			/* Sichtbare Sektionen: festes Hell/Creme-Wechselmuster. */
			body.page-fenster-tueren main > .fenster-pain,
			body.page-fenster-tueren main > #garantien,
			body.page-fenster-tueren main > #portfolio,
			body.page-fenster-tueren main > #baustelle-live,
			body.page-fenster-tueren main > #faq {
				background: #fff !important;
				background-image: none !important;
			}
			body.page-fenster-tueren main > #transformation,
			body.page-fenster-tueren main > #ablauf,
			body.page-fenster-tueren main > #reviews,
			body.page-fenster-tueren main > #team,
			body.page-fenster-tueren main > #contact {
				background: #f2e7d4 !important;
				background-image: none !important;
			}
			/* Fenster-Seite: Footer nach dem 4-Spalten-Maket. */
			.page-fenster-tueren .footer { padding: clamp(58px, 6vw, 88px) 24px 0; background: #202020; }
			.page-fenster-tueren .footer-container { width: min(1280px, 100%); max-width: 1280px; padding: 0; }
			.page-fenster-tueren .footer-content { display: grid; grid-template-columns: minmax(270px, 30fr) minmax(230px, 25fr) minmax(220px, 23fr) minmax(220px, 22fr); align-items: start; gap: clamp(30px, 2.5vw, 42px); margin-bottom: 56px; }
			.page-fenster-tueren .footer-brand { max-width: none; }
			.page-fenster-tueren .footer-logo {
				display: inline-flex;
				width: 176px;
				aspect-ratio: 1018 / 851;
				margin: 0 0 24px;
				background: var(--primary-color, #ca9c51);
				-webkit-mask: url('../images/logo.svg') center / contain no-repeat;
				mask: url('../images/logo.svg') center / contain no-repeat;
			}
			.page-fenster-tueren .footer-logo img { width: 100%; height: 100%; opacity: 0; }
			.page-fenster-tueren .footer-kicker { margin: 0 0 18px; color: #fff; font-size: 1.05rem; font-weight: 700; }
			.page-fenster-tueren .footer-contact-list,
			.page-fenster-tueren .footer-legal-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
			.page-fenster-tueren .footer-contact-list { margin-bottom: 24px; }
			.page-fenster-tueren .footer-contact-list li,
			.page-fenster-tueren .footer-legal-list li { color: #aaa39a; font-size: .94rem; line-height: 1.55; }
			.page-fenster-tueren .footer-contact-list a { color: inherit; text-decoration: none; }
			.page-fenster-tueren .footer-contact-list span { display: inline-block; width: 24px; color: #ca9c51; }
			.page-fenster-tueren .footer-contact-list span svg { display: block; width: 15px; height: 15px; fill: currentColor; }
			.page-fenster-tueren .footer-title { margin-bottom: 22px; font-size: .88rem; line-height: 1.45; letter-spacing: .08em; text-wrap: balance; text-transform: uppercase; }
			.page-fenster-tueren .footer-title em { color: #ca9c51; font-style: normal; }
			.page-fenster-tueren .footer-menu { display: grid; gap: 10px; }
			.page-fenster-tueren .footer-menu li { margin: 0; }
			.page-fenster-tueren .footer-menu a { color: #bbb4aa; font-size: .94rem; line-height: 1.45; overflow-wrap: normal; word-break: normal; hyphens: none; }
			.page-fenster-tueren .footer-menu a:hover { color: #ca9c51; }
			.page-fenster-tueren .footer-menu .footer-link--accent { color: #ca9c51; }
			.page-fenster-tueren .footer-description { max-width: 270px; margin-bottom: 26px; color: #bbb4aa; line-height: 1.65; }
			.page-fenster-tueren .footer-social { margin-top: 8px; gap: 12px; }
			.page-fenster-tueren .social-link { width: 44px; height: 44px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.06); }
			.page-fenster-tueren .social-link:hover { color: #202020; background: #ca9c51; }
			.page-fenster-tueren .footer-bottom { padding: 24px 0; }

			/* =========================================================
			   FENSTER TYPOGRAPHY & CTA SYSTEM
			========================================================= */
			.page-fenster-tueren {
				--ft-kicker-size: clamp(.78rem, .18vw + .74rem, .9rem);
				--ft-section-title-size: clamp(2.35rem, 3.2vw, 4rem);
				--ft-card-title-size: clamp(1.2rem, .55vw + 1.05rem, 1.5rem);
				--ft-copy-size: clamp(1rem, .28vw + .94rem, 1.125rem);
				--ft-copy-line: 1.68;
				--ft-section-top-space: clamp(76px, 7vw, 108px);
				--ft-section-bottom-space: clamp(76px, 7vw, 108px);
			}
			/* One vertical registry: every content section starts its heading at the
			   same distance from the section edge. Hero and metrics are intentionally excluded. */
			body.page-fenster-tueren main > :is(.fenster-pain, #transformation, #garantien, #ablauf, #portfolio, #reviews, #baustelle-live, #team, #faq, #final-cta, #bauzins-rechner, #contact) {
				padding-top: var(--ft-section-top-space) !important;
				padding-bottom: var(--ft-section-bottom-space) !important;
			}
			.page-fenster-tueren main > section:not(#hero) :is(.bs-eyebrow, .fenster-pain__eyebrow, .section-subtitle, .section-kicker, .project-videos-eyebrow, .fenster-final-cta__eyebrow) {
				display: block !important;
				margin: 0 0 16px !important;
				color: #b98032 !important;
				font-size: var(--ft-kicker-size) !important;
				font-weight: 750 !important;
				line-height: 1.35 !important;
				letter-spacing: .13em !important;
				text-align: center !important;
				text-transform: uppercase !important;
			}
			.page-fenster-tueren main > section:not(#hero):not(#expertise) h2 {
				width: min(1100px, 100%);
				margin-top: 0 !important;
				margin-bottom: 0 !important;
				margin-left: auto;
				margin-right: auto;
				color: #1f1f1f !important;
				font-size: var(--ft-section-title-size) !important;
				font-weight: 700 !important;
				line-height: 1.08 !important;
				letter-spacing: -.035em !important;
				text-align: center !important;
				text-transform: none !important;
				text-wrap: balance;
			}
			.page-fenster-tueren main > section.fenster-pain h2.fenster-pain__title {
				margin-bottom: 0 !important;
			}
			.page-fenster-tueren main > section :is(.fenster-value__head, .process-map-section__header, .fenster-references__head, .bs-head-center, .fenster-bts__head, .team-showcase__header, .section-header, .fenster-final-cta__inner) {
				text-align: center;
			}
			.page-fenster-tueren main > section :is(.fenster-value__head, .process-map-section__header, .fenster-references__head, .bs-head-center, .fenster-bts__head, .team-showcase__header, .section-header) {
				margin-bottom: clamp(42px, 5vw, 64px) !important;
			}
			/* Team heading: neutralize the inherited Sanierung row layout so this
			   section follows the same centered heading registry as the page. */
			.page-fenster-tueren #team .team-showcase__header {
				display: block !important;
				width: min(100%, 1100px) !important;
				max-width: 1100px !important;
				margin: 0 auto clamp(42px, 5vw, 64px) !important;
			}
			.page-fenster-tueren #team .team-showcase__description {
				display: flex !important;
				flex-direction: column !important;
				align-items: stretch !important;
				gap: 0 !important;
				width: 100% !important;
				max-width: none !important;
				margin: 0 !important;
				text-align: center !important;
			}
			.page-fenster-tueren #team .section-kicker,
			.page-fenster-tueren #team .team-showcase__title {
				width: 100% !important;
				align-self: stretch !important;
				text-align: center !important;
			}
			.page-fenster-tueren #team .team-showcase__title {
				margin: 0 !important;
			}
			.page-fenster-tueren #team .team-showcase__description-part {
				align-self: center !important;
			}
			.page-fenster-tueren #team .team-showcase__description-part + .team-showcase__description-part {
				margin-top: 14px !important;
			}
			.page-fenster-tueren #team .team-showcase__tagline {
				width: 100% !important;
				margin: 16px auto 0 !important;
				text-align: center !important;
			}
			.page-fenster-tueren main > section :is(.fenster-value__head > p, .team-showcase__description-part, .fenster-final-cta p, .bs-lead) {
				max-width: 900px;
				margin-top: 22px !important;
				margin-left: auto !important;
				margin-right: auto !important;
				text-align: center;
			}
			.page-fenster-tueren main > section :is(.fenster-pain__item h3, .fenster-value__body h3, .process-map__title, .fenster-reference h3, .team-showcase-card__name) {
				font-size: var(--ft-card-title-size) !important;
				font-weight: 700 !important;
				line-height: 1.28 !important;
			}
			.page-fenster-tueren main > section :is(.bs-lead, .fenster-value__head p, .fenster-pain__item p, .fenster-value__body > p, .fenster-value__body li, .process-map__desc, .team-showcase__description-part, .bs-faq p, .fenster-final-cta p) {
				font-size: var(--ft-copy-size) !important;
				line-height: var(--ft-copy-line) !important;
				text-wrap: pretty;
			}
			.page-fenster-tueren main > section :is(.fenster-value__body li, .bs-faq p, .process-map__desc) {
				color: #4f473e;
			}
			.page-fenster-tueren :is(.bs-btn, .hero-btn, .section-btn, .form-submit-btn, .mobile-form-submit-btn) {
				height: 56px;
				min-height: 56px;
				box-sizing: border-box;
				padding: 0 30px;
				font-size: 19px !important;
				font-weight: 750 !important;
				line-height: 1 !important;
				letter-spacing: .01em !important;
				text-transform: none !important;
			}
			/* Primary CTAs use the header button as the single visual source of truth. */
			.page-fenster-tueren :is(.bs-btn--gold, .hero-btn.primary, .section-btn, .form-submit-btn, .mobile-form-submit-btn) {
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				gap: 10px;
				color: #fff !important;
				background: linear-gradient(180deg, #cca057 0%, #b98940 100%) !important;
				border: 1px solid rgba(202, 156, 81, .42) !important;
				border-radius: 999px !important;
				box-shadow: 0 12px 28px rgba(0, 0, 0, .14), 0 0 32px rgba(202, 156, 81, .38), 0 0 64px rgba(237, 201, 143, .18) !important;
				text-decoration: none !important;
				white-space: nowrap;
				animation: none !important;
				transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease !important;
			}
			.page-fenster-tueren :is(.bs-btn--gold, .hero-btn.primary, .section-btn, .form-submit-btn, .mobile-form-submit-btn):hover {
				color: #fff !important;
				background: linear-gradient(180deg, #d6aa63 0%, #c39147 100%) !important;
				border-color: rgba(202, 156, 81, .72) !important;
				box-shadow: 0 16px 34px rgba(0, 0, 0, .18), 0 0 40px rgba(212, 166, 90, .48), 0 0 80px rgba(237, 201, 143, .26) !important;
				transform: translateY(-2px);
			}
			.page-fenster-tueren :is(.bs-btn--gold, .hero-btn.primary, .section-btn, .form-submit-btn, .mobile-form-submit-btn) svg {
				width: 18px;
				height: 18px;
				flex: 0 0 auto;
			}
			@media (max-width: 1120px) { .page-fenster-tueren .footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
			@media (max-width: 620px) { .page-fenster-tueren .footer { padding-inline: 20px; } .page-fenster-tueren .footer-content { grid-template-columns: 1fr; gap: 36px; } }
			@media (max-width: 640px) {
				.page-fenster-tueren { --ft-section-title-size: clamp(2rem, 9vw, 2.75rem); --ft-card-title-size: 1.22rem; --ft-copy-size: 1rem; --ft-section-top-space: 64px; --ft-section-bottom-space: 64px; }
				.page-fenster-tueren :is(.bs-btn, .hero-btn, .section-btn, .form-submit-btn, .mobile-form-submit-btn) { height: 52px; min-height: 52px; padding-left: 22px; padding-right: 22px; font-size: 16px !important; }
				.page-fenster-tueren main > section.fenster-pain h2.fenster-pain__title { margin-bottom: 0 !important; }
				.page-fenster-tueren main > section.fenster-pain .fenster-pain__grid { margin-top: 40px !important; }
			}
			@media (max-width: 900px) { #team .team-showcase__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
			@media (max-width: 520px) { #team .team-showcase-container { width: calc(100% - 32px); } #team .team-showcase__grid { grid-template-columns: 1fr !important; } }
			@media (max-width: 1023px) {
				.fenster-pain__title { margin-bottom: 40px; text-align: center; }
				.fenster-pain__grid { grid-template-columns: 1fr; gap: 28px; height: auto; }
				.fenster-pain__media { width: min(100%, 560px); height: auto; margin: 0 auto; aspect-ratio: 4 / 5; }
				.fenster-pain__list { width: min(100%, 680px); margin: 0 auto; }
			}
			@media (max-width: 768px) {
				.fenster-transform { padding: 58px 0; }
				.fenster-transform__head { margin-bottom: 28px; }
				.compare-card { aspect-ratio: 4 / 5; border-radius: 18px; }
				.compare-card__tag { bottom: 14px; padding: 8px 11px; font-size: .68rem; }
				.compare-card__tag--before { left: 12px; }
				.compare-card__tag--after { right: 12px; }
				.fenster-pain__media {
					width: min(100%, 420px);
					height: auto !important;
					aspect-ratio: 4 / 5 !important;
				}
				.fenster-pain__media img {
					width: 100% !important;
					height: 100% !important;
					aspect-ratio: 4 / 5 !important;
					object-fit: cover !important;
				}
				.bs-hero__grid { position: relative; display: flex; overflow: hidden; }
				.bs-hero__art { position: relative; inset: auto; z-index: 0; width: 100%; height: clamp(240px, 72vw, 340px); max-width: none; }
				.bs-hero__content { position: relative; z-index: 1; width: 100%; max-width: 100%; background: #f7f2ea; }
				.bs-hero h1, .bs-hero h1 span, .bs-hero__lead { text-shadow: none; }
				.bs-hero h1 { color: #1f1f1f; }
				.bs-hero h1 span { color: #a4763a; }
				.bs-hero__lead { color: #5e554a; }
				.bs-hero__reviews {
					padding: 0;
					justify-content: center;
					background: transparent;
					border: 0;
					box-shadow: none;
				}
				.bs-hero__content { padding: 30px 20px 34px; }
				.bs-hero__cta { margin-top: 24px; }
				.bs-hero__chips { margin-top: 24px; }
			}

			/* Section 04: problem recognition. */
			body.page-fenster-tueren main > section#problem.fenster-pain {
				padding: clamp(64px, 7vw, 104px) 0;
				color: #24211e;
				background: #fffdf9 !important;
			}
			#problem .fenster-pain__head {
				max-width: 680px;
				margin: 0 0 clamp(44px, 5vw, 66px);
			}
			#problem .fenster-pain__eyebrow {
				margin: 0 0 14px;
				color: #876325;
				font-size: .76rem;
				font-weight: 700;
				letter-spacing: .14em;
				text-align: left;
			}
			body.page-fenster-tueren main > section#problem h2.fenster-pain__title {
				max-width: 660px;
				margin: 0 0 22px !important;
				font-size: clamp(2rem, 3.1vw, 3.35rem) !important;
				font-weight: 700;
				line-height: 1.08 !important;
				letter-spacing: -.035em;
				text-align: left !important;
				text-wrap: balance;
			}
			#problem .fenster-pain__intro,
			#problem .fenster-pain__transition {
				max-width: 680px;
				margin: 0;
				color: #514b45;
				font-size: clamp(.98rem, .25vw + .92rem, 1.08rem);
				line-height: 1.72;
				text-wrap: pretty;
			}
			#problem .fenster-pain__prompt {
				margin: 0 0 28px;
				font-size: clamp(1.3rem, 1.7vw, 1.65rem);
				line-height: 1.25;
			}
			#problem .fenster-pain__group + .fenster-pain__group { margin-top: 34px; }
			#problem .fenster-pain__group-title {
				margin: 0 0 12px;
				color: #777067;
				font-size: .72rem;
				font-weight: 700;
				letter-spacing: .13em;
				line-height: 1.35;
				text-transform: uppercase;
			}
			body.page-fenster-tueren main > section#problem .fenster-pain__grid {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: 14px;
				height: auto;
				margin: 0 !important;
			}
			#problem .fenster-pain__item {
				min-width: 0;
				min-height: 196px;
				padding: clamp(20px, 2vw, 28px);
				border: 0;
				border-radius: 14px;
				background: #f5f0e8;
				box-shadow: none;
			}
			#problem .fenster-pain__item:first-child { border: 0; }
			#problem .fenster-pain__icon {
				width: 22px;
				height: 22px;
				margin: 0 0 10px;
				display: block;
				color: #746f68;
				background: none;
				border-radius: 0;
				box-shadow: none;
				animation: none;
			}
			#problem .fenster-pain__icon::after { display: none; }
			body.page-fenster-tueren main > section#problem .fenster-pain__item h5 {
				min-height: 2.55em;
				margin: 0 0 9px;
				color: #292622;
				font-size: clamp(1rem, .45vw + .9rem, 1.12rem);
				font-weight: 700;
				line-height: 1.28;
				letter-spacing: -.015em;
			}
			body.page-fenster-tueren main > section#problem .fenster-pain__item p {
				margin: 0;
				color: #67615a;
				font-size: .9rem;
				font-weight: 400;
				line-height: 1.58;
			}
			#problem .fenster-pain__stats {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: clamp(22px, 4vw, 56px);
				margin-top: clamp(40px, 5vw, 62px);
				padding: 22px 0;
				border-top: 1px solid #ddd5ca;
				border-bottom: 1px solid #ddd5ca;
			}
			#problem .fenster-pain__stat { display: flex; flex-direction: column; gap: 6px; }
			#problem .fenster-pain__stat strong {
				color: #292622;
				font-size: 1.5rem;
				font-weight: 650;
				line-height: 1.1;
			}
			#problem .fenster-pain__stat span {
				max-width: 270px;
				color: #6b655e;
				font-size: .79rem;
				line-height: 1.45;
			}
			#problem .fenster-pain__sources {
				margin: 10px 0 0;
				color: #8b857d;
				font-size: .66rem;
				line-height: 1.45;
			}
			#problem .fenster-pain__warning {
				margin-top: clamp(46px, 6vw, 78px);
				padding: clamp(26px, 3vw, 38px);
				border: 0;
				border-radius: 15px;
				color: #704520;
				background: #faeee4;
			}
			#problem .fenster-pain__warning h3 {
				margin: 0 0 14px;
				color: #76481f;
				font-size: clamp(1.2rem, 1.5vw, 1.45rem);
				line-height: 1.3;
			}
			#problem .fenster-pain__warning p {
				max-width: 1060px;
				margin: 0;
				font-size: .96rem;
				line-height: 1.72;
			}
			#problem .fenster-pain__warning p + p { margin-top: 22px; }
			#problem .fenster-pain__transition { margin-top: clamp(32px, 4vw, 48px); color: #3f3a35; }
			#problem .fenster-pain__transition strong { font-weight: 600; }

			@media (max-width: 1199px) {
				body.page-fenster-tueren main > section#problem .fenster-pain__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
				#problem .fenster-pain__item { min-height: 184px; }
			}
			@media (max-width: 767px) {
				body.page-fenster-tueren main > section#problem.fenster-pain { padding: 56px 0 64px; }
				#problem .fenster-pain__head { margin-bottom: 38px; }
				body.page-fenster-tueren main > section#problem h2.fenster-pain__title { font-size: clamp(1.9rem, 9vw, 2.55rem) !important; }
				#problem .fenster-pain__prompt { margin-bottom: 24px; }
				#problem .fenster-pain__group + .fenster-pain__group { margin-top: 30px; }
				body.page-fenster-tueren main > section#problem .fenster-pain__grid { grid-template-columns: 1fr; gap: 10px; }
				#problem .fenster-pain__item { min-height: 0; padding: 22px; }
				body.page-fenster-tueren main > section#problem .fenster-pain__item h5 { min-height: 0; }
				#problem .fenster-pain__stats { grid-template-columns: 1fr; gap: 20px; }
				#problem .fenster-pain__stat strong { font-size: 1.35rem; }
				#problem .fenster-pain__warning { padding: 24px 20px; }
			}

			/* Brand adaptation: retain the reference structure, use the site's premium visual language. */
			body.page-fenster-tueren main > section#problem.fenster-pain {
				position: relative;
				overflow: hidden;
				background:
					radial-gradient(circle at 100% 0%, rgba(202, 156, 81, .15), transparent 34%),
					radial-gradient(circle at 0% 100%, rgba(202, 156, 81, .09), transparent 30%),
					linear-gradient(180deg, #fbf8f3 0%, #f5eee3 100%) !important;
			}
			#problem .bs-wrap { position: relative; z-index: 1; }
			#problem .fenster-pain__head {
				max-width: 920px;
				margin-inline: auto;
				text-align: center;
			}
			#problem .fenster-pain__eyebrow {
				display: inline-flex;
				align-items: center;
				gap: 10px;
				color: #946b2f;
				text-align: center;
			}
			#problem .fenster-pain__eyebrow::before,
			#problem .fenster-pain__eyebrow::after {
				content: '';
				width: 26px;
				height: 1px;
				background: rgba(164, 118, 58, .62);
			}
			body.page-fenster-tueren main > section#problem h2.fenster-pain__title {
				max-width: 900px;
				margin-inline: auto !important;
				color: #211d19;
				font-size: clamp(2.5rem, 4.5vw, 4.75rem) !important;
				font-weight: 700;
				line-height: .98 !important;
				text-align: center !important;
			}
			#problem .fenster-pain__intro {
				max-width: 760px;
				margin: 26px auto 0;
				color: #5f564d;
				font-size: clamp(1rem, .42vw + .92rem, 1.16rem);
				line-height: 1.75;
				text-align: center;
			}
			#problem .fenster-pain__prompt {
				margin-bottom: 24px;
				color: #27221e;
				font-size: clamp(1.55rem, 2vw, 2rem);
				font-weight: 700;
				letter-spacing: -.025em;
			}
			#problem .fenster-pain__group + .fenster-pain__group { margin-top: 42px; }
			#problem .fenster-pain__group-title {
				display: flex;
				align-items: center;
				gap: 18px;
				margin-bottom: 20px;
				color: #92692f;
				font-size: clamp(.9rem, .3vw + .84rem, 1.02rem);
				font-weight: 800;
				letter-spacing: .16em;
			}
			#problem .fenster-pain__group-title::after {
				content: '';
				width: clamp(96px, 10vw, 160px);
				height: 1px;
				background: linear-gradient(90deg, rgba(164,118,58,.65), transparent);
			}
			body.page-fenster-tueren main > section#problem .fenster-pain__grid { gap: clamp(16px, 1.7vw, 24px); }
			#problem .fenster-pain__item {
				position: relative;
				overflow: hidden;
				min-height: 230px;
				padding: clamp(24px, 2.25vw, 34px);
				border: 1px solid rgba(202, 156, 81, .23);
				border-radius: 20px;
				background: linear-gradient(155deg, rgba(255,255,255,.98) 0%, rgba(252,248,241,.96) 100%);
				box-shadow: 0 16px 42px rgba(65, 48, 30, .08), inset 0 1px 0 rgba(255,255,255,.9);
			}
			#problem .fenster-pain__item::before {
				content: '';
				position: absolute;
				top: 0;
				left: 28px;
				width: 54px;
				height: 3px;
				border-radius: 0 0 4px 4px;
				background: linear-gradient(90deg, #d8b16c, #a4763a);
			}
			#problem .fenster-pain__icon {
				box-sizing: border-box;
				width: 50px;
				height: 50px;
				margin-bottom: 19px;
				padding: 13px;
				color: #fff;
				background: linear-gradient(145deg, #d6ad66 0%, #ad7b37 100%);
				border: 1px solid rgba(255,255,255,.55);
				border-radius: 14px;
				box-shadow: 0 9px 22px rgba(164,118,58,.24);
			}
			body.page-fenster-tueren main > section#problem .fenster-pain__item h5 {
				margin-bottom: 10px;
				color: #29231e;
				font-size: clamp(1.05rem, .5vw + .95rem, 1.2rem);
				line-height: 1.25;
			}
			body.page-fenster-tueren main > section#problem .fenster-pain__item p {
				color: #665d54;
				font-size: .94rem;
				line-height: 1.62;
			}
			#problem .fenster-pain__stats {
				position: relative;
				gap: 0;
				margin-top: clamp(52px, 6vw, 82px);
				padding: clamp(28px, 3vw, 40px) 0;
				border: 1px solid rgba(255, 219, 158, .17);
				border-radius: 22px;
				background:
					radial-gradient(circle at 100% 0%, rgba(202,156,81,.24), transparent 38%),
					linear-gradient(145deg, #493526 0%, #241b15 72%, #1c1612 100%);
				box-shadow: 0 22px 48px rgba(38, 27, 18, .18);
			}
			#problem .fenster-pain__stat {
				min-width: 0;
				padding: 0 clamp(24px, 3.5vw, 54px);
			}
			#problem .fenster-pain__stat + .fenster-pain__stat { border-left: 1px solid rgba(255,255,255,.14); }
			#problem .fenster-pain__stat strong {
				color: #edca8b;
				font-size: clamp(1.7rem, 2.4vw, 2.35rem);
				font-weight: 700;
			}
			#problem .fenster-pain__stat span {
				max-width: 290px;
				color: rgba(255,255,255,.72);
				font-size: .82rem;
			}
			#problem .fenster-pain__sources { margin: 12px 4px 0; color: #857c72; }
			#problem .fenster-pain__warning {
				position: relative;
				overflow: hidden;
				margin-top: clamp(54px, 6vw, 86px);
				padding: clamp(30px, 4vw, 48px);
				border: 1px solid rgba(202,156,81,.26);
				border-left: 5px solid #b7823d;
				border-radius: 20px;
				color: #5f4328;
				background:
					radial-gradient(circle at 100% 0%, rgba(202,156,81,.15), transparent 38%),
					linear-gradient(145deg, #fffaf3 0%, #f6e8d7 100%);
				box-shadow: 0 18px 44px rgba(80, 55, 31, .09);
			}
			#problem .fenster-pain__warning h3 { color: #754c25; font-size: clamp(1.4rem, 2vw, 1.85rem); }
			#problem .fenster-pain__warning p { color: #624b37; }
			#problem .fenster-pain__transition {
				max-width: 850px;
				margin: clamp(38px, 5vw, 62px) auto 0;
				color: #443c35;
				font-size: clamp(1.05rem, .45vw + .96rem, 1.2rem);
				line-height: 1.72;
				text-align: center;
			}
			#problem .fenster-pain__transition strong { color: #9b6c2e; font-weight: 700; }

			@media (max-width: 1199px) {
				#problem .fenster-pain__item { min-height: 218px; }
			}
			@media (max-width: 767px) {
				body.page-fenster-tueren main > section#problem h2.fenster-pain__title {
					font-size: clamp(2.1rem, 10vw, 3rem) !important;
					line-height: 1.03 !important;
				}
				#problem .fenster-pain__head { text-align: left; }
				#problem .fenster-pain__eyebrow { text-align: left; }
				#problem .fenster-pain__eyebrow::before { display: none; }
				body.page-fenster-tueren main > section#problem h2.fenster-pain__title,
				#problem .fenster-pain__intro { margin-left: 0 !important; text-align: left !important; }
				#problem .fenster-pain__item { min-height: 0; border-radius: 17px; }
				#problem .fenster-pain__group-title { gap: 12px; font-size: .86rem; letter-spacing: .13em; }
				#problem .fenster-pain__group-title::after { width: 72px; }
				#problem .fenster-pain__icon { width: 46px; height: 46px; padding: 12px; }
				#problem .fenster-pain__stats { padding: 10px 22px; }
				#problem .fenster-pain__stat { padding: 20px 0; }
				#problem .fenster-pain__stat + .fenster-pain__stat { border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
				#problem .fenster-pain__warning { border-left-width: 4px; border-radius: 17px; }
				#problem .fenster-pain__transition { text-align: left; }
			}

			/* Section 06: mirrored solution chooser. */
			body.page-fenster-tueren main > section#loesung.fenster-solution {
				padding: clamp(64px, 7vw, 104px) 0;
				background: #fbf8f3 !important;
				background-image: none !important;
			}
			#loesung .fenster-solution__shell {
				padding: 0;
				border: 0;
				border-radius: 0;
				background: transparent;
				box-shadow: none;
			}
			#loesung .fenster-solution__head {
				max-width: 920px;
				margin: 0 auto clamp(42px, 5vw, 64px);
				text-align: center;
			}
			#loesung .fenster-solution__eyebrow {
				margin: 0 0 14px;
				display: inline-flex;
				align-items: center;
				gap: 10px;
				color: #92672b;
				font-size: .78rem;
				font-weight: 800;
				letter-spacing: .15em;
				line-height: 1.3;
				text-transform: uppercase;
			}
			#loesung .fenster-solution__eyebrow::before,
			#loesung .fenster-solution__eyebrow::after {
				content: '';
				width: 26px;
				height: 1px;
				background: rgba(164,118,58,.62);
			}
			#loesung .fenster-solution__head h2 {
				max-width: 850px;
				margin: 0 auto;
				color: #211d19;
				font-size: clamp(2.35rem, 3.7vw, 4rem);
				font-weight: 700;
				line-height: 1.06;
				letter-spacing: -.045em;
				text-wrap: balance;
			}
			#loesung .fenster-solution__head > p:last-child {
				max-width: 650px;
				margin: 24px auto 0;
				color: #625a52;
				font-size: clamp(1rem, .35vw + .94rem, 1.13rem);
				line-height: 1.7;
			}
			#loesung .fenster-solution__group + .fenster-solution__group { margin-top: 40px; }
			#loesung .fenster-solution__group > h3 {
				display: flex;
				align-items: center;
				gap: 18px;
				margin: 0 0 20px;
				color: #8e6937;
				font-size: clamp(.9rem, .3vw + .84rem, 1.02rem);
				font-weight: 800;
				letter-spacing: .16em;
				line-height: 1.35;
				text-transform: uppercase;
			}
			#loesung .fenster-solution__group > h3::after {
				content: '';
				width: clamp(96px, 10vw, 160px);
				height: 1px;
				background: linear-gradient(90deg, rgba(164,118,58,.65), transparent);
			}
			#loesung .fenster-solution__grid {
				display: grid;
				grid-template-columns: repeat(3, minmax(0, 1fr));
				gap: clamp(16px, 1.8vw, 25px);
			}
			#loesung .fenster-solution__card {
				position: relative;
				min-width: 0;
				display: flex;
				flex-direction: column;
				overflow: hidden;
				border: 1px solid rgba(164, 118, 58, .3);
				border-radius: 20px;
				background: #fff;
				box-shadow: 0 16px 38px rgba(54, 39, 25, .13), 0 2px 8px rgba(54,39,25,.06);
				transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
			}
			#loesung .fenster-solution__card::after {
				content: '';
				position: absolute;
				top: 0;
				left: 24px;
				z-index: 2;
				width: 58px;
				height: 3px;
				border-radius: 0 0 4px 4px;
				background: linear-gradient(90deg, #d5aa61, #9d6c2c);
			}
			#loesung .fenster-solution__card:hover,
			#loesung .fenster-solution__card:focus-within {
				transform: translateY(-5px);
				border-color: rgba(164,118,58,.62);
				box-shadow: 0 25px 52px rgba(54,39,25,.18), 0 4px 12px rgba(54,39,25,.08);
			}
			#loesung .fenster-solution__image {
				width: 100%;
				aspect-ratio: 4 / 3;
				display: block;
				object-fit: cover;
				background: #e8e1d6;
				border-bottom: 1px solid rgba(164,118,58,.18);
				transition: transform .45s ease;
			}
			#loesung .fenster-solution__card:hover .fenster-solution__image { transform: scale(1.025); }
			#loesung .fenster-solution__body {
				min-height: 260px;
				box-sizing: border-box;
				padding: clamp(22px, 2vw, 30px);
				display: flex;
				flex: 1;
				flex-direction: column;
			}
			#loesung .fenster-solution__body h4 {
				margin: 0 0 10px;
				color: #29231e;
				font-size: clamp(1.15rem, .55vw + 1rem, 1.35rem);
				font-weight: 750;
				line-height: 1.25;
			}
			#loesung .fenster-solution__fit {
				min-height: 44px;
				margin: 0 0 13px;
				color: #575049;
				font-size: .94rem;
				line-height: 1.58;
			}
			#loesung .fenster-solution__proof {
				min-height: 32px;
				margin: 0 0 14px;
				color: #827a72;
				font-size: .76rem;
				line-height: 1.48;
			}
			#loesung .fenster-solution__cta {
				width: 100%;
				min-height: 44px;
				margin-top: auto;
				padding: 9px 0;
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 14px;
				border: 0;
				border-top: 1px solid rgba(164,118,58,.2);
				border-radius: 0;
				color: #815817;
				background: transparent;
				font: inherit;
				font-size: .84rem;
				font-weight: 750;
				line-height: 1.35;
				text-align: left;
				cursor: pointer;
			}
			#loesung .fenster-solution__cta span { font-size: 1.12rem; transition: transform .2s ease; }
			#loesung .fenster-solution__cta:hover span { transform: translateX(4px); }
			#loesung .fenster-solution__cta:focus-visible,
			#loesung .fenster-solution__combined a:focus-visible {
				outline: 3px solid rgba(164,118,58,.48);
				outline-offset: 4px;
				border-radius: 4px;
			}
			#loesung .fenster-solution__card--door .fenster-solution__body { min-height: 300px; }
			#loesung .fenster-solution__door-icon {
				width: 38px;
				height: 38px;
				margin: 0 0 30px;
				padding: 14px;
				box-sizing: content-box;
				color: #6e6962;
				border: 1px solid rgba(82,74,66,.13);
				border-radius: 16px;
				background: #f4f1ec;
			}
			#loesung .fenster-solution__combined {
				margin: clamp(34px, 4vw, 50px) 0 0;
				padding-top: 24px;
				border-top: 1px solid rgba(118,92,58,.18);
				color: #5e574f;
				font-size: .96rem;
				line-height: 1.6;
			}
			#loesung .fenster-solution__combined a {
				margin-left: 5px;
				color: #815817;
				font-weight: 750;
				text-decoration: none;
			}
			#loesung .fenster-solution__combined a:hover { text-decoration: underline; text-underline-offset: 4px; }

			.fenster-solution-modal {
				width: min(560px, calc(100vw - 32px));
				max-width: none;
				max-height: min(90vh, 760px);
				padding: 0;
				border: 1px solid rgba(202,156,81,.3);
				border-radius: 24px;
				color: #28231f;
				background: #fbf8f3;
				box-shadow: 0 30px 90px rgba(25,18,12,.32);
				overflow: auto;
			}
			.fenster-solution-modal::backdrop { background: rgba(29,22,17,.68); backdrop-filter: blur(6px); }
			.fenster-solution-modal[open] { animation: solution-modal-in .18s ease-out; }
			@keyframes solution-modal-in { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
			.fenster-solution-modal__panel { position: relative; padding: clamp(28px, 5vw, 48px); }
			.fenster-solution-modal__close {
				position: absolute;
				top: 17px;
				right: 17px;
				width: 42px;
				height: 42px;
				padding: 0;
				border: 1px solid rgba(37,31,26,.12);
				border-radius: 50%;
				color: #403a34;
				background: #fff;
				font-size: 1.6rem;
				line-height: 1;
				cursor: pointer;
			}
			.fenster-solution-modal__close:focus-visible { outline: 3px solid rgba(164,118,58,.5); outline-offset: 3px; }
			.fenster-solution-modal__eyebrow { margin: 0 52px 12px 0; color: #8c6225; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
			.fenster-solution-modal h3 { margin: 0 48px 12px 0; color: #28231f; font-size: clamp(1.65rem, 4vw, 2.25rem); line-height: 1.12; letter-spacing: -.035em; }
			.fenster-solution-modal__intro { margin: 0 0 28px; color: #675f57; line-height: 1.55; }
			.fenster-solution-modal form { display: grid; gap: 15px; }
			.fenster-solution-modal form > label:not(.fenster-solution-modal__consent) { display: grid; gap: 7px; color: #4f4841; font-size: .8rem; font-weight: 700; }
			.fenster-solution-modal input:not([type="checkbox"]) {
				width: 100%;
				min-height: 52px;
				box-sizing: border-box;
				padding: 12px 15px;
				border: 1px solid rgba(48,40,33,.16);
				border-radius: 11px;
				color: #28231f;
				background: #fff;
				font: inherit;
			}
			.fenster-solution-modal input:focus { outline: 3px solid rgba(202,156,81,.23); border-color: #b6813d; }
			.fenster-solution-modal__consent { display: flex; align-items: flex-start; gap: 10px; margin: 3px 0; color: #686057; font-size: .75rem; line-height: 1.45; }
			.fenster-solution-modal__consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: #a4763a; }
			.fenster-solution-modal__consent a { color: #79531a; }
			.fenster-solution-modal__error { margin: 0; padding: 10px 12px; border-radius: 8px; color: #7c2727; background: #fae5e5; font-size: .82rem; }
			.fenster-solution-modal__submit {
				min-height: 54px;
				padding: 14px 24px;
				border: 1px solid rgba(202,156,81,.45);
				border-radius: 999px;
				color: #fff;
				background: linear-gradient(180deg, #cca057 0%, #b98940 100%);
				box-shadow: 0 12px 26px rgba(164,118,58,.25);
				font: inherit;
				font-weight: 700;
				cursor: pointer;
			}
			.fenster-solution-modal__submit:disabled { opacity: .65; cursor: wait; }
			.fenster-solution-modal__trust { display: block; color: #817970; font-size: .72rem; text-align: center; }
			.fenster-solution-modal__success { min-height: 280px; display: grid; place-content: center; gap: 18px; text-align: center; }
			.fenster-solution-modal__success[hidden],
			.fenster-solution-modal [hidden] { display: none !important; }
			.fenster-solution-modal__success > span { width: 64px; height: 64px; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg,#d0a55e,#a67535); font-size: 1.8rem; }
			.fenster-solution-modal__success h3 { margin: 0; }

			@media (max-width: 1199px) {
				#loesung .fenster-solution__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			}
			@media (max-width: 767px) {
				body.page-fenster-tueren main > section#loesung.fenster-solution { padding: 48px 0 64px; }
				#loesung .fenster-solution__shell { margin: 0; padding: 0; border-radius: 0; }
				#loesung .fenster-solution__head { margin-left: 0; text-align: left; }
				#loesung .fenster-solution__eyebrow::before { display: none; }
				#loesung .fenster-solution__head h2 { margin-left: 0; font-size: clamp(2.1rem, 10vw, 3rem); text-align: left; }
				#loesung .fenster-solution__head > p:last-child { margin-left: 0; text-align: left; }
				#loesung .fenster-solution__grid { grid-template-columns: 1fr; gap: 14px; }
				#loesung .fenster-solution__group > h3 { gap: 12px; font-size: .86rem; letter-spacing: .13em; }
				#loesung .fenster-solution__group > h3::after { width: 72px; }
				#loesung .fenster-solution__body { min-height: 250px; }
				#loesung .fenster-solution__card--door .fenster-solution__body { min-height: 280px; }
				#loesung .fenster-solution__cta { min-height: 48px; }
				#loesung .fenster-solution__combined a { display: block; margin: 5px 0 0; }
				.fenster-solution-modal { width: 100vw; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; }
				.fenster-solution-modal__panel { min-height: 100%; box-sizing: border-box; padding: 28px 20px; }
			}
			@media (prefers-reduced-motion: reduce) {
				#loesung .fenster-solution__card,
				#loesung .fenster-solution__image,
				#loesung .fenster-solution__cta span,
				.fenster-solution-modal[open] { animation: none; transition: none; }
			}
