/*!
 * RS Widgets A – Bühne, Hero, Medien (rs-core/modules/widgets)
 * ---------------------------------------------------------------------------
 * Nutzt ausschließlich die Tokens/Komponenten aus rs-ui.css.
 * Präfixe je Widget:
 *   .rs-hero (Hero · Bühne)        .rs-heading-w (Überschrift)   .rs-signature-w (Unterschrift)
 *   .rs-area-stage (Bereichs-Bühne) .rs-split-intro (Vorstellung) .rs-quote (Zitat)
 *   .rs-cta (Handlungsaufruf)       .rs-line-w (Verbindungslinie) .rs-image (Bild mit Tiefe)
 *   .rs-gallery (Galerie)           .rs-marquee-w (Laufband)      .rs-stats (Kennzahlen)
 *   .rs-lightbox (gemeinsame Lightbox), .rs-line-dot (Verbindungspunkt)
 * Breakpoints: Mobil ≤767 · Tablet 768–1199 · Desktop ≥1200 · Groß ≥1920
 * ---------------------------------------------------------------------------
 */

/* ===================================================================== Gemeinsam: Linien */
.rs-line-dot {
	--_s: var(--rs-dot-size, 12px);
	position: absolute; left: var(--x, 50%); top: var(--y, 100%);
	width: var(--_s); height: var(--_s); margin: calc(var(--_s) / -2) 0 0 calc(var(--_s) / -2);
	border-radius: 50%; border: var(--rs-line-w) solid currentColor;
	background: var(--rs-dot-bg, var(--rs-c-paper));
	opacity: clamp(0, (var(--rs-line-p, 1) - .9) * 10, 1);
	transform: scale(clamp(.4, var(--rs-line-p, 1), 1));
}
.rs-line-dot--filled { background: currentColor; }
.rs-line[data-rs-line="view"] .rs-line-dot { opacity: 0; transform: scale(.4); transition: opacity .5s var(--rs-ease-out) 1.9s, transform .7s var(--rs-ease-out) 1.9s; }
.rs-line[data-rs-line="view"].is-drawn .rs-line-dot { opacity: 1; transform: none; }
.rs-on-dark .rs-line-dot { --rs-dot-bg: var(--rs-c-dark); }
/* Ohne JS: Linien vollständig zeigen */
html:not(.rs-js) .rs-line[data-rs-shape] .rs-line__path { stroke-dashoffset: 0 !important; stroke-dasharray: none !important; }
html:not(.rs-js) .rs-line-dot { opacity: 1; transform: none; }

/* ===================================================================== Gemeinsam: Titel
 * Die Lesestimme (*Akzent*, Newsreader) hat andere Ober-/Unterlängen als Albert Sans
 * und würde die Zeile vergrößern. Der Akzent trägt daher nicht zur Zeilenhöhe bei. */
:is(.rs-hero, .rs-heading-w, .rs-split-intro, .rs-cta, .rs-area-stage, .rs-quote) .rs-title .rs-em { line-height: 0; }
:is(.rs-hero, .rs-heading-w, .rs-split-intro, .rs-cta, .rs-area-stage, .rs-quote) .rs-title .rs-em .rs-split__w { line-height: var(--rs-lh-display); }
:is(.rs-hero, .rs-heading-w, .rs-split-intro, .rs-cta, .rs-area-stage, .rs-quote) .rs-title:not(.rs-title--hero):not(.rs-title--1) .rs-em .rs-split__w { line-height: var(--rs-lh-heading); }

/* ===================================================================== Gemeinsam: Lightbox */
.rs-lightbox { width: min(1280px, calc(100% - 24px)); max-height: calc(100dvh - 24px); background: var(--rs-c-dark); color: var(--rs-c-on-dark); overflow: hidden; }
.rs-lightbox[open] { display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.rs-lightbox__close { position: absolute; top: 12px; right: 12px; z-index: 3; margin: 0; float: none; background: rgb(14 23 38 / .6); color: var(--rs-c-on-dark); border-color: rgb(255 255 255 / .25); }
.rs-lightbox__close:hover { background: var(--rs-c-paper); color: var(--rs-c-ink); }
.rs-lightbox__stage { position: relative; display: grid; place-items: center; min-height: 0; padding: clamp(12px, 3vw, 40px) clamp(12px, 6vw, 84px); }
.rs-lightbox__img { display: block; max-width: 100%; max-height: calc(100dvh - 150px); width: auto; height: auto; object-fit: contain; border-radius: var(--rs-r-s); }
.rs-lightbox__nav { position: absolute; top: 50%; translate: 0 -50%; z-index: 2; background: rgb(14 23 38 / .55); color: var(--rs-c-on-dark); border-color: rgb(255 255 255 / .25); }
.rs-lightbox__nav:hover { background: var(--rs-c-paper); color: var(--rs-c-ink); }
.rs-lightbox__nav[hidden] { display: none; }
.rs-lightbox__nav--prev { left: 12px; }
.rs-lightbox__nav--next { right: 12px; }
.rs-lightbox__meta { display: flex; gap: 16px; justify-content: space-between; align-items: baseline; padding: 0 clamp(16px, 3vw, 32px) clamp(14px, 2vw, 22px); font: 400 .95rem/1.5 var(--rs-f-body); color: var(--rs-c-on-dark-muted); }
.rs-lightbox__caption { margin: 0; font-family: var(--rs-f-voice); font-style: italic; font-size: 1.05rem; color: var(--rs-c-on-dark); }
.rs-lightbox__count { margin-left: auto; font: 500 .85rem/1 var(--rs-f-ui); white-space: nowrap; }
@media (max-width: 767px) {
	.rs-lightbox__stage { padding: 56px 8px 8px; }
	.rs-lightbox__nav { top: auto; bottom: 8px; translate: none; }
	.rs-lightbox[open] { grid-template-rows: minmax(0, 1fr) auto; }
	.rs-lightbox__img { max-height: calc(100dvh - 190px); }
	.rs-lightbox__meta { padding-bottom: 64px; }
}

/* ===================================================================== RS Hero · Bühne */
.rs-hero {
	--rs-hero-bg: var(--rs-c-paper);
	--rs-hero-bg2: color-mix(in srgb, var(--rs-c-stone) 55%, var(--rs-c-paper));
	--rs-hero-ov: var(--rs-c-paper);
	--rs-hero-ov-o: .85;
	--rs-hero-angle: 160deg;
	--rs-hero-content-w: 720px;
	--rs-hero-justify: start;
	--rs-person-h: 92%;
	--rs-person-x: 4%;
	--rs-person-y: 0px;
	--_h: var(--rs-hero-h, 100vh);
	--_hd: var(--rs-hero-hd, 100dvh);
	position: relative; isolation: isolate;
	display: flex; flex-direction: column;
	min-height: var(--_h);
	overflow: hidden;
	overflow: clip;
	color: var(--rs-c-ink);
	background: var(--rs-hero-bg);
}
@supports (min-height: 1dvh) { .rs-hero { min-height: var(--_hd); } }
@media (min-width: 768px) and (max-width: 1199px) {
	.rs-hero { --_h: var(--rs-hero-h-t, var(--rs-hero-h, 100vh)); --_hd: var(--rs-hero-hd-t, var(--rs-hero-hd, 100dvh)); }
}
@media (max-width: 767px) {
	.rs-hero { --_h: var(--rs-hero-h-m, var(--rs-hero-h-t, 100vh)); --_hd: var(--rs-hero-hd-m, var(--rs-hero-hd-t, 100dvh)); }
}
.rs-hero--dark { --rs-hero-bg: var(--rs-c-dark); --rs-hero-bg2: var(--rs-c-ink); --rs-hero-ov: var(--rs-c-dark); color: var(--rs-c-on-dark); }
/* Linie darf unten hinauslaufen – horizontal bleibt alles beschnitten */
@supports (overflow: clip) { .rs-hero--overhang { overflow-x: clip; overflow-y: visible; z-index: 2; } }

/* (a) Hintergrund */
.rs-hero__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; background: linear-gradient(var(--rs-hero-angle), var(--rs-hero-bg), var(--rs-hero-bg2)); }
.rs-hero--bg-image .rs-hero__bg, .rs-hero--bg-video .rs-hero__bg { background: var(--rs-hero-bg); }
.rs-hero__bg-media { position: absolute; inset: -9% 0; }
.rs-hero__bg-media img, .rs-hero__bg-media video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--rs-hero-obj, 50% 50%); }
.rs-hero__video { opacity: 0; transition: opacity 1.2s var(--rs-ease-out); }
.rs-hero.is-video-ready .rs-hero__video { opacity: 1; }
.rs-hero.is-poster .rs-hero__video, .rs-reduced .rs-hero__video { display: none; }
@media (prefers-reduced-motion: reduce) { .rs-hero__video { display: none; } }
.rs-hero__overlay {
	position: absolute; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit;
	opacity: var(--rs-hero-ov-o);
	background-image: linear-gradient(90deg, var(--rs-hero-ov) 0%, var(--rs-hero-ov) 26%, transparent 74%);
}
@media (max-width: 767px) { .rs-hero__overlay { background-image: linear-gradient(0deg, var(--rs-hero-ov) 0%, var(--rs-hero-ov) 30%, transparent 78%); } }

/* (b) Riesenwort */
.rs-hero__giant {
	--rs-giant-size: 19vw; --rs-giant-o: .07;
	position: absolute; inset: 0; z-index: 2; overflow: hidden; pointer-events: none;
	display: flex; align-items: center; justify-content: center;
	padding: calc(var(--rs-header-h) * .5) 2vw 0;
}
.rs-hero__giant--v-top { align-items: flex-start; padding-top: calc(var(--rs-header-h) + 3vh); }
.rs-hero__giant--v-bottom { align-items: flex-end; padding-bottom: 2vh; }
.rs-hero__giant--h-left { justify-content: flex-start; }
.rs-hero__giant--h-right { justify-content: flex-end; }
.rs-hero__giant-word {
	display: block; flex: none;
	font-family: var(--rs-f-display); font-weight: 200; font-size: var(--rs-giant-size);
	line-height: .82; letter-spacing: -.045em; white-space: nowrap;
	color: var(--rs-giant-c, currentColor); opacity: var(--rs-giant-o);
	user-select: none; -webkit-user-select: none;
}
.rs-hero__giant--voice .rs-hero__giant-word { font-family: var(--rs-f-voice); font-style: italic; font-weight: 300; letter-spacing: -.03em; }

/* (d) Inhalt */
.rs-hero__inner {
	position: relative; flex: 1 0 auto;
	display: flex; align-items: center; justify-content: flex-start;
	width: min(100% - 2 * var(--rs-gutter), var(--rs-container)); margin-inline: auto;
	padding: calc(var(--rs-header-h) + clamp(28px, 6vh, 88px)) 0 clamp(56px, 10vh, 128px);
}
.rs-hero--w-wide .rs-hero__inner { width: min(100% - 2 * var(--rs-gutter), var(--rs-container-wide)); }
.rs-hero--w-full .rs-hero__inner { width: calc(100% - 2 * var(--rs-gutter)); }
.rs-hero__content {
	width: 100%; max-width: var(--rs-hero-content-w); min-width: 0;
	display: grid; justify-items: var(--rs-hero-justify); align-content: center;
	gap: clamp(26px, 3vw, 42px);
}
.rs-hero__content[data-rs-depth] { z-index: 5; }
.rs-hero__content > *, .rs-hero__heading > * { position: relative; z-index: 5; }
.rs-hero__heading { width: 100%; gap: clamp(16px, 1.8vw, 26px); justify-items: var(--rs-hero-justify); }
.rs-hero__eyebrow { margin: 0; }
.rs-hero__title { max-width: 100%; overflow-wrap: break-word; }
.rs-hero__sub { color: inherit; opacity: .92; }
.rs-hero__sub p { margin: 0; }
.rs-hero__actions-wrap { width: 100%; }
.rs-hero__actions { justify-content: var(--rs-hero-justify); }
.rs-hero__badge { color: var(--rs-area); font-size: 1rem; }
.rs-on-dark .rs-hero__badge { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }
@media (min-width: 1200px) { .rs-hero--behind .rs-hero__title { z-index: 3; } }

/* Unterschrift + Verbindungslinie */
.rs-hero__sig { position: relative; z-index: 5; justify-self: var(--rs-hero-justify); line-height: 0; }
.rs-hero__sig .rs-signature { width: var(--rs-sig-w, 230px); }
.rs-hero .rs-hero__line {
	position: absolute; z-index: -1; top: 88%; left: 80%;
	width: var(--rs-hero-line-w, 180px); height: var(--rs-hero-line-h, 40vh);
	opacity: 0; transition: opacity 1.2s var(--rs-ease-out) calc(var(--rs-sig-delay, 1.1s) + var(--rs-sig-dur, 2.6s) * .7);
}
.rs-hero .rs-hero__line--swing-left { left: auto; right: 82%; }
.rs-hero .rs-hero__line--s, .rs-hero .rs-hero__line--straight { left: 72%; translate: -50% 0; }
.rs-hero__sig .rs-signature.is-drawing ~ .rs-hero__line,
html:not(.rs-js) .rs-hero .rs-hero__line,
.rs-reduced .rs-hero .rs-hero__line,
.elementor-editor-active .rs-hero .rs-hero__line { opacity: 1; transition-delay: 0s; }

/* (c) Person */
.rs-hero__person {
	position: absolute; z-index: 4;
	right: var(--rs-person-x); bottom: var(--rs-person-y);
	height: min(var(--rs-person-h), calc(100% - var(--rs-header-h) - 2vh));
	display: flex; align-items: flex-end; pointer-events: none;
}
.rs-hero__person--left { right: auto; left: var(--rs-person-x); }
.rs-hero__person--center { right: auto; left: 50%; translate: -50% 0; }
.rs-hero__person-reveal, .rs-hero__person-depth { height: 100%; display: flex; align-items: flex-end; justify-content: center; }
.rs-hero__person-img { display: block; height: 100%; width: auto; max-width: none; object-fit: contain; object-position: 50% 100%; }
.rs-hero__person--shadow::after {
	content: ""; position: absolute; z-index: -1; left: 10%; right: 10%; bottom: -1.2%; height: 6%;
	border-radius: 50%; filter: blur(5px);
	background: radial-gradient(closest-side, rgb(16 27 45 / var(--rs-person-shadow-o, .28)), transparent);
}
.rs-hero--dark .rs-hero__person--shadow::after { background: radial-gradient(closest-side, rgb(0 0 0 / calc(var(--rs-person-shadow-o, .28) * 1.8)), transparent); }

/* Scroll-Hinweis */
.rs-hero__scroll {
	position: absolute; z-index: 6; bottom: clamp(18px, 3.5vh, 36px); left: 50%; translate: -50% 0;
	display: grid; justify-items: center; gap: 10px;
	color: inherit; text-decoration: none; font: 500 .82rem/1 var(--rs-f-ui); letter-spacing: .04em;
}
.rs-hero__scroll--left { left: var(--rs-gutter); translate: none; justify-items: start; }
.rs-hero__scroll--right { left: auto; right: var(--rs-gutter); translate: none; justify-items: end; }
.rs-hero__scroll-line { position: relative; width: var(--rs-line-w); height: 56px; overflow: hidden; background: color-mix(in srgb, currentColor 18%, transparent); }
.rs-hero__scroll-line::after { content: ""; position: absolute; inset: 0; background: var(--rs-area); transform-origin: 50% 0; animation: rs-hero-scroll 2.8s var(--rs-ease-in-out) infinite; }
.rs-hero__scroll:hover .rs-hero__scroll-text, .rs-hero__scroll:focus-visible .rs-hero__scroll-text { color: var(--rs-area); }
.rs-on-dark .rs-hero__scroll:hover .rs-hero__scroll-text { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }
@keyframes rs-hero-scroll {
	0% { transform: scaleY(0); transform-origin: 50% 0; }
	45% { transform: scaleY(1); transform-origin: 50% 0; }
	55% { transform: scaleY(1); transform-origin: 50% 100%; }
	100% { transform: scaleY(0); transform-origin: 50% 100%; }
}
.rs-reduced .rs-hero__scroll-line::after { animation: none; }
@media (prefers-reduced-motion: reduce) { .rs-hero__scroll-line::after { animation: none; } }

/* Video-Knopf */
.rs-hero__video-toggle {
	position: absolute; z-index: 6; right: var(--rs-gutter); bottom: clamp(16px, 3vh, 32px);
	background: color-mix(in srgb, var(--rs-hero-ov) 72%, transparent);
	border-color: color-mix(in srgb, currentColor 32%, transparent);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.rs-hero__video-toggle[hidden] { display: none; }
.rs-hero__video-toggle .rs-icon { width: 20px; height: 20px; }
.rs-hero__vt-play, .rs-hero.is-paused .rs-hero__vt-pause { display: none; }
.rs-hero.is-paused .rs-hero__vt-play, .rs-hero__vt-pause { display: inline-grid; }

/* Groß ≥1920 */
@media (min-width: 1920px) {
	.rs-hero__content { gap: 46px; }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1199px) {
	.rs-hero__inner { padding-bottom: clamp(48px, 8vh, 96px); }
	/* gestapelt: Person über / unter dem Text */
	.rs-hero--pt-top .rs-hero__person, .rs-hero--pt-bottom .rs-hero__person {
		position: relative; inset: auto; translate: none; align-self: center; justify-content: center;
		height: var(--rs-person-hs-t, 52vh); max-height: none;
	}
	.rs-hero--pt-top .rs-hero__person { order: 0; margin-top: calc(var(--rs-header-h) + 8px); }
	.rs-hero--pt-top .rs-hero__inner { order: 1; padding-top: clamp(12px, 2.5vh, 28px); }
	.rs-hero--pt-bottom .rs-hero__person { order: 2; }
	.rs-hero--pt-top .rs-hero__content, .rs-hero--pt-bottom .rs-hero__content, .rs-hero--pt-hide .rs-hero__content { max-width: min(100%, 760px); }
	.rs-hero--pt-hide .rs-hero__person { display: none; }
	.rs-hero--pt-top.rs-hero--person-fade .rs-hero__person-img { -webkit-mask-image: linear-gradient(#000 74%, transparent 99%); mask-image: linear-gradient(#000 74%, transparent 99%); }
	.rs-hero--pt-top .rs-hero__person--shadow::after { display: none; }
	.rs-hero--pt-top .rs-hero__giant { align-items: flex-start; padding-top: calc(var(--rs-header-h) + 14vh); }
	.rs-hero--pt-bottom .rs-hero__giant { align-items: flex-end; padding-bottom: 12vh; }
	.rs-hero__person-img { max-width: 100%; }
}
@media (min-width: 768px) and (max-width: 1199px) and (orientation: portrait) {
	.rs-hero--pt-auto .rs-hero__person {
		position: relative; inset: auto; translate: none; align-self: center; justify-content: center;
		height: var(--rs-person-hs-t, 52vh); max-height: none; order: 0; margin-top: calc(var(--rs-header-h) + 8px);
	}
	.rs-hero--pt-auto .rs-hero__inner { order: 1; padding-top: clamp(12px, 2.5vh, 28px); }
	.rs-hero--pt-auto .rs-hero__content { max-width: min(100%, 760px); }
	.rs-hero--pt-auto.rs-hero--person-fade .rs-hero__person-img { -webkit-mask-image: linear-gradient(#000 74%, transparent 99%); mask-image: linear-gradient(#000 74%, transparent 99%); }
	.rs-hero--pt-auto .rs-hero__person--shadow::after { display: none; }
	.rs-hero--pt-auto .rs-hero__giant { align-items: flex-start; padding-top: calc(var(--rs-header-h) + 14vh); }
}

/* Mobil */
@media (max-width: 767px) {
	.rs-hero__inner { padding: calc(var(--rs-header-h-m, 68px) + 28px) 0 44px; }
	.rs-hero__content { gap: 24px; max-width: var(--rs-hero-content-w, 100%); }
	.rs-hero--pm-top .rs-hero__person, .rs-hero--pm-bottom .rs-hero__person {
		position: relative; inset: auto; translate: none; align-self: center; justify-content: center;
		height: var(--rs-person-hs-m, 44vh); max-height: none; max-width: 100%;
	}
	.rs-hero--pm-top .rs-hero__person { order: 0; margin-top: calc(var(--rs-header-h-m, 68px) + 6px); }
	.rs-hero--pm-top .rs-hero__inner { order: 1; padding-top: 14px; }
	.rs-hero--pm-bottom .rs-hero__person { order: 2; }
	.rs-hero--pm-bottom .rs-hero__inner { padding-bottom: 28px; }
	.rs-hero--pm-hide .rs-hero__person { display: none; }
	.rs-hero--pm-top.rs-hero--person-fade .rs-hero__person-img { -webkit-mask-image: linear-gradient(#000 72%, transparent 99%); mask-image: linear-gradient(#000 72%, transparent 99%); }
	.rs-hero--pm-top .rs-hero__person--shadow::after { display: none; }
	.rs-hero__person-img { max-width: 100%; }
	.rs-hero--pm-top .rs-hero__giant { align-items: flex-start; padding-top: calc(var(--rs-header-h-m, 68px) + 12vh); }
	.rs-hero--pm-bottom .rs-hero__giant { align-items: flex-end; padding-bottom: 14vh; }
	.rs-hero .rs-hero__line { left: 70%; }
	.rs-hero__video-toggle { bottom: 14px; width: 42px; height: 42px; }
}

/* ===================================================================== RS Überschrift */
.rs-heading-w__inner > * { max-width: 100%; }
.rs-heading-w__title { overflow-wrap: break-word; }
.rs-heading-w__mark { color: var(--rs-area); font-size: 1rem; }
.rs-on-dark .rs-heading-w__mark { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }
a.rs-heading-w__mark:hover { color: inherit; }
.rs-heading-w .rs-heading-w__rule { display: block; width: 140px; height: clamp(10px, 1.1vw, 16px); margin-top: calc(clamp(4px, .6vw, 10px) * -1); }
.rs-heading-w .rs-heading-w__rule[data-rs-shape="flat"] { height: 6px; margin-top: 0; }
.rs-heading-w__sub p:last-child { margin-bottom: 0; }

/* ===================================================================== RS Unterschrift */
.rs-signature-w { display: grid; justify-items: start; overflow: hidden; overflow: clip; }
.rs-signature-w__unit { display: grid; justify-items: start; width: max-content; max-width: 100%; }
.rs-signature-w__fig { margin: 0; display: grid; gap: 12px; justify-items: inherit; line-height: 0; }
.rs-signature-w .rs-signature { width: var(--rs-sig-w, 240px); }
.rs-signature-w__caption { display: grid; gap: 3px; line-height: 1.3; }
.rs-signature-w__name { font: 500 .95rem/1.3 var(--rs-f-ui); letter-spacing: .01em; }
.rs-signature-w__role { font: 400 .85rem/1.3 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-signature-w .rs-signature-w__line {
	display: block; width: var(--rs-sw-line-w, 140px); height: 180px; margin-top: -4px;
	margin-left: max(0px, calc(var(--rs-sig-w, 240px) * var(--rs-sig-attach, .8) - var(--rs-sw-line-w, 140px) * var(--_sx, 0)));
}

/* ===================================================================== RS Bereichs-Bühne */
.rs-area-stage { --rs-stage-h: 600px; --rs-stage-shade: .8; --rs-panels-h: var(--rs-stage-h); --rs-panels-h-t: var(--rs-stage-h); }
.rs-area-stage .rs-collection { margin: 0; padding: 0; list-style: none; }
.rs-area-stage .rs-area-stage__item { position: relative; min-width: 0; background: color-mix(in srgb, var(--rs-area) 78%, var(--rs-c-dark)); color: var(--rs-c-on-dark); }
.rs-area-stage__card {
	position: relative; isolation: isolate; overflow: hidden; border-radius: inherit;
	display: flex; flex-direction: column; justify-content: flex-end;
	height: 100%; min-height: var(--rs-stage-h);
}
.rs-area-stage__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.rs-area-stage__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.6s var(--rs-ease-out); }
.rs-area-stage__item:hover .rs-area-stage__media img, .rs-area-stage__item:focus-within .rs-area-stage__media img, .rs-area-stage__item.is-active .rs-area-stage__media img { transform: scale(1.01); }
.rs-area-stage__icon { position: absolute; right: 8%; top: 9%; width: 34%; max-width: 180px; opacity: .22; }
.rs-area-stage__icon .rs-icon { width: 100%; height: auto; stroke-width: 1; }
.rs-area-stage__shade {
	position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		linear-gradient(to top, rgb(14 23 38 / var(--rs-stage-shade)) 0%, rgb(14 23 38 / calc(var(--rs-stage-shade) * .62)) 42%, rgb(14 23 38 / 0) 78%),
		linear-gradient(to top, color-mix(in srgb, var(--rs-area) 38%, transparent), transparent 55%);
}
.rs-area-stage__shade::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--rs-area) 55%, var(--rs-c-dark)); opacity: 0; transition: opacity .7s var(--rs-ease-out); }
.rs-area-stage__body { display: grid; gap: 12px; justify-items: start; padding: clamp(22px, 2.6vw, 40px); }
.rs-area-stage__mark { color: color-mix(in srgb, var(--rs-area) 35%, #fff); font-size: .9rem; }
.rs-area-stage__title {
	margin: 0; font-family: var(--rs-f-display); font-weight: var(--rs-fw-heading); font-size: var(--rs-fs-h3);
	line-height: 1.08; letter-spacing: var(--rs-ls-heading); overflow-wrap: anywhere; hyphens: auto; color: inherit;
}
.rs-area-stage__link { color: inherit; text-decoration: none; }
.rs-area-stage__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.rs-area-stage__link:focus-visible { outline: none; }
.rs-area-stage__link:focus-visible::after { outline: 2px solid var(--rs-c-focus); outline-offset: -5px; }
.rs-area-stage__text { margin: 0; max-width: 42ch; font: 400 var(--rs-fs-body)/1.5 var(--rs-f-body); color: color-mix(in srgb, var(--rs-c-on-dark) 88%, transparent); }
.rs-area-stage__chips { margin: 2px 0 0; padding: 0; list-style: none; }
.rs-area-stage__chips .rs-chip { color: var(--rs-c-on-dark); border-color: rgb(255 255 255 / .3); background: rgb(14 23 38 / .22); }
.rs-area-stage__more { margin-top: 4px; color: var(--rs-c-on-dark); }
.rs-area-stage__item:hover .rs-area-stage__more { background-size: 0 var(--rs-line-w); background-position: 100% 100%; }
.rs-area-stage__rail { display: none; }
.rs-area-stage__rail-mark { display: block; color: color-mix(in srgb, var(--rs-area) 35%, #fff); }
.rs-area-stage__rail-mark .rs-logo { height: 30px; width: auto; }
.rs-area-stage__rail-title { font-family: var(--rs-f-display); font-weight: var(--rs-fw-heading); font-size: var(--rs-fs-h4); line-height: 1; letter-spacing: var(--rs-ls-heading); white-space: nowrap; }
.rs-area-stage--rail-mark .rs-area-stage__rail-title { font: 300 .85rem/1 var(--rs-f-ui); letter-spacing: .1em; text-transform: uppercase; }
.rs-reduced .rs-area-stage *, .rs-reduced .rs-area-stage .rs-panel { transition-duration: 0s !important; }

/* Panels – horizontal (Desktop/Tablet) */
@media (min-width: 1200px) {
	.rs-area-stage .rs-l-d-panels { display: flex; gap: 10px; min-height: var(--rs-stage-h); }
	.rs-area-stage .rs-l-d-panels > .rs-area-stage__item { flex: 1 1 0; }
	.rs-area-stage .rs-l-d-panels > .rs-area-stage__item.is-active { flex-grow: 3.4; }
	.rs-l-d-panels .rs-area-stage__body { width: min(540px, 44vw); opacity: 0; transform: translate3d(0, 18px, 0); transition: opacity .4s var(--rs-ease-out), transform .7s var(--rs-ease-out); }
	.rs-l-d-panels .is-active .rs-area-stage__body { opacity: 1; transform: none; transition-delay: .28s; }
	.rs-l-d-panels .rs-area-stage__rail { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 16px; padding: 26px 22px; transition: opacity .45s var(--rs-ease-out) .2s; }
	.rs-l-d-panels .is-active .rs-area-stage__rail { opacity: 0; transition-delay: 0s; }
	.rs-l-d-panels .rs-area-stage__rail-title { writing-mode: vertical-rl; transform: rotate(180deg); }
	.rs-l-d-panels > :not(.is-active) .rs-area-stage__shade::after { opacity: .5; }
}
@media (min-width: 768px) and (max-width: 1199px) {
	.rs-area-stage .rs-l-t-panels { display: flex; gap: 8px; min-height: var(--rs-stage-h); }
	.rs-area-stage .rs-l-t-panels > .rs-area-stage__item { flex: 1 1 0; }
	.rs-area-stage .rs-l-t-panels > .rs-area-stage__item.is-active { flex-grow: 3.6; }
	.rs-l-t-panels .rs-area-stage__body { width: min(460px, 56vw); opacity: 0; transform: translate3d(0, 18px, 0); transition: opacity .4s var(--rs-ease-out), transform .7s var(--rs-ease-out); }
	.rs-l-t-panels .is-active .rs-area-stage__body { opacity: 1; transform: none; transition-delay: .28s; }
	.rs-l-t-panels .rs-area-stage__rail { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 14px; padding: 22px 16px; transition: opacity .45s var(--rs-ease-out) .2s; }
	.rs-l-t-panels .is-active .rs-area-stage__rail { opacity: 0; transition-delay: 0s; }
	.rs-l-t-panels .rs-area-stage__rail-title { writing-mode: vertical-rl; transform: rotate(180deg); }
	.rs-l-t-panels > :not(.is-active) .rs-area-stage__shade::after { opacity: .5; }
	/* ungerade Anzahl im 2er-Raster: letzte Karte über die volle Breite */
	.rs-area-stage .rs-l-t-grid[style*="--rs-cols-t:2;"] > .rs-area-stage__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Panels – senkrecht aufklappend (Smartphone) */
@media (max-width: 767px) {
	.rs-area-stage .rs-l-m-panels { display: flex; flex-direction: column; gap: 8px; }
	.rs-area-stage .rs-l-m-panels > .rs-area-stage__item { flex: none; }
	.rs-l-m-panels .rs-area-stage__card { min-height: 0; height: 86px; transition: height .8s var(--rs-ease-out); }
	.rs-l-m-panels .is-active .rs-area-stage__card { height: var(--rs-stage-h); }
	.rs-l-m-panels .rs-area-stage__body { opacity: 0; transition: opacity .4s var(--rs-ease-out); }
	.rs-l-m-panels .is-active .rs-area-stage__body { opacity: 1; transition-delay: .3s; }
	.rs-l-m-panels .rs-area-stage__rail { position: absolute; inset: 0; display: flex; align-items: center; gap: 12px; padding: 0 22px; transition: opacity .35s var(--rs-ease-out); }
	.rs-l-m-panels .is-active .rs-area-stage__rail { opacity: 0; }
	.rs-l-m-panels > :not(.is-active) .rs-area-stage__shade::after { opacity: .55; }
	.rs-area-stage__body { padding: 22px; }
	.rs-area-stage__title { font-size: var(--rs-fs-card-title); }
}
/* Liste – je Gerät */
@media (min-width: 1200px) {
	.rs-area-stage .rs-l-d-list > .rs-area-stage__item { background: none; color: inherit; border-radius: 0; border-bottom: 1px solid var(--rs-c-line); }
	.rs-l-d-list .rs-area-stage__card { min-height: 0; overflow: visible; display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 28px; align-items: center; padding: 22px 0; }
	.rs-l-d-list .rs-area-stage__media { position: relative; inset: auto; z-index: 0; aspect-ratio: 4 / 3; border-radius: var(--rs-r-leaf); }
	.rs-l-d-list .rs-area-stage__shade { display: none; }
	.rs-l-d-list .rs-area-stage__body { padding: 0; }
	.rs-l-d-list .rs-area-stage__text, .rs-l-d-list .rs-area-stage__more { color: var(--rs-c-ink-soft); }
	.rs-l-d-list .rs-area-stage__chips .rs-chip { color: var(--rs-c-ink-soft); border-color: var(--rs-c-line); background: none; }
	.rs-l-d-list .rs-area-stage__mark { color: var(--rs-area); }
}
@media (min-width: 768px) and (max-width: 1199px) {
	.rs-area-stage .rs-l-t-list > .rs-area-stage__item { background: none; color: inherit; border-radius: 0; border-bottom: 1px solid var(--rs-c-line); }
	.rs-l-t-list .rs-area-stage__card { min-height: 0; overflow: visible; display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 22px; align-items: center; padding: 18px 0; }
	.rs-l-t-list .rs-area-stage__media { position: relative; inset: auto; z-index: 0; aspect-ratio: 4 / 3; border-radius: var(--rs-r-leaf); }
	.rs-l-t-list .rs-area-stage__shade { display: none; }
	.rs-l-t-list .rs-area-stage__body { padding: 0; }
	.rs-l-t-list .rs-area-stage__text, .rs-l-t-list .rs-area-stage__more { color: var(--rs-c-ink-soft); }
	.rs-l-t-list .rs-area-stage__chips .rs-chip { color: var(--rs-c-ink-soft); border-color: var(--rs-c-line); background: none; }
	.rs-l-t-list .rs-area-stage__mark { color: var(--rs-area); }
}
@media (max-width: 767px) {
	.rs-area-stage .rs-l-m-list > .rs-area-stage__item { background: none; color: inherit; border-radius: 0; border-bottom: 1px solid var(--rs-c-line); }
	.rs-l-m-list .rs-area-stage__card { min-height: 0; overflow: visible; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 16px; align-items: start; padding: 16px 0; }
	.rs-l-m-list .rs-area-stage__media { position: relative; inset: auto; z-index: 0; aspect-ratio: 1; border-radius: var(--rs-r-leaf); }
	.rs-l-m-list .rs-area-stage__shade { display: none; }
	.rs-l-m-list .rs-area-stage__body { padding: 0; gap: 8px; }
	.rs-l-m-list .rs-area-stage__text, .rs-l-m-list .rs-area-stage__more { color: var(--rs-c-ink-soft); }
	.rs-l-m-list .rs-area-stage__chips { display: none; }
	.rs-l-m-list .rs-area-stage__mark { color: var(--rs-area); }
}
.rs-on-dark .rs-area-stage [class*="-list"] .rs-area-stage__text { color: var(--rs-c-on-dark-muted); }

/* ===================================================================== RS Vorstellung (Bild & Text) */
.rs-split-intro {
	--rs-si-gap: clamp(32px, 6vw, 112px);
	--rs-si-surface: color-mix(in srgb, var(--rs-c-stone) 72%, var(--rs-c-paper));
	--rs-si-cut-h: 116%;
	--rs-si-justify: start;
	--rs-si-line: var(--rs-area);
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--rs-si-gap); align-items: center;
	scroll-margin-top: calc(var(--rs-header-h) + 24px);
}
.rs-split-intro--r48 { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
.rs-split-intro--r66 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rs-split-intro--r75 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.rs-split-intro--img-right.rs-split-intro--r48 { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
.rs-split-intro--img-right.rs-split-intro--r57 { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.rs-split-intro--img-right.rs-split-intro--r75 { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.rs-split-intro--img-right .rs-split-intro__media { order: 2; }
.rs-split-intro--v-start { align-items: start; }
.rs-split-intro--v-end { align-items: end; }
.rs-split-intro__media { margin: 0; min-width: 0; }
.rs-split-intro--cutout .rs-split-intro__media { padding-top: clamp(24px, 7%, 84px); }
.rs-split-intro__frame { width: 100%; }
.rs-split-intro__stage { position: relative; }
.rs-split-intro__surface { background: var(--rs-si-surface); }
.rs-split-intro__cutout { position: absolute; left: 0; right: 0; bottom: 0; height: var(--rs-si-cut-h); overflow: hidden; pointer-events: none; border-bottom-left-radius: var(--rs-r-xl); }
.rs-split-intro__cutout-depth { position: absolute; left: 0; right: 0; bottom: -7%; height: 107%; display: flex; align-items: flex-end; justify-content: center; }
.rs-split-intro__cutout img { display: block; height: 100%; width: auto; max-width: 94%; object-fit: contain; object-position: 50% 100%; filter: drop-shadow(0 18px 22px rgb(16 27 45 / .14)); }
.rs-split-intro__caption { margin-top: 12px; font: italic 400 .95rem/1.45 var(--rs-f-voice); color: var(--rs-c-muted); }
.rs-split-intro__body { display: grid; gap: clamp(22px, 2.4vw, 34px); justify-items: var(--rs-si-justify); min-width: 0; }
.rs-split-intro__body > * { max-width: 100%; }
.rs-split-intro__heading { width: 100%; justify-items: var(--rs-si-justify); }
.rs-split-intro__title { overflow-wrap: break-word; }
.rs-split-intro__text strong { font-weight: var(--rs-fw-strong); color: var(--rs-c-ink); }
.rs-on-dark .rs-split-intro__text strong { color: inherit; }
.rs-split-intro__actions { justify-content: var(--rs-si-justify); }
.rs-split-intro__sig { line-height: 0; }
.rs-split-intro__sig .rs-signature { width: var(--rs-sig-w, 200px); }
.rs-split-intro__rel-wrap { display: grid; gap: 14px; justify-items: start; text-align: start; }
.rs-split-intro__rel-intro { margin: 0; font: 500 .95rem/1.4 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-split-intro__rel { position: relative; display: grid; gap: clamp(18px, 2vw, 26px); margin: 0; padding: 0; list-style: none; }
.rs-split-intro__rel-line { position: absolute; left: 6px; top: .7em; bottom: 1.1em; width: var(--rs-line-w); margin-left: calc(var(--rs-line-w) / -2); background: var(--rs-si-line); transform: scaleY(0); transform-origin: 50% 0; transition: transform 1.8s var(--rs-ease-in-out) .25s; }
.rs-split-intro__rel.is-in .rs-split-intro__rel-line, .rs-reduced .rs-split-intro__rel-line, html:not(.rs-js) .rs-split-intro__rel-line, .elementor-editor-active .rs-split-intro__rel-line { transform: none; }
.rs-split-intro__rel-item { position: relative; display: grid; gap: 4px; padding-left: 34px; }
.rs-split-intro__rel-item::before { content: ""; position: absolute; left: 0; top: .5em; width: 13px; height: 13px; border-radius: 50%; border: var(--rs-line-w) solid var(--rs-si-line); background: var(--rs-c-paper); }
.rs-on-dark .rs-split-intro__rel-item::before { background: var(--rs-c-dark); }
.rs-split-intro__rel-title { font-family: var(--rs-f-display); font-weight: var(--rs-fw-heading); font-size: var(--rs-fs-h4); line-height: 1.2; letter-spacing: var(--rs-ls-heading); }
.rs-split-intro__rel-text { font-size: var(--rs-fs-body); line-height: 1.5; color: var(--rs-c-ink-soft); max-width: 52ch; }
@media (min-width: 1200px) {
	.rs-split-intro--sticky .rs-split-intro__media { position: sticky; top: calc(var(--rs-header-h) + 32px); align-self: start; }
}
@media (min-width: 768px) and (max-width: 1199px) and (orientation: portrait) {
	.rs-split-intro, .rs-split-intro[class*="--r"] { grid-template-columns: minmax(0, 1fr); }
	.rs-split-intro .rs-split-intro__media { order: 0; width: min(100%, 520px); }
	.rs-split-intro--m-bottom .rs-split-intro__media { order: 2; }
}
@media (max-width: 767px) {
	.rs-split-intro, .rs-split-intro[class*="--r"] { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.rs-split-intro .rs-split-intro__media { order: 0; }
	.rs-split-intro--m-bottom .rs-split-intro__media { order: 2; }
	.rs-split-intro--m-hide .rs-split-intro__media { display: none; }
	.rs-split-intro--cutout .rs-split-intro__media { padding-top: 32px; }
}

/* ===================================================================== RS Zitat / Leitsatz */
.rs-quote { --rs-q-justify: center; --rs-q-line: var(--rs-area); --rs-q-line-l: 72px; --rs-q-avatar: 56px; --rs-q-portrait: 32%; text-align: center; }
.rs-quote__fig { margin: 0; display: grid; gap: clamp(24px, 3vw, 48px); justify-items: var(--rs-q-justify); }
.rs-quote__main { display: grid; gap: clamp(20px, 2.4vw, 32px); justify-items: var(--rs-q-justify); width: 100%; min-width: 0; }
.rs-quote__text {
	margin: 0; max-width: 34ch;
	font-family: var(--rs-f-voice); font-style: italic; font-weight: 400; font-size: var(--rs-fs-quote);
	line-height: 1.28; letter-spacing: -.012em; color: inherit; text-wrap: balance; overflow-wrap: break-word;
}
.rs-quote__text p { margin: 0; }
.rs-quote__text .rs-em { font-family: var(--rs-f-display); font-style: normal; font-weight: var(--rs-fw-heading); letter-spacing: -.02em; }
.rs-quote--s .rs-quote__text { font-size: var(--rs-fs-h4); line-height: 1.4; }
.rs-quote--m .rs-quote__text { font-size: var(--rs-fs-h3); line-height: 1.32; }
.rs-quote--xl .rs-quote__text { font-size: var(--rs-fs-h1); line-height: 1.12; letter-spacing: -.02em; }
.rs-quote__mark { color: var(--rs-area); }
.rs-on-dark .rs-quote__mark { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }
.rs-quote__cite { display: flex; align-items: center; gap: 14px; justify-content: var(--rs-q-justify); text-align: start; }
.rs-quote__who { display: grid; gap: 2px; }
.rs-quote__source { font: 600 1rem/1.3 var(--rs-f-ui); font-style: normal; color: inherit; }
.rs-quote__source a { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; }
.rs-quote__role { font: 400 .9rem/1.3 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-quote__avatar { flex: none; width: var(--rs-q-avatar); height: var(--rs-q-avatar); border-radius: 50%; overflow: hidden; background: var(--rs-c-stone); }
.rs-quote__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.rs-quote__line { display: block; width: var(--rs-q-line-l); height: var(--rs-line-w); background: var(--rs-q-line); clip-path: inset(0 100% 0 0); transition: clip-path 1.3s var(--rs-ease-out) .3s; }
.rs-quote__fig.is-in .rs-quote__line, .rs-quote--static .rs-quote__line, .rs-reduced .rs-quote__line, html:not(.rs-js) .rs-quote__line, .elementor-editor-active .rs-quote__line { clip-path: inset(0 0 0 0); }
.rs-quote--line-left .rs-quote__main { border-left: var(--rs-line-w) solid var(--rs-q-line); padding-left: clamp(20px, 3vw, 40px); }
.rs-quote--img-portrait .rs-quote__fig { grid-template-columns: var(--rs-q-portrait) minmax(0, 1fr); align-items: center; }
.rs-quote__portrait { aspect-ratio: 4 / 5; border-radius: var(--rs-r-leaf); overflow: hidden; background: var(--rs-c-stone); width: 100%; }
.rs-quote__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
@media (max-width: 767px) {
	.rs-quote--img-portrait .rs-quote__fig { grid-template-columns: minmax(0, 1fr); }
	.rs-quote__portrait { width: min(62%, 260px); }
}

/* ===================================================================== RS Handlungsaufruf */
.rs-cta { --rs-cta-ov: .78; --rs-cta-justify: start; }
.rs-cta__box { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--rs-r-leaf); padding-block: clamp(48px, 7vw, 120px); background: color-mix(in srgb, var(--rs-c-surface) 55%, var(--rs-c-paper)); border: 1px solid var(--rs-c-line); }
.rs-cta--stone .rs-cta__box { background: color-mix(in srgb, var(--rs-c-stone) 75%, var(--rs-c-paper)); border-color: transparent; }
.rs-cta--dark .rs-cta__box { background: var(--rs-c-dark); border-color: transparent; }
.rs-cta--area .rs-cta__box { background: color-mix(in srgb, var(--rs-area) 72%, var(--rs-c-dark)); border-color: transparent; }
.rs-cta--image .rs-cta__box { background: var(--rs-c-dark); border-color: transparent; }
.rs-cta--compact .rs-cta__box { padding-block: clamp(28px, 3.6vw, 56px); }
.rs-cta__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.rs-cta__media-inner { position: absolute; inset: -10% 0; }
.rs-cta__media img { width: 100%; height: 100%; object-fit: cover; }
.rs-cta__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgb(14 23 38 / var(--rs-cta-ov)) 0%, rgb(14 23 38 / calc(var(--rs-cta-ov) * .8)) 55%, rgb(14 23 38 / calc(var(--rs-cta-ov) * .6)) 100%); }
.rs-cta__inner { width: min(100% - 2 * clamp(24px, 5vw, 88px), var(--rs-container)); margin-inline: auto; display: grid; gap: clamp(28px, 3vw, 48px); text-align: start; }
.rs-cta--w-narrow .rs-cta__inner { width: min(100% - 2 * clamp(24px, 5vw, 88px), 820px); }
.rs-cta--w-full .rs-cta__inner { width: calc(100% - 2 * clamp(24px, 5vw, 88px)); }
.rs-cta__text { min-width: 0; }
.rs-cta__heading { justify-items: var(--rs-cta-justify); }
.rs-cta__title { overflow-wrap: break-word; }
.rs-cta__sub p { margin: 0; }
.rs-cta__aside { display: grid; gap: 24px; justify-items: var(--rs-cta-justify); align-content: end; min-width: 0; }
.rs-cta__actions { justify-content: var(--rs-cta-justify); }
.rs-cta__sig { line-height: 0; }
.rs-cta__sig .rs-signature { width: var(--rs-sig-w, 180px); }
.rs-cta .rs-cta__line { display: block; width: 120px; max-width: 40%; height: 140px; margin-inline: auto; }
.rs-cta__line--top { margin-bottom: -1px; }
.rs-cta__line--bottom { margin-top: -1px; }
@media (min-width: 768px) {
	.rs-cta--split .rs-cta__inner { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: end; column-gap: clamp(32px, 5vw, 96px); }
	.rs-cta--split .rs-cta__aside { justify-items: end; text-align: end; }
	.rs-cta--split .rs-cta__actions { justify-content: flex-end; }
}
@media (max-width: 767px) {
	.rs-cta__aside { justify-items: start; }
	.rs-cta__actions { justify-content: flex-start; }
}

/* ===================================================================== RS Verbindungslinie */
.rs-line-w {
	position: relative; z-index: 2; display: grid; justify-items: center; pointer-events: none;
	margin-block: calc(var(--rs-bleed-t, 0px) * -1) calc(var(--rs-bleed-b, 0px) * -1);
	overflow-x: clip;
}
.rs-line-w .rs-line-w__line { display: block; width: 200px; height: 220px; max-width: 100%; }

/* ===================================================================== RS Bild mit Tiefe */
.rs-image { --rs-cut-shadow: .22; display: grid; justify-items: center; }
.rs-image__fig { margin: 0; width: 100%; max-width: 100%; display: grid; gap: 14px; }
.rs-image__link { position: relative; display: block; color: inherit; text-decoration: none; border-radius: var(--rs-r-leaf); }
.rs-image__frame { width: 100%; }
.rs-image__frame img { transition: transform 1.1s var(--rs-ease-out); }
.rs-image--zoom .rs-image__link:hover .rs-image__frame img, .rs-image--zoom .rs-image__link:focus-visible .rs-image__frame img { transform: scale(1.035); }
.rs-image__frame--cutout { background: none; }
.rs-image__frame--cutout img { width: 100%; height: auto; filter: drop-shadow(0 26px 30px rgb(16 27 45 / var(--rs-cut-shadow))); }
.rs-image__zoom-icon { position: absolute; right: 14px; bottom: 14px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgb(243 241 238 / .92); color: var(--rs-c-ink); opacity: 0; transform: scale(.85); transition: opacity .3s var(--rs-ease-out), transform .45s var(--rs-ease-out); }
.rs-image__link:hover .rs-image__zoom-icon, .rs-image__link:focus-visible .rs-image__zoom-icon { opacity: 1; transform: none; }
@media (hover: none) { .rs-image__zoom-icon { opacity: 1; transform: none; } }
.rs-image__caption { font: italic 400 .95rem/1.45 var(--rs-f-voice); color: var(--rs-c-muted); }

/* ===================================================================== RS Galerie */
.rs-gallery { --rs-bento-row: 240px; --rs-gal-shade: .75; }
.rs-gallery .rs-collection { gap: var(--rs-gap); }
.rs-gallery__item { position: relative; margin: 0; display: grid; gap: 10px; align-content: start; min-width: 0; }
.rs-gallery__link { display: block; color: inherit; border-radius: var(--rs-r-leaf); }
.rs-gallery__frame { display: block; width: 100%; aspect-ratio: var(--rs-ratio, 4 / 3); }
.rs-gallery__frame img { transition: transform 1.1s var(--rs-ease-out); }
.rs-gallery--zoom .rs-gallery__link:hover img, .rs-gallery--zoom .rs-gallery__link:focus-visible img { transform: scale(1.04); }
.rs-gallery__caption { font: italic 400 .95rem/1.4 var(--rs-f-voice); color: var(--rs-c-muted); }
.rs-gallery--cap-overlay .rs-gallery__caption {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none;
	padding: 48px 20px 16px; color: #fff; text-shadow: 0 1px 2px rgb(0 0 0 / .25);
	background: linear-gradient(to top, rgb(14 23 38 / var(--rs-gal-shade)), rgb(14 23 38 / 0));
	border-radius: 0 0 var(--rs-r-xs) var(--rs-r-xl);
}
.rs-gallery--cap-overlay .rs-gallery__item:nth-child(even) .rs-gallery__caption { border-radius: 0 0 var(--rs-r-xs) var(--rs-r-xs); }
@media (min-width: 1200px) {
	.rs-gallery .rs-l-d-bento { grid-auto-rows: var(--rs-bento-row); }
	/* Keine Lücken bei Bildanzahlen, die nicht ins 5er-Muster passen */
	.rs-gallery .rs-l-d-bento > .rs-gallery__item:nth-child(5n+1):last-child { grid-column: 1 / -1; grid-row: span 2; }
	.rs-gallery .rs-l-d-bento > .rs-gallery__item:nth-child(5n+2):last-child { grid-row: span 2; }
	.rs-gallery .rs-l-d-bento > .rs-gallery__item:nth-child(5n+4):last-child { grid-column: 1 / -1; }
	.rs-gallery .rs-l-d-bento > .rs-gallery__item { display: block; height: 100%; }
	.rs-gallery .rs-l-d-bento .rs-gallery__link, .rs-gallery .rs-l-d-bento .rs-gallery__frame { height: 100%; aspect-ratio: auto; }
	.rs-gallery .rs-l-d-bento .rs-gallery__caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none; padding: 48px 20px 16px; color: #fff; background: linear-gradient(to top, rgb(14 23 38 / var(--rs-gal-shade)), rgb(14 23 38 / 0)); border-radius: 0 0 var(--rs-r-xs) var(--rs-r-xl); }
}
@media (min-width: 768px) and (max-width: 1199px) {
	.rs-gallery .rs-l-t-bento { grid-auto-rows: var(--rs-bento-row); }
	.rs-gallery .rs-l-t-bento > .rs-gallery__item:nth-child(3n+2):last-child { grid-column: 1 / -1; }
	.rs-gallery .rs-l-t-bento > .rs-gallery__item { display: block; height: 100%; }
	.rs-gallery .rs-l-t-bento .rs-gallery__link, .rs-gallery .rs-l-t-bento .rs-gallery__frame { height: 100%; aspect-ratio: auto; }
	.rs-gallery .rs-l-t-bento .rs-gallery__caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none; padding: 40px 18px 14px; color: #fff; background: linear-gradient(to top, rgb(14 23 38 / var(--rs-gal-shade)), rgb(14 23 38 / 0)); border-radius: 0 0 var(--rs-r-xs) var(--rs-r-xl); }
}
@media (max-width: 767px) {
	.rs-gallery .rs-l-m-bento { grid-auto-rows: var(--rs-bento-row); }
	.rs-gallery .rs-l-m-bento > .rs-gallery__item:nth-child(3n+2):last-child { grid-column: 1 / -1; }
	.rs-gallery .rs-l-m-bento > .rs-gallery__item { display: block; height: 100%; }
	.rs-gallery .rs-l-m-bento .rs-gallery__link, .rs-gallery .rs-l-m-bento .rs-gallery__frame { height: 100%; aspect-ratio: auto; }
	.rs-gallery .rs-l-m-bento .rs-gallery__caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none; padding: 32px 14px 12px; font-size: .85rem; color: #fff; background: linear-gradient(to top, rgb(14 23 38 / var(--rs-gal-shade)), rgb(14 23 38 / 0)); border-radius: 0 0 var(--rs-r-xs) var(--rs-r-xl); }
}

/* ===================================================================== RS Laufband */
.rs-marquee-w {
	--rs-marquee-gap: 48px; --rs-mq-logo-h: 44px; --rs-mq-logo-o: .7; --rs-mq-sep: .5em;
	position: relative; display: flex; align-items: center; gap: 12px;
	font-size: var(--rs-fs-h2);
}
.rs-marquee-w--s { font-size: var(--rs-fs-h4); }
.rs-marquee-w--m { font-size: var(--rs-fs-h3); }
.rs-marquee-w--xl { font-size: var(--rs-fs-h1); }
.rs-marquee-w .rs-marquee { flex: 1 1 auto; min-width: 0; }
.rs-marquee-w .rs-marquee__inner { margin: 0; padding-left: 0; list-style: none; }
.rs-marquee-w__item { flex: none; display: flex; align-items: baseline; gap: .5em; white-space: nowrap; }
.rs-marquee-w__text { font-family: var(--rs-f-display); font-weight: 300; line-height: 1.12; letter-spacing: -.025em; color: inherit; }
.rs-marquee-w--voice .rs-marquee-w__text { font-family: var(--rs-f-voice); font-style: italic; font-weight: 400; letter-spacing: -.01em; }
.rs-marquee-w__quote { font-family: var(--rs-f-voice); font-style: italic; font-size: .62em; line-height: 1.3; }
.rs-marquee-w__source { font: 500 max(.85rem, .3em)/1.2 var(--rs-f-ui); color: var(--rs-c-muted); letter-spacing: .01em; }
.rs-marquee-w__logo img { display: block; height: var(--rs-mq-logo-h); width: auto; max-width: none; opacity: var(--rs-mq-logo-o); transition: opacity var(--rs-dur-fast); }
.rs-marquee-w__link { color: inherit; text-decoration: none; display: inline-flex; align-items: baseline; gap: .5em; }
.rs-marquee-w__link:hover .rs-marquee-w__text { color: var(--rs-area); }
.rs-marquee-w__link:hover img { opacity: 1; filter: none; }
.rs-marquee-w__sep { flex: none; display: flex; align-items: center; align-self: center; color: var(--rs-area); }
.rs-marquee-w__sep--mark .rs-logo { height: var(--rs-mq-sep); width: auto; }
.rs-marquee-w__sep--line { width: var(--rs-line-w); height: calc(var(--rs-mq-sep) * 1.6); background: currentColor; }
.rs-on-dark .rs-marquee-w__sep { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }
.rs-marquee-w--right .rs-marquee.is-running .rs-marquee__track { animation-direction: reverse; }
.rs-marquee-w--nopause .rs-marquee:hover:not(:focus-within) .rs-marquee__track { animation-play-state: running; }
.rs-marquee-w .rs-marquee.is-running.is-paused .rs-marquee__track { animation-play-state: paused; }
.rs-marquee-w--nofade .rs-marquee { -webkit-mask-image: none; mask-image: none; }
.rs-marquee-w .rs-marquee.is-static .rs-marquee__track { width: auto; }
.rs-marquee-w .rs-marquee.is-static .rs-marquee__inner { padding-right: 0; row-gap: .3em; max-width: 100%; }
.rs-marquee-w .rs-marquee.is-static .rs-marquee-w__item { white-space: normal; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.rs-marquee-w__toggle { flex: none; width: 42px; height: 42px; font-size: 1rem; }
.rs-marquee-w__toggle[hidden] { display: none; }
.rs-marquee-w__toggle .rs-icon { width: 18px; height: 18px; }
.rs-marquee-w__i-play, .rs-marquee-w__toggle[aria-pressed="true"] .rs-marquee-w__i-pause { display: none; }
.rs-marquee-w__toggle[aria-pressed="true"] .rs-marquee-w__i-play, .rs-marquee-w__i-pause { display: inline-grid; }
@media (max-width: 767px) {
	.rs-marquee-w { gap: 8px; }
	.rs-marquee-w__toggle { width: 38px; height: 38px; }
}

/* ===================================================================== RS Kennzahlen */
.rs-stats { --rs-stats-line: var(--rs-c-line); }
.rs-stats .rs-collection { gap: clamp(28px, 3.4vw, 56px); }
.rs-stats__item { display: grid; gap: 10px; align-content: start; justify-items: start; min-width: 0; }
.rs-stats--divider .rs-stats__item { border-top: 1px solid var(--rs-stats-line); padding-top: clamp(18px, 2vw, 28px); }
.rs-stats__value { margin: 0; display: flex; align-items: baseline; font-family: var(--rs-f-display); font-weight: 250; font-size: var(--rs-fs-h2); line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums lining-nums; color: inherit; }
.rs-stats--nhero .rs-stats__value { font-size: var(--rs-fs-hero); font-weight: 200; }
.rs-stats--n1 .rs-stats__value { font-size: var(--rs-fs-h1); font-weight: 200; }
.rs-stats--n3 .rs-stats__value { font-size: var(--rs-fs-h3); font-weight: 300; }
.rs-stats__affix { color: var(--rs-area); font-weight: 300; }
.rs-on-dark .rs-stats__affix { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }
.rs-stats__label { margin: 0; font: 500 1rem/1.35 var(--rs-f-ui); color: inherit; }
.rs-stats__text { margin: 0; max-width: 36ch; font-size: .95rem; line-height: 1.5; color: var(--rs-c-ink-soft); }
@media (min-width: 1200px) { .rs-l-d-compact > .rs-stats__item { grid-template-columns: auto minmax(0, 1fr); column-gap: 24px; align-items: baseline; } .rs-l-d-compact .rs-stats__value { grid-row: span 2; } }
@media (min-width: 768px) and (max-width: 1199px) { .rs-l-t-compact > .rs-stats__item { grid-template-columns: auto minmax(0, 1fr); column-gap: 20px; align-items: baseline; } .rs-l-t-compact .rs-stats__value { grid-row: span 2; } }
@media (max-width: 767px) {
	.rs-stats .rs-collection { gap: 22px; }
	.rs-l-m-compact > .rs-stats__item { grid-template-columns: auto minmax(0, 1fr); column-gap: 16px; align-items: baseline; }
	.rs-l-m-compact .rs-stats__value { grid-row: span 2; }
}
