/* ==========================================================================
   Raabe Live – Theme-Styles
   Farben, Schriften und Grundtypografie kommen aus theme.json.
   Hier: Layout der Abschnitte, Karten, Kopf/Fuß und die Bühnenwelt.
   ========================================================================== */

:root {
	--rl-ink: var(--wp--preset--color--anthrazit, #262624);
	--rl-paper: var(--wp--preset--color--weiss, #fff);
	--rl-blue: var(--wp--preset--color--blau, #2433ff);
	--rl-blue-hover: #1a27e0;
	--rl-stone: var(--wp--preset--color--stein, #8a8a84);
	--rl-soft: var(--wp--preset--color--hellgrau, #f3f3f3);
	--rl-soft-hover: #eaeaea;
	--rl-ink-2: var(--wp--preset--color--grau-text, #55554f);
	--rl-line: #e3e3e3;
	--rl-night: var(--wp--preset--color--buehne, #161615);
	--rl-night-2: #b7b7b0;
	--rl-display: var(--wp--preset--font-family--display);
	--rl-radius: 3px;
}

/* Grundraster ------------------------------------------------------------ */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.rl-main { margin: 0; }
.is-layout-constrained > :where(.rl-lead, .rl-pa-quote, .rl-sec-title, .rl-quote) {
	margin-left: max(0px, calc((100% - 1240px) / 2)) !important;
}
.rl-kpi-row > *, .rl-metrics > *, .rl-process > *, .rl-tags > * { margin-block-start: 0 !important; }
h1, h2, h3, h4 { text-wrap: balance; overflow-wrap: break-word; hyphens: manual; }
:where(.wp-site-blocks) :focus-visible { outline: 3px solid var(--rl-blue); outline-offset: 3px; }

.rl-section { padding-block: clamp(4rem, 9vw, 7.5rem); }
.rl-section.rl-pt-0 { padding-top: 0; }
.rl-section.rl-pb-0 { padding-bottom: 0; }
.rl-section.rl-py-0 { padding-block: 0; }

.rl-kicker {
	font-size: 0.8125rem !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rl-ink-2);
	margin: 0;
}
.rl-lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.5;
	max-width: 40em;
	color: var(--rl-ink-2);
}
.rl-mark, mark.rl-mark {
	background: var(--rl-blue);
	color: var(--rl-paper);
	padding: 0 0.12em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.rl-ph {
	border-bottom: 1.5px dashed var(--rl-stone);
	color: var(--rl-ink-2);
	overflow-wrap: anywhere;
}
.rl-textlink a, .rl-more a, .rl-crumbs a {
	font-weight: 600;
	text-decoration: none;
	color: var(--rl-blue);
	border-bottom: 2px solid currentColor;
	padding-bottom: 1px;
}
.rl-textlink a:hover, .rl-more a:hover { color: var(--rl-ink); }
.rl-crumbs { font-size: 0.875rem; color: var(--rl-ink-2); }
.rl-crumbs a { border: 0; color: var(--rl-ink-2); font-weight: 500; }
.rl-notice { padding: 1.1rem 1.25rem; background: var(--rl-soft); border-left: 4px solid var(--rl-blue); }

/* Buttons */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--rl-ink);
	color: var(--rl-paper);
	border-color: var(--rl-ink);
}
.rl-btn-white .wp-block-button__link { background: var(--rl-paper); color: var(--rl-ink); }
.rl-btn-white .wp-block-button__link:hover { background: var(--rl-ink); color: var(--rl-paper); }

/* Kopfbereich ------------------------------------------------------------ */
.rl-header-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}
.rl-header {
	background: var(--rl-paper);
	border-bottom: 1px solid var(--rl-line);
}
.rl-header-inner { min-height: 76px; gap: 2rem; }
.rl-logo { margin: 0; flex-shrink: 0; }
.rl-logo img { display: block; height: auto; }
.rl-header-nav { gap: 1.25rem; }
.rl-nav .wp-block-navigation-item__content { padding: 0.75rem 0.85rem; border-radius: var(--rl-radius); text-decoration: none; color: var(--rl-ink); }
.rl-nav .wp-block-navigation-item__content:hover,
.rl-nav .current-menu-item > .wp-block-navigation-item__content { background: var(--rl-soft); }
.rl-nav .current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 var(--rl-blue); }
.rl-nav .rl-nav-pa > .wp-block-navigation-item__content {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rl-ink-2);
	border-left: 1px solid var(--rl-line);
	border-radius: 0;
	margin-left: 0.5rem;
	padding-left: 1.25rem;
}
.rl-nav .wp-block-navigation-item__description { display: none; }

/* Mega-Menü (Untermenü „Leistungen“) – nur Desktop */
@media (min-width: 600px) {
	.rl-header-inner { position: relative; }
	.rl-nav li.rl-mega,
	.rl-nav,
	.rl-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.rl-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-dialog,
	.rl-header-nav { position: static !important; }
	.rl-nav ul.wp-block-navigation__submenu-container { position: absolute; }
	.rl-nav .rl-mega > .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(3, 220px) 240px;
		gap: 0.75rem;
		padding: 1.25rem !important;
		border: 1px solid var(--rl-line) !important;
		border-radius: var(--rl-radius);
		background: var(--rl-paper) !important;
		box-shadow: 0 24px 40px -24px rgba(38, 38, 36, 0.28);
		left: auto !important;
		right: 0 !important;
		top: 100% !important;
		min-width: 0 !important;
		width: max-content;
		margin-top: 0.5rem;
	}
	.rl-nav .rl-mega > .wp-block-navigation__submenu-container::before {
		content: "Marketing · aufeinander abgestimmt, einzeln buchbar";
		grid-column: 1 / 4;
		font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rl-ink-2);
	}
	.rl-nav .rl-mega > .wp-block-navigation__submenu-container::after {
		content: "Operations · eigene Disziplin";
		grid-column: 4; grid-row: 1;
		font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rl-ink-2);
		border-left: 1px solid var(--rl-line); padding-left: 1.25rem; margin-left: -0.5rem;
	}
	.rl-nav .rl-mega .wp-block-navigation-item { grid-row: 2; }
	.rl-nav .rl-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: flex !important;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
		height: 100%;
		padding: 1.1rem 1.15rem !important;
		background: var(--rl-soft);
		white-space: normal;
	}
	.rl-nav .rl-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--rl-soft-hover); }
	.rl-nav .rl-mega .wp-block-navigation-item__label {
		font-family: var(--rl-display);
		font-weight: 800;
		font-size: 1.6rem;
		line-height: 1;
		text-transform: uppercase;
	}
	.rl-nav .rl-mega .wp-block-navigation-item__description {
		display: block;
		font-size: 0.9rem;
		line-height: 1.45;
		color: var(--rl-ink-2);
	}
	.rl-nav .rl-mega .rl-nav-ops { position: relative; padding-left: 0.75rem; }
	.rl-nav .rl-mega .rl-nav-ops::before {
		content: ""; position: absolute; left: -0.1rem; top: -2.2rem; bottom: 0;
		border-left: 1px solid var(--rl-line);
	}
	.rl-nav .rl-mega .rl-nav-ops .wp-block-navigation-item__content {
		background: transparent;
		box-shadow: inset 0 0 0 1px var(--rl-line);
	}
}
/* Mobiles Menü */
.rl-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem clamp(1.25rem, 4vw, 2.5rem);
	background: var(--rl-paper);
}
.rl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; padding: 0.6rem 0; }
.rl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__description { display: block; font-size: 0.9rem; color: var(--rl-ink-2); }
.rl-nav .wp-block-navigation__responsive-container.is-menu-open .rl-nav-pa > .wp-block-navigation-item__content { border: 0; margin: 0; padding-left: 0; }

/* Hero & Seitenköpfe ----------------------------------------------------- */
.rl-hero { padding-block: clamp(3.5rem, 8vw, 6.5rem) clamp(2.5rem, 6vw, 4.5rem); }
.rl-hero > * + *, .rl-detail-hero > * + * { margin-block-start: 1.5rem; }
.rl-hero .wp-block-buttons, .rl-detail-hero .wp-block-buttons { margin-top: 2rem; }
.rl-detail-hero { padding-block: clamp(3rem, 7vw, 6rem) 2.5rem; }
.rl-h1-small { font-size: clamp(2.5rem, 5vw, 4rem) !important; }
.rl-textseite { padding-block: clamp(3rem, 6vw, 5rem); }

/* Referenzleiste */
.rl-refs {
	gap: 0.75rem 1.75rem;
	padding-block: 1.4rem;
	border-top: 1px solid var(--rl-line);
	border-bottom: 1px solid var(--rl-line);
	align-items: baseline;
}
.rl-refs-list { margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; }
.rl-refs-list a {
	font-family: var(--rl-display);
	font-weight: 800;
	font-size: 1.375rem;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--rl-ink);
}
.rl-refs-list a:hover { color: var(--rl-blue); }

/* Bildplatzhalter / Fotos (Cover-Block) ---------------------------------- */
.wp-block-cover.rl-photo {
	min-height: 0;
	aspect-ratio: 16 / 9;
	align-items: flex-end;
	justify-content: flex-start;
	padding: 1.1rem 1.25rem;
	border-radius: 2px;
	overflow: hidden;
	max-width: 100%;
}
.wp-block-cover.rl-photo .wp-block-cover__background {
	background-image:
		radial-gradient(120% 90% at 70% 10%, rgba(255, 255, 255, 0.16), transparent 55%),
		radial-gradient(60% 60% at 15% 110%, rgba(255, 255, 255, 0.08), transparent 60%);
}
.wp-block-cover.rl-photo:has(img) .wp-block-cover__background { background-image: none; opacity: 0.15; }
.wp-block-cover.rl-photo .wp-block-cover__inner-container { width: 100%; }
.rl-photo-caption {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #d9d9d2;
	margin: 0;
}
.wp-block-cover.rl-photo-wide { aspect-ratio: 21 / 9; }
.wp-block-cover.rl-photo-tall { aspect-ratio: 4 / 5; }
.wp-block-cover.rl-photo-portrait { aspect-ratio: 4 / 5; }
.wp-block-cover.rl-photo-dark .wp-block-cover__background { background-color: #0e0e0d !important; }

/* Abschnittskopf */
.rl-sec-head { gap: 1.25rem 2.5rem; margin-bottom: 3rem; }
.rl-sec-title { max-width: 780px; }
.rl-sec-title > * + * { margin-block-start: 0.9rem; }

/* Leistungskarten */
.rl-services { gap: 1.25rem; }
.rl-service {
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2rem 1.75rem 1.75rem;
	background: var(--rl-soft);
	border-radius: var(--rl-radius);
	transition: background 0.15s ease;
}
.rl-service:hover { background: var(--rl-soft-hover); }
.rl-service > * { margin: 0 !important; }
.rl-service h3 a { color: inherit; text-decoration: none; }
.rl-service p { color: var(--rl-ink-2); }
.rl-service .rl-more { margin-top: auto !important; padding-top: 0.75rem; }

/* Case-Kacheln ------------------------------------------------------------ */
.rl-cases .wp-block-post-template { gap: 2.5rem 1.5rem; }
.rl-case-card { display: flex; flex-direction: column; gap: 1rem; }
.rl-case-card > * { margin: 0 !important; }
.rl-card-media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--rl-ink);
	background-image: radial-gradient(120% 90% at 70% 10%, rgba(255, 255, 255, 0.16), transparent 55%);
	border-radius: 2px;
	overflow: hidden;
}
.rl-card-media .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; }
.rl-card-media .wp-block-post-featured-image a,
.rl-card-media .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.rl-case-card:hover .rl-card-media img { transform: scale(1.02); }
.rl-wide-media { aspect-ratio: 21 / 9; margin-top: 2rem !important; }
.rl-case-title { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; }
.rl-case-title a { color: inherit; text-decoration: none; }
.rl-case-title a:hover { color: var(--rl-blue); }
.rl-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0; }
.rl-tags a, .rl-tags span:not(.wp-block-post-terms__separator) {
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 0.375rem 0.625rem;
	border-radius: 2px;
	background: var(--rl-soft);
	color: var(--rl-ink);
	text-decoration: none;
	pointer-events: none;
}
.rl-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--rl-line);
	border-bottom: 1px solid var(--rl-line);
}
.rl-metric { padding: 0.85rem 0.75rem 0.85rem 0; }
.rl-metric > * { margin: 0; }
.rl-metric-value, .rl-kpi-value {
	font-family: var(--rl-display);
	font-weight: 800;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	text-transform: uppercase;
}
.rl-metric-value { font-size: 1.75rem; }
.rl-metric-label, .rl-kpi-label { font-size: 0.8125rem; color: var(--rl-ink-2); margin-top: 0.25rem !important; }

/* Kennzahlen-Leiste */
.rl-kpi-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--rl-line);
	border: 1px solid var(--rl-line);
	margin-top: 1rem;
}
.rl-kpi { background: var(--rl-paper); padding: 1.6rem 1.4rem; }
.rl-kpi > * { margin: 0; }
.rl-kpi-value { font-size: clamp(2.1rem, 4vw, 3.25rem); }

/* Merkmale */
.rl-feats { gap: 1.25rem; }
.rl-feat { border-top: 2px solid var(--rl-ink); padding-top: 1.25rem; height: 100%; }
.rl-feat > * + * { margin-block-start: 0.75rem; }
.rl-feat p { color: var(--rl-ink-2); }

/* Dunkles Band „Von der Bühne“ */
.rl-stage { background: var(--rl-ink); color: var(--rl-paper); }
.rl-stage .rl-kicker { color: #c9c9c2; }
.rl-stage p { color: #d2d2cb; }
.rl-stage .rl-textlink a { color: var(--rl-paper); }
.rl-stage-cols { gap: 3.5rem; align-items: center; }
.rl-quote { font-size: clamp(2.1rem, 4.4vw, 3.6rem) !important; line-height: 1.02; }

/* Operations-Box */
.rl-ops { border: 2px solid var(--rl-ink); border-radius: var(--rl-radius); padding: clamp(1.75rem, 4vw, 2.75rem); }
.rl-ops .wp-block-columns { gap: 3rem; margin: 0; }
.rl-ops .wp-block-column > * + * { margin-block-start: 1rem; }
.rl-badge {
	display: inline-block;
	font-size: 0.75rem !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	background: var(--rl-ink);
	color: var(--rl-paper);
	padding: 0.375rem 0.6rem;
	border-radius: 2px;
}
.rl-ops-list { list-style: none; margin: 0; padding: 0; }
.rl-ops-list li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.9rem 0;
	border-top: 1px solid var(--rl-line);
}
.rl-ops-list li:last-child { border-bottom: 1px solid var(--rl-line); }
.rl-ops-list em {
	font-style: normal;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rl-ink-2);
	white-space: nowrap;
}

/* Ablauf */
.rl-process {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 2px solid var(--rl-ink);
}
.rl-step { padding: 1.5rem 1.4rem 0 0; }
.rl-step > * { margin: 0 0 0.6rem; }
.rl-num { font-family: var(--rl-display); font-weight: 800; font-size: 0.95rem; letter-spacing: 0.1em; color: var(--rl-blue); }
.rl-step h3 { font-size: 1.9rem !important; }
.rl-step p:not(.rl-num) { color: var(--rl-ink-2); font-size: 1rem; }

/* Über uns / Team */
.rl-split { gap: 3.5rem; align-items: flex-start; }
.rl-split .wp-block-column > * + * { margin-block-start: 1.1rem; }
.rl-split p { color: var(--rl-ink-2); max-width: 38em; }
.rl-team { gap: 1.5rem; }
.rl-team .wp-block-column > * + * { margin-block-start: 0.75rem; }

/* Kontakt */
.rl-contact { gap: 4rem; }
.rl-fact { padding-bottom: 1.25rem; border-bottom: 1px solid var(--rl-line); margin-top: 1.4rem; }
.rl-fact > * { margin: 0; }
.rl-fact-label { font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rl-ink-2); font-weight: 600; }
.rl-fact p:not(.rl-fact-label) { font-size: 1.2rem; }
.rl-form .wpcf7-form { display: grid; gap: 1.1rem; }
.rl-form .wpcf7-form > p { margin: 0; }
.rl-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.rl-form label { display: grid; gap: 0.5rem; font-size: 0.875rem; font-weight: 600; }
.rl-form input[type="text"], .rl-form input[type="email"], .rl-form select, .rl-form textarea {
	font: 400 1.0625rem/1.4 var(--wp--preset--font-family--text);
	color: var(--rl-ink);
	background: var(--rl-paper);
	border: 1.5px solid var(--rl-stone);
	border-radius: var(--rl-radius);
	padding: 0.85rem;
	width: 100%;
	box-sizing: border-box;
}
.rl-form input:focus, .rl-form select:focus, .rl-form textarea:focus { outline: none; border-color: var(--rl-blue); box-shadow: 0 0 0 3px rgba(36, 51, 255, 0.18); }
.rl-form textarea { min-height: 150px; resize: vertical; }
.rl-form .wpcf7-acceptance label { display: inline; font-weight: 400; font-size: 0.9rem; }
.rl-form .wpcf7-list-item { margin: 0; }
.rl-form .wpcf7-submit { border: 0; cursor: pointer; }
.rl-form .wpcf7-response-output { margin: 0 !important; padding: 1rem 1.2rem !important; border: 0 !important; border-left: 4px solid var(--rl-blue) !important; background: var(--rl-soft); }
.rl-form .wpcf7-not-valid-tip { font-size: 0.85rem; font-weight: 500; color: #b3261e; }

/* Case-Detail */
.rl-next { border-top: 2px solid var(--rl-ink); padding-top: 1.5rem; }
.rl-next > * + * { margin-block-start: 0.75rem; }
.rl-next .post-navigation-link-next a { font-family: var(--rl-display); font-weight: 800; font-size: clamp(2rem, 4vw, 3.5rem); text-transform: uppercase; text-decoration: none; color: var(--rl-ink); line-height: 1; }

/* Blaues Anfrage-Band */
.rl-cta-band { background: var(--rl-blue); color: var(--rl-paper); padding-block: clamp(4rem, 8vw, 6.5rem); }
.rl-cta-inner { gap: 1.75rem; }
.rl-cta-band h2 { max-width: 16ch; margin: 0; color: var(--rl-paper); }

/* Fußbereich */
.rl-footer { background: var(--rl-ink); color: var(--rl-paper); padding-block: 4rem 2.25rem; }
.rl-footer p { color: #cfcfc8; font-size: 0.95rem; }
.rl-footer a { color: var(--rl-paper); text-decoration: none; line-height: 2; }
.rl-footer a:hover { text-decoration: underline; text-decoration-color: var(--rl-blue); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rl-foot-grid { gap: 2.5rem; }
.rl-foot-label { font-size: 0.75rem !important; letter-spacing: 0.14em; text-transform: uppercase; color: #a9a9a2 !important; font-weight: 600; margin-bottom: 0.4rem; }
.rl-foot-col p { margin: 0; }
.rl-foot-col .rl-foot-label:not(:first-child) { margin-top: 1.2rem; }
.rl-foot-bottom { margin-top: 3.5rem; padding-top: 1.4rem; border-top: 1px solid #3a3a37; }
.rl-foot-bottom p { color: #a9a9a2; font-size: 0.875rem; margin: 0; }
.rl-foot-bottom a { color: #a9a9a2; }

/* Liste (Blog-Fallback) */
.rl-list-item { padding-block: 1.5rem; border-bottom: 1px solid var(--rl-line); }
.rl-h3 { font-size: var(--wp--preset--font-size--titel-m) !important; }

/* ==========================================================================
   Production & Artists – dunkle Bühnenwelt
   ========================================================================== */
.rl-buehne {
	background: var(--rl-night);
	color: var(--rl-paper);
	min-height: 100vh;
}
.rl-buehne .rl-header-dark { background: var(--rl-night); border-bottom: 0; }
.rl-back { margin: 0; }
.rl-back a { font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rl-night-2); text-decoration: none; }
.rl-back a:hover { color: var(--rl-paper); }
.rl-buehne .rl-kicker, .rl-buehne .rl-lead, .rl-buehne p { color: var(--rl-night-2); }
.rl-buehne h1, .rl-buehne h2, .rl-buehne h3 { color: var(--rl-paper); }
.rl-buehne .rl-ph { color: var(--rl-night-2); }
.rl-buehne-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(5rem, 12vw, 11rem) clamp(4.5rem, 9vw, 8rem);
	isolation: isolate;
}
.rl-buehne-hero::before, .rl-buehne-hero::after {
	content: "";
	position: absolute;
	inset: -20% -10% auto;
	height: 140%;
	pointer-events: none;
	transform-origin: 50% 0;
	z-index: -1;
}
.rl-buehne-hero::before {
	background: radial-gradient(38% 55% at 50% 0%, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.05) 45%, transparent 70%);
	animation: rl-sway 14s ease-in-out infinite alternate;
}
.rl-buehne-hero::after {
	background: radial-gradient(22% 45% at 20% 0%, rgba(255, 255, 255, 0.1), transparent 70%);
	animation: rl-sway 19s ease-in-out infinite alternate-reverse;
}
@keyframes rl-sway { from { transform: rotate(-7deg); } to { transform: rotate(7deg); } }
@media (prefers-reduced-motion: reduce) { .rl-buehne-hero::before, .rl-buehne-hero::after { animation: none; } }
.rl-buehne-hero > * + * { margin-block-start: 1.75rem; }
.rl-buehne-hero h1 { font-size: clamp(4rem, 13vw, 12.5rem) !important; line-height: 0.86; font-weight: 900; }
.rl-outline { display: block; color: transparent; -webkit-text-stroke: 2px var(--rl-paper); }
.rl-pa-disc { border-top: 1px solid #33332f; }
.rl-pa-row { align-items: baseline !important; padding-block: 2.5rem; border-bottom: 1px solid #33332f; margin: 0 !important; gap: 1.75rem; }
.rl-pa-row > .wp-block-column:first-child { flex: 0 0 90px !important; }
.rl-pa-row > .wp-block-column:nth-child(2) { flex: 1.4 1 0 !important; }
.rl-pa-row > .wp-block-column:nth-child(3) { flex: 1 1 0 !important; }
.rl-pa-row .rl-num { color: var(--rl-night-2); font-size: 1.25rem; }
.rl-pa-row h2 { font-size: clamp(2.75rem, 7vw, 6rem) !important; font-weight: 900; transition: color 0.2s, text-shadow 0.2s; }
.rl-pa-row:hover h2 { text-shadow: 0 0 40px rgba(255, 255, 255, 0.25); }
.rl-gallery { gap: 0.875rem !important; margin-bottom: 0.875rem !important; }
.rl-gallery-a > .wp-block-column:first-child, .rl-gallery-b > .wp-block-column:last-child { flex: 7 1 0 !important; }
.rl-gallery-a > .wp-block-column:last-child, .rl-gallery-b > .wp-block-column:first-child { flex: 5 1 0 !important; }
.rl-gallery .wp-block-cover.rl-photo { aspect-ratio: 4 / 3; }
.rl-gallery .wp-block-cover.rl-photo-tall { aspect-ratio: 4 / 5; }
.rl-pa-quote { font-size: clamp(2.5rem, 6.5vw, 5.75rem) !important; font-weight: 900; line-height: 0.95; max-width: 14ch; }
.rl-pa-contact { gap: 1.75rem; padding-block: 4.5rem; margin-top: 4.5rem; border-top: 1px solid #33332f; }
.rl-pa-contact .rl-lead { max-width: 26em; margin: 0; }
.rl-foot-buehne { padding-block: 1.75rem; color: #8e8e87; }
.rl-foot-buehne p { margin: 0; font-size: 0.875rem; color: #8e8e87; }
.rl-foot-buehne a { color: #8e8e87; text-decoration: none; }
.rl-foot-buehne a:hover { color: var(--rl-paper); }

/* Responsive -------------------------------------------------------------- */
@media (max-width: 1100px) {
	.rl-header-cta { display: none; }
}
@media (max-width: 781px) {
	.rl-kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-process { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.75rem; }
	.rl-cases .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
	.rl-form-row { grid-template-columns: 1fr; }
	.rl-pa-row > .wp-block-column { flex-basis: 100% !important; }
	.rl-pa-row { padding-block: 1.75rem; gap: 0.5rem; }
	.rl-stage-cols, .rl-split, .rl-contact { gap: 2rem; }
}
@media (max-width: 560px) {
	.rl-process { grid-template-columns: 1fr; }
	.rl-metric-value { font-size: 1.4rem; }
	.rl-refs-list a { font-size: 1.15rem; }
	.rl-header-inner { min-height: 64px; }
	.rl-logo img { width: 150px !important; }
}

/* Fotos im Abschnitt an die Inhaltsbreite binden, Beschriftung links */
.rl-section > .wp-block-cover.rl-photo { max-width: 1240px !important; margin-inline: auto !important; }
.wp-block-cover.rl-photo .wp-block-cover__inner-container > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.rl-cases .rl-metric-value { font-size: 1.35rem; }
