.elementor-9 .elementor-element.elementor-element-431e84e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-431e84e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-9 .elementor-element.elementor-element-7819e32{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-9 .elementor-element.elementor-element-f224058{--display:flex;--margin-top:-21px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-f224058:not(.elementor-motion-effects-element-type-background), .elementor-9 .elementor-element.elementor-element-f224058 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-9 .elementor-element.elementor-element-f05b3c3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-9 .elementor-element.elementor-element-fefba99{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9 .elementor-element.elementor-element-81fcc26{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-9 .elementor-element.elementor-element-431e84e{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-f05b3c3 */.nv-journey {
	--nv-gold: #ffd75e;
	--nv-gold-bright: #ffeb91;
	--nv-gold-light: #fff4b8;
	--nv-gold-white: #fffbe1;
	--nv-gold-rich: #ebb229;
	--nv-gold-deep: #ae6904;

	--nv-white: #fffdf7;
	--nv-dark: #090806;
	--nv-progress: 0;

	--nv-mouse-x: 35%;
	--nv-mouse-y: 45%;

	position: relative;
	isolation: isolate;
	width: 100%;
	padding:
		clamp(85px, 10vw, 145px)
		clamp(18px, 5vw, 65px);
	overflow: hidden;

	color: var(--nv-white);

	background:
		radial-gradient(
			circle at 10% 35%,
			rgba(255, 215, 94, 0.12),
			transparent 32%
		),
		radial-gradient(
			circle at 90% 75%,
			rgba(184, 108, 4, 0.075),
			transparent 31%
		),
		linear-gradient(
			125deg,
			#030303,
			#0c0b08 51%,
			#040403
		);

	border-top: 1px solid rgba(255, 215, 94, 0.14);
	border-right: 0;
	border-bottom: 1px solid rgba(255, 215, 94, 0.16);
	border-left: 0;
	border-radius: 0;

	box-shadow:
		0 48px 115px rgba(0, 0, 0, 0.57),
		inset 0 1px 0 rgba(255, 244, 184, 0.055);

	font-family: inherit;
}

.nv-journey *,
.nv-journey *::before,
.nv-journey *::after {
	box-sizing: border-box;
}

.nv-journey::before {
	content: "";
	position: absolute;
	z-index: 8;
	top: 0;
	left: 7%;
	width: 86%;
	height: 1px;

	background: linear-gradient(
		90deg,
		transparent,
		#9a5e04,
		#ffd75e,
		#fffbe1,
		#ffd75e,
		#9a5e04,
		transparent
	);
	background-size: 240% 100%;

	box-shadow:
		0 0 18px rgba(255, 215, 94, 0.67),
		0 5px 31px rgba(255, 215, 94, 0.25);

	animation: nvTopLine 7s ease-in-out infinite;
}

/* =========================================================
   HINTERGRUND
   ========================================================= */

.nv-background {
	position: absolute;
	z-index: 0;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.nv-cursor-glow {
	position: absolute;
	inset: 0;

	background:
		radial-gradient(
			circle 500px at
			var(--nv-mouse-x)
			var(--nv-mouse-y),
			rgba(255, 229, 126, 0.15),
			rgba(255, 195, 27, 0.05) 37%,
			transparent 72%
		);
}

/* Diagonales technisches Raster */

.nv-grid {
	position: absolute;
	inset: -30%;

	background-image:
		linear-gradient(
			rgba(255, 215, 94, 0.045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 215, 94, 0.045) 1px,
			transparent 1px
		);

	background-size: 74px 74px;

	-webkit-mask-image: linear-gradient(
		105deg,
		transparent 5%,
		#000 35%,
		#000 75%,
		transparent 100%
	);
	mask-image: linear-gradient(
		105deg,
		transparent 5%,
		#000 35%,
		#000 75%,
		transparent 100%
	);

	transform: rotate(-10deg);

	animation:
		nvGridMove 23s linear infinite,
		nvGridPulse 7s ease-in-out infinite;
}

/* Linke Radargrafik */

.nv-radar {
	position: absolute;
	top: 12%;
	left: -330px;
	width: 760px;
	height: 760px;

	border: 1px solid rgba(255, 215, 94, 0.07);
	border-radius: 50%;

	box-shadow:
		inset 0 0 100px rgba(255, 215, 94, 0.025),
		0 0 80px rgba(255, 215, 94, 0.02);

	animation: nvRadarRotate 38s linear infinite;
}

.nv-radar::before,
.nv-radar::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(255, 215, 94, 0.075);
	border-radius: 50%;
}

.nv-radar::before {
	inset: 17%;
	border-style: dashed;

	animation: nvRadarReverse 24s linear infinite;
}

.nv-radar::after {
	inset: 36%;

	box-shadow:
		0 0 60px rgba(255, 215, 94, 0.04),
		inset 0 0 60px rgba(255, 215, 94, 0.03);
}

/* Aurora */

.nv-aurora {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
	mix-blend-mode: screen;
	will-change: transform;
}

.nv-aurora-one {
	top: -250px;
	left: 5%;
	width: 580px;
	height: 580px;

	background: rgba(255, 201, 40, 0.19);

	animation: nvAuroraOne 15s ease-in-out infinite alternate;
}

.nv-aurora-two {
	right: -230px;
	bottom: -260px;
	width: 670px;
	height: 670px;

	background: rgba(226, 150, 15, 0.16);

	animation: nvAuroraTwo 18s ease-in-out infinite alternate;
}

/* Diagonale Lichtstrahlen */

.nv-beam {
	position: absolute;
	top: -25%;
	width: 1px;
	height: 150%;

	background: linear-gradient(
		to bottom,
		transparent,
		rgba(255, 239, 164, 0.28),
		transparent
	);

	box-shadow:
		0 0 30px rgba(255, 215, 94, 0.13),
		0 0 100px rgba(255, 215, 94, 0.055);

	transform: rotate(29deg);
}

.nv-beam-one {
	left: 29%;
	animation: nvBeam 8s ease-in-out infinite;
}

.nv-beam-two {
	right: 16%;
	animation: nvBeam 10s ease-in-out -4s infinite;
}

/* Partikel */

.nv-particles {
	position: absolute;
	inset: 0;
}

.nv-particles i {
	position: absolute;
	left: var(--particle-x);
	bottom: -25px;
	width: var(--particle-size);
	height: var(--particle-size);

	background: var(--nv-gold-bright);
	border-radius: 50%;

	box-shadow:
		0 0 8px rgba(255, 215, 94, 0.85),
		0 0 22px rgba(255, 215, 94, 0.32);

	opacity: 0;

	animation:
		nvParticle
		var(--particle-duration)
		linear
		var(--particle-delay)
		infinite;
}

/* =========================================================
   ASYMMETRISCHES LAYOUT
   ========================================================= */

.nv-inner {
	position: relative;
	z-index: 2;
	width: min(100%, 1240px);
	margin-inline: auto;
}

.nv-layout {
	display: grid;
	grid-template-columns:
		minmax(320px, 0.82fr)
		minmax(520px, 1.18fr);
	align-items: start;
	gap: clamp(55px, 8vw, 115px);
}

/* =========================================================
   LINKE TEXTSEITE
   ========================================================= */

.nv-copy {
	position: sticky;
	top: 105px;
	padding-top: 28px;
	text-align: left;
}

.nv-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 21px;
	padding: 10px 16px;

	color: var(--nv-gold-light);

	background:
		linear-gradient(
			135deg,
			rgba(255, 215, 94, 0.11),
			rgba(255, 215, 94, 0.03)
		);

	border: 1px solid rgba(255, 215, 94, 0.34);
	border-radius: 999px;

	box-shadow:
		0 9px 27px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 249, 220, 0.1);

	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;

	animation: nvEyebrowFloat 4s ease-in-out infinite;
}

.nv-eyebrow-dot {
	width: 8px;
	height: 8px;

	background: var(--nv-gold-bright);
	border-radius: 50%;

	box-shadow:
		0 0 0 5px rgba(255, 215, 94, 0.08),
		0 0 18px rgba(255, 215, 94, 0.82);

	animation: nvDotPulse 2s ease-in-out infinite;
}

.nv-heading {
	margin: 0;

	color: #ffffff;

	font-family: inherit;
	font-size: clamp(2.3rem, 4.4vw, 4.35rem);
	font-weight: 900;
	letter-spacing: -0.052em;
	line-height: 1.01;
	text-wrap: balance;
}

.nv-heading span {
	display: block;
	margin-top: 9px;

	background: linear-gradient(
		105deg,
		#d28a0c,
		#ffd75e 28%,
		#fff7ca 49%,
		#ffe579 67%,
		#d99311
	);
	background-size: 230% auto;

	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;

	filter: drop-shadow(
		0 12px 30px rgba(255, 196, 28, 0.11)
	);

	animation: nvGoldText 7s ease-in-out infinite;
}

.nv-description {
	max-width: 540px;
	margin: 24px 0 0;

	color: #ffffff;

	font-size: clamp(1rem, 1.4vw, 1.1rem);
	line-height: 1.72;
}

/* Dynamische Statusanzeige */

.nv-live-status {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 15px;
	max-width: 430px;
	margin-top: 31px;
	padding: 15px 17px;

	background:
		linear-gradient(
			145deg,
			rgba(27, 24, 16, 0.94),
			rgba(9, 9, 6, 0.96)
		);

	border: 1px solid rgba(255, 215, 94, 0.22);
	border-radius: 14px;

	box-shadow:
		0 15px 37px rgba(0, 0, 0, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.nv-live-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 51px;
	height: 51px;

	color: #171005;

	background: linear-gradient(
		135deg,
		#fff7ca,
		#ffd75e,
		#d48b09
	);

	border-radius: 13px;

	box-shadow:
		0 8px 21px rgba(255, 191, 21, 0.23),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);

	font-size: 0.82rem;
	font-weight: 950;

	transition:
		filter 0.35s ease,
		transform 0.35s ease;
}

.nv-live-status.is-changing .nv-live-number {
	filter: brightness(1.15);
	transform: rotate(-6deg) scale(1.08);
}

.nv-live-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nv-live-copy small {
	color: #ffffff;

	font-size: 0.62rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.62;
}

.nv-live-copy strong {
	color: var(--nv-gold-light);

	font-size: 0.91rem;
	font-weight: 900;
	line-height: 1.25;
}

/* CTA links */

.nv-copy-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 51px;
	margin-top: 25px;
	padding: 0 20px;

	color: #171005;

	background: linear-gradient(
		110deg,
		#c77d06,
		#ffd75e 34%,
		#fff4b4 53%,
		#dfa01a
	);
	background-size: 230% 100%;

	border: 1px solid rgba(255, 244, 181, 0.84);
	border-radius: 999px;

	box-shadow:
		0 14px 33px rgba(255, 190, 20, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);

	font-size: 0.8rem;
	font-weight: 900;
	text-decoration: none;

	animation:
		nvButtonGradient 4s ease-in-out infinite,
		nvButtonPulse 3.5s ease-in-out infinite;

	transition:
		box-shadow 0.3s ease,
		filter 0.3s ease,
		transform 0.3s ease;
}

.nv-copy-cta:hover {
	color: #171005;

	box-shadow:
		0 20px 44px rgba(255, 193, 27, 0.4),
		0 0 27px rgba(255, 215, 94, 0.18);

	filter: brightness(1.06);
	transform: translateY(-4px);
}

.nv-copy-cta span {
	animation: nvArrow 1.8s ease-in-out infinite;
}

/* =========================================================
   RECHTE VERTIKALE JOURNEY
   ========================================================= */

.nv-flow {
	position: relative;
	display: grid;
	gap: clamp(30px, 5vw, 56px);
	padding-left: 88px;
}

/* Vertikale Grundlinie */

.nv-track {
	position: absolute;
	z-index: 1;
	top: 45px;
	bottom: 45px;
	left: 35px;
	width: 3px;

	background: rgba(255, 215, 94, 0.1);
	border-radius: 999px;

	box-shadow: 0 0 15px rgba(255, 215, 94, 0.035);
}

/* Gefüllte Linie */

.nv-track-progress {
	position: absolute;
	inset: 0;

	background: linear-gradient(
		to bottom,
		#bb7406,
		#ffd75e,
		#fff6c4,
		#ffd75e
	);

	border-radius: inherit;

	box-shadow:
		0 0 12px rgba(255, 215, 94, 0.7),
		0 0 29px rgba(255, 215, 94, 0.24);

	transform: scaleY(var(--nv-progress));
	transform-origin: top;

	transition: transform 0.12s linear;
}

/* Lichtpunkt auf Linie */

.nv-track-pulse {
	position: absolute;
	z-index: 2;
	top: calc(var(--nv-progress) * 100%);
	left: 50%;
	width: 13px;
	height: 13px;

	background: var(--nv-gold-white);
	border: 2px solid var(--nv-gold);
	border-radius: 50%;

	box-shadow:
		0 0 0 7px rgba(255, 215, 94, 0.08),
		0 0 18px rgba(255, 215, 94, 0.95),
		0 0 36px rgba(255, 215, 94, 0.45);

	opacity: clamp(0, calc(var(--nv-progress) * 4), 1);

	transform: translate(-50%, -50%);

	transition:
		top 0.12s linear,
		opacity 0.3s ease;

	animation: nvTrackPulse 2s ease-in-out infinite;
}

/* Einzelne Station */

.nv-stage {
	--card-x: 50%;
	--card-y: 50%;
	--card-rx: 0deg;
	--card-ry: 0deg;

	position: relative;
	z-index: 2;

	opacity: 0.74;
	filter: saturate(0.7);

	transition:
		opacity 0.65s ease,
		filter 0.65s ease;
}

.nv-stage.is-active {
	opacity: 1;
	filter: saturate(1);
}

/* Zweite Karte bewusst versetzt */

.nv-stage:nth-of-type(3) .nv-card {
	margin-left: clamp(22px, 5vw, 72px);
}

/* Dritte Karte leicht zurückversetzt */

.nv-stage:nth-of-type(4) .nv-card {
	margin-left: clamp(5px, 2vw, 24px);
}

/* Professioneller Icon-Kreis */

.nv-node {
	position: absolute;
	z-index: 4;
	top: 28px;
	left: -88px;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;

	color: var(--nv-gold-light);

	background:
		radial-gradient(
			circle at 35% 25%,
			rgba(255, 215, 94, 0.13),
			transparent 42%
		),
		linear-gradient(
			145deg,
			#201c12,
			#0c0b07
		);

	border: 1px solid rgba(255, 215, 94, 0.32);
	border-radius: 50%;

	box-shadow:
		0 15px 36px rgba(0, 0, 0, 0.46),
		0 0 0 7px rgba(255, 215, 94, 0.025),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);

	transition:
		color 0.4s ease,
		background 0.4s ease,
		border-color 0.4s ease,
		box-shadow 0.4s ease,
		transform 0.4s ease;
}

.nv-node::before {
	content: "";
	position: absolute;
	inset: -7px;

	border: 1px dashed rgba(255, 215, 94, 0.17);
	border-radius: 50%;

	animation: nvNodeRing 13s linear infinite;
}

.nv-node svg {
	position: relative;
	z-index: 2;
	width: 29px;
	height: 29px;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;

	transition: transform 0.4s ease;
}

.nv-stage.is-active .nv-node {
	color: #171005;

	background: linear-gradient(
		135deg,
		#fff6c4,
		#ffd75e 58%,
		#d58c09
	);

	border-color: var(--nv-gold-light);

	box-shadow:
		0 0 0 7px rgba(255, 215, 94, 0.045),
		0 18px 43px rgba(255, 187, 20, 0.24),
		0 0 29px rgba(255, 215, 94, 0.17),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);

	transform: scale(1.055);
}

.nv-stage.is-active .nv-node svg {
	transform: scale(1.08);
}

/* Horizontale Verbindung zur Karte */

.nv-stage::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 63px;
	left: -52px;
	width: 54px;
	height: 1px;

	background: linear-gradient(
		90deg,
		rgba(255, 215, 94, 0.55),
		rgba(255, 215, 94, 0.1)
	);

	transform: scaleX(0.4);
	transform-origin: left;

	transition: transform 0.55s ease;
}

.nv-stage.is-active::before {
	transform: scaleX(1);
}

/* Karten */

.nv-card {
	position: relative;
	width: calc(100% - 4px);
	min-height: 225px;
	padding: clamp(23px, 4vw, 32px);
	overflow: hidden;

	background:
		radial-gradient(
			circle 220px at
			var(--card-x)
			var(--card-y),
			rgba(255, 215, 94, 0.11),
			transparent 70%
		),
		radial-gradient(
			circle at 100% 0,
			rgba(255, 215, 94, 0.07),
			transparent 38%
		),
		linear-gradient(
			145deg,
			rgba(25, 22, 15, 0.97),
			rgba(8, 8, 6, 0.99)
		);

	border: 1px solid rgba(255, 215, 94, 0.21);
	border-radius: 17px;

	box-shadow:
		0 21px 50px rgba(0, 0, 0, 0.42),
		inset 0 1px 0 rgba(255, 255, 255, 0.03);

	transform:
		perspective(1200px)
		rotateX(var(--card-rx))
		rotateY(var(--card-ry));

	transform-style: preserve-3d;

	transition:
		border-color 0.38s ease,
		box-shadow 0.38s ease,
		transform 0.18s ease-out;
}

.nv-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 42%;
	height: 1px;

	background: linear-gradient(
		90deg,
		var(--nv-gold-bright),
		transparent
	);

	box-shadow: 0 0 16px rgba(255, 215, 94, 0.3);

	transform: scaleX(0);
	transform-origin: left;

	transition: transform 0.65s ease;
}

.nv-card::after {
	content: "";
	position: absolute;
	top: -140%;
	left: -55%;
	width: 23%;
	height: 380%;

	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 249, 220, 0.13),
		transparent
	);

	pointer-events: none;

	transform: rotate(18deg);
	transition: left 0.8s ease;
}

.nv-stage.is-active .nv-card::before {
	transform: scaleX(1);
}

.nv-card:hover {
	border-color: rgba(255, 215, 94, 0.58);

	box-shadow:
		0 30px 65px rgba(0, 0, 0, 0.52),
		0 0 27px rgba(255, 215, 94, 0.08);
}

.nv-card:hover::after {
	left: 135%;
}

.nv-card-number {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 17px;

	color: var(--nv-gold-bright);

	font-size: 0.65rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.nv-card-number::before {
	content: "";
	width: 22px;
	height: 1px;

	background: var(--nv-gold-bright);

	box-shadow: 0 0 8px rgba(255, 215, 94, 0.5);
}

.nv-card-title {
	margin: 0;

	color: #ffffff;

	font-size: clamp(1.35rem, 2.5vw, 1.9rem);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.13;
}

.nv-card-copy {
	margin: 12px 0 0;

	color: #ffffff;

	font-size: 0.86rem;
	line-height: 1.65;
}

.nv-card-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 19px;
	padding-top: 16px;

	border-top: 1px solid rgba(255, 215, 94, 0.1);
}

.nv-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.nv-card-tag {
	display: inline-flex;
	align-items: center;
	padding: 7px 9px;

	color: var(--nv-gold-light);

	background: rgba(255, 215, 94, 0.055);
	border: 1px solid rgba(255, 215, 94, 0.18);
	border-radius: 999px;

	font-size: 0.61rem;
	font-weight: 800;

	transition:
		background 0.3s ease,
		border-color 0.3s ease,
		transform 0.3s ease;
}

.nv-card:hover .nv-card-tag {
	background: rgba(255, 215, 94, 0.08);
	border-color: rgba(255, 215, 94, 0.3);
	transform: translateY(-2px);
}

.nv-card-result {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	color: #ffffff;

	font-size: 0.67rem;
	font-weight: 750;
	opacity: 0.72;

	transition:
		color 0.3s ease,
		opacity 0.3s ease;
}

.nv-card-result::before {
	content: "→";

	color: var(--nv-gold-bright);
	font-weight: 950;
}

.nv-card:hover .nv-card-result {
	color: var(--nv-gold-light);
	opacity: 1;
}

/* =========================================================
   ABSCHLUSS UNTER DER JOURNEY
   ========================================================= */

.nv-closing {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 25px;
	margin-top: clamp(55px, 8vw, 90px);
	padding: clamp(25px, 4vw, 36px);

	background:
		radial-gradient(
			circle at 0 50%,
			rgba(255, 215, 94, 0.1),
			transparent 42%
		),
		linear-gradient(
			145deg,
			rgba(25, 22, 15, 0.95),
			rgba(8, 8, 6, 0.98)
		);

	border: 1px solid rgba(255, 215, 94, 0.25);
	border-radius: 17px;

	box-shadow:
		0 24px 58px rgba(0, 0, 0, 0.44),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.nv-closing::before {
	content: "";
	position: absolute;
}

.nv-closing-label {
	display: block;
	margin-bottom: 7px;

	color: var(--nv-gold-bright);

	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.nv-closing-title {
	margin: 0;

	color: #ffffff;

	font-size: clamp(1.35rem, 2.8vw, 2.15rem);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.13;
}

.nv-closing-copy {
	margin: 9px 0 0;

	color: #ffffff;

	font-size: 0.82rem;
	line-height: 1.57;
}

.nv-closing-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 52px;
	padding: 0 21px;

	color: #171005;

	background: linear-gradient(
		110deg,
		#c77d06,
		#ffd75e 34%,
		#fff4b4 53%,
		#dfa01a
	);
	background-size: 230% 100%;

	border: 1px solid rgba(255, 244, 181, 0.84);
	border-radius: 999px;

	box-shadow:
		0 14px 33px rgba(255, 190, 20, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);

	font-size: 0.8rem;
	font-weight: 900;
	text-decoration: none;
	white-space: nowrap;

	animation:
		nvButtonGradient 4s ease-in-out infinite,
		nvButtonPulse 3.5s ease-in-out infinite;

	transition:
		box-shadow 0.3s ease,
		filter 0.3s ease,
		transform 0.3s ease;
}

.nv-closing-button:hover {
	color: #171005;

	box-shadow:
		0 20px 44px rgba(255, 193, 27, 0.4),
		0 0 27px rgba(255, 215, 94, 0.18);

	filter: brightness(1.06);
	transform: translateY(-4px);
}

/* =========================================================
   ENTRANCE
   ========================================================= */

.nv-journey.nv-js .nv-reveal {
	opacity: 0;
	filter: blur(7px);
	transform: translateY(35px) scale(0.985);

	transition:
		opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
		filter 0.95s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
}

.nv-journey.nv-js .nv-reveal.is-visible {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0) scale(1);
}

/* =========================================================
   ANIMATIONEN
   ========================================================= */

@keyframes nvTopLine {
	0%,
	100% {
		background-position: 0 50%;
		opacity: 0.7;
	}

	50% {
		background-position: 100% 50%;
		opacity: 1;
	}
}

@keyframes nvGridMove {
	to {
		background-position: 148px 148px;
	}
}

@keyframes nvGridPulse {
	0%,
	100% {
		opacity: 0.34;
	}

	50% {
		opacity: 0.62;
	}
}

@keyframes nvRadarRotate {
	to {
		transform: rotate(360deg);
	}
}

@keyframes nvRadarReverse {
	to {
		transform: rotate(-360deg);
	}
}

@keyframes nvAuroraOne {
	from {
		transform: translate3d(-8%, -5%, 0) scale(0.9);
	}

	to {
		transform: translate3d(38%, 25%, 0) scale(1.17);
	}
}

@keyframes nvAuroraTwo {
	from {
		transform: translate3d(12%, 10%, 0) scale(0.9);
	}

	to {
		transform: translate3d(-35%, -22%, 0) scale(1.18);
	}
}

@keyframes nvBeam {
	0%,
	100% {
		opacity: 0.1;
		filter: blur(0);
	}

	50% {
		opacity: 0.46;
		filter: blur(1px);
	}
}

@keyframes nvParticle {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.6);
	}

	12% {
		opacity: 0.65;
	}

	58% {
		opacity: 0.28;
		transform:
			translate3d(23px, -52vh, 0)
			scale(1);
	}

	100% {
		opacity: 0;
		transform:
			translate3d(-16px, -108vh, 0)
			scale(0.35);
	}
}

@keyframes nvEyebrowFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-5px);
	}
}

@keyframes nvDotPulse {
	0%,
	100% {
		opacity: 0.72;
		transform: scale(0.9);
	}

	50% {
		opacity: 1;
		transform: scale(1.18);
	}
}

@keyframes nvGoldText {
	0%,
	100% {
		background-position: 0 50%;
	}

	50% {
		background-position: 100% 50%;
	}
}

@keyframes nvButtonGradient {
	0%,
	100% {
		background-position: 0 50%;
	}

	50% {
		background-position: 100% 50%;
	}
}

@keyframes nvButtonPulse {
	0%,
	100% {
		filter: brightness(1);
	}

	50% {
		filter: brightness(1.07);
	}
}

@keyframes nvArrow {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(4px);
	}
}

@keyframes nvTrackPulse {
	0%,
	100% {
		filter: brightness(1);
		transform:
			translate(-50%, -50%)
			scale(0.9);
	}

	50% {
		filter: brightness(1.2);
		transform:
			translate(-50%, -50%)
			scale(1.18);
	}
}

@keyframes nvNodeRing {
	to {
		transform: rotate(360deg);
	}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {
	.nv-layout {
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.nv-copy {
		position: relative;
		top: auto;
		max-width: 720px;
		padding-top: 0;
	}

	.nv-flow {
		max-width: 760px;
		width: 100%;
		margin-left: auto;
	}

	.nv-heading {
		max-width: 760px;
	}

	.nv-description {
		max-width: 680px;
	}
}

@media (max-width: 680px) {
	.nv-journey {
		padding:
			72px 13px
			70px;
	}

	.nv-flow {
		padding-left: 57px;
	}

	.nv-track {
		left: 21px;
	}

	.nv-node {
		top: 24px;
		left: -57px;
		width: 44px;
		height: 44px;
	}

	.nv-node::before {
		inset: -5px;
	}

	.nv-node svg {
		width: 21px;
		height: 21px;
	}

	.nv-stage::before {
		top: 46px;
		left: -35px;
		width: 37px;
	}

	.nv-stage:nth-of-type(3) .nv-card,
	.nv-stage:nth-of-type(4) .nv-card {
		margin-left: 0;
	}

	.nv-card {
		min-height: 0;
		padding: 23px 18px;
		border-radius: 15px;
	}

	.nv-card-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.nv-closing {
		grid-template-columns: 1fr;
		padding: 25px 19px;
	}

	.nv-closing-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nv-journey *,
	.nv-journey *::before,
	.nv-journey *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.nv-journey {
		--nv-progress: 1 !important;
	}

	.nv-stage {
		opacity: 1 !important;
		filter: none !important;
	}

	.nv-journey.nv-js .nv-reveal {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
	}
}
/* =========================================================
   HERO -> JOURNEY / KORRIGIERTE VERSION

   Den bisherigen Übergangs-Code vollständig löschen und
   ausschließlich diesen Block verwenden.
   ========================================================= */

/* Beide Abschnitte erhalten exakt dieselbe dunkle Grundfarbe. */
.gx-domain-hero,
.nv-journey {
	--seam-dark: #050504;
}

/* Hero: unten keine Kartenkante und keine harte Lichtlinie. */
.gx-domain-hero {
	margin-bottom: 0 !important;
	border-bottom: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	background:
		radial-gradient(
			ellipse at 50% 100%,
			rgba(255, 215, 94, 0.105) 0%,
			rgba(188, 124, 10, 0.04) 32%,
			transparent 67%
		),
		radial-gradient(
			circle at 50% -15%,
			rgba(255, 215, 94, 0.18),
			transparent 36%
		),
		linear-gradient(
			145deg,
			#030303 0%,
			#0c0b08 48%,
			var(--seam-dark) 100%
		) !important;
}

.gx-domain-hero::after {
	display: none !important;
	content: none !important;
}

/* Journey direkt anschließen, ohne zusätzliche Rechteck-Ebene. */
.nv-journey {
	margin-top: 0 !important;
	border-top: 0 !important;
	border-top-right-radius: 0 !important;
	border-top-left-radius: 0 !important;
	background:
		radial-gradient(
			ellipse at 50% 0%,
			rgba(255, 215, 94, 0.105) 0%,
			rgba(188, 124, 10, 0.035) 30%,
			transparent 64%
		),
		linear-gradient(
			to bottom,
			var(--seam-dark) 0%,
			#080704 18%,
			#050504 48%,
			#030303 100%
		) !important;
}

/* Entfernt den fehlerhaften Block aus der ersten Version. */
.nv-journey::before {
	display: none !important;
	content: none !important;
}

/* Vorhandene Journey-Ebenen normal stapeln. */
.nv-journey > .nv-background {
	z-index: 0 !important;
}

.nv-journey > .nv-inner {
	position: relative;
	z-index: 1 !important;
}

/*
 * Elementor erzeugt Abstände meist am äußeren Widget.
 * Diese Regeln greifen bei aktuellen Elementor-Versionen.
 */
.elementor-widget-html:has(.gx-domain-hero),
.elementor-widget-html:has(.nv-journey) {
	margin-block: 0 !important;
}

.elementor-widget-html:has(.gx-domain-hero)
	+ .elementor-widget-html:has(.nv-journey) {
	margin-top: 0 !important;
}

/* Fallback-Klasse für Browser/Setups ohne :has().
   Dem äußeren Elementor-Container bei Bedarf unter
   Erweitert -> CSS-Klassen "seamless-sections" geben. */
.seamless-sections,
.seamless-sections > .e-con-inner {
	gap: 0 !important;
	row-gap: 0 !important;
}

/* =========================================================
   HERO -> JOURNEY / VERSION 3

   Nach Version 2 einfügen oder Version 2 damit ersetzen.
   Der entscheidende Unterschied: Die animierten Backgrounds
   werden an der Schnittstelle weich aus-/eingeblendet.
   ========================================================= */

.gx-domain-hero,
.nv-journey {
	--seam-dark: #050504;
	--seam-fade: clamp(150px, 16vw, 280px);
	margin-block: 0 !important;
}

/* Beide Hauptflächen treffen sich in derselben Farbe. */
.gx-domain-hero {
	border-bottom: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	background:
		linear-gradient(
			to bottom,
			#030303 0%,
			#0c0b08 48%,
			var(--seam-dark) 100%
		) !important;
}

.nv-journey {
	margin-top: -1px !important;
	border-top: 0 !important;
	border-top-right-radius: 0 !important;
	border-top-left-radius: 0 !important;
	background:
		linear-gradient(
			to bottom,
			var(--seam-dark) 0%,
			#060604 38%,
			#030303 100%
		) !important;
}

/* Alle künstlichen Übergangs-Rechtecke deaktivieren. */
.gx-domain-hero::after,
.nv-journey::before {
	display: none !important;
	content: none !important;
}

/*
 * Hero-Effekte werden zum unteren Rand hin transparent.
 * Dadurch enden Raster, Strahlen und Aurora nicht mehr hart.
 */
.gx-domain-hero > .gx-background {
	-webkit-mask-image: linear-gradient(
		to bottom,
		#000 0%,
		#000 calc(100% - var(--seam-fade)),
		rgba(0, 0, 0, 0.72) calc(100% - 95px),
		transparent 100%
	) !important;
	mask-image: linear-gradient(
		to bottom,
		#000 0%,
		#000 calc(100% - var(--seam-fade)),
		rgba(0, 0, 0, 0.72) calc(100% - 95px),
		transparent 100%
	) !important;
}

/*
 * Journey-Effekte beginnen transparent und erscheinen erst
 * weiter unten. Genau das beseitigt die sichtbare Horizontale.
 */
.nv-journey > .nv-background {
	z-index: 0 !important;
	-webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0,
		rgba(0, 0, 0, 0.16) 55px,
		rgba(0, 0, 0, 0.58) calc(var(--seam-fade) * 0.62),
		#000 var(--seam-fade),
		#000 100%
	) !important;
	mask-image: linear-gradient(
		to bottom,
		transparent 0,
		rgba(0, 0, 0, 0.16) 55px,
		rgba(0, 0, 0, 0.58) calc(var(--seam-fade) * 0.62),
		#000 var(--seam-fade),
		#000 100%
	) !important;
}

.nv-journey > .nv-inner {
	position: relative;
	z-index: 1 !important;
}

/* Ein sehr dezenter gemeinsamer Lichtschein ohne harte Kante. */
.nv-journey::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: calc(var(--seam-fade) * -0.42);
	left: 50%;
	width: min(1100px, 88vw);
	height: calc(var(--seam-fade) * 1.25);
	pointer-events: none;
	background: radial-gradient(
		ellipse at center,
		rgba(255, 205, 55, 0.055) 0%,
		rgba(188, 124, 10, 0.022) 38%,
		transparent 72%
	);
	transform: translateX(-50%);
}

/* Elementor-Abstände sicher entfernen. */
.elementor-widget-html:has(.gx-domain-hero),
.elementor-widget-html:has(.nv-journey),
.elementor-widget-html:has(.gx-domain-hero)
	+ .elementor-widget-html:has(.nv-journey) {
	margin-block: 0 !important;
}

.seamless-sections,
.seamless-sections > .e-con-inner {
	gap: 0 !important;
	row-gap: 0 !important;
}

@media (max-width: 767px) {
	.gx-domain-hero,
	.nv-journey {
		--seam-fade: 135px;
	}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-70b1c37 *//* =========================================================
   PREMIUM PROJEKT-KOMPASS – ASYMMETRISCH OPTIMIERT
   Komplettes Elementor HTML-Widget
   ========================================================= */

.lv-project {
	--lv-gold: #ffd75e;
	--lv-gold-bright: #ffeb91;
	--lv-gold-light: #fff4b8;
	--lv-gold-white: #fffbe1;
	--lv-gold-rich: #ecb42a;
	--lv-gold-deep: #b87306;

	--lv-red: #ff7878;
	--lv-white: #fffdf7;
	--lv-black: #030303;
	--lv-dark: #090806;

	--lv-mouse-x: 50%;
	--lv-mouse-y: 38%;

	position: relative;
	isolation: isolate;
	width: 100%;
	margin: 0;
	padding:
		clamp(85px, 10vw, 145px)
		clamp(17px, 5vw, 62px);
	overflow: hidden;

	color: var(--lv-white);

	background:
		radial-gradient(
			circle at 10% 5%,
			rgba(255, 215, 94, 0.14),
			transparent 31%
		),
		radial-gradient(
			circle at 95% 76%,
			rgba(190, 115, 5, 0.085),
			transparent 31%
		),
		linear-gradient(
			135deg,
			#020202,
			#0c0b08 48%,
			#040403
		);

	border-top: 1px solid rgba(255, 215, 94, 0.2);
	border-right: 0;
	border-bottom: 1px solid rgba(255, 215, 94, 0.17);
	border-left: 0;
	border-radius: 0;

	box-shadow:
		0 55px 130px rgba(0, 0, 0, 0.6),
		inset 0 1px 0 rgba(255, 244, 184, 0.06);

	font-family: inherit;
}

.lv-project *,
.lv-project *::before,
.lv-project *::after {
	box-sizing: border-box;
}

.lv-project::before {
	content: "";
	position: absolute;
	z-index: 10;
	top: 0;
	left: 7%;
	width: 86%;
	height: 2px;

	background: linear-gradient(
		90deg,
		transparent,
		#9d6205,
		#ffd75e,
		#fffbe1,
		#ffd75e,
		#9d6205,
		transparent
	);
	background-size: 240% 100%;

	box-shadow:
		0 0 18px rgba(255, 215, 94, 0.78),
		0 5px 34px rgba(255, 215, 94, 0.3);

	animation: lvTopLine 7s ease-in-out infinite;
}

.lv-project::after {
	content: "";
	position: absolute;
	z-index: 5;
	right: 10%;
	bottom: 0;
	left: 10%;
	height: 1px;

	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 215, 94, 0.45),
		rgba(255, 251, 225, 0.8),
		rgba(255, 215, 94, 0.45),
		transparent
	);

	box-shadow: 0 0 28px rgba(255, 215, 94, 0.34);
}

/* =========================================================
   HINTERGRUND
   ========================================================= */

.lv-background {
	position: absolute;
	z-index: 0;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.lv-cursor-light {
	position: absolute;
	inset: 0;

	background:
		radial-gradient(
			circle 480px at
			var(--lv-mouse-x)
			var(--lv-mouse-y),
			rgba(255, 230, 131, 0.16),
			rgba(255, 196, 30, 0.055) 37%,
			transparent 73%
		);
}

.lv-noise {
	position: absolute;
	inset: -30px;

	background-image:
		radial-gradient(
			rgba(255, 244, 184, 0.13) 0.65px,
			transparent 0.75px
		);

	background-size: 7px 7px;
	opacity: 0.1;
	mix-blend-mode: soft-light;

	animation: lvNoise 1.3s steps(2) infinite;
}

.lv-grid {
	position: absolute;
	inset: -30%;

	background-image:
		linear-gradient(
			rgba(255, 215, 94, 0.05) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 215, 94, 0.05) 1px,
			transparent 1px
		);

	background-size: 72px 72px;

	-webkit-mask-image: radial-gradient(
		circle at center,
		#000,
		transparent 70%
	);
	mask-image: radial-gradient(
		circle at center,
		#000,
		transparent 70%
	);

	transform: rotate(-8deg);

	animation:
		lvGridMove 22s linear infinite,
		lvGridPulse 7s ease-in-out infinite;
}

.lv-aurora {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
	mix-blend-mode: screen;
	will-change: transform;
}

.lv-aurora-one {
	top: -250px;
	left: -150px;
	width: 620px;
	height: 620px;

	background: rgba(255, 204, 47, 0.22);

	animation: lvAuroraOne 14s ease-in-out infinite alternate;
}

.lv-aurora-two {
	top: 24%;
	right: -240px;
	width: 650px;
	height: 720px;

	background: rgba(255, 226, 113, 0.15);

	animation: lvAuroraTwo 17s ease-in-out infinite alternate;
}

.lv-aurora-three {
	bottom: -280px;
	left: 32%;
	width: 720px;
	height: 540px;

	background: rgba(197, 120, 6, 0.16);

	animation: lvAuroraThree 19s ease-in-out infinite alternate;
}

.lv-depth-ring {
	position: absolute;
	top: 45%;
	left: 15%;
	width: min(75vw, 900px);
	aspect-ratio: 1;

	border: 1px solid rgba(255, 215, 94, 0.065);
	border-radius: 50%;

	transform: translate(-50%, -50%);

	animation: lvOuterRing 44s linear infinite;
}

.lv-depth-ring::before,
.lv-depth-ring::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(255, 215, 94, 0.07);
	border-radius: 50%;
}

.lv-depth-ring::before {
	inset: 15%;
	border-style: dashed;

	animation: lvInnerRing 31s linear infinite;
}

.lv-depth-ring::after {
	inset: 35%;

	box-shadow:
		0 0 70px rgba(255, 215, 94, 0.04),
		inset 0 0 70px rgba(255, 215, 94, 0.03);
}

.lv-light-beam {
	position: absolute;
	top: -25%;
	width: 1px;
	height: 150%;

	background: linear-gradient(
		to bottom,
		transparent,
		rgba(255, 238, 157, 0.27),
		transparent
	);

	box-shadow:
		0 0 29px rgba(255, 215, 94, 0.13),
		0 0 100px rgba(255, 215, 94, 0.055);

	transform: rotate(26deg);
}

.lv-beam-one {
	left: 24%;
	animation: lvBeamPulse 8s ease-in-out infinite;
}

.lv-beam-two {
	right: 17%;
	animation: lvBeamPulse 10s ease-in-out -4s infinite;
}

.lv-particles {
	position: absolute;
	inset: 0;
}

.lv-particles i {
	position: absolute;
	left: var(--particle-x);
	bottom: -30px;
	width: var(--particle-size);
	height: var(--particle-size);

	background: var(--lv-gold-bright);
	border-radius: 50%;

	box-shadow:
		0 0 9px rgba(255, 215, 94, 0.88),
		0 0 24px rgba(255, 215, 94, 0.35);

	opacity: 0;

	animation:
		lvParticleRise
		var(--particle-duration)
		linear
		var(--particle-delay)
		infinite;
}

/* =========================================================
   INHALT
   ========================================================= */

.lv-inner {
	position: relative;
	z-index: 2;
	width: min(100%, 1240px);
	margin-inline: auto;
}

/* =========================================================
   ASYMMETRISCHER EINSTIEG
   ========================================================= */

.lv-intro-layout {
	display: grid;
	grid-template-columns:
		minmax(0, 1.2fr)
		minmax(300px, 0.8fr);
	align-items: end;
	gap: clamp(45px, 7vw, 90px);
	margin-bottom: clamp(46px, 7vw, 76px);
}

.lv-intro-copy {
	max-width: 790px;
	text-align: left;
}

.lv-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 21px;
	padding: 10px 16px;

	color: var(--lv-gold-light);

	background:
		linear-gradient(
			135deg,
			rgba(255, 215, 94, 0.12),
			rgba(255, 215, 94, 0.035)
		);

	border: 1px solid rgba(255, 215, 94, 0.36);
	border-radius: 999px;

	box-shadow:
		0 9px 28px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 249, 220, 0.12);

	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;

	animation: lvEyebrowFloat 4s ease-in-out infinite;
}

.lv-eyebrow-dot {
	width: 8px;
	height: 8px;

	background: var(--lv-gold-bright);
	border-radius: 50%;

	box-shadow:
		0 0 0 5px rgba(255, 215, 94, 0.08),
		0 0 19px rgba(255, 215, 94, 0.88);

	animation: lvDotPulse 2s ease-in-out infinite;
}

.lv-heading {
	margin: 0;

	color: var(--lv-white);

	font-family: inherit;
	font-size: clamp(2.45rem, 5.1vw, 4.85rem);
	font-weight: 900;
	letter-spacing: -0.052em;
	line-height: 1.01;
	text-wrap: balance;
}

.lv-heading span {
	display: block;
	margin-top: 8px;

	background: linear-gradient(
		105deg,
		#d58f0f,
		#ffd75e 28%,
		#fff8cf 49%,
		#ffe67c 67%,
		#dc9714
	);
	background-size: 230% auto;

	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;

	filter: drop-shadow(
		0 12px 32px rgba(255, 196, 28, 0.12)
	);

	animation: lvGoldText 7s ease-in-out infinite;
}

.lv-description {
	max-width: 690px;
	margin: 24px 0 0;

	color: #ffffff;

	font-size: clamp(1rem, 1.4vw, 1.13rem);
	line-height: 1.72;
}

/* Rechte Infokarte */

.lv-intro-panel {
	position: relative;
	padding: 24px;
	overflow: hidden;

	background:
		radial-gradient(
			circle at 100% 0,
			rgba(255, 215, 94, 0.1),
			transparent 42%
		),
		linear-gradient(
			145deg,
			rgba(27, 24, 16, 0.94),
			rgba(9, 9, 6, 0.97)
		);

	border: 1px solid rgba(255, 215, 94, 0.25);
	border-radius: 17px;

	box-shadow:
		0 22px 52px rgba(0, 0, 0, 0.42),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.lv-intro-panel::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 10%;
	width: 58%;
	height: 1px;

	background: linear-gradient(
		90deg,
		var(--lv-gold-bright),
		transparent
	);

	box-shadow: 0 0 17px rgba(255, 215, 94, 0.33);
}

.lv-intro-panel-label {
	display: block;
	margin-bottom: 15px;

	color: var(--lv-gold-bright);

	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lv-intro-points {
	display: grid;
	gap: 13px;
}

.lv-intro-point {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 12px;
	padding: 11px 12px;

	background: rgba(255, 255, 255, 0.025);
	border: 1px solid rgba(255, 215, 94, 0.11);
	border-radius: 11px;

	transition:
		background 0.3s ease,
		border-color 0.3s ease,
		transform 0.3s ease;
}

.lv-intro-point:hover {
	background: rgba(255, 215, 94, 0.055);
	border-color: rgba(255, 215, 94, 0.3);

	transform: translateX(5px);
}

.lv-intro-point-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 37px;
	height: 37px;

	color: #171005;

	background: linear-gradient(
		135deg,
		#fff7ca,
		#ffd75e,
		#d48b09
	);

	border-radius: 10px;

	box-shadow:
		0 7px 18px rgba(255, 191, 22, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);

	font-size: 0.68rem;
	font-weight: 950;
}

.lv-intro-point-copy {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.lv-intro-point-copy strong {
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 850;
}

.lv-intro-point-copy small {
	color: #ffffff;
	font-size: 0.66rem;
	line-height: 1.4;
	opacity: 0.68;
}

/* =========================================================
   KONFIGURATOR
   ========================================================= */

.lv-configurator {
	position: relative;
	width: 100%;
	min-height: 620px;
	overflow: hidden;

	background:
		radial-gradient(
			circle at 92% 0,
			rgba(255, 215, 94, 0.115),
			transparent 35%
		),
		radial-gradient(
			circle at 4% 100%,
			rgba(190, 118, 5, 0.075),
			transparent 30%
		),
		linear-gradient(
			145deg,
			rgba(23, 20, 14, 0.97),
			rgba(7, 7, 5, 0.99)
		);

	border: 1px solid rgba(255, 215, 94, 0.38);
	border-radius: 22px;

	box-shadow:
		0 42px 100px rgba(0, 0, 0, 0.61),
		0 0 50px rgba(255, 196, 30, 0.065),
		inset 0 1px 0 rgba(255, 249, 220, 0.09);

	animation: lvCardBreathing 5s ease-in-out infinite;
}

.lv-configurator::before {
	content: "";
	position: absolute;
	z-index: 3;
	top: -1px;
	left: 9%;
	width: 82%;
	height: 2px;

	background: linear-gradient(
		90deg,
		transparent,
		var(--lv-gold-rich),
		var(--lv-gold-white),
		var(--lv-gold-rich),
		transparent
	);

	box-shadow: 0 0 24px rgba(255, 215, 94, 0.5);
}

.lv-configurator::after {
	content: "";
	position: absolute;
	z-index: 0;
	right: -130px;
	bottom: -170px;
	width: 450px;
	height: 450px;

	background: radial-gradient(
		circle,
		rgba(255, 215, 94, 0.09),
		transparent 68%
	);

	border-radius: 50%;
	filter: blur(20px);
	pointer-events: none;

	animation: lvCardOrb 7s ease-in-out infinite;
}

/* Topbar */

.lv-config-top {
	position: relative;
	z-index: 2;

	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: clamp(25px, 5vw, 70px);

	padding:
		20px
		clamp(20px, 4vw, 40px);

	border-bottom: 1px solid rgba(255, 215, 94, 0.12);
}

.lv-config-brand {
	display: flex;
	align-items: center;
	gap: 11px;

	color: var(--lv-gold-light);

	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.lv-config-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;

	color: #171005;

	background: linear-gradient(
		135deg,
		#fff7ca,
		#ffd75e,
		#d48b0a
	);

	border-radius: 10px;

	box-shadow:
		0 7px 19px rgba(255, 192, 24, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);

	font-size: 1rem;

	animation: lvConfigIcon 4s ease-in-out infinite;
}

/* Beschrifteter Fortschritt */

.lv-progress {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 7px;
}

.lv-progress::before {
	content: "";
	position: absolute;
	top: 9px;
	right: 8%;
	left: 8%;
	height: 1px;

	background: rgba(255, 215, 94, 0.11);
}

.lv-progress-item {
	position: relative;
	z-index: 2;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;

	color: #ffffff;
	opacity: 0.42;

	transition:
		color 0.35s ease,
		opacity 0.35s ease,
		transform 0.35s ease;
}

.lv-progress-item.is-active,
.lv-progress-item.is-done {
	opacity: 1;
}

.lv-progress-item.is-active {
	transform: translateY(-2px);
}

.lv-progress-dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;

	color: transparent;

	background: #12100c;
	border: 1px solid rgba(255, 215, 94, 0.25);
	border-radius: 50%;

	font-size: 0.54rem;
	font-weight: 950;

	transition:
		color 0.35s ease,
		background 0.35s ease,
		border-color 0.35s ease,
		box-shadow 0.35s ease,
		transform 0.35s ease;
}

.lv-progress-item.is-active .lv-progress-dot,
.lv-progress-item.is-done .lv-progress-dot {
	color: #171005;

	background: linear-gradient(
		135deg,
		#fff6c4,
		#ffd75e,
		#d38a09
	);

	border-color: var(--lv-gold-light);

	box-shadow:
		0 0 0 4px rgba(255, 215, 94, 0.06),
		0 0 15px rgba(255, 215, 94, 0.2);
}

.lv-progress-item.is-active .lv-progress-dot {
	transform: scale(1.12);
}

.lv-progress-item small {
	font-size: 0.57rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}

.lv-config-body {
	position: relative;
	z-index: 2;
	padding: clamp(29px, 5vw, 55px);
}

.lv-step {
	display: none;
}

.lv-step.is-active {
	display: block;

	animation:
		lvStepEntrance 0.62s
		cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* =========================================================
   NEUES STEP-LAYOUT
   ========================================================= */

.lv-step-layout {
	display: grid;
	grid-template-columns:
		minmax(230px, 0.72fr)
		minmax(0, 1.65fr);
	align-items: start;
	gap: clamp(30px, 5vw, 70px);
}

.lv-step-aside {
	position: relative;
	padding:
		5px
		clamp(20px, 3vw, 34px)
		5px
		0;

	border-right: 1px solid rgba(255, 215, 94, 0.13);
}

.lv-step-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 21px;

	color: #171005;

	background: linear-gradient(
		135deg,
		#fff7ca,
		#ffd75e,
		#d48b09
	);

	border-radius: 14px;

	box-shadow:
		0 10px 26px rgba(255, 190, 20, 0.23),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);

	font-size: 0.75rem;
	font-weight: 950;

	animation: lvStepIndex 4s ease-in-out infinite;
}

.lv-step-kicker {
	display: block;
	margin-bottom: 9px;

	color: var(--lv-gold-bright);

	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.lv-step-title {
	margin: 0;

	color: #ffffff;

	font-family: inherit;
	font-size: clamp(1.55rem, 2.6vw, 2.25rem);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 1.1;
	text-wrap: balance;
}

.lv-step-copy {
	margin: 13px 0 0;

	color: #ffffff;

	font-size: 0.85rem;
	line-height: 1.63;
}

.lv-step-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 20px;
	padding-top: 16px;

	color: #ffffff;

	border-top: 1px solid rgba(255, 215, 94, 0.1);

	font-size: 0.7rem;
	line-height: 1.5;
	opacity: 0.66;
}

.lv-step-note::before {
	content: "→";

	color: var(--lv-gold-bright);
	font-weight: 950;
}

.lv-step-main {
	min-width: 0;
}

/* =========================================================
   AUSWAHLKARTEN
   ========================================================= */

.lv-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
}

.lv-option,
.lv-service {
	position: relative;

	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	overflow: hidden;

	color: #ffffff;
	text-align: left;

	background:
		linear-gradient(
			145deg,
			rgba(28, 25, 18, 0.95),
			rgba(11, 10, 7, 0.98)
		);

	border: 1px solid rgba(255, 215, 94, 0.21);
	border-radius: 14px;

	box-shadow:
		0 10px 28px rgba(0, 0, 0, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.03);

	font: inherit;
	cursor: pointer;

	transition:
		color 0.3s ease,
		background 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.lv-option {
	min-height: 90px;
	padding: 16px 18px;
}

.lv-service {
	min-height: 70px;
	padding: 13px 14px;
}

.lv-option::before,
.lv-service::before {
	content: "";
	position: absolute;
	top: -140%;
	left: -55%;
	width: 24%;
	height: 380%;

	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 249, 220, 0.14),
		transparent
	);

	pointer-events: none;

	transform: rotate(18deg);
	transition: left 0.78s ease;
}

.lv-option::after {
	content: "→";

	position: absolute;
	right: 15px;
	bottom: 12px;

	color: var(--lv-gold-bright);

	font-size: 0.8rem;
	font-weight: 950;
	opacity: 0.34;

	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.lv-option:hover,
.lv-service:hover {
	border-color: rgba(255, 215, 94, 0.64);

	box-shadow:
		0 19px 41px rgba(0, 0, 0, 0.44),
		0 0 23px rgba(255, 215, 94, 0.09);

	transform: translateY(-5px);
}

.lv-option:hover::before,
.lv-service:hover::before {
	left: 135%;
}

.lv-option:hover::after {
	opacity: 1;
	transform: translateX(3px);
}

.lv-option.is-selected,
.lv-service.is-selected {
	color: var(--lv-gold-light);

	background:
		radial-gradient(
			circle at 100% 0,
			rgba(255, 215, 94, 0.16),
			transparent 43%
		),
		linear-gradient(
			145deg,
			rgba(48, 37, 15, 0.98),
			rgba(15, 13, 8, 0.99)
		);

	border-color: var(--lv-gold-bright);

	box-shadow:
		0 0 0 3px rgba(255, 215, 94, 0.09),
		0 20px 45px rgba(0, 0, 0, 0.46),
		0 0 26px rgba(255, 215, 94, 0.12);

	transform: translateY(-3px);
}

.lv-option-icon,
.lv-service-icon {
	flex: 0 0 auto;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: var(--lv-gold-light);

	background: rgba(255, 215, 94, 0.07);
	border: 1px solid rgba(255, 215, 94, 0.22);
	border-radius: 11px;

	font-weight: 900;

	transition:
		color 0.3s ease,
		background 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.lv-option-icon {
	width: 48px;
	height: 48px;
	font-size: 1.13rem;
}

.lv-service-icon {
	width: 39px;
	height: 39px;
	font-size: 0.92rem;
}

.lv-option:hover .lv-option-icon,
.lv-option.is-selected .lv-option-icon,
.lv-service:hover .lv-service-icon,
.lv-service.is-selected .lv-service-icon {
	color: #171005;

	background: linear-gradient(
		135deg,
		#fff7ca,
		#ffd75e,
		#d48a09
	);

	box-shadow:
		0 8px 20px rgba(255, 191, 22, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);

	transform: rotate(-7deg) scale(1.06);
}

.lv-option-copy,
.lv-service-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.lv-option-copy strong {
	font-size: 0.94rem;
	font-weight: 850;
	line-height: 1.25;
}

.lv-service-copy strong {
	font-size: 0.8rem;
	font-weight: 850;
	line-height: 1.25;
}

.lv-option-copy small,
.lv-service-copy small {
	color: #ffffff;
	line-height: 1.4;
	opacity: 0.72;
}

.lv-option-copy small {
	font-size: 0.74rem;
}

.lv-service-copy small {
	font-size: 0.66rem;
}

/* =========================================================
   LEISTUNGSAUSWAHL
   ========================================================= */

.lv-services {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.lv-service-check {
	position: absolute;
	top: 8px;
	right: 8px;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;

	color: transparent;

	background: rgba(255, 255, 255, 0.025);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 50%;

	font-size: 0.58rem;
	font-weight: 950;

	transition:
		color 0.3s ease,
		background 0.3s ease,
		transform 0.3s ease;
}

.lv-service.is-selected .lv-service-check {
	color: #171005;

	background: var(--lv-gold-bright);
	border-color: var(--lv-gold-light);

	transform: scale(1.1);
}

.lv-service-tools {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-top: 17px;
	padding-top: 16px;

	border-top: 1px solid rgba(255, 215, 94, 0.1);
}

.lv-service-count {
	margin: 0;

	color: #ffffff;

	font-size: 0.73rem;
	opacity: 0.72;
}

.lv-service-count strong {
	color: var(--lv-gold-bright);
	font-weight: 900;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.lv-navigation {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.lv-back,
.lv-continue,
.lv-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 49px;
	padding: 0 19px;

	font: inherit;
	font-size: 0.8rem;
	font-weight: 850;
	text-decoration: none;
	cursor: pointer;

	border-radius: 999px;

	transition:
		color 0.3s ease,
		background 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.lv-back,
.lv-reset {
	color: #ffffff;

	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.lv-back:hover,
.lv-reset:hover {
	color: var(--lv-gold-light);

	background: rgba(255, 215, 94, 0.06);
	border-color: rgba(255, 215, 94, 0.37);

	transform: translateY(-2px);
}

.lv-continue {
	color: #171005;

	background: linear-gradient(
		110deg,
		#cc8308,
		#ffd75e 34%,
		#fff4b4 53%,
		#e0a11c
	);
	background-size: 230% 100%;

	border: 1px solid rgba(255, 244, 181, 0.82);

	box-shadow:
		0 13px 30px rgba(255, 190, 21, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);

	animation:
		lvButtonGradient 4s ease-in-out infinite,
		lvButtonPulse 3.5s ease-in-out infinite;
}

.lv-continue:hover:not(:disabled) {
	box-shadow:
		0 19px 42px rgba(255, 193, 28, 0.4),
		0 0 26px rgba(255, 215, 94, 0.17);

	transform: translateY(-4px) scale(1.015);
}

.lv-continue:disabled {
	filter: grayscale(0.8);
	opacity: 0.38;
	cursor: not-allowed;
	animation: none;
}

/* =========================================================
   DREIECKSPRINZIP
   ========================================================= */

.lv-triangle-layout {
	display: grid;
	grid-template-columns:
		minmax(320px, 1.05fr)
		minmax(260px, 0.8fr);
	align-items: center;
	gap: clamp(24px, 4vw, 48px);
}

.lv-triangle-stage {
	position: relative;
	width: min(100%, 570px);
	aspect-ratio: 500 / 420;
	margin-inline: auto;
}

.lv-triangle-svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.lv-triangle-base {
	fill: rgba(255, 215, 94, 0.026);
	stroke: rgba(255, 215, 94, 0.21);
	stroke-width: 2;
	stroke-dasharray: 7 9;

	filter: drop-shadow(
		0 0 17px rgba(255, 215, 94, 0.07)
	);

	animation: lvTrianglePulse 3.5s ease-in-out infinite;
}

.lv-triangle-inner {
	fill: none;
	stroke: rgba(255, 215, 94, 0.075);
	stroke-width: 1;
}

.lv-triangle-edge {
	fill: none;
	stroke: rgba(255, 215, 94, 0.1);
	stroke-width: 5;
	stroke-linecap: round;

	transition:
		stroke 0.45s ease,
		filter 0.45s ease,
		stroke-width 0.45s ease;
}

.lv-triangle-edge.is-active {
	stroke: var(--lv-gold-bright);
	stroke-width: 7;
	stroke-dasharray: 10 10;

	filter: drop-shadow(
		0 0 10px rgba(255, 215, 94, 0.8)
	);

	animation: lvEdgeFlow 0.75s linear infinite;
}

.lv-triangle-node {
	position: absolute;
	z-index: 4;
	width: clamp(108px, 19vw, 145px);
	padding: 0;

	color: #ffffff;

	background: transparent;
	border: 0;

	font: inherit;
	cursor: pointer;
}

.lv-node-quality {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.lv-node-speed {
	bottom: 0;
	left: 0;
}

.lv-node-budget {
	right: 0;
	bottom: 0;
}

.lv-node-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 100%;
	min-height: 88px;
	padding: 11px;

	background:
		linear-gradient(
			145deg,
			rgba(29, 26, 18, 0.98),
			rgba(9, 9, 6, 0.99)
		);

	border: 1px solid rgba(255, 215, 94, 0.3);
	border-radius: 16px;

	box-shadow:
		0 15px 36px rgba(0, 0, 0, 0.42),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);

	animation: lvNodeBreathing 4s ease-in-out infinite;

	transition:
		color 0.35s ease,
		background 0.35s ease,
		border-color 0.35s ease,
		box-shadow 0.35s ease,
		filter 0.35s ease,
		transform 0.35s ease;
}

.lv-node-speed .lv-node-inner {
	animation-delay: -1.3s;
}

.lv-node-budget .lv-node-inner {
	animation-delay: -2.6s;
}

.lv-triangle-node:hover .lv-node-inner {
	border-color: rgba(255, 215, 94, 0.7);

	box-shadow:
		0 21px 47px rgba(0, 0, 0, 0.52),
		0 0 27px rgba(255, 215, 94, 0.11);

	transform: translateY(-5px) scale(1.025);
}

.lv-node-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;

	color: var(--lv-gold-light);

	background: rgba(255, 215, 94, 0.07);
	border: 1px solid rgba(255, 215, 94, 0.19);
	border-radius: 10px;

	font-size: 1rem;
	font-weight: 950;
}

.lv-node-name {
	font-size: 0.89rem;
	font-weight: 900;
}

.lv-node-small {
	color: #ffffff;
	font-size: 0.61rem;
	font-weight: 650;
	opacity: 0.65;
}

.lv-triangle-node.is-selected .lv-node-inner {
	color: #171005;

	background: linear-gradient(
		135deg,
		#fff6c2,
		#ffd75e 58%,
		#d58c09
	);

	border-color: var(--lv-gold-light);

	box-shadow:
		0 0 0 5px rgba(255, 215, 94, 0.08),
		0 21px 45px rgba(255, 185, 18, 0.25),
		0 0 30px rgba(255, 215, 94, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.82);

	animation: lvSelectedNode 2.2s ease-in-out infinite;
}

.lv-triangle-node.is-selected .lv-node-icon {
	color: #171005;
	background: rgba(255, 255, 255, 0.36);
	border-color: rgba(255, 255, 255, 0.48);
}

.lv-triangle-node.is-selected .lv-node-small {
	color: #171005;
	opacity: 0.76;
}

.lv-triangle-node.is-tradeoff .lv-node-inner {
	border-color: rgba(255, 120, 120, 0.44);
	filter: saturate(0.65);
	opacity: 0.72;
}

.lv-triangle-node.is-tradeoff .lv-node-icon {
	color: #ffb0b0;
	border-color: rgba(255, 120, 120, 0.27);
}

.lv-triangle-core {
	position: absolute;
	z-index: 3;
	top: 55%;
	left: 50%;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: clamp(130px, 24vw, 180px);
	aspect-ratio: 1;
	padding: 18px;

	text-align: center;

	background:
		radial-gradient(
			circle,
			rgba(255, 215, 94, 0.14),
			rgba(13, 11, 7, 0.96) 68%
		);

	border: 1px solid rgba(255, 215, 94, 0.27);
	border-radius: 50%;

	box-shadow:
		0 0 0 9px rgba(255, 215, 94, 0.026),
		0 19px 47px rgba(0, 0, 0, 0.48),
		0 0 32px rgba(255, 215, 94, 0.08);

	transform: translate(-50%, -50%);

	transition:
		border-color 0.4s ease,
		box-shadow 0.4s ease,
		transform 0.4s ease;
}

.lv-triangle-stage.has-result .lv-triangle-core {
	border-color: rgba(255, 215, 94, 0.68);

	box-shadow:
		0 0 0 9px rgba(255, 215, 94, 0.045),
		0 21px 50px rgba(0, 0, 0, 0.52),
		0 0 38px rgba(255, 215, 94, 0.17);

	transform:
		translate(-50%, -50%)
		scale(1.045);
}

.lv-triangle-core small {
	margin-bottom: 5px;

	color: var(--lv-gold-bright);

	font-size: 0.57rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lv-triangle-core strong {
	color: #ffffff;
	font-size: clamp(0.76rem, 1.5vw, 0.96rem);
	font-weight: 900;
	line-height: 1.24;
}

.lv-triangle-panel {
	padding: clamp(21px, 3vw, 29px);

	background:
		linear-gradient(
			145deg,
			rgba(27, 24, 16, 0.94),
			rgba(9, 9, 6, 0.97)
		);

	border: 1px solid rgba(255, 215, 94, 0.24);
	border-radius: 17px;

	box-shadow:
		0 21px 50px rgba(0, 0, 0, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.03);

	transition:
		border-color 0.4s ease,
		box-shadow 0.4s ease;
}

.lv-triangle-panel.has-result {
	border-color: rgba(255, 215, 94, 0.52);

	box-shadow:
		0 25px 60px rgba(0, 0, 0, 0.48),
		0 0 29px rgba(255, 215, 94, 0.08);
}

.lv-triangle-panel-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 17px;

	color: #171005;

	background: linear-gradient(
		135deg,
		#fff7ca,
		#ffd75e,
		#d48b09
	);

	border-radius: 13px;

	box-shadow:
		0 9px 25px rgba(255, 190, 20, 0.23),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);

	font-size: 1.1rem;
	font-weight: 950;
}

.lv-triangle-label {
	display: block;
	margin-bottom: 7px;

	color: var(--lv-gold-bright);

	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lv-triangle-result-title {
	margin: 0;

	color: #ffffff;

	font-size: clamp(1.25rem, 2.3vw, 1.75rem);
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1.12;
}

.lv-triangle-result-copy {
	min-height: 74px;
	margin: 13px 0 0;

	color: #ffffff;

	font-size: 0.84rem;
	line-height: 1.62;
}

.lv-tradeoff {
	display: none;
	align-items: flex-start;
	gap: 10px;
	margin-top: 16px;
	padding: 12px 13px;

	color: #ffffff;

	background: rgba(255, 120, 120, 0.055);
	border: 1px solid rgba(255, 120, 120, 0.21);
	border-radius: 11px;

	font-size: 0.74rem;
	line-height: 1.5;
}

.lv-tradeoff.is-visible {
	display: flex;
	animation: lvNoticeEntrance 0.45s ease both;
}

.lv-tradeoff > span {
	flex: 0 0 auto;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 21px;
	height: 21px;

	color: #ffb2b2;

	background: rgba(255, 120, 120, 0.1);
	border-radius: 50%;

	font-weight: 900;
}

/* =========================================================
   ERGEBNIS + KONTAKT
   ========================================================= */

.lv-final-layout {
	display: grid;
	grid-template-columns:
		minmax(0, 0.82fr)
		minmax(390px, 1.18fr);
	align-items: stretch;
	gap: clamp(18px, 3vw, 30px);
}

.lv-result-card,
.lv-contact-card {
	position: relative;
	padding: clamp(23px, 4vw, 34px);

	background:
		radial-gradient(
			circle at 100% 0,
			rgba(255, 215, 94, 0.1),
			transparent 38%
		),
		linear-gradient(
			145deg,
			rgba(27, 24, 16, 0.96),
			rgba(9, 9, 6, 0.98)
		);

	border: 1px solid rgba(255, 215, 94, 0.27);
	border-radius: 17px;

	box-shadow:
		0 23px 56px rgba(0, 0, 0, 0.43),
		inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.lv-result-card {
	display: flex;
	flex-direction: column;
}

.lv-result-card::before,
.lv-contact-card::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 12%;
	width: 46%;
	height: 1px;

	background: linear-gradient(
		90deg,
		var(--lv-gold-bright),
		transparent
	);

	box-shadow: 0 0 17px rgba(255, 215, 94, 0.35);
}

.lv-result-badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	margin-bottom: 14px;
	padding: 7px 10px;

	color: var(--lv-gold-light);

	background: rgba(255, 215, 94, 0.06);
	border: 1px solid rgba(255, 215, 94, 0.21);
	border-radius: 999px;

	font-size: 0.64rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lv-result-badge::before {
	content: "✓";

	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;

	color: #171005;

	background: var(--lv-gold-bright);
	border-radius: 50%;

	font-size: 0.58rem;
}

.lv-result-heading {
	margin: 0;

	color: #ffffff;

	font-size: clamp(1.55rem, 3vw, 2.45rem);
	font-weight: 900;
	letter-spacing: -0.038em;
	line-height: 1.08;
	text-wrap: balance;
}

.lv-result-description {
	margin: 15px 0 0;

	color: #ffffff;

	font-size: 0.86rem;
	line-height: 1.66;
}

.lv-summary {
	display: grid;
	gap: 8px;
	margin-top: 19px;
}

.lv-summary-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 12px;

	background: rgba(255, 255, 255, 0.025);
	border: 1px solid rgba(255, 215, 94, 0.12);
	border-radius: 10px;

	font-size: 0.72rem;
}

.lv-summary-row span {
	color: #ffffff;
	opacity: 0.68;
}

.lv-summary-row strong {
	color: var(--lv-gold-light);
	font-weight: 850;
	text-align: right;
}

.lv-result-services {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 15px;
}

.lv-result-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 10px;

	color: var(--lv-gold-light);

	background: rgba(255, 215, 94, 0.055);
	border: 1px solid rgba(255, 215, 94, 0.2);
	border-radius: 999px;

	font-size: 0.64rem;
	font-weight: 800;
}

.lv-result-tag::before {
	content: "✓";
	color: var(--lv-gold-bright);
	font-weight: 950;
}

/* Kontaktformular */

.lv-contact-kicker {
	display: block;
	margin-bottom: 8px;

	color: var(--lv-gold-bright);

	font-size: 0.67rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lv-contact-title {
	margin: 0;

	color: #ffffff;

	font-size: clamp(1.4rem, 2.7vw, 2rem);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.12;
}

.lv-contact-copy {
	margin: 11px 0 20px;

	color: #ffffff;

	font-size: 0.8rem;
	line-height: 1.58;
}

.lv-lead-form {
	display: grid;
	gap: 12px;
}

.lv-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.lv-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	min-width: 0;
}

.lv-field-full {
	grid-column: 1 / -1;
}

.lv-field label {
	color: #ffffff;
	font-size: 0.69rem;
	font-weight: 800;
}

.lv-field label span {
	color: var(--lv-gold-bright);
}

.lv-field input,
.lv-field select,
.lv-field textarea {
	width: 100%;
	margin: 0;
	padding: 0 14px;

	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;

	background:
		linear-gradient(
			145deg,
			#18160f,
			#0d0c09
		) !important;

	border: 1px solid rgba(255, 215, 94, 0.25) !important;
	border-radius: 10px !important;

	box-shadow:
		0 8px 22px rgba(0, 0, 0, 0.29),
		inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;

	caret-color: var(--lv-gold-bright);
	color-scheme: dark;

	font: inherit;
	font-size: 0.78rem;

	outline: none;

	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.lv-field input,
.lv-field select {
	height: 48px;
}

.lv-field select {
	padding-right: 38px;
	cursor: pointer;
}

.lv-field textarea {
	min-height: 84px;
	padding-top: 13px;
	padding-bottom: 13px;
	resize: vertical;
}

.lv-field input::placeholder,
.lv-field textarea::placeholder {
	color: #9d978a !important;
	-webkit-text-fill-color: #9d978a !important;
	opacity: 1;
}

.lv-field input:hover,
.lv-field select:hover,
.lv-field textarea:hover {
	border-color: rgba(255, 215, 94, 0.52) !important;
}

.lv-field input:focus,
.lv-field select:focus,
.lv-field textarea:focus {
	border-color: var(--lv-gold-bright) !important;

	box-shadow:
		0 0 0 3px rgba(255, 215, 94, 0.1),
		0 11px 28px rgba(0, 0, 0, 0.35) !important;

	transform: translateY(-1px);
}

.lv-field select option {
	color: #ffffff;
	background: #11100c;
}

.lv-field input:-webkit-autofill,
.lv-field input:-webkit-autofill:hover,
.lv-field input:-webkit-autofill:focus {
	-webkit-text-fill-color: #ffffff !important;

	-webkit-box-shadow:
		0 0 0 1000px #17150f inset,
		0 0 0 3px rgba(255, 215, 94, 0.08) !important;

	caret-color: var(--lv-gold-bright);
}

.lv-privacy {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: flex-start;
	gap: 9px;
	margin-top: 2px;

	color: #ffffff;

	font-size: 0.66rem;
	line-height: 1.5;
}

.lv-privacy input {
	appearance: none;
	-webkit-appearance: none;

	width: 19px;
	height: 19px;
	margin: 1px 0 0;

	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 215, 94, 0.32);
	border-radius: 5px;

	cursor: pointer;
}

.lv-privacy input:checked {
	background:
		linear-gradient(
			135deg,
			#fff6c4,
			#ffd75e,
			#d48b09
		);

	box-shadow:
		0 0 0 3px rgba(255, 215, 94, 0.08),
		0 0 15px rgba(255, 215, 94, 0.15);
}

.lv-privacy input:checked::after {
	content: "✓";

	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;

	color: #171005;

	font-size: 0.66rem;
	font-weight: 950;
}

.lv-privacy a {
	color: var(--lv-gold-light);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.lv-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.lv-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	min-height: 53px;
	padding: 0 22px;

	color: #171005;

	background: linear-gradient(
		110deg,
		#c97f07,
		#ffd75e 34%,
		#fff4b4 53%,
		#dfa01a
	);
	background-size: 230% 100%;

	border: 1px solid rgba(255, 244, 181, 0.84);
	border-radius: 11px;

	box-shadow:
		0 14px 33px rgba(255, 190, 20, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.78);

	font: inherit;
	font-size: 0.82rem;
	font-weight: 900;
	cursor: pointer;

	animation:
		lvButtonGradient 4s ease-in-out infinite,
		lvButtonPulse 3.5s ease-in-out infinite;

	transition:
		box-shadow 0.3s ease,
		filter 0.3s ease,
		transform 0.3s ease;
}

.lv-submit:hover:not(:disabled) {
	box-shadow:
		0 20px 44px rgba(255, 193, 27, 0.4),
		0 0 27px rgba(255, 215, 94, 0.18);

	filter: brightness(1.06);
	transform: translateY(-3px);
}

.lv-submit:disabled {
	cursor: wait;
	opacity: 0.7;
}

.lv-submit-loader {
	display: none;
	width: 16px;
	height: 16px;

	border: 2px solid rgba(23, 16, 5, 0.25);
	border-top-color: #171005;
	border-radius: 50%;

	animation: lvLoader 0.7s linear infinite;
}

.lv-submit.is-loading .lv-submit-loader {
	display: inline-block;
}

.lv-submit.is-loading .lv-submit-arrow {
	display: none;
}

.lv-form-feedback {
	display: none;
	padding: 12px 13px;

	border-radius: 10px;

	font-size: 0.72rem;
	font-weight: 750;
	line-height: 1.5;
}

.lv-form-feedback.is-success {
	display: block;

	color: #fff6c6;

	background: rgba(255, 215, 94, 0.07);
	border: 1px solid rgba(255, 215, 94, 0.3);
}

.lv-form-feedback.is-error {
	display: block;

	color: #ffb3b3;

	background: rgba(255, 120, 120, 0.06);
	border: 1px solid rgba(255, 120, 120, 0.25);
}

.lv-contact-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 4px;

	color: #ffffff;

	font-size: 0.64rem;
	opacity: 0.7;
}

.lv-contact-footer button {
	padding: 0;

	color: var(--lv-gold-light);
	background: none;
	border: 0;

	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

/* =========================================================
   ENTRANCE
   ========================================================= */

.lv-project.lv-js .lv-reveal {
	opacity: 0;
	filter: blur(7px);
	transform: translateY(36px) scale(0.985);

	transition:
		opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
		filter 0.95s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
}

.lv-project.lv-js .lv-reveal.is-visible {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0) scale(1);
}

/* =========================================================
   ANIMATIONEN
   ========================================================= */

@keyframes lvTopLine {
	0%,
	100% {
		background-position: 0 50%;
		opacity: 0.72;
	}

	50% {
		background-position: 100% 50%;
		opacity: 1;
	}
}

@keyframes lvNoise {
	0% {
		transform: translate(0, 0);
	}

	25% {
		transform: translate(3px, -2px);
	}

	50% {
		transform: translate(-2px, 3px);
	}

	75% {
		transform: translate(2px, 2px);
	}

	100% {
		transform: translate(0, 0);
	}
}

@keyframes lvGridMove {
	to {
		background-position: 144px 144px;
	}
}

@keyframes lvGridPulse {
	0%,
	100% {
		opacity: 0.34;
	}

	50% {
		opacity: 0.63;
	}
}

@keyframes lvAuroraOne {
	from {
		transform: translate3d(-8%, -6%, 0) scale(0.9);
	}

	to {
		transform: translate3d(38%, 27%, 0) scale(1.17);
	}
}

@keyframes lvAuroraTwo {
	from {
		transform: translate3d(14%, -10%, 0) scale(0.9);
	}

	to {
		transform: translate3d(-36%, 22%, 0) scale(1.2);
	}
}

@keyframes lvAuroraThree {
	from {
		transform: translate3d(-14%, 12%, 0) scale(0.94);
	}

	to {
		transform: translate3d(26%, -22%, 0) scale(1.16);
	}
}

@keyframes lvOuterRing {
	to {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

@keyframes lvInnerRing {
	to {
		transform: rotate(-360deg);
	}
}

@keyframes lvBeamPulse {
	0%,
	100% {
		opacity: 0.1;
		filter: blur(0);
	}

	50% {
		opacity: 0.46;
		filter: blur(1px);
	}
}

@keyframes lvParticleRise {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.6);
	}

	12% {
		opacity: 0.66;
	}

	58% {
		opacity: 0.29;
		transform:
			translate3d(24px, -52vh, 0)
			scale(1);
	}

	100% {
		opacity: 0;
		transform:
			translate3d(-17px, -108vh, 0)
			scale(0.35);
	}
}

@keyframes lvEyebrowFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-5px);
	}
}

@keyframes lvDotPulse {
	0%,
	100% {
		opacity: 0.72;
		transform: scale(0.9);
	}

	50% {
		opacity: 1;
		transform: scale(1.18);
	}
}

@keyframes lvGoldText {
	0%,
	100% {
		background-position: 0 50%;
	}

	50% {
		background-position: 100% 50%;
	}
}

@keyframes lvCardBreathing {
	0%,
	100% {
		box-shadow:
			0 42px 100px rgba(0, 0, 0, 0.61),
			0 0 43px rgba(255, 196, 30, 0.05),
			inset 0 1px 0 rgba(255, 249, 220, 0.09);
	}

	50% {
		box-shadow:
			0 48px 115px rgba(0, 0, 0, 0.66),
			0 0 62px rgba(255, 196, 30, 0.1),
			inset 0 1px 0 rgba(255, 249, 220, 0.12);
	}
}

@keyframes lvCardOrb {
	0%,
	100% {
		transform: translate3d(0, 0, 0) scale(0.9);
		opacity: 0.6;
	}

	50% {
		transform: translate3d(-45px, -35px, 0) scale(1.12);
		opacity: 1;
	}
}

@keyframes lvConfigIcon {
	0%,
	100% {
		transform: rotate(0deg);
	}

	50% {
		transform: rotate(-9deg) scale(1.06);
	}
}

@keyframes lvStepIndex {
	0%,
	100% {
		transform: translateY(0) rotate(0deg);
	}

	50% {
		transform: translateY(-4px) rotate(-5deg);
	}
}

@keyframes lvStepEntrance {
	from {
		opacity: 0;
		filter: blur(7px);
		transform: translateX(26px) scale(0.985);
	}

	to {
		opacity: 1;
		filter: blur(0);
		transform: translateX(0) scale(1);
	}
}

@keyframes lvButtonGradient {
	0%,
	100% {
		background-position: 0 50%;
	}

	50% {
		background-position: 100% 50%;
	}
}

@keyframes lvButtonPulse {
	0%,
	100% {
		filter: brightness(1);
	}

	50% {
		filter: brightness(1.07);
	}
}

@keyframes lvTrianglePulse {
	0%,
	100% {
		stroke-opacity: 0.48;
	}

	50% {
		stroke-opacity: 1;
	}
}

@keyframes lvEdgeFlow {
	to {
		stroke-dashoffset: -20;
	}
}

@keyframes lvNodeBreathing {
	0%,
	100% {
		box-shadow:
			0 15px 36px rgba(0, 0, 0, 0.42),
			inset 0 1px 0 rgba(255, 255, 255, 0.04);
	}

	50% {
		box-shadow:
			0 18px 41px rgba(0, 0, 0, 0.48),
			0 0 17px rgba(255, 215, 94, 0.06);
	}
}

@keyframes lvSelectedNode {
	0%,
	100% {
		filter: brightness(1);
	}

	50% {
		filter: brightness(1.1);
	}
}

@keyframes lvNoticeEntrance {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes lvLoader {
	to {
		transform: rotate(360deg);
	}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1080px) {
	.lv-intro-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.lv-intro-panel {
		max-width: 680px;
	}

	.lv-step-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.lv-step-aside {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: start;
		column-gap: 17px;
		padding: 0 0 22px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 215, 94, 0.12);
	}

	.lv-step-index {
		grid-row: 1 / span 4;
		margin: 0;
	}

	.lv-step-kicker,
	.lv-step-title,
	.lv-step-copy,
	.lv-step-note {
		grid-column: 2;
	}

	.lv-step-note {
		margin-top: 12px;
		padding-top: 12px;
	}

	.lv-triangle-layout {
		grid-template-columns: 1fr 0.8fr;
	}

	.lv-final-layout {
		grid-template-columns: 1fr 1.15fr;
	}
}

@media (max-width: 900px) {
	.lv-config-top {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.lv-progress {
		width: 100%;
	}

	.lv-triangle-layout,
	.lv-final-layout {
		grid-template-columns: 1fr;
	}

	.lv-triangle-panel,
	.lv-result-card,
	.lv-contact-card {
		max-width: 720px;
		width: 100%;
		margin-inline: auto;
	}
}

@media (max-width: 720px) {
	.lv-services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lv-progress-item small {
		display: none;
	}

	.lv-progress::before {
		top: 9px;
	}
}

@media (max-width: 590px) {
	.lv-project {
		padding:
			72px 13px
			70px;
	}

	.lv-configurator {
		min-height: 680px;
		border-radius: 17px;
	}

	.lv-config-top {
		padding: 18px 15px;
	}

	.lv-config-body {
		padding: 25px 14px 31px;
	}

	.lv-options,
	.lv-services {
		grid-template-columns: 1fr;
	}

	.lv-step-aside {
		grid-template-columns: auto 1fr;
	}

	.lv-step-index {
		width: 45px;
		height: 45px;
	}

	.lv-option {
		min-height: 78px;
	}

	.lv-service {
		min-height: 63px;
	}

	.lv-service-tools {
		align-items: stretch;
		flex-direction: column;
	}

	.lv-service-tools .lv-continue {
		width: 100%;
	}

	.lv-triangle-node {
		width: 103px;
	}

	.lv-node-inner {
		min-height: 78px;
		padding: 8px;
		border-radius: 14px;
	}

	.lv-node-icon {
		width: 29px;
		height: 29px;
		font-size: 0.82rem;
	}

	.lv-node-name {
		font-size: 0.78rem;
	}

	.lv-node-small {
		display: none;
	}

	.lv-triangle-core {
		width: 126px;
		padding: 14px;
	}

	.lv-triangle-core strong {
		font-size: 0.7rem;
	}

	.lv-form-row {
		grid-template-columns: 1fr;
	}

	.lv-field-full {
		grid-column: auto;
	}

	.lv-summary-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.lv-summary-row strong {
		text-align: left;
	}

	.lv-contact-footer {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 420px) {
	.lv-heading {
		font-size: clamp(2.15rem, 12vw, 3rem);
	}

	.lv-triangle-node {
		width: 90px;
	}

	.lv-node-inner {
		min-height: 70px;
	}

	.lv-node-name {
		font-size: 0.64rem;
	}

	.lv-triangle-core {
		top: 56%;
		width: 110px;
	}

	.lv-triangle-core small {
		font-size: 0.47rem;
	}

	.lv-triangle-core strong {
		font-size: 0.62rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lv-project *,
	.lv-project *::before,
	.lv-project *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.lv-project.lv-js .lv-reveal {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
	}
}

.lv-configurator {
	background:
		radial-gradient(
			circle at 92% 0,
			rgba(255, 215, 94, 0.115),
			transparent 35%
		) padding-box,
		radial-gradient(
			circle at 4% 100%,
			rgba(190, 118, 5, 0.075),
			transparent 30%
		) padding-box,
		linear-gradient(
			145deg,
			rgba(23, 20, 14, 0.97),
			rgba(7, 7, 5, 0.99)
		) padding-box,

		/* Durchgehender äußerer Goldrahmen */
		linear-gradient(
			145deg,
			rgba(255, 215, 94, 0.58) 0%,
			rgba(255, 215, 94, 0.24) 48%,
			rgba(255, 215, 94, 0.46) 100%
		) border-box;

	border: 1px solid transparent;
	border-radius: 22px;
}




/* =========================================================
   PROJEKT-DREIECK DEUTLICH VERGRÖSSERN
   ========================================================= */

/* Mehr Platz für das Dreieck */

.lv-step[data-step="4"] .lv-step-layout {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
}

.lv-step[data-step="4"] .lv-step-main {
	width: 100%;
	min-width: 0;
}

.lv-step[data-step="4"] .lv-triangle-layout {
	grid-template-columns:
		minmax(0, 1fr)
		minmax(450px, 0.9fr);
	gap: clamp(24px, 3vw, 38px);
	width: 100%;
	max-width: 1120px;
	margin-inline: auto;
}

/* Rechte Ergebnisbox: Navigation auf breiten Ansichten in einer Reihe */
@media (min-width: 901px) {
	.lv-step[data-step="4"] .lv-navigation {
		flex-wrap: nowrap;
		gap: 10px;
	}

	.lv-step[data-step="4"] .lv-back {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.lv-step[data-step="4"] .lv-continue {
		flex: 1 1 auto;
		min-width: 0;
		padding-inline: 15px;
		white-space: nowrap;
	}
}
/* Gesamte Dreiecksgrafik */

.lv-step[data-step="4"] .lv-triangle-stage {
	width: min(100%, 520px);
	max-width: none;
	margin: 16px auto 16px 0;
}

/* Kräftigere Linien */

.lv-step[data-step="4"] .lv-triangle-base {
	stroke-width: 2.7;
}

.lv-step[data-step="4"] .lv-triangle-inner {
	stroke-width: 1.5;
}

.lv-step[data-step="4"] .lv-triangle-edge {
	stroke-width: 6;
}

.lv-step[data-step="4"]
.lv-triangle-edge.is-active {
	stroke-width: 8;
	filter:
		drop-shadow(
			0 0 12px
			rgba(255, 215, 94, 0.9)
		)
		drop-shadow(
			0 0 25px
			rgba(255, 215, 94, 0.3)
		);
}

/* Gut, Schnell und Günstig vergrößern */

.lv-step[data-step="4"] .lv-triangle-node {
	width: clamp(125px, 11vw, 150px);
}

.lv-step[data-step="4"] .lv-node-inner {
	min-height: 94px;
	padding: 12px 10px;
	gap: 7px;

	border-radius: 20px;

	box-shadow:
		0 19px 44px rgba(0, 0, 0, 0.48),
		0 0 22px rgba(255, 215, 94, 0.055),
		inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.lv-step[data-step="4"]
.lv-triangle-node:hover
.lv-node-inner {
	box-shadow:
		0 27px 60px rgba(0, 0, 0, 0.58),
		0 0 34px rgba(255, 215, 94, 0.15);

	transform:
		translateY(-6px)
		scale(1.035);
}

.lv-step[data-step="4"]
.lv-triangle-node.is-selected
.lv-node-inner {
	box-shadow:
		0 0 0 6px rgba(255, 215, 94, 0.09),
		0 25px 54px rgba(255, 185, 18, 0.28),
		0 0 40px rgba(255, 215, 94, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

/* Icons */

.lv-step[data-step="4"] .lv-node-icon {
	width: 38px;
	height: 38px;

	border-radius: 12px;

	font-size: 1.05rem;
}

/* Knotentexte */

.lv-step[data-step="4"] .lv-node-name {
	font-size: 0.95rem;
}

.lv-step[data-step="4"] .lv-node-small {
	font-size: 0.64rem;
}

/* Mittelpunkt deutlich größer */

.lv-step[data-step="4"] .lv-triangle-core {
	width: clamp(160px, 14vw, 195px);
	padding: 19px;

	border-width: 1.5px;

	box-shadow:
		0 0 0 12px rgba(255, 215, 94, 0.03),
		0 25px 60px rgba(0, 0, 0, 0.55),
		0 0 45px rgba(255, 215, 94, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.lv-step[data-step="4"]
.lv-triangle-stage.has-result
.lv-triangle-core {
	box-shadow:
		0 0 0 12px rgba(255, 215, 94, 0.055),
		0 27px 65px rgba(0, 0, 0, 0.58),
		0 0 52px rgba(255, 215, 94, 0.23),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);

	transform:
		translate(-50%, -50%)
		scale(1.055);
}

.lv-step[data-step="4"] .lv-triangle-core small {
	margin-bottom: 8px;
	font-size: 0.66rem;
}

.lv-step[data-step="4"] .lv-triangle-core strong {
	font-size: clamp(0.95rem, 1.7vw, 1.22rem);
	line-height: 1.25;
}

/* Erklärungskarte ebenfalls größer */

.lv-step[data-step="4"] .lv-triangle-panel {
	padding: clamp(27px, 3vw, 36px);
	border-radius: 19px;
}

.lv-step[data-step="4"]
.lv-triangle-panel-icon {
	width: 54px;
	height: 54px;

	border-radius: 15px;

	font-size: 1.3rem;
}

.lv-step[data-step="4"]
.lv-triangle-label {
	font-size: 0.72rem;
}

.lv-step[data-step="4"]
.lv-triangle-result-title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.lv-step[data-step="4"]
.lv-triangle-result-copy {
	font-size: 0.9rem;
	line-height: 1.68;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1080px) {
	.lv-step[data-step="4"] .lv-step-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.lv-step[data-step="4"] .lv-triangle-layout {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(400px, 0.9fr);
		gap: 24px;
	}

	.lv-step[data-step="4"] .lv-triangle-stage {
		width: min(100%, 500px);
	}
}

@media (max-width: 900px) {
	.lv-step[data-step="4"] .lv-triangle-layout {
		grid-template-columns: 1fr;
	}

	.lv-step[data-step="4"] .lv-triangle-stage {
		width: min(100%, 500px);
		margin-block: 25px 35px;
	}

	.lv-step[data-step="4"] .lv-triangle-panel {
		width: min(100%, 520px);
		max-width: 760px;
	}
}

/* =========================================================
   SMARTPHONE
   ========================================================= */

@media (max-width: 590px) {
	.lv-step[data-step="4"] .lv-triangle-stage {
		width: calc(100% + 16px);
		margin-left: -8px;
		margin-block: 24px 34px;
	}

	.lv-step[data-step="4"] .lv-triangle-node {
		width: 122px;
	}

	.lv-step[data-step="4"] .lv-node-inner {
		min-height: 88px;
		padding: 9px 7px;
		gap: 4px;

		border-radius: 15px;
	}

	.lv-step[data-step="4"] .lv-node-icon {
		width: 33px;
		height: 33px;

		font-size: 0.93rem;
	}

	.lv-step[data-step="4"] .lv-node-name {
		font-size: 0.84rem;
	}

	.lv-step[data-step="4"] .lv-node-small {
		display: block;
		font-size: 0.57rem;
	}

	.lv-step[data-step="4"] .lv-triangle-core {
		width: 150px;
		padding: 16px;
	}

	.lv-step[data-step="4"] .lv-triangle-core small {
		font-size: 0.52rem;
	}

	.lv-step[data-step="4"] .lv-triangle-core strong {
		font-size: 0.78rem;
	}

	.lv-step[data-step="4"] .lv-triangle-panel {
		padding: 24px 19px;
	}
}

@media (max-width: 420px) {
	.lv-step[data-step="4"] .lv-triangle-stage {
		width: calc(100% + 10px);
		margin-left: -5px;
	}

	.lv-step[data-step="4"] .lv-triangle-node {
		width: 105px;
	}

	.lv-step[data-step="4"] .lv-node-inner {
		min-height: 78px;
	}

	.lv-step[data-step="4"] .lv-node-small {
		display: none;
	}

	.lv-step[data-step="4"] .lv-triangle-core {
		top: 56%;
		width: 130px;
		padding: 13px;
	}

	.lv-step[data-step="4"] .lv-triangle-core strong {
		font-size: 0.69rem;
	}
}/* End custom CSS */