/* =========================================================================
   LADUTI „Wirkweise“ W2 (body.ldc-wirk2) – eigenständig. Fünf Momente, wenig Text, große Schrift.
   Weiß und #f5f5f7 für Lesen, eine dunkle Bühne (#0e0e0f) für die Erzählung; Blau nur am Weg zum Produkt.
   Mobile first. Bewegung nur bei prefers-reduced-motion: no-preference (siehe ldc-wirk2.js).
   ========================================================================= */
body.ldc-wirk2 {
	--x-ink: #121212;
	--x-ink-2: #48484d;
	--x-ink-3: #6e6e73;
	--x-tile: #f5f5f7;
	--x-line: rgba(18, 18, 18, 0.1);
	--x-night: #0e0e0f;
	--x-accent: #1f68ea;
	--x-hdr: 37px; /* Höhe der stehenden Kopfzeile */
	background: #fff;
}

body.ldc-wirk2 #header [data-row="bottom"] {
	display: none !important; /* Testsieger-Zeile gehört nicht auf diese Seite */
}

.ldcx {
	color: var(--x-ink);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.ldcx *,
.ldcx *::before,
.ldcx *::after {
	box-sizing: border-box;
}

.ldcx a {
	color: inherit;
	text-decoration: none;
}

.ldcx ul,
.ldcx ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ldcx p,
.ldcx figure {
	margin: 0;
}

.ldcx a:focus-visible {
	outline: 2px solid var(--x-accent);
	outline-offset: 3px;
	border-radius: 10px;
}

/* ---------- 1 Einstieg: Satz und Tropfen ---------- */
.ldcx-hero {
	display: grid;
	background: var(--x-tile);
}

.ldcx-hero__copy {
	padding: 40px 20px 26px;
}

.ldcx .ldcx-kicker {
	font-size: 14px;
	font-weight: 600;
	color: var(--x-ink-3);
}

.ldcx .ldcx-h1 {
	max-width: 9.5em;
	margin: 8px 0 0;
	font-size: clamp(40px, 11.6vw, 54px);
	line-height: 0.98;
	letter-spacing: -0.05em;
	font-weight: 800;
	color: var(--x-ink);
	text-wrap: balance;
}

.ldcx .ldcx-lead {
	max-width: 27em;
	margin-top: 16px;
	font-size: 17.5px;
	line-height: 1.42;
	color: var(--x-ink-2);
}

.ldcx-hero__media {
	position: relative;
	aspect-ratio: 1 / 0.92;
	overflow: hidden;
}

.ldcx-hero__media .ldcx-hero__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: 50% 12%;
}

/* ---------- 2 Erzählung ---------- */
.ldcx-story {
	position: relative;
	background: var(--x-night);
	color: #fff;
}

/* Grundzustand (ohne JavaScript): vier Aussagen untereinander */
.ldcx-story__stage {
	display: none;
}

.ldcx .ldcx-step,
.ldcx .ldcx-step::before,
.ldcx .ldcx-step::after {
	border: 0;
	background: none;
	content: none;
}

.ldcx .ldcx-steps {
	display: grid;
	gap: 44px;
	max-width: 1104px;
	margin: 0 auto;
	padding: 64px 20px;
}

.ldcx .ldcx-step__n {
	font-size: clamp(64px, 19vw, 88px);
	line-height: 0.86;
	letter-spacing: -0.06em;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: #fff;
}

.ldcx .ldcx-step__n--word {
	font-size: clamp(44px, 13vw, 64px);
	letter-spacing: -0.052em;
}

.ldcx .ldcx-step__h {
	max-width: 15em;
	margin: 12px 0 0;
	font-size: clamp(21px, 5.9vw, 26px);
	line-height: 1.14;
	letter-spacing: -0.03em;
	font-weight: 700;
	color: #fff;
	text-wrap: balance;
}

.ldcx .ldcx-step__t {
	max-width: 26em;
	margin-top: 8px;
	font-size: 16px;
	line-height: 1.42;
	color: rgba(255, 255, 255, 0.64);
}

.ldcx-dots {
	display: none;
}

/* Standbilder (reduzierte Bewegung) */
.ldcx-story.is-static .ldcx-step__still {
	display: block;
	width: 100%;
	max-width: 420px;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0 0 18px -6px;
}

/* Lebendig: die Bühne bleibt stehen, die Aussagen wechseln */
.ldcx-story.is-live {
	height: calc(4 * 92svh);
}

.ldcx-story.is-live .ldcx-story__pin {
	position: sticky;
	top: var(--x-hdr);
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	height: calc(100svh - var(--x-hdr));
	overflow: hidden;
}

.ldcx-story.is-live .ldcx-story__stage {
	position: relative;
	display: block;
	min-height: 0;
}

.ldcx-story__canvas {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.ldcx-tag {
	position: absolute;
	left: 0;
	top: 0;
	padding: 4px 9px;
	border-radius: 999px;
	background: rgba(14, 14, 15, 0.86);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.005em;
	white-space: nowrap;
	color: #fff;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 0);
}

.ldcx-tag--s,
.ldcx-tag--r {
	padding: 0;
	background: none;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.6);
	transform: translate(0, -100%);
}

.ldcx-tag--r {
	transform: translate(-50%, 0);
}

.ldcx-story__note {
	position: absolute;
	right: 16px;
	top: 14px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.34);
}

/* Alle vier Aussagen liegen in derselben Rasterzelle: die Höhe richtet sich nach der längsten (auch in Übersetzungen),
   die Bühne erhält den Rest und wird nie überdeckt. */
.ldcx-story.is-live .ldcx-steps {
	position: relative;
	display: grid;
	gap: 0;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 20px 34px;
}

.ldcx-story.is-live .ldcx-step {
	grid-area: 1 / 1;
	align-self: end;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.45s ease, transform 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
	pointer-events: none;
}

.ldcx-story.is-live .ldcx-step.is-on {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.ldcx-story.is-live .ldcx-step__n {
	font-size: clamp(56px, 16.5vw, 76px);
}

.ldcx-story.is-live .ldcx-step__n--word {
	font-size: clamp(40px, 11.6vw, 56px);
}

.ldcx-story.is-live .ldcx-dots {
	position: absolute;
	right: 14px;
	top: 50%;
	display: grid;
	gap: 8px;
	transform: translateY(-50%);
}

.ldcx-dots i {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.26);
	transition: background-color 0.3s ease, height 0.3s ease;
}

.ldcx-dots i.is-on {
	height: 18px;
	border-radius: 3px;
	background: #fff;
}

/* ---------- 3 Nachweise ---------- */
.ldcx-proof {
	max-width: 1104px;
	margin: 0 auto;
	padding: 72px 20px 0;
}

.ldcx .ldcx-h2 {
	max-width: 12em;
	margin: 0;
	font-size: clamp(32px, 9vw, 42px);
	line-height: 1.02;
	letter-spacing: -0.046em;
	font-weight: 800;
	color: var(--x-ink);
	text-wrap: balance;
}

.ldcx .ldcx-sub {
	max-width: 30em;
	margin-top: 14px;
	font-size: 17px;
	line-height: 1.45;
	color: var(--x-ink-2);
}

.ldcx-proof__grid {
	display: grid;
	gap: 10px;
	margin-top: 30px;
}

.ldcx-study {
	display: flex;
	flex-direction: column;
	padding: 24px 20px 22px;
	border-radius: 26px;
	background: var(--x-tile);
}

.ldcx .ldcx-study__name {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--x-ink);
}

.ldcx .ldcx-big {
	display: flex;
	align-items: baseline;
	margin-top: 26px;
	font-size: clamp(76px, 22vw, 108px);
	line-height: 0.84;
	letter-spacing: -0.065em;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: var(--x-ink);
}

.ldcx-big > span[data-ldcx-count="78"] {
	min-width: 1.14em;
}

.ldcx-big__u {
	margin-left: 0.04em;
	font-size: 0.42em;
	letter-spacing: -0.03em;
}

/* Procapil™: von … auf … in derselben Schriftgröße, der Ausgangswert leiser */
.ldcx .ldcx-big--pair {
	flex-wrap: wrap;
	gap: 0 0.14em;
	font-size: clamp(52px, 15vw, 76px);
	line-height: 0.9;
	letter-spacing: -0.055em;
}

.ldcx-big__from {
	color: #a1a1a6;
}

.ldcx-big__arrow {
	align-self: center;
	width: 0.42em;
	height: 0.42em;
	margin: 0 0.06em 0 0.02em;
	background: currentColor;
	color: #a1a1a6;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h17M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h17M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ldcx-big--pair > span[data-ldcx-count] {
	min-width: 2.1em;
}

.ldcx .ldcx-study__t {
	max-width: 17em;
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.25;
	letter-spacing: -0.018em;
	font-weight: 700;
	color: var(--x-ink);
}

.ldcx-bars {
	display: grid;
	gap: 12px;
	margin-top: 26px;
}

.ldcx-bar {
	display: grid;
	gap: 6px;
}

.ldcx-bar__l {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13.5px;
	font-weight: 550;
	line-height: 1.2;
	color: var(--x-ink-2);
}

.ldcx-bar__l b {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--x-ink);
}

.ldcx-bar__track {
	display: block;
	overflow: hidden;
	height: 12px;
	border-radius: 6px;
	background: rgba(18, 18, 18, 0.07);
}

.ldcx-bar__track i {
	display: block;
	width: var(--w);
	height: 100%;
	border-radius: 6px;
	background: #a1a1a6;
	transform-origin: 0 50%;
}

.ldcx-bar.is-after .ldcx-bar__track i {
	background: var(--x-ink);
}

.ldcx .ldcx-study__s {
	margin-top: auto;
	padding-top: 20px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--x-ink-3);
}

.ldcx .ldcx-proof__note {
	margin-top: 18px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--x-ink-3);
}

@media (prefers-reduced-motion: no-preference) {
	.ldcx-study.is-armed .ldcx-bar__track i {
		transform: scaleX(0);
		transition: transform 1.3s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s;
	}

	.ldcx-study.is-armed .ldcx-bar.is-after .ldcx-bar__track i {
		transition-duration: 1.6s;
	}

	.ldcx-study.is-armed.is-in .ldcx-bar__track i {
		transform: none;
	}
}

/* ---------- 4 Die Formel als Schriftbild ---------- */
.ldcx-wall {
	margin-top: 72px;
	padding: 64px 0 62px;
	background: var(--x-tile);
}

.ldcx-wall__in {
	max-width: 1104px;
	margin: 0 auto;
	padding: 0 20px;
}

.ldcx .ldcx-names {
	margin-top: 24px;
	font-size: clamp(25px, 7.1vw, 34px);
	line-height: 1.16;
	letter-spacing: -0.038em;
	font-weight: 700;
	color: #a1a1a6;
	overflow-wrap: anywhere;
}

.ldcx-names b {
	font-weight: 800;
	color: var(--x-ink);
}

.ldcx-names span::after,
.ldcx-names b::after {
	content: " ·";
	font-weight: 400;
	color: #c7c7cc;
}

.ldcx-names em {
	font-style: normal;
	color: var(--x-ink-2);
}

.ldcx .ldcx-free {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 30px;
	margin-top: 40px;
}

.ldcx-free li {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ldcx-free strong {
	font-size: 34px;
	line-height: 1;
	letter-spacing: -0.045em;
	font-weight: 800;
}

.ldcx-free span {
	font-size: 13.5px;
	line-height: 1.3;
	color: var(--x-ink-2);
}

.ldcx .ldcx-links {
	margin-top: 26px;
}

.ldcx-links a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(18, 18, 18, 0.28);
	text-underline-offset: 4px;
}

/* ---------- 5 Weg zum Produkt, Quellen ---------- */
.ldcx-end {
	max-width: 1104px;
	margin: 0 auto;
	padding: 48px 20px 64px;
}

.ldcx a.ldcx-product {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px 12px 12px;
	border-radius: 22px;
	background: var(--x-tile);
	color: var(--x-ink);
}

.ldcx-product__media {
	flex: none;
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 14px;
	background: #fff;
}

.ldcx-product__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.ldcx-product__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	margin-right: auto;
}

.ldcx-product__body strong {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.ldcx-product__price,
.ldcx-product__price .sale-price,
.ldcx-product__price .wcpbc-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-start;
	gap: 0 7px;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.25;
	text-align: left;
}

.ldcx-product__price ins {
	order: -1;
	background: none;
	text-decoration: none;
}

.ldcx-product__price del {
	font-size: 13px;
	font-weight: 500;
	color: var(--x-ink-3);
}

.ldcx-product__go {
	display: inline-flex;
	flex: none;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--x-accent);
	color: #fff;
	font-size: 14.5px;
	font-weight: 600;
}

.ldcx .ldcx-links--center {
	margin-top: 16px;
}

.ldcx-sources {
	margin-top: 44px;
	padding-top: 22px;
	border-top: 1px solid var(--x-line);
}

.ldcx-sources p {
	max-width: 56em;
	padding-bottom: 6px;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--x-ink-3);
}

/* ---------- ab 690 px ---------- */
@media (min-width: 690px) {
	body.ldc-wirk2 {
		--x-hdr: 47px;
	}

	.ldcx-hero__copy {
		padding: 72px 32px 36px;
	}

	.ldcx .ldcx-h1 {
		font-size: 72px;
	}

	.ldcx .ldcx-lead {
		margin-top: 20px;
		font-size: 20px;
	}

	.ldcx-hero__media {
		aspect-ratio: 16 / 9;
	}

	.ldcx-story.is-live .ldcx-steps {
		padding: 0 32px 44px;
	}

	.ldcx-tag {
		font-size: 14px;
	}

	.ldcx-proof {
		padding: 112px 32px 0;
	}

	.ldcx .ldcx-h2 {
		font-size: 56px;
	}

	.ldcx .ldcx-sub {
		margin-top: 18px;
		font-size: 20px;
	}

	.ldcx-proof__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		margin-top: 44px;
	}

	.ldcx-study {
		padding: 34px 34px 32px;
		border-radius: 30px;
	}

	.ldcx-wall {
		margin-top: 112px;
		padding: 104px 0 100px;
	}

	.ldcx-wall__in {
		padding: 0 32px;
	}

	.ldcx .ldcx-names {
		margin-top: 34px;
		font-size: 44px;
	}

	.ldcx-end {
		padding: 72px 32px 96px;
	}

	.ldcx a.ldcx-product {
		max-width: 620px;
		gap: 20px;
		padding: 14px 22px 14px 14px;
		border-radius: 26px;
	}
}

/* ---------- Desktop ---------- */
@media (min-width: 1000px) {
	.ldcx-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: stretch;
		min-height: min(78vh, 760px);
	}

	.ldcx-hero__copy {
		align-self: center;
		justify-self: end;
		width: 100%;
		max-width: 552px;
		padding: 72px 56px 72px 32px;
	}

	.ldcx .ldcx-h1 {
		font-size: clamp(64px, 6.2vw, 92px);
	}

	.ldcx-hero__media {
		aspect-ratio: auto;
		min-height: 100%;
	}

	.ldcx-hero__media .ldcx-hero__img {
		object-position: 50% 18%;
	}

	/* Erzählung: Aussage links, Bühne rechts */
	.ldcx-story.is-live {
		height: calc(4 * 100vh);
	}

	.ldcx-story.is-live .ldcx-story__pin {
		grid-template-rows: minmax(0, 1fr);
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		max-width: 1360px;
		height: calc(100vh - var(--x-hdr));
		margin: 0 auto;
	}

	.ldcx-story.is-live .ldcx-story__stage {
		grid-column: 2;
		grid-row: 1;
	}

	.ldcx-story.is-live .ldcx-steps {
		grid-column: 1;
		grid-row: 1;
		align-self: center;
		padding: 0 24px 0 max(32px, calc((100vw - 1104px) / 2 - (100vw - min(100vw, 1360px)) / 2));
	}

	.ldcx-story.is-live .ldcx-step {
		align-self: center;
	}

	.ldcx-story.is-live .ldcx-step__n {
		font-size: clamp(120px, 12vw, 180px);
	}

	.ldcx-story.is-live .ldcx-step__n--word {
		font-size: clamp(72px, 7.4vw, 112px);
	}

	.ldcx .ldcx-step__h {
		margin-top: 20px;
		font-size: 34px;
	}

	.ldcx .ldcx-step__t {
		margin-top: 12px;
		font-size: 19px;
	}

	.ldcx-story.is-live .ldcx-dots {
		right: 28px;
	}

	.ldcx .ldcx-big {
		font-size: 132px;
	}

	.ldcx .ldcx-big--pair {
		font-size: 84px;
	}

	.ldcx .ldcx-h2 {
		font-size: 68px;
	}

	.ldcx .ldcx-names {
		font-size: 54px;
		line-height: 1.12;
	}
}
