/* =====================================================================
 * RailTime - gemeinsames Gestaltungssystem der Unterseiten.
 *
 * Eine Quelle fuer Farben, Typografie, Abstaende und Bausteine. Die
 * Native Seiteninhalte bringen nur noch Markup mit, keine
 * eigenen Stile mehr. Die Bildsprache stammt aus der Leistungenseite,
 * abgestimmt auf die Farbwelt der Startseite.
 *
 * Praefix durchgaengig rt-x ("cross page").
 * ===================================================================== */

.rt-x {
  /* Farben - identisch zur Startseite (--sa-black / --sa-red) */
  --x-tief:      #080b10;
  --x-flaeche:   #10151d;
  --x-flaeche-2: #161d27;
  --x-rot:       #e4002b;
  --x-rot-hell:  #ff5b78;
  --x-linie:     rgba(255, 255, 255, .1);
  --x-linie-2:   rgba(255, 255, 255, .18);
  --x-text:      #e8ecf1;
  --x-gedaempft: #9aa6b4;

  /* Rhythmus */
  --x-rand: clamp(20px, 6vw, 96px);
  --x-luft: clamp(84px, 10vw, 150px);
  --x-radius: 24px;

  position: relative;
  isolation: isolate;
  overflow-x: clip;
  color: var(--x-text);
  font-family: Manrope, system-ui, sans-serif;
}

/* --- Ladevorhang -------------------------------------------------------- */

.rt-x__vorhang {
  position: fixed;
  z-index: 9000;
  inset: 0;
  display: grid;
  place-items: center;
  background: var(--x-tief);
}

/* Rechtstexte sind bewusst sofort lesbar und besitzen keinen Ladevorhang. */
.is-legal .rt-x__vorhang {
  display: none !important;
}

.rt-x__vorhang img { width: 74px; height: 74px; opacity: .9; }

.rt-x__ladebalken {
  position: absolute;
  left: 50%;
  bottom: 34%;
  width: min(280px, 54vw);
  height: 2px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, .14);
  overflow: hidden;
}

.rt-x__ladebalken i { display: block; width: 100%; height: 100%; background: var(--x-rot); transform: scaleX(0); transform-origin: left; }

/* Ohne JavaScript darf der Vorhang die Seite nicht verschlucken. */
.rt-x:not([data-x-bereit]) .rt-x__vorhang { animation: rt-x-notaus .01s 3.4s forwards; }
@keyframes rt-x-notaus { to { opacity: 0; visibility: hidden; } }

/* --- Hintergrund -------------------------------------------------------- */

.rt-x__bg { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.rt-x__blob { position: absolute; border-radius: 50%; filter: blur(96px); opacity: .46; will-change: transform; }
.rt-x__blob--a { top: -14%; right: -6%;  width: 48vw; height: 48vw; background: radial-gradient(circle, rgba(228,0,43,.5), transparent 68%); }
.rt-x__blob--b { top: 40%;  left: -12%;  width: 50vw; height: 50vw; background: radial-gradient(circle, rgba(38,82,148,.4), transparent 68%); }
.rt-x__blob--c { bottom: -8%; right: 14%; width: 40vw; height: 40vw; background: radial-gradient(circle, rgba(228,0,43,.28), transparent 70%); }
.rt-x__korn {
  position: absolute; inset: -50%; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* --- Typografie --------------------------------------------------------- */

.rt-x h1, .rt-x h2, .rt-x h3, .rt-x h4 { margin: 0; font-weight: 600; letter-spacing: -.042em; line-height: 1.05; text-wrap: balance; }
.rt-x h1 { font-size: clamp(2rem, 3.8vw, 3.65rem); }
.rt-x h2 { font-size: clamp(1.6rem, 2.65vw, 2.5rem); line-height: 1.09; }
.rt-x h3 { font-size: clamp(1.08rem, 1.5vw, 1.38rem); letter-spacing: -.02em; }
.rt-x h4 { font-size: 1rem; letter-spacing: -.01em; }
.rt-x p  { margin: 0; }
.rt-x a  { color: inherit; }

.rt-x__eyebrow {
  display: inline-flex; align-items: center; gap: 12px; margin-bottom: 24px;
  color: var(--x-rot-hell); font-family: "Space Mono", ui-monospace, monospace;
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
}
.rt-x__eyebrow::before { content: ""; width: 42px; height: 1px; background: currentColor; }

.rt-x__lead { max-width: 58ch; color: var(--x-gedaempft); font-size: clamp(1rem, 1.2vw, 1.15rem); line-height: 1.74; }

/* --- Schaltflaechen ----------------------------------------------------- */

.rt-x__aktionen { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }

.rt-x__btn {
  display: inline-flex; align-items: center; gap: 12px; padding: 16px 30px;
  border: 1px solid transparent; border-radius: 999px;
  font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer;
  font-family: inherit;
  transition: transform .45s cubic-bezier(.22,1,.36,1), background-color .35s ease, border-color .35s ease;
}
.rt-x__btn--voll { background: var(--x-rot); color: #fff; }
.rt-x__btn--voll:hover { background: #ff1740; transform: translateY(-3px); }
.rt-x__btn--rand { border-color: var(--x-linie-2); color: #fff; }
.rt-x__btn--rand:hover { border-color: #fff; background: rgba(255,255,255,.08); transform: translateY(-3px); }
.rt-x__btn i { width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .4s ease; }
.rt-x__btn:hover i { transform: rotate(45deg) translate(3px,-3px); }

/* --- Kopfbereich -------------------------------------------------------- */

/* Echtes Raster - ein absolut gesetztes Bild wuerde die Ueberschrift
   ueberdecken (genau dieser Fehler steckte in der ersten Fassung). */
.rt-x__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(190px, 22vw, 330px);
  gap: clamp(28px, 4vw, 72px);
  align-items: start;
  padding: clamp(112px, 14vw, 190px) var(--x-rand) clamp(60px, 6.5vw, 96px);
}
.rt-x__hero--breit { grid-template-columns: minmax(0, 1fr); }
.rt-x__hero-text { min-width: 0; max-width: 62rem; }
.rt-x__hero-figur { position: relative; margin: clamp(12px,2vw,28px) 0 0; overflow: hidden; border-radius: 20px; box-shadow: 0 40px 90px rgba(0,0,0,.6); }
.rt-x__hero-figur img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; filter: grayscale(.6) contrast(1.12); }

/* --- Kennzahlenband ------------------------------------------------------ */

.rt-x__zahlen { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(3,1fr); margin: 0 var(--x-rand); border-top: 1px solid var(--x-linie); border-bottom: 1px solid var(--x-linie); }
.rt-x__zahl { padding: clamp(30px,3.6vw,50px) clamp(16px,2.4vw,38px); border-left: 1px solid var(--x-linie); }
.rt-x__zahl:first-child { border-left: 0; }
.rt-x__zahl strong { display: block; font-size: clamp(2.2rem,4vw,3.7rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.rt-x__zahl span { display: block; margin-top: 10px; color: var(--x-gedaempft); font-size: 13px; }

/* --- Abschnitte ---------------------------------------------------------- */

.rt-x__section { padding: var(--x-luft) var(--x-rand); }
.rt-x__section--eng { padding-top: 0; }
.rt-x__section > header { max-width: 860px; margin-bottom: clamp(38px,4.4vw,66px); }

/* --- Zweispalter --------------------------------------------------------- */

.rt-x__split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(34px,5vw,86px); align-items: start; }
.rt-x__split--umgekehrt { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.rt-x__bild { margin: 0; overflow: hidden; border-radius: var(--x-radius); }
.rt-x__bild img { display: block; width: 100%; aspect-ratio: 5/6; object-fit: cover; filter: grayscale(.55) contrast(1.1); }
.rt-x__bild figcaption { margin-top: 15px; color: var(--x-gedaempft); font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.rt-x__fliess > p + p { margin-top: 20px; }
.rt-x__fliess h2 { margin-bottom: 28px; }

/* --- Kacheln -------------------------------------------------------------- */

.rt-x__kacheln { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(6,1fr); gap: 16px; }
.rt-x__kachel { position: relative; display: block; overflow: hidden; border: 1px solid var(--x-linie); border-radius: 20px; text-decoration: none; min-height: clamp(180px,17vw,240px); }
.rt-x__kachel:nth-child(-n+3) { grid-column: span 2; }
.rt-x__kachel:nth-child(n+4)  { grid-column: span 3; min-height: clamp(200px,19vw,280px); }
.rt-x__kachel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.7) contrast(1.15) brightness(.62); scale: 1; transition: scale .9s cubic-bezier(.22,1,.36,1), filter .7s ease; }
.rt-x__kachel:hover img { scale: 1.08; filter: grayscale(.25) contrast(1.06) brightness(.72); }
.rt-x__kachel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,11,16,.1), rgba(8,11,16,.88)); }
.rt-x__kachel > * { position: relative; z-index: 1; }
.rt-x__kachel b { position: absolute; top: 18px; left: 20px; font-family: "Space Mono", monospace; font-size: 12px; color: var(--x-rot-hell); letter-spacing: .16em; }
.rt-x__kachel h3 { position: absolute; left: 20px; right: 20px; bottom: 18px; }

/* --- Karten (Werte, Panels) ----------------------------------------------- */

.rt-x__karte {
  display: grid; grid-template-columns: auto 1fr; gap: clamp(18px,2.6vw,44px); align-items: start;
  padding: clamp(28px,3.4vw,50px);
  border: 1px solid var(--x-linie); border-radius: 26px;
  background: linear-gradient(140deg, rgba(24,31,41,.96), rgba(13,17,24,.96));
  box-shadow: 0 30px 70px rgba(0,0,0,.42);
  transform-origin: 50% 0;
}
.rt-x__karte b { font-family: "Space Mono", monospace; font-size: 13px; color: var(--x-rot-hell); letter-spacing: .18em; }
.rt-x__karte p { margin-top: 13px; max-width: 62ch; color: var(--x-gedaempft); font-size: 15px; line-height: 1.72; }
.rt-x__stapel { display: flex; flex-direction: column; gap: 24px; padding-bottom: 46vh; }

/* --- Angeheftete Buehne mit Akkordeon -------------------------------------- */

.rt-x__buehne { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(26px,3.4vw,58px); align-items: start; }
.rt-x__vitrine { position: relative; overflow: hidden; border: 1px solid var(--x-linie); border-radius: var(--x-radius); aspect-ratio: 4/5; background: #0c1119; }
.rt-x__vitrine figure { position: absolute; inset: 0; margin: 0; opacity: 0; }
.rt-x__vitrine figure:first-child { opacity: 1; }
.rt-x__vitrine img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.55) contrast(1.12) brightness(.8); }
.rt-x__vitrine-nr { position: absolute; left: 24px; bottom: 16px; z-index: 2; font-family: "Space Mono", monospace; font-size: clamp(3rem,6vw,5.2rem); font-weight: 700; line-height: 1; color: #fff; mix-blend-mode: difference; }

.rt-x__eintrag { border-top: 1px solid var(--x-linie); scroll-margin-top: 96px; }
.rt-x__eintrag:last-of-type { border-bottom: 1px solid var(--x-linie); }
.rt-x__kopf {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px;
  width: 100%; padding: clamp(16px,1.9vw,24px) 4px;
  border: 0; background: none; color: inherit; cursor: pointer; font-family: inherit; text-align: left;
  transition: color .4s ease, padding-left .5s cubic-bezier(.22,1,.36,1);
}
.rt-x__kopf b { font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: .16em; color: rgba(255,255,255,.32); transition: color .4s ease; }
.rt-x__kopf strong { font-size: clamp(1.02rem,1.55vw,1.36rem); font-weight: 700; letter-spacing: -.02em; }
.rt-x__kopf em { position: relative; display: block; width: 22px; height: 22px; font-style: normal; }
.rt-x__kopf em::before, .rt-x__kopf em::after { content: ""; position: absolute; top: 50%; left: 50%; width: 13px; height: 2px; background: currentColor; transform: translate(-50%,-50%); transition: transform .5s cubic-bezier(.22,1,.36,1); }
.rt-x__kopf em::after { transform: translate(-50%,-50%) rotate(90deg); }
.rt-x__eintrag.is-offen .rt-x__kopf { padding-left: 14px; color: #fff; }
.rt-x__eintrag.is-offen .rt-x__kopf b { color: var(--x-rot-hell); }
.rt-x__eintrag.is-offen .rt-x__kopf em::after { transform: translate(-50%,-50%) rotate(0deg); }

.rt-x__feld { overflow: hidden; height: 0; }
.rt-x__feld-inner { padding: 2px 4px 26px; }
.rt-x__feld p { max-width: 62ch; color: var(--x-gedaempft); font-size: 15px; line-height: 1.74; }
.rt-x__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 20px; padding: 0; list-style: none; }
.rt-x__chips li { padding: 7px 14px; border: 1px solid var(--x-linie); border-radius: 999px; color: var(--x-gedaempft); font-size: 12px; }
.rt-x__textlink { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.rt-x__textlink i { width: 6px; height: 6px; border-top: 2px solid var(--x-rot); border-right: 2px solid var(--x-rot); transform: rotate(45deg); transition: transform .4s ease; }
.rt-x__textlink:hover i { transform: rotate(45deg) translate(3px,-3px); }

.rt-x__fortschritt { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.rt-x__fortschritt-spur { position: relative; flex: 1; height: 2px; background: var(--x-linie); }
.rt-x__fortschritt-spur i { position: absolute; inset: 0; background: var(--x-rot); transform: scaleX(0); transform-origin: left; }
.rt-x__fortschritt span { font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: .16em; color: var(--x-gedaempft); }

/* --- Waagerechtes Akkordeon ------------------------------------------------ */

.rt-x__scheiben { display: flex; gap: 12px; min-height: clamp(280px,32vw,400px); }
.rt-x__scheibe {
  position: relative; flex: 1 1 0; overflow: hidden; padding: clamp(22px,2.4vw,34px);
  border: 1px solid var(--x-linie); border-radius: 20px;
  background: linear-gradient(165deg, rgba(22,29,39,.92), rgba(11,15,21,.92));
  transition: flex-grow .7s cubic-bezier(.22,1,.36,1);
}
.rt-x__scheibe:hover, .rt-x__scheibe:focus-within { flex-grow: 2.6; }
.rt-x__scheibe::after { content: ""; position: absolute; inset: auto 0 0 0; height: 3px; background: var(--x-rot); transform: scaleX(0); transform-origin: left; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.rt-x__scheibe:hover::after { transform: scaleX(1); }
.rt-x__scheibe b { display: block; font-family: "Space Mono", monospace; font-size: clamp(1.5rem,2.3vw,2.2rem); font-weight: 700; color: rgba(255,255,255,.22); transition: color .5s ease; }
.rt-x__scheibe:hover b { color: var(--x-rot-hell); }
.rt-x__scheibe p { margin-top: 16px; max-width: 34ch; color: var(--x-gedaempft); font-size: 14px; line-height: 1.7; opacity: .55; transition: opacity .6s ease; }
.rt-x__scheibe:hover p { opacity: 1; }

/* --- Ablaufspur ------------------------------------------------------------ */

.rt-x__spur { position: relative; display: grid; grid-auto-flow: dense; grid-template-columns: repeat(4,1fr); gap: 18px; }
.rt-x__spur::before { content: ""; position: absolute; top: 26px; left: 0; right: 0; height: 1px; background: var(--x-linie); }
/* Fuellstand kommt als CSS-Variable aus dem Skript - Pseudoelemente sind
   nicht direkt animierbar. */
.rt-x__spur::after { content: ""; position: absolute; top: 26px; left: 0; right: 0; height: 1px; background: var(--x-rot); transform: scaleX(var(--linie, 0)); transform-origin: left; }
.rt-x__schritt { position: relative; padding-top: 58px; }
.rt-x__schritt::before { content: ""; position: absolute; top: 20px; left: 0; width: 13px; height: 13px; border-radius: 50%; background: #1b2330; border: 1px solid var(--x-linie); transition: background-color .5s ease, border-color .5s ease; }
.rt-x__schritt.is-aktiv::before { background: var(--x-rot); border-color: var(--x-rot); }
.rt-x__schritt b { display: block; margin-bottom: 10px; font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: .16em; color: var(--x-rot-hell); }
.rt-x__schritt p { color: var(--x-gedaempft); font-size: 14px; line-height: 1.7; }

/* --- Kontakt: Angaben und Formular ----------------------------------------- */

.rt-x__daten { margin: 26px 0 0; }
.rt-x__daten > div { padding: 16px 0; border-top: 1px solid var(--x-linie); }
.rt-x__daten dt { color: var(--x-gedaempft); font-family: "Space Mono", monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.rt-x__daten dd { margin: 8px 0 0; font-size: 1.05rem; font-weight: 600; }
.rt-x__daten dd a { text-decoration: none; }
.rt-x__daten dd a:hover { color: var(--x-rot-hell); }

.rt-x__formular {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  padding: clamp(26px,3.2vw,44px);
  border: 1px solid var(--x-linie); border-radius: var(--x-radius);
  background: linear-gradient(150deg, rgba(24,31,41,.94), rgba(12,16,23,.94));
}
.rt-x__formular > header { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 6px; }
.rt-x__formular > header b { font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: .18em; color: var(--x-rot-hell); }
.rt-x__formular > header span { color: var(--x-gedaempft); font-size: 11px; }
.rt-x__formular label { display: flex; flex-direction: column; gap: 8px; color: var(--x-gedaempft); font-size: 12px; letter-spacing: .04em; }
.rt-x__formular label.voll { grid-column: 1/-1; }
.rt-x__formular input, .rt-x__formular select, .rt-x__formular textarea {
  padding: 13px 15px; border: 1px solid var(--x-linie); border-radius: 12px;
  background: rgba(8,11,16,.7); color: var(--x-text);
  font-family: inherit; font-size: 14px;
  transition: border-color .3s ease, background-color .3s ease;
}
.rt-x__formular input:focus, .rt-x__formular select:focus, .rt-x__formular textarea:focus {
  outline: none; border-color: var(--x-rot); background: rgba(8,11,16,.9);
}
.rt-x__formular textarea { resize: vertical; min-height: 130px; }
.rt-x__formular .rt-x__btn { grid-column: 1/-1; justify-content: center; margin-top: 6px; }
.rt-x__hinweis { grid-column: 1/-1; margin-top: 2px; color: var(--x-gedaempft); font-size: 12px; line-height: 1.6; }

/* --- Rechtstexte ------------------------------------------------------------ */

.rt-x__recht { max-width: 74ch; }
.rt-x__recht h2 { margin: clamp(38px,4vw,56px) 0 16px; font-size: clamp(1.2rem,1.8vw,1.6rem); }
.rt-x__recht h2:first-child { margin-top: 0; }
.rt-x__recht h3 { margin: 28px 0 12px; color: #fff; }
.rt-x__recht p { margin-bottom: 15px; color: var(--x-gedaempft); font-size: 15px; line-height: 1.78; }
.rt-x__recht ul { margin: 0 0 18px; padding-left: 20px; color: var(--x-gedaempft); font-size: 15px; line-height: 1.78; }
.rt-x__recht li { margin-bottom: 6px; }
.rt-x__recht a { color: var(--x-rot-hell); }
.rt-x__recht strong { color: var(--x-text); }

/* --- Handlungsaufruf --------------------------------------------------------- */

.rt-x__cta {
  display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(30px,4.6vw,70px);
  align-items: center; margin: 0 var(--x-rand) var(--x-luft); padding: clamp(38px,4.8vw,70px);
  overflow: hidden; border: 1px solid var(--x-linie); border-radius: 30px;
  background: radial-gradient(90% 130% at 100% 0, rgba(228,0,43,.34), transparent 58%), linear-gradient(120deg,#12161d,#0a0d13);
}
.rt-x__cta h2 { max-width: 18ch; }
.rt-x__cta .rt-x__lead { margin-top: 20px; }
.rt-x__cta figure { margin: 0; overflow: hidden; border-radius: 20px; }
.rt-x__cta img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; filter: grayscale(.65) contrast(1.15); scale: 1; transition: scale .9s cubic-bezier(.22,1,.36,1); }
.rt-x__cta figure:hover img { scale: 1.07; }

/* --- Zeilenweise Ueberschriften ----------------------------------------------- */

.rt-x__split-host { overflow: hidden; text-wrap: wrap; }
.rt-x__zeile { display: block; will-change: transform, opacity; }

/* --- Schmalere Ansichten -------------------------------------------------------- */

@media (max-width: 1000px) {
  .rt-x__hero { grid-template-columns: 1fr; }
  .rt-x__hero-figur { width: min(320px, 70%); }
  .rt-x__split, .rt-x__split--umgekehrt, .rt-x__buehne, .rt-x__cta { grid-template-columns: 1fr; }
  .rt-x__vitrine { aspect-ratio: 16/10; }
  .rt-x__kacheln { grid-template-columns: repeat(2,1fr); }
  .rt-x__kachel:nth-child(-n+3), .rt-x__kachel:nth-child(n+4) { grid-column: span 1; }
  .rt-x__kachel:last-child { grid-column: span 2; }
  .rt-x__scheiben { flex-direction: column; min-height: 0; }
  .rt-x__scheibe { flex: none; }
  .rt-x__scheibe p { opacity: 1; max-width: none; }
  .rt-x__spur { grid-template-columns: repeat(2,1fr); gap: 26px; }
  .rt-x__spur::before, .rt-x__spur::after { display: none; }
  .rt-x__stapel { padding-bottom: 0; }
}

@media (max-width: 640px) {
  .rt-x__zahlen { grid-template-columns: 1fr; }
  .rt-x__zahl { border-left: 0; border-top: 1px solid var(--x-linie); }
  .rt-x__zahl:first-child { border-top: 0; }
  .rt-x__kacheln, .rt-x__spur { grid-template-columns: 1fr; }
  .rt-x__kachel:last-child { grid-column: span 1; }
  .rt-x__karte { grid-template-columns: 1fr; }
  .rt-x__formular { grid-template-columns: 1fr; }
}

/* Die drei bebilderten Unterseiten verwenden auf Desktop dieselbe
   Hoehenformel wie das erste Inhaltssegment der Startseite. Rechtstexte und
   die natuerlichen Tablet-/Mobilhoehen bleiben bewusst kompakt. */
@media (min-width: 981px) {
  body.is-subpage:is(.is-about, .is-services, .is-contact) .rt-x__hero {
    min-height: clamp(650px, 78svh, 790px);
    padding-top: clamp(70px, 7vw, 104px);
    padding-bottom: clamp(70px, 7vw, 104px);
  }

  body.is-subpage:is(.is-about, .is-services, .is-contact) .rt-x__hero-figur {
    min-height: clamp(470px, 46vw, 590px);
  }
}

/* --- Ruhige Darstellung ----------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .rt-x__blob, .rt-x__vorhang { display: none; }
  .rt-x__feld { height: auto; }
  .rt-x__split-host { overflow: visible; }
  .rt-x *, .rt-x *::before, .rt-x *::after { transition-duration: .01ms !important; }
}
