/*
Theme Name: Rutengang
Description: Eigenständiges, ruhiges Block-Theme für einen Rutengänger – Untersuchung von Grundstücken, Wohnräumen, Schlafplätzen und Arbeitsbereichen mit Rutengehen und technischer Messtechnik. Individuelles Design, keine Fremdvorlage.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rutengang
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/*
 * Rutengang – frontend + editor styles.
 * Design-Tokens leben in theme.json; hier die Feinheiten fuer Header, Hero,
 * Karten, Icons, Ablauf, Vertrauensleiste und Footer nach der Blau-Referenz.
 */

:root {
	--rg-blue: var(--wp--preset--color--petrol);
	--rg-blue-dark: var(--wp--preset--color--petroldark);
	--rg-blue-light: var(--wp--preset--color--cream);
	--rg-page: var(--wp--preset--color--base);
	--rg-text: var(--wp--preset--color--contrast);
	--rg-muted: var(--wp--preset--color--muted);
	--rg-line: var(--wp--preset--color--forest);
	--rg-radius: 8px;
	--rg-radius-lg: 14px;
	--rg-radius-xl: 16px;
	--rg-shadow: 0 1px 2px rgba(18, 61, 112, 0.04), 0 10px 30px rgba(18, 61, 112, 0.06);
	--rg-shadow-lg: 0 4px 12px rgba(18, 61, 112, 0.06), 0 24px 60px rgba(18, 61, 112, 0.10);
	--rg-transition: 200ms ease;
	--rg-maxw: 1024px;
	--rg-wide-maxw: 1520px;
	--rg-gutter: 32px;
}

/* === base === */
body {
	color: var(--rg-text);
	overflow-x: hidden;
}
p {
	color: var(--rg-text);
}
h1, h2, h3, h4 {
	hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: balance;
}
img,
.wp-block-image img {
	max-width: 100%;
	height: auto;
}
/* Kontrollierte Fliesstextbreite. */
.rg-measure { max-width: 62ch; }
/* Kurze blaue Trennlinie unter Abschnittsueberschriften. */
.rg-rule {
	width: 32px;
	height: 2px;
	background: var(--rg-blue);
	border: 0;
	border-radius: 2px;
	margin: 12px 0 22px;
}
/* Abschnittsueberschriften niemals unterstreichen. */
.rg-support h2,
.rg-support h2 * {
	text-decoration: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
}
.rg-rule.is-light { background: var(--rg-blue-light); }
.rg-rule.is-center { margin-left: auto; margin-right: auto; }
/* Kleine Grossbuchstaben-Zeile (Eyebrow / Label). */
.rg-kicker {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--rg-muted);
	margin: 0 0 0.5rem;
}
/* Grosse zentrierte Abschnittsueberschrift. */
.rg-section-title {
	text-align: center;
}
/* "SO ARBEITE ICH" in Grossbuchstaben wie in der Soll-Seite. */
.rg-process .rg-section-title {
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* === accessibility === */
.skip-link.screen-reader-text { margin: 0; }
.skip-link.screen-reader-text a {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	text-decoration: none;
}
.skip-link.screen-reader-text a:focus {
	left: 1rem;
	top: 1rem;
	width: auto;
	height: auto;
	padding: 0.75rem 1.25rem;
	background: var(--rg-blue);
	color: #fff;
	border-radius: var(--rg-radius);
	font-weight: 600;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.wp-element-button:focus-visible,
.wp-block-navigation-item a:focus-visible {
	outline: 3px solid var(--rg-blue);
	outline-offset: 2px;
	border-radius: 4px;
}
/* === header === */
/* Aeusserer Header: volle Fensterbreite, keine max-width. */
.rutengang-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	border-bottom: 1px solid var(--rg-line);
	width: 100%;
	max-width: none;
	padding-inline: 0 !important;
	box-sizing: border-box;
}
/* Innerer Headercontainer: volle Breite bei 1024px, symmetrisches 32px-Padding. */
.rutengang-header > .wp-block-group {
	width: 100%;
	max-width: none;
	margin-inline: auto;
	padding-inline: var(--rg-gutter);
	box-sizing: border-box;
}
/* Ab sehr breiten Schirmen den Innhalt zentriert begrenzen. */
@media (min-width: 1440px) {
	.rutengang-header > .wp-block-group { max-width: var(--rg-wide-maxw); }
}
.rutengang-header .wp-block-group.is-nowrap {
	min-height: 74px;
	flex-wrap: nowrap;
	align-items: center;
}
/* Logo-Platzhalter: runder Kreis, exakt auf gleicher Hoehe wie der Firmenname. */
.rg-brand { flex: 0 0 auto; margin-right: auto; gap: 1rem !important; align-items: center; }
.rg-logo {
	width: 72px;
	height: 72px;
	flex: 0 0 72px;
	border-radius: 50%;
	border: none;
	background: var(--rg-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	box-shadow: var(--rg-shadow);
	margin: 0;
}
.rg-logo svg { width: 40px; height: 40px; display: block; }
.rg-brand-name {
	line-height: 1.12;
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	align-self: center;
}
.rg-brand-name > * { margin-left: 0 !important; margin-right: 0 !important; }
.rg-brand-name .rg-brand-title {
	font-weight: 700;
	font-size: 1.375rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--rg-blue);
	margin: 0;
}
.rg-brand-name .rg-brand-sub {
	font-size: 0.8125rem;
	color: var(--rg-muted);
	margin: 0.28rem 0 0;
	letter-spacing: 0.02em;
}

/* === navigation === */
.rutengang-header .wp-block-navigation {
	flex-wrap: nowrap;
	column-gap: clamp(1.1rem, 2.1vw, 2.1rem);
	font-size: 0.9375rem;
	font-weight: 600;
}
.rutengang-header .wp-block-navigation .wp-block-navigation-item a {
	color: var(--rg-text);
	text-decoration: none;
	white-space: nowrap;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 0.25rem 0;
	transition: color var(--rg-transition);
}
.rutengang-header .wp-block-navigation .wp-block-navigation-item a:hover,
.rutengang-header .current-menu-item a {
	color: var(--rg-blue);
}
.rutengang-header .wp-block-buttons {
	flex: 0 0 auto;
	margin-left: 1.25rem;
}
.rutengang-header .wp-block-button__link {
	white-space: nowrap;
	min-height: 48px;
	font-size: 0.9375rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding-left: 1.7rem;
	padding-right: 1.7rem;
	display: inline-flex;
	align-items: center;
	padding-top: 0;
	padding-bottom: 0;
	box-shadow: none;
}
/* Mobiles Overlay. */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--rg-blue);
	padding: 2rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
	color: #fff;
	font-size: var(--wp--preset--font-size--large);
	white-space: normal;
	padding: 0.6rem 0;
}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	color: var(--rg-blue);
}
@media (min-width: 782px) and (max-width: 1000px) {
	.rutengang-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.rutengang-header .wp-block-navigation__responsive-container-open { display: flex; }
	.rutengang-header .wp-block-navigation__responsive-container.is-menu-open { display: block; }
}
/* Bei ~1024px: volle Navigation, Abstaende etwas enger halten. */
@media (min-width: 1001px) and (max-width: 1180px) {
	.rutengang-header .wp-block-navigation { column-gap: 0.7rem; font-size: 0.8125rem; }
	.rutengang-header .rg-brand { gap: 0.7rem !important; }
	.rutengang-header .rg-brand-name .rg-brand-title { font-size: 1.0625rem; letter-spacing: 0.02em; }
	.rutengang-header .rg-brand-name .rg-brand-sub { font-size: 0.72rem; }
	.rutengang-header .rg-logo { width: 62px; height: 62px; flex-basis: 62px; margin-bottom: -10px; }
	.rutengang-header .rg-logo svg { width: 32px; height: 32px; }
	.rutengang-header .wp-block-buttons { margin-left: 0.6rem; }
	.rutengang-header .wp-block-button__link { padding-left: 1.05rem; padding-right: 1.05rem; font-size: 0.8125rem; letter-spacing: 0.01em; min-height: 44px; }
}
.rutengang-header .wp-block-navigation-item.rg-nav-cta { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.rg-nav-cta {
	display: block; margin-top: 1rem;
}
.wp-block-navigation__responsive-container.is-menu-open .rg-nav-cta a {
	background: #fff;
	color: var(--rg-blue);
	border-radius: var(--rg-radius);
	padding: 0.75rem 1.5rem;
	font-weight: 700;
}
@media (max-width: 1000px) {
	.rutengang-header .rg-header-cta { display: none; }
}
@media (max-width: 781px) {
	.rutengang-header .wp-block-group.is-nowrap { min-height: 72px; }
}
/* === buttons === */
/* Primärer Button: gefüllt dunkelblau, weisser Text (robust gegen theme.json-Variablen). */
.wp-element-button,
.wp-block-button__link {
	background-color: var(--rg-blue);
	color: #fff;
	border-radius: 7px;
	transition: background-color var(--rg-transition), color var(--rg-transition), border-color var(--rg-transition);
}
.wp-element-button:hover,
.wp-block-button__link:hover {
	background-color: var(--rg-blue-dark);
	color: #fff;
}
/* Sekundaerer Button: weiss mit dunkelblauem Rahmen. */
.wp-block-button.is-style-outline .wp-element-button {
	background: #fff;
	color: var(--rg-blue);
	border: 1.5px solid var(--rg-blue);
	display: inline-flex;
	align-items: center;
	box-shadow: none;
}
.wp-block-button.is-style-outline .wp-element-button:hover {
	background: var(--rg-blue);
	border-color: var(--rg-blue);
	color: #fff;
}
/* Outline auf dunklem Grund. */
.rg-on-dark .wp-block-button.is-style-outline .wp-element-button {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.6);
}
.rg-on-dark .wp-block-button.is-style-outline .wp-element-button:hover {
	background: #fff;
	color: var(--rg-blue);
	border-color: #fff;
}
/* Ruhiger Textlink mit Pfeilgefuehl. */
.rg-link a {
	color: var(--rg-blue);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid rgba(18, 61, 112, 0.3);
	padding-bottom: 1px;
	transition: color var(--rg-transition), border-color var(--rg-transition);
}
.rg-link a:hover {
	color: var(--rg-blue-dark);
	border-bottom-color: var(--rg-blue-dark);
}
.rg-link-light a { color: #fff; border-bottom-color: rgba(255,255,255,0.45); }
.rg-link-light a:hover { color: #fff; border-bottom-color: #fff; }

/* === icons === */
/* Grosse dunkelblaue Linienicons (Hero-Themen, Zielgruppen, Vertrauensleiste). */
.rg-icon {
	color: var(--rg-blue);
	line-height: 0;
}
.rg-icon svg { display: block; }
.rg-icon.is-lg svg { width: 46px; height: 46px; }
.rg-icon.is-md svg { width: 40px; height: 40px; }
/* Gefuellter blauer Kreis mit weissem Motiv (Nutzen, Leistungskarten). */
.rg-icon-circle {
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	border-radius: 50%;
	background: var(--rg-blue);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.rg-icon-circle svg { width: 28px; height: 28px; display: block; }
.rg-icon-circle.is-lg { width: 64px; height: 64px; flex-basis: 64px; }
.rg-icon-circle.is-lg svg { width: 32px; height: 32px; }
/* Zarter, umrandeter Kreis mit blauem Motiv (Nutzenzeilen). */
.rg-icon-ring {
	width: 50px;
	height: 50px;
	flex: 0 0 50px;
	border-radius: 50%;
	border: 1.5px solid var(--rg-line);
	color: var(--rg-blue);
	display: flex;
	align-items: center;
	justify-content: center;
}
.rg-icon-ring svg { width: 24px; height: 24px; display: block; }
/* Nutzen-Icon-Kreise: alle drei exakt gleich, kein Einzelversatz. */
.rg-benefit-row .rg-icon-ring {
	width: 50px !important;
	height: 50px !important;
	flex: 0 0 50px !important;
	margin: 0 !important;
	transform: none !important;
	top: auto !important;
	align-self: center;
}
/* === hero === */
/* Ein einziger zusammenhaengender Hero: Vollflaechen-Coverbild + linker Weissverlauf, Text darueber. */
/* Aeusserer Hero: echte volle Fensterbreite ueber die 100vw-Technik. */
.rg-hero {
	position: relative;
	background: #fff;
	min-height: 450px;
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
	/* Innerer Hero-Inhalt leicht nach rechts: ~60-64px linker Abstand bei 1024px. */
	padding-left: clamp(56px, 6vw, 88px) !important;
	padding-right: 40px !important;
	display: flex;
	align-items: center;
	overflow: hidden;
}
@media (min-width: 1440px) {
	.rg-hero { padding-left: calc((100vw - var(--rg-wide-maxw)) / 2 + 40px) !important; padding-right: calc((100vw - var(--rg-wide-maxw)) / 2 + 40px) !important; }
}
/* Hero-Coverflaeche: echtes Beratungsfoto ueber die gesamte Hero-Flaeche,
   davor ein linker Weissverlauf fuer die Textlesbarkeit - beides in EINER
   background-image-Deklaration. Kein blauer Platzhalter mehr. */
.rg-hero-media {
	position: absolute;
	inset: 0;
	max-width: none !important;
	margin: 0 !important;
	z-index: 0;
	background-image:
		linear-gradient(
			90deg,
			rgba(255,255,255,0.97) 0%,
			rgba(255,255,255,0.92) 24%,
			rgba(255,255,255,0.6) 38%,
			rgba(255,255,255,0.2) 50%,
			rgba(255,255,255,0) 64%
		),
		url("assets/images/hero-messtechnik-tisch.png.png");
	background-size: cover;
	background-repeat: no-repeat;
	/* Neues Hero-Bild (Messtechnik auf Tisch): links helle freie Flaeche fuer
	   den Text, Messgeraete/Ruten/Grundriss liegen rechts. Ausschnitt so, dass
	   die Geraete sichtbar bleiben und der Text auf der hellen Flaeche liegt. */
	background-position: 68% 58%;
	overflow: hidden;
}
/* Textbereich links verankert (durchbricht die constrained-Zentrierung). */
.rg-hero .rg-hero-text {
	position: relative;
	z-index: 2;
	width: 46%;
	max-width: 470px;
	margin-left: 0 !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.rg-hero-text h1 {
	max-width: 470px;
	text-transform: uppercase;
	margin-top: 0;
	font-size: 2.125rem;
	line-height: 1.14;
	letter-spacing: -0.01em;
}
.rg-hero-text .rg-measure { max-width: 40ch; }
/* Drei Hero-Themen als verbindliches Raster mit exakt gleicher Ausrichtung. */
.rg-hero-topics {
	margin-top: var(--wp--preset--spacing--40) !important;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 28px;
	align-items: start;
	gap: 28px;
}
.rg-hero-topics .rg-topic {
	margin: 0 !important;
	padding: 0 !important;
	flex-basis: auto !important;
	display: block;
}
/* Icon-Container fuer alle drei Themen exakt identisch. */
.rg-hero-topics .rg-topic .rg-icon.is-lg {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.rg-hero-topics .rg-icon.is-lg svg { width: 40px; height: 40px; display: block; }
.rg-hero-topics .rg-topic .rg-topic-title {
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rg-blue);
	line-height: 1.3;
	margin: 0 0 0.35rem;
	min-height: 2.6em;
}
.rg-hero-topics .rg-topic p {
	font-size: 0.875rem;
	color: var(--rg-muted);
	line-height: 1.5;
	margin: 0;
	min-height: 4.5em;
}
.rg-hero-buttons { gap: 0.85rem; }
.rg-hero-buttons .wp-element-button { min-height: 50px; display: inline-flex; align-items: center; padding-left: 1.9rem; padding-right: 1.9rem; }

/* === support === */
/* Linker Text + rechte Nutzenkarte auf gemeinsamem Grid, mittig ausgerichtet. */
.rg-support > .wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 56px;
	align-items: center;
}
.rg-support > .wp-block-columns > .wp-block-column {
	flex-basis: auto !important;
	width: auto !important;
	margin: 0 !important;
}
.rg-support .rg-highlight {
	font-weight: 700;
	color: var(--rg-blue);
	font-size: 1.0625rem;
}
/* Grosse weisse Nutzenkarte. */
.rg-benefit {
	background: #fff;
	border: 1px solid var(--rg-line);
	border-radius: var(--rg-radius-xl);
	box-shadow: var(--rg-shadow-lg);
	padding: clamp(1.75rem, 3vw, 2.75rem);
	height: 100%;
}
.rg-benefit > h3 { margin-top: 0; }
/* Jeder Nutzenpunkt: identisches Grid Icon | Text, vertikal zentriert.
   min-height 88px sorgt fuer exakt gleiche Reihenhoehe, sodass die
   Icon-Mittelpunkte gleichmaessig untereinander liegen - auch wenn die
   zweite Beschreibung zweizeilig ist. Einzel-margins der Reihen werden
   neutralisiert und durch einen einheitlichen row-gap ersetzt. */
.rg-benefit-row {
	display: grid !important;
	grid-template-columns: 64px minmax(0, 1fr);
	column-gap: 22px !important;
	align-items: center;
	min-height: 88px;
	margin: 0 !important;
	transform: none;
	top: auto;
}
/* Icon-Spalte: fixe 64px, kein flex-basis-Rest aus core/columns. */
.rg-benefit-row > .wp-block-column:first-child {
	flex: 0 0 64px !important;
	width: 64px !important;
	max-width: 64px !important;
	margin: 0 !important;
	align-self: center;
}
.rg-benefit-row > .wp-block-column:last-child {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	align-self: center;
}
.rg-benefit-row .rg-benefit-title {
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.3;
	color: var(--rg-text);
	margin: 0 0 6px !important;
}
.rg-benefit-row p {
	margin: 0 !important;
	color: var(--rg-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
}

/* === services === */
.rg-services-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 18px;
	margin-top: var(--wp--preset--spacing--50);
	align-items: stretch;
}
/* WordPress-Block-Gap-Regel (margin-block-start am 2./3./4. Kind) neutralisieren:
   im Grid regelt gap den Abstand, die geerbte margin versetzt sonst nur die
   Startkarte der 2. Reihe (Erdstrahlung) um 16px nach unten. */
.rg-services-grid > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-top: 0 !important;
	align-self: stretch;
	transform: none;
	top: auto;
	bottom: auto;
}
/* Leistungskarte: 3-Spalten-Grid (Icon | Text | Bild), alle Karten exakt gleich gross. */
.rg-service {
	position: relative;
	background: #fff;
	border: 1px solid var(--rg-line);
	border-radius: 12px;
	box-shadow: var(--rg-shadow);
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) minmax(190px, 36%);
	align-items: center;
	column-gap: 0;
	width: 100%;
	height: 100%;
	min-height: 128px;
	box-sizing: border-box;
	overflow: hidden;
	transition: box-shadow var(--rg-transition), transform var(--rg-transition), border-color var(--rg-transition);
}
.rg-service:hover {
	box-shadow: var(--rg-shadow-lg);
	transform: translateY(-2px);
	border-color: #C4D3E4;
}
/* Iconbereich links. */
.rg-service > .rg-icon-circle {
	width: 62px; height: 62px; flex: 0 0 62px;
	position: relative; z-index: 2;
	justify-self: center;
}
.rg-service > .rg-icon-circle svg { width: 42px; height: 42px; }
/* Textbereich Mitte. */
.rg-service .rg-service-body {
	min-width: 0;
	position: relative;
	z-index: 2;
	padding: 0.9rem 1rem 0.9rem 0;
	align-self: center;
}
.rg-service h3 { margin: 0 0 0.25rem; font-size: 1.0625rem; line-height: 1.22; }
.rg-service .rg-service-body p {
	margin: 0;
	color: var(--rg-muted);
	font-size: 0.875rem;
	line-height: 1.4;
}
/* Bildbereich rechts: Motiv sichtbar, weich nach links in Weiss auslaufend. */
.rg-service .rg-service-img {
	position: relative;
	margin: 0;
	height: 100%;
	align-self: stretch;
	overflow: hidden;
}
.rg-service .rg-service-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 65% center;
	display: block;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.25) 15%, rgba(0,0,0,0.75) 35%, #000 52%, #000 100%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.25) 15%, rgba(0,0,0,0.75) 35%, #000 52%, #000 100%);
}
/* Fallback-Ueberblendung fuer Browser ohne Maskenunterstuetzung. */
.rg-service .rg-service-img::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, #FFFFFF 0%, rgba(255,255,255,0.92) 16%, rgba(255,255,255,0.45) 34%, rgba(255,255,255,0) 55%);
	pointer-events: none;
}
@supports ((-webkit-mask-image: linear-gradient(#000,#000)) or (mask-image: linear-gradient(#000,#000))) {
	.rg-service .rg-service-img::before { display: none; }
}
/* Bildausschnitte je Karte. */
.rg-service.is-fields .rg-service-img img { object-position: 70% center; }
.rg-service.is-earth .rg-service-img img { object-position: 65% center; }
.rg-service.is-bedroom .rg-service-img img { object-position: 65% center; }
.rg-service.is-consult .rg-service-img img { object-position: 70% center; }

/* === audience === */
/* Kompakte flache Leiste: vier Spalten, je Einheit Icon LINKS + Text RECHTS
   nebeneinander (horizontal). Feine kurze vertikale Trennlinien zwischen den
   Spalten (nicht ueber die volle Hoehe). Keine Kacheln. */
.rg-audience { padding-top: 34px !important; padding-bottom: 34px !important; }
.rg-audience .rg-audience-grid {
	margin-top: 22px;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	align-items: center;
}
.rg-audience .rg-audience-grid > .wp-block-column {
	position: relative;
	padding: 0 clamp(0.3rem, 0.7vw, 0.7rem);
	margin: 0 !important;
	flex-basis: auto !important;
	width: auto !important;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Feine kurze Trennlinie mittig zwischen den Spalten. */
.rg-audience .rg-audience-grid > .wp-block-column::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 58px;
	width: 1px;
	background: rgba(20,68,120,0.18);
}
.rg-audience .rg-audience-grid > .wp-block-column:first-child::before { display: none; }
/* Einheit: Icon links, Text rechts, gemeinsam zentriert, vertikal mittig. */
.rg-audience .rg-aud-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: nowrap;
}
.rg-audience .rg-aud-item > * { margin: 0 !important; }
.rg-audience .rg-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0 !important;
}
.rg-audience .rg-aud-icon { width: 44px; height: 44px; display: block; }
.rg-audience .rg-aud-label {
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.2;
	color: var(--rg-blue);
	margin: 0 !important;
	text-align: left;
}

/* === process === */
.rg-process { position: relative; }
.rg-process .wp-block-columns {
	margin-top: var(--wp--preset--spacing--40);
	align-items: flex-start;
}
/* Jeder Schritt zentriert: Nummer oben, Titel direkt darunter, Text darunter. */
.rg-process .wp-block-column {
	position: relative;
	padding: 0 1rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
/* Durchgehende gestrichelte Verbindungslinie auf Hoehe der Kreismitte (20px). */
.rg-process .wp-block-column::after {
	content: "";
	position: absolute;
	top: 20px;
	left: calc(50% + 26px);
	right: calc(-50% + 26px);
	border-top: 2px dashed var(--rg-line);
	z-index: 0;
}
.rg-process .wp-block-column:last-child::after { display: none; }
.rg-step-num {
	position: relative;
	z-index: 1;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--rg-blue-light);
	color: var(--rg-blue);
	font-weight: 700;
	font-size: 1.0625rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 0.85rem;
}
.rg-process .rg-step-title {
	font-weight: 700;
	font-size: 0.9375rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--rg-blue);
	margin: 0 0 0.4rem;
}
.rg-process .wp-block-column p:last-child {
	color: var(--rg-muted);
	font-size: 0.9375rem;
	line-height: 1.5;
	margin: 0;
}
/* === bottomcards === */
/* Gemeinsamer, sehr hellgrauer Abschnittshintergrund ueber die volle Breite. */
.rg-bottom-section { background: #f5f7fa; }
.rg-bottom-grid {
	display: grid;
	grid-template-columns: 1fr 1.55fr 1.15fr;
	grid-template-rows: 284px;
	gap: 28px;
	align-items: stretch;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
}
/* Gleiche Neutralisierung wie beim Leistungs-Grid: die geerbte Block-Gap-
   margin versetzte Karte 2 und 3 (Ueber mich, Kontakt) um 16px nach unten,
   sodass "Was Sie erwarten koennen" hoeher begann. */
.rg-bottom-grid > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-top: 0 !important;
	align-self: stretch;
	transform: none;
	top: auto;
	bottom: auto;
}
.rg-bcard {
	background: #fff;
	border: 1px solid var(--rg-line);
	border-radius: var(--rg-radius);
	box-shadow: var(--rg-shadow);
	padding: 26px 28px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}
.rg-bcard h3 { margin-top: 0; }
.rg-bcard p { color: var(--rg-muted); font-size: 0.9375rem; line-height: 1.6; }
/* Karteninhalte durchgehend linksbuendig (constrained-Einrueckung aufheben). */
.rg-bcard > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Kicker in den unteren Karten: linksbuendig mit dezentem Trennstrich darunter. */
.rg-bcard .rg-kicker {
	text-align: left;
	color: var(--rg-blue);
	margin: 0 0 0.85rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--rg-line);
}
/* === Kundenbewertungs-Slider (links, OHNE eigene weisse Kartenbox) === */
.rg-testi {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 6px 4px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.rg-testi > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.rg-testi .rg-kicker {
	text-align: left;
	color: var(--rg-blue);
	margin: 0 0 0.9rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--rg-line);
}
/* Ein-Element-Loesung: grosses Zitatzeichen als eigenes Element (nicht ueber
   dem Text), darunter EIN Text-/Sterne-/Name-Element. Kein absolutes Stapeln,
   keine Ueberlagerung. JS tauscht nur den Textinhalt aus. */
.rg-testi-quotemark {
	font-size: 2.6rem !important;
	line-height: 0.6;
	font-weight: 700;
	color: var(--rg-blue) !important;
	margin: 0 0 0.5rem !important;
	font-family: Georgia, "Times New Roman", serif;
}
.rg-testi-text {
	color: var(--wp--preset--color--contrast) !important;
	font-size: 0.9375rem !important;
	line-height: 1.5;
	margin: 0 0 1.1rem !important;
	max-width: 360px;
}
.rg-testi-stars { color: var(--wp--preset--color--copper) !important; font-size: 1.25rem !important; letter-spacing: 2px; margin: 0 0 0.6rem !important; line-height: 1; }
.rg-testi-name { color: var(--rg-blue) !important; font-weight: 700; font-size: 0.95rem !important; margin: 0 !important; }
/* Dots an fester Position unten links, springen nicht. */
.rg-testi-dots {
	display: flex;
	gap: 8px;
	margin-top: auto;
	padding-top: 0.9rem;
	justify-content: flex-start;
	flex: 0 0 auto;
}
.rg-testi-dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #c3ccd6;
	cursor: pointer;
	transition: background 0.25s ease;
}
.rg-testi-dot.is-active { background: var(--rg-blue); }
/* === Ueber-mich-Karte: EIN vorbereitetes Hintergrundbild ===
   Das Bild about-card-bg.png enthaelt bereits die helle Textflaeche links
   und den Berater rechts. Keine separate Fotoebene, kein Nebel-Overlay,
   keine Kreis-/Ellipsenform mehr -> Text/Button liegen einfach links auf
   der freien hellen Bildflaeche. */
.rg-about-card {
	position: relative;
	padding: 0;
	overflow: hidden;
	display: block;
	height: 100%;
	background-color: transparent;
	/* Sehr dezenter Aufheller links (Bild bringt die Helligkeit selbst mit)
	   + das vorbereitete Bild als Karten-Hintergrund. */
	background-image:
		linear-gradient(
			90deg,
			rgba(248,251,255,0.18) 0%,
			rgba(248,251,255,0.1) 38%,
			rgba(248,251,255,0.03) 56%,
			rgba(248,251,255,0) 72%
		),
		url("assets/images/about-card-bg-3.png.png");
	/* Neues rahmenloses Bild -> unverzerrt, ohne Cropping/Zoom. */
	background-size: auto, cover;
	background-position: center, center center;
	background-repeat: no-repeat;
	/* Weicher Schatten statt harter Border. */
	border: 0 !important;
	box-shadow: 0 1px 2px rgba(18,61,112,0.05), 0 14px 34px rgba(18,61,112,0.09) !important;
}
.rg-about-card > * { margin-top: 0 !important; margin-block-start: 0 !important; }
/* Text liegt links auf der freien hellen Bildflaeche -- keine eigene Box,
   transparenter Hintergrund, nicht ueber den Berater ragend. */
.rg-about-text {
	position: relative;
	z-index: 2;
	width: 52%;
	max-width: 300px;
	height: 100%;
	padding: 24px 0 22px 30px;
	background: transparent;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
}
/* Kompakte Ueberschrift, nah am oberen Rand, kurze dezente Trennlinie. */
.rg-about-text .rg-kicker {
	font-size: 0.8rem !important;
	margin: 0 0 0.6rem !important;
	padding-bottom: 0.55rem !important;
	max-width: 82px;
	border-bottom-color: var(--rg-line) !important;
}
.rg-about-text p:not(.rg-kicker) { font-size: 0.9rem; line-height: 1.5; margin: 0 0 0.9rem !important; }
.rg-about-text > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Die fruehere separate Fotoebene entfaellt -- das Bild ist jetzt der
   Karten-Hintergrund. Das leere .rg-about-media-Element wird ausgeblendet. */
.rg-about-media { display: none; }
.rg-about-buttons { margin-top: auto; }
/* Kompakter, ruhiger umrandeter Button. */
.rg-about-buttons .wp-block-button__link {
	min-height: 40px;
	padding: 0.5rem 1.15rem !important;
	font-size: 0.82rem;
	letter-spacing: 0.03em;
	border-width: 1px !important;
	text-decoration: none;
}
.rg-bcard .rg-link { margin-top: auto; }
/* Dunkelblaue Kontaktkarte. */
.rg-bcard.is-contact {
	background: var(--rg-blue);
	border-color: var(--rg-blue);
	color: #fff;
}
.rg-bcard.is-contact h3 { color: #fff; }
.rg-bcard.is-contact p { color: rgba(255,255,255,0.85); }
.rg-bcard.is-contact { padding: 24px 26px; }
.rg-bcard.is-contact h3 { font-size: 1.25rem; margin-bottom: 0.8rem; padding-bottom: 0.65rem; border-bottom: 1px solid rgba(255,255,255,0.22); }
.rg-bcard.is-contact .rg-kicker { color: rgba(255,255,255,0.85); border-bottom-color: rgba(255,255,255,0.25); }
/* Kontaktzeilen: schlichte Linienicons ohne Kreiscontainer, links untereinander. */
.rg-contact-row { align-items: center; gap: 0.85rem !important; margin-bottom: 0.15rem; }
.rg-contact-icon {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	display: block;
	color: rgba(255,255,255,0.92);
}
.rg-contact-row p { margin: 0; color: #fff; font-size: 0.92rem; }
.rg-bcard.is-contact .rg-contact-row { margin-bottom: 0.05rem; }
.rg-bcard.is-contact .wp-block-buttons { margin-top: auto !important; }
.rg-bcard.is-contact .wp-block-button__link { min-height: 44px; padding-left: 1.5rem; padding-right: 1.5rem; }
.rg-bcard.is-contact .wp-block-button__link {
	background: #fff;
	color: var(--rg-blue);
}
.rg-bcard.is-contact .wp-block-button__link:hover {
	background: var(--rg-blue-light);
	color: var(--rg-blue-dark);
}

/* === trustbar === */
.rg-trust {
	background: #fff;
	border-top: 1px solid var(--rg-line);
}
.rg-trust .wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}
.rg-trust .wp-block-column {
	display: flex; gap: 1rem; align-items: flex-start;
	margin: 0 !important;
	flex-basis: auto !important;
	width: auto !important;
}
.rg-trust .rg-icon { flex: 0 0 auto; }
.rg-trust .rg-icon.is-md svg { width: 40px; height: 40px; }
.rg-trust .rg-trust-title {
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--rg-blue);
	margin: 0 0 0.25rem;
}
.rg-trust p:last-child {
	margin: 0;
	color: var(--rg-muted);
	font-size: 0.875rem;
	line-height: 1.5;
}
/* === footer === */
/* Kompakt gehalten, damit der Schwerpunkt auf Hero/Leistungen/Karten bleibt. */
.rutengang-footer {
	background: var(--rg-blue);
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.6;
	font-size: 0.9375rem;
}
.rutengang-footer > .wp-block-group {
	max-width: var(--rg-maxw);
	padding-top: var(--wp--preset--spacing--40) !important;
	padding-bottom: var(--wp--preset--spacing--30) !important;
}
.rutengang-footer .rg-brand-title { font-size: 1.0625rem; }
.rutengang-footer p { color: rgba(255, 255, 255, 0.82); }
.rutengang-footer :where(h1, h2, h3, h4) { color: #fff; }
.rutengang-footer .rg-kicker { color: rgba(255,255,255,0.6); }
.rutengang-footer a { color: #fff; text-decoration: none; }
.rutengang-footer a:hover { color: var(--rg-blue-light); }
.rutengang-footer .wp-block-navigation-item a { padding: 0.2rem 0; }
.rutengang-footer hr,
.rutengang-footer .wp-block-separator {
	border-color: rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.16);
}

/* === responsive === */
@media (max-width: 980px) {
	.rg-services-grid { gap: 1.25rem; }
	/* Tablet: Bewertung + Ueber-mich nebeneinander, Kontakt volle Breite darunter. */
	.rg-bottom-grid { grid-template-columns: 1fr 1.35fr; grid-template-rows: 300px auto; }
	.rg-bottom-grid .rg-bcard.is-contact { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
	/* Tablet: gleichmaessiger Hero-Innenabstand links/rechts 40px. */
	.rg-hero { padding-left: 40px !important; padding-right: 40px !important; }
	/* Hero: Textbereich verbreitern, Ueberblendung staerker fuer Lesbarkeit. */
	.rg-hero-text { width: 66%; max-width: none; }
	.rg-hero-media::before { background: linear-gradient(90deg, #fff 0%, #fff 40%, rgba(255,255,255,0.7) 60%, rgba(255,255,255,0) 92%); }
	.rg-services-grid { grid-template-columns: minmax(0, 1fr); }
	.rg-bottom-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-rows: auto; }
	.rg-bottom-grid .rg-bcard.is-contact { grid-column: auto; }
	.rg-testi { height: auto; }
	/* Ueber-mich-Karte gestapelt: Text oben, Beraterbild darunter.
	   Layer-Struktur aufloesen -> normaler Fluss, Overlay/absolut aus. */
	.rg-about-card {
		display: block;
		height: auto;
		min-height: 340px;
		/* Auf Schmalformat den Berater rechts anzeigen; Text oben liegt auf
		   einem etwas kraeftigeren hellen Verlauf fuer sichere Lesbarkeit. */
		background-image:
			linear-gradient(180deg, rgba(248,251,255,0.92) 0%, rgba(248,251,255,0.72) 34%, rgba(248,251,255,0.2) 60%, rgba(248,251,255,0) 78%),
			url("assets/images/about-card-bg-3.png.png");
		background-size: cover;
		background-position: right center;
	}
	.rg-about-text { position: relative; width: 100%; max-width: none; height: auto; padding: 22px 26px 20px; }
	/* Ablauf-Verbindungslinie ausblenden, wenn gestapelt. */
	.rg-process .wp-block-column::after { display: none; }
	.rg-audience .wp-block-column { border-left: 0; margin-bottom: 1.25rem; }
}
@media (max-width: 781px) {
	.rutengang-header .wp-block-group.is-nowrap { min-height: 72px; }
	.rg-brand-name .rg-brand-title { font-size: 0.95rem; }
	.wp-block-columns:not(.is-not-stacked-on-mobile) { gap: var(--wp--preset--spacing--40); }
	/* Support-Bereich einspaltig stapeln: der Container ist ein Grid (aus der
	   Desktop-Regel), daher hier auf eine Spalte umstellen - sonst quetscht
	   sich die Nutzenkarte in eine schmale zweite Grid-Spalte. */
	.rg-support > .wp-block-columns.are-vertically-aligned-center {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: var(--wp--preset--spacing--40) !important;
	}
	.rg-support .wp-block-columns.are-vertically-aligned-center > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	/* Service-Karte: Bildhintergrund dezenter/oben, Text bleibt lesbar. */
	.rg-service .rg-service-media { width: 34%; }
	.rg-trust .wp-block-column { margin-bottom: 1rem; }
	/* Zielgruppenleiste: Einheiten untereinander stapeln, aber Icon LINKS +
	   Text RECHTS nebeneinander behalten. Trennlinien horizontal statt
	   vertikal. */
	.rg-audience .rg-audience-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0;
		max-width: 340px;
		margin-inline: auto;
	}
	.rg-audience .rg-audience-grid > .wp-block-column {
		justify-content: flex-start;
		padding: 14px 0;
	}
	.rg-audience .rg-audience-grid > .wp-block-column::before {
		left: 0; top: 0; transform: none;
		width: 100%; height: 1px;
	}
	.rg-audience .rg-audience-grid > .wp-block-column:first-child::before { display: none; }
	.rg-audience .rg-aud-item { justify-content: flex-start; gap: 16px; }
	.rg-audience .rg-aud-label { white-space: nowrap; }
}
@media (max-width: 600px) {
	/* Smartphone: kompakter Hero-Innenabstand links/rechts 24px. */
	.rg-hero { min-height: 0; padding-left: 24px !important; padding-right: 24px !important; }
	.rg-hero-text { width: 100%; }
	.rg-hero-text h1 { font-size: clamp(2.25rem, 9vw, 2.6rem); }
	/* Mobil: eigener Bildausschnitt, damit die Beratungssituation (Berater,
	   Messgeraet, Ruten) sichtbar bleibt statt nur einem neutralen Mittelteil.
	   Vertikaler Weissverlauf oben deckend fuer die Textlesbarkeit. */
	.rg-hero-media {
		background-image:
			linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.55) 34%, rgba(255,255,255,0) 60%),
			url("assets/images/hero-beratung.png.png");
		background-position: 68% center;
	}
	.rg-hero-media p { margin: 0.5rem auto 0; text-align: center; align-self: center; }
	.rg-service {
		flex-direction: column;
		padding-right: clamp(1.4rem, 2.2vw, 1.85rem);
		align-items: flex-start;
	}
	.rg-service .rg-service-media { position: relative; width: 100%; height: 120px; order: -1; border-radius: var(--rg-radius); }
	.rg-service .rg-service-media::before { background: linear-gradient(180deg, rgba(255,255,255,0) 40%, #fff 100%); }
	/* Ueber-mich: kompakter, Berater weiterhin rechts im Hintergrundbild. */
	.rg-about-card { min-height: 300px; background-position: 82% center; }
	.wp-block-button { width: 100%; }
	.wp-block-button .wp-block-button__link { display: flex; justify-content: center; width: 100%; }
	.rutengang-header .wp-block-button,
	.rg-hero-topics .wp-block-button { width: auto; }
}

/* ==========================================================================
   LEISTUNGEN-SEITE (Slug-Template page-leistungen.html)
   ========================================================================== */
/* LP:nav-active — aktive Markierung nur auf der Leistungsseite (page-id-45). */
.page-id-45 .wp-block-navigation .rg-nav-leistungen > a {
	position: relative;
	color: var(--rg-blue);
	font-weight: 700;
}
.page-id-45 .wp-block-navigation .rg-nav-leistungen > a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -6px;
	height: 2px;
	background: var(--rg-blue);
}

/* LP:scale — breitere Container nur fuer die Leistungsseite. */
.rg-leistungen { --rg-lp-maxw: 1280px; }

/* LP:hero — EINE Full-Bleed-Flaeche: Bild ueber volle Breite, weisser Verlauf-Overlay, Text darueber. */
.rg-lp-hero {
	position: relative;
	background: #fff;
	min-height: 520px;
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--50) clamp(40px, 6vw, 100px);
	display: flex;
	align-items: center;
	overflow: hidden;
}
@media (min-width: 1440px) {
	.rg-lp-hero { padding-left: calc((100vw - var(--rg-lp-maxw)) / 2); padding-right: calc((100vw - var(--rg-lp-maxw)) / 2); }
}
/* Bildebene: durchgehende Szene ueber die GESAMTE Hero-Breite, zentriert (nicht nach rechts gedrueckt). */
.rg-lp-hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	background-image: url("assets/images/ChatGPT%20Image%205.%20Juli%202026,%2015_26_00.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center 32%;
}
/* Weisser Verlauf-Overlay: links stark aufgehellt (Berater subtil sichtbar), rechts transparent. */
.rg-lp-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(255,255,255,0.98) 0%,
		rgba(255,255,255,0.95) 24%,
		rgba(255,255,255,0.78) 39%,
		rgba(255,255,255,0.35) 55%,
		rgba(255,255,255,0.00) 74%
	);
}
/* Text im normalen Inhaltsraster, ueber Bild und Verlauf. KEINE Spaltenbreite mehr. */
.rg-lp-hero-text {
	position: relative;
	z-index: 2;
	width: auto;
	max-width: 440px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-top: 0 !important;
}
/* Headline optisch identisch zur Startseite (.rg-hero-text h1): gleiche Farbe (contrast), gleiches Gewicht (650). */
.rg-lp-hero-title {
	font-size: 2.125rem;
	font-weight: 650;
	color: var(--rg-text);
	text-transform: uppercase;
	letter-spacing: -0.01em;
	line-height: 1.14;
	margin: 0 0 0.6rem;
}
/* Trennstrich linksbuendig, mittig zwischen Ueberschrift und Folgetext platziert. */
.rg-lp-rule {
	border: 0;
	height: 3px;
	width: 58px;
	background: var(--rg-blue);
	margin: 1.3rem auto 1.5rem 0 !important;
	opacity: 1;
}
.rg-lp-hero-lead { font-size: 1.16rem; color: var(--rg-text); line-height: 1.55; margin: 0 0 0.8rem; }
.rg-lp-hero-text p:not(.rg-lp-hero-lead) { color: var(--rg-muted); font-size: 1.02rem; line-height: 1.6; margin: 0 0 1.4rem; }
.rg-lp-hero-buttons { gap: 1rem; }
.rg-lp-hero-buttons .wp-element-button { min-height: 56px; display: inline-flex; align-items: center; padding: 0 2.2rem; border-radius: var(--rg-radius); font-weight: 600; font-size: 1.02rem; }
.rg-btn-primary .wp-element-button { background: var(--rg-blue); color: #fff; border: 2px solid var(--rg-blue); }
.rg-btn-outline .wp-element-button { background: transparent; color: var(--rg-blue); border: 2px solid var(--rg-blue); }

/* LP:overview */
.rg-lp-overview { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); }
.rg-lp-h2 { font-size: clamp(1.9rem, 3.2vw, 2.4rem); font-weight: 800; color: var(--rg-blue); text-align: center; margin: 0 0 0.5rem; }
.rg-lp-accent { border: 0; height: 3px; width: 60px; background: var(--rg-blue); margin: 0 auto 2.6rem; opacity: 1; }
.rg-lp-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
	max-width: var(--rg-lp-maxw);
	margin: 0 auto;
}
.rg-lp-cards > .rg-lp-card { margin-top: 0 !important; }
.rg-lp-card {
	background: #fff;
	border: 1px solid var(--rg-line);
	border-radius: var(--rg-radius-lg);
	box-shadow: var(--rg-shadow);
	padding: 1.5rem 1.4rem;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.rg-lp-card > * { margin-top: 0 !important; }
/* Harte Gleichheit: fester Icon-Kreis bei allen vier Karten. */
.rg-lp-card-icon {
	margin: 0 0 0.8rem !important;
	width: 54px !important; height: 54px !important;
	flex: 0 0 54px;
	max-width: 54px !important;
	padding: 0 !important;
	border-radius: 50%;
	background: var(--rg-blue);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.rg-lp-card-icon svg { width: 28px; height: 28px; display: block; flex: 0 0 auto; }
/* Feste Titelhoehe (1 Zeile), damit alle Listen auf gleicher Hoehe starten. */
.rg-lp-card-title { font-size: 1.18rem; font-weight: 700; color: var(--rg-blue); margin: 0 0 0.6rem; line-height: 1.25; min-height: calc(1.18rem * 1.25); }
.rg-lp-card-list { list-style: none; margin: 0 0 0.9rem; padding: 0; }
.rg-lp-card-list li { color: var(--rg-muted); font-size: 0.97rem; padding: 0.2rem 0 0.2rem 1.1rem; position: relative; }
.rg-lp-card-list li::before { content: ""; position: absolute; left: 0; top: 0.72rem; width: 6px; height: 6px; border-radius: 50%; background: var(--rg-blue); }
.rg-lp-more { margin: auto 0 0 !important; padding-top: 0.4rem; }
.rg-lp-more a { color: var(--rg-blue); font-weight: 700; text-decoration: none; font-size: 1.02rem; }
.rg-lp-more a:hover { text-decoration: underline; }

/* LP:detail */
.rg-lp-detail { padding-top: var(--wp--preset--spacing--30); padding-bottom: var(--wp--preset--spacing--30); }
/* Block 1 & 3: Bild links, Textkarte rechts, gleiche Hoehe. */
.rg-lp-detail-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: stretch;
	max-width: var(--rg-lp-maxw);
	margin: 0 auto;
}
.rg-lp-detail-img {
	margin: 0;
	border-radius: var(--rg-radius-lg);
	overflow: hidden;
	box-shadow: var(--rg-shadow);
}
.rg-lp-detail-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rg-lp-detail-text {
	background: #fff;
	border: 1px solid var(--rg-line);
	border-radius: var(--rg-radius-lg);
	box-shadow: var(--rg-shadow);
	padding: 2.6rem 2.8rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.rg-lp-detail-text > * { margin-top: 0 !important; }
.rg-lp-detail-head { gap: 14px; align-items: center; justify-content: flex-start; width: 100%; margin: 0 auto 0.7rem auto !important; }
.rg-lp-detail-icon.rg-icon-circle { width: 54px; height: 54px; flex: 0 0 54px; margin: 0 !important; padding: 0 !important; }
.rg-lp-detail-icon.rg-icon-circle svg { width: 40px; height: 40px; }
.rg-lp-detail-title { font-size: 1.3rem; font-weight: 700; color: var(--rg-blue); letter-spacing: -0.01em; margin: 0; line-height: 1.2; }
.rg-lp-detail-lead { color: var(--rg-text); font-size: 0.98rem; line-height: 1.5; margin: 0 0 0.8rem; }
.rg-lp-checklist { list-style: none; margin: 0; padding: 0; }
.rg-lp-checklist li { position: relative; padding: 0.24rem 0 0.24rem 1.9rem; color: var(--rg-muted); font-size: 0.95rem; line-height: 1.45; }
/* "Mehr dazu"-Verweis in Detailkarten (Karte 1 & 2). */
.rg-lp-detail-more { display: block; width: 100%; margin: 0.9rem auto 0 auto !important; }
.rg-lp-detail-more a { color: var(--rg-blue); font-weight: 700; text-decoration: none; font-size: 0.98rem; }
.rg-lp-detail-more a:hover { text-decoration: underline; }
.rg-lp-checklist li::before {
	content: "";
	position: absolute; left: 0; top: 0.55rem;
	width: 20px; height: 20px;
	background: no-repeat center / 13px 13px
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 6'/%3E%3C/svg%3E");
}
/* Einheitliches System fuer ALLE vier Detailbloecke: durchgehende Zweispaltenkarte. */
.rg-lp-wide-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch;
	max-width: var(--rg-lp-maxw);
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--rg-line);
	border-radius: var(--rg-radius-lg);
	box-shadow: var(--rg-shadow);
	overflow: hidden;
	min-height: 320px;
}
.rg-lp-wide-card .rg-lp-detail-text {
	border: 0; box-shadow: none; border-radius: 0; min-width: 0;
	padding: 1.7rem 2rem;
	justify-content: center;
}
.rg-lp-wide-card .rg-lp-detail-text > * { max-width: 430px; }
.rg-lp-wide-media {
	position: relative;
	min-width: 0;
	min-height: 320px;
	background: no-repeat center / cover url("assets/images/earth-water.png.png");
}
/* Standard (Bild links, Text rechts): dezenter Verlauf nur zur Textkante. */
.rg-lp-wide-media::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,0.55) 10%, rgba(255,255,255,0) 26%);
}
.rg-lp-wide-media-technical { background-image: url("assets/images/technical-fields.png.png"); }
.rg-lp-wide-media-bedroom { background-image: url("assets/images/bedroom.png.png"); }
.rg-lp-wide-media-consult { background-image: url("assets/images/consultation.png.png"); }
/* Wide-Right (Text links, Bild rechts): weicher Verlauf zur linken Textseite. */
.rg-lp-wide-right .rg-lp-wide-media::before { background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0.55) 10%, rgba(255,255,255,0) 26%); }

/* LP:process */
.rg-lp-process { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--40); background: #F4F8FC; border-top: 1px solid var(--rg-line); border-bottom: 1px solid var(--rg-line); }
.rg-lp-process .rg-lp-h2,
.rg-lp-faq .rg-lp-h2 { text-transform: uppercase; font-size: 34px; font-weight: 700; color: var(--rg-text); letter-spacing: -0.17px; margin-bottom: 2.6rem !important; }
.rg-lp-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	max-width: var(--rg-lp-maxw);
	margin: 0 auto;
}
.rg-lp-steps > .rg-lp-step { margin-top: 0 !important; }
.rg-lp-step { position: relative; text-align: center; padding: 0 0.5rem; }
.rg-lp-step > * { margin-top: 0 !important; }
/* Gestrichelte Verbindungslinie zwischen den Schritten. */
.rg-lp-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 33px;
	left: calc(50% + 40px);
	width: calc(100% - 80px);
	border-top: 1.5px dashed rgba(18,61,112,0.22);
}
.rg-lp-step-icon.rg-icon-circle { width: 66px; height: 66px; flex: 0 0 66px; margin: 0 auto 0.7rem; }
.rg-lp-step-icon.rg-icon-circle svg { width: 44px; height: 44px; }
.rg-lp-step-num {
	width: 36px; height: 36px; line-height: 36px;
	border-radius: 50%;
	background: #cfe0f0; color: var(--rg-blue);
	font-weight: 700; font-size: 1rem;
	text-align: center;
	margin: 0 auto 0.9rem !important;
	position: relative; z-index: 1;
}
.rg-lp-step-title { font-size: 1.12rem; font-weight: 700; color: var(--rg-blue); text-transform: uppercase; letter-spacing: 0.02em; margin: 0 0 0.6rem; min-height: calc(1.12rem * 1.3 * 2); display: flex; align-items: flex-start; justify-content: center; text-align: center; }
.rg-lp-step p:not(.rg-lp-step-num) { color: var(--rg-muted); font-size: 0.98rem; line-height: 1.55; margin: 0; }

/* LP:faq */
.rg-lp-faq { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.rg-lp-faq-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
	max-width: var(--rg-lp-maxw);
	margin: 0 auto;
}
.rg-lp-faq-grid > .rg-lp-faq-item { margin-top: 0 !important; }
.rg-lp-faq-item {
	background: #fff;
	border: 1px solid var(--rg-line);
	border-radius: var(--rg-radius);
	box-shadow: var(--rg-shadow);
	padding: 1.5rem 1.6rem;
	min-height: 96px;
}
.rg-lp-faq-item summary {
	list-style: none;
	cursor: pointer;
	font-weight: 600;
	color: var(--rg-blue);
	font-size: 1.08rem;
	line-height: 1.4;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.6rem;
}
.rg-lp-faq-item summary::-webkit-details-marker { display: none; }
.rg-lp-faq-item summary::after {
	content: "";
	flex: 0 0 auto;
	width: 18px; height: 18px;
	margin-top: 2px;
	background: no-repeat center / contain
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	transition: transform var(--rg-transition);
}
.rg-lp-faq-item[open] summary::after { transform: rotate(180deg); }
.rg-lp-faq-item p { color: var(--rg-muted); font-size: 0.98rem; line-height: 1.55; margin: 1rem 0 0; }
.rg-lp-faq-more { display: block; width: 100%; max-width: none !important; margin: 3rem auto 0.5rem auto !important; color: var(--rg-muted); font-size: 1rem; text-align: center; }
.rg-lp-faq-more a { color: var(--rg-blue); font-weight: 700; text-decoration: none; }
.rg-lp-faq-more a:hover { text-decoration: underline; }
/* FAQ-Seite: einspaltige Frageliste. */
.rg-faq-list { display: flex; flex-direction: column; gap: 14px; }
.rg-faq-list > .rg-lp-faq-item { margin-top: 0 !important; max-width: var(--rg-dp-maxw); margin-left: auto; margin-right: auto; width: 100%; }

/* LP:cta */
.rg-lp-cta-wrap { padding-top: var(--wp--preset--spacing--30); padding-bottom: var(--wp--preset--spacing--60); }
.rg-lp-cta {
	max-width: var(--rg-lp-maxw);
	margin: 0 auto;
	background: var(--rg-blue);
	border-radius: var(--rg-radius-lg);
	padding: 2.8rem 3rem;
	gap: 2rem;
}
.rg-lp-cta-left { gap: 1.6rem; align-items: center; flex: 1 1 auto; }
.rg-lp-cta-icon {
	flex: 0 0 auto;
	width: 74px; height: 74px;
	border: 2px solid rgba(255,255,255,0.5);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	color: #fff;
}
.rg-lp-cta-icon svg { width: 36px; height: 36px; display: block; }
.rg-lp-cta-copy > * { margin-top: 0 !important; }
.rg-lp-cta-title { color: #fff; font-size: 1.55rem; font-weight: 700; margin: 0 0 0.45rem; }
.rg-lp-cta-sub { color: rgba(255,255,255,0.82); font-size: 1.05rem; line-height: 1.55; margin: 0; }
.rg-lp-cta-buttons { flex: 0 0 auto; }
.rg-btn-white .wp-element-button { background: #fff; color: var(--rg-blue); border: 2px solid #fff; min-height: 56px; display: inline-flex; align-items: center; padding: 0 2.2rem; border-radius: var(--rg-radius); font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.rg-btn-white .wp-element-button:hover { background: var(--rg-blue-light); }

/* LP:responsive */
@media (max-width: 1000px) {
	.rg-lp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rg-lp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.6rem; }
	.rg-lp-step:not(:last-child)::after { display: none; }
	.rg-lp-faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rg-lp-detail-row { grid-template-columns: minmax(0, 1fr); }
	.rg-lp-hero-text { width: 56%; }
	.rg-lp-detail-img { min-height: 220px; }
	.rg-lp-wide-card { grid-template-columns: minmax(0, 1fr); }
	.rg-lp-wide-card .rg-lp-detail-text { order: 1; }
	.rg-lp-wide-media { order: 2; min-height: 240px; }
	.rg-lp-wide-media::before { background: linear-gradient(180deg, rgba(255,255,255,0) 55%, #fff 100%) !important; }
}
@media (max-width: 600px) {
	.rg-lp-hero { min-height: 0; padding: var(--wp--preset--spacing--40) 24px; flex-direction: column; }
	.rg-lp-hero-media { position: relative; inset: auto; order: 2; width: 100%; height: 220px; margin: 1.5rem -24px -1.5rem; width: calc(100% + 48px); }
	.rg-lp-hero-media { background-position: 70% center; }
	.rg-lp-hero-media::before { content: none; }
	.rg-lp-hero-text { width: 100%; max-width: none; order: 1; }
	.rg-lp-cards { grid-template-columns: minmax(0, 1fr); }
	.rg-lp-steps { grid-template-columns: minmax(0, 1fr); }
	.rg-lp-faq-grid { grid-template-columns: minmax(0, 1fr); }
	.rg-lp-cta { flex-wrap: wrap; text-align: left; }
	.rg-lp-cta-buttons { width: 100%; }
	.rg-btn-white .wp-element-button { width: 100%; justify-content: center; }
}


/* === Detailseiten (Technische Strahlung / Erdstrahlung) === */
.rg-detailpage { --rg-dp-maxw: 860px; }
/* Hero: ruhige helle Kopfzone, linksbuendig. */
.rg-dp-hero {
	background: var(--rg-cream, #EAF2F8);
	border-bottom: 1px solid var(--rg-line);
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--50) clamp(24px, 6vw, 100px);
}
.rg-dp-hero > * { max-width: var(--rg-dp-maxw); margin-left: auto; margin-right: auto; }
.rg-dp-eyebrow { margin: 0 0 1rem; }
.rg-dp-eyebrow a { color: var(--rg-blue); font-weight: 700; text-decoration: none; font-size: 0.95rem; }
.rg-dp-eyebrow a:hover { text-decoration: underline; }
.rg-dp-title { font-size: clamp(2rem, 4vw, 2.6rem); font-weight: 650; color: var(--rg-text); text-transform: uppercase; letter-spacing: -0.01em; line-height: 1.12; margin: 0; }
.rg-dp-rule { border: 0; height: 3px; width: 58px; background: var(--rg-blue); margin: 1.2rem auto 1.4rem 0 !important; opacity: 1; }
.rg-dp-lead { font-size: 1.16rem; color: var(--rg-text); line-height: 1.6; margin: 0; max-width: 640px; }
/* Media-Hero: Foto rechts, Wandfarbe links monoton erweitert, Text darauf. */
.rg-dp-hero-media {
	position: relative;
	border-bottom: 1px solid var(--rg-line);
	background-color: #F1EEE8;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right center;
	padding-top: clamp(3rem, 7vw, 6rem);
	padding-bottom: clamp(3rem, 7vw, 6rem);
	min-height: 420px;
	display: flex;
	align-items: center;
}
.rg-dp-hero-ts { background-image: url("assets/images/technical-fields.png.png"); }
/* Wandfarbe-Verlauf: links deckend, nach rechts transparent -> nahtloser Uebergang ins Foto. */
.rg-dp-hero-media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #F1EEE8 0%, #F1EEE8 34%, rgba(241,238,232,0.85) 48%, rgba(241,238,232,0.35) 62%, rgba(241,238,232,0) 76%);
	z-index: 1;
}
.rg-dp-hero-media > .rg-dp-hero-inner {
	position: relative;
	z-index: 2;
	max-width: var(--rg-dp-maxw);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.rg-dp-hero-inner > * { max-width: 560px; margin-left: 0; margin-right: 0; }
.rg-dp-subtitle { font-size: 1.05rem; font-weight: 600; color: var(--rg-blue); margin: 0.6rem 0 0; letter-spacing: 0.01em; }
/* Textsektion. */
.rg-dp-section { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); }
.rg-dp-section > * { max-width: var(--rg-dp-maxw); margin-left: auto; margin-right: auto; }
.rg-dp-h2 { font-size: clamp(1.5rem, 2.6vw, 1.9rem); font-weight: 800; color: var(--rg-blue); margin: 0 0 0.9rem; }
.rg-dp-section p { color: var(--rg-text); font-size: 1.05rem; line-height: 1.65; margin: 0; }
.rg-dp-section p + p { margin-top: 1rem; }
/* Zweispaltige Textsektion mit Info-Kasten. */
.rg-dp-split > .rg-dp-split-grid { max-width: var(--rg-dp-maxw); margin-left: auto; margin-right: auto; }
.rg-dp-split-grid { display: grid; grid-template-columns: 1.65fr 1fr; gap: 2.4rem; align-items: start; }
.rg-dp-split-grid > * { margin-top: 0 !important; }
.rg-dp-split-text > * { margin-top: 0 !important; }
.rg-dp-aside { background: var(--rg-cream, #EAF2F8); border: 1px solid var(--rg-line); border-left: 3px solid var(--rg-blue); border-radius: var(--rg-radius-lg); padding: 1.5rem 1.6rem; }
.rg-dp-aside > * { margin-top: 0 !important; }
.rg-dp-aside-title { font-size: 1.05rem; font-weight: 700; color: var(--rg-blue); margin: 0 0 0.9rem; text-transform: uppercase; letter-spacing: 0.03em; }
.rg-dp-aside-list { list-style: none; margin: 0; padding: 0; }
.rg-dp-aside-list li { position: relative; padding-left: 1.6rem; margin: 0 0 0.7rem; color: var(--rg-text); font-size: 0.97rem; line-height: 1.45; }
.rg-dp-aside-list li:last-child { margin-bottom: 0; }
.rg-dp-aside-list li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 8px; height: 8px; border-radius: 50%; background: var(--rg-blue); }
/* Band mit 2x2-Raster. */
.rg-dp-band { background: var(--rg-base, #F7F9FC); border-top: 1px solid var(--rg-line); border-bottom: 1px solid var(--rg-line); padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.rg-dp-band > .rg-dp-h2 { max-width: var(--rg-dp-maxw); margin-left: auto; margin-right: auto; text-align: center; margin-bottom: 1.8rem; }
.rg-dp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: var(--rg-dp-maxw); margin: 0 auto; }
.rg-dp-grid > .rg-dp-item { margin-top: 0 !important; }
.rg-dp-item { background: #fff; border: 1px solid var(--rg-line); border-radius: var(--rg-radius-lg); box-shadow: var(--rg-shadow); padding: 1.4rem 1.5rem; }
.rg-dp-item > * { margin-top: 0 !important; }
.rg-dp-item-title { font-size: 1.1rem; font-weight: 700; color: var(--rg-blue); margin: 0 0 0.5rem; line-height: 1.25; }
.rg-dp-item p { color: var(--rg-muted); font-size: 0.97rem; line-height: 1.5; margin: 0; }
/* Quellen-Karten mit individuellen Icons. */
.rg-dp-src-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: var(--rg-dp-maxw); margin: 0 auto; }
.rg-dp-src-grid > .rg-dp-src-item { margin-top: 0 !important; }
.rg-dp-src-item { background: #fff; border: 1px solid var(--rg-line); border-radius: var(--rg-radius-lg); box-shadow: var(--rg-shadow); padding: 1.6rem 1.5rem; text-align: center; }
.rg-dp-src-item > * { margin-top: 0 !important; }
.rg-dp-src-icon.rg-icon-circle { width: 60px; height: 60px; flex: 0 0 60px; margin: 0 auto 1rem; padding: 0 !important; }
.rg-dp-src-icon.rg-icon-circle svg { width: 34px; height: 34px; }
.rg-dp-src-title { font-size: 1.05rem; font-weight: 700; color: var(--rg-blue); margin: 0 0 0.5rem; line-height: 1.3; }
.rg-dp-src-item p { color: var(--rg-muted); font-size: 0.95rem; line-height: 1.5; margin: 0; }
/* CTA-Banner. */
.rg-dp-cta-wrap { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.rg-dp-cta { max-width: var(--rg-dp-maxw); margin: 0 auto; background: var(--rg-blue); border-radius: var(--rg-radius-lg); padding: 2.2rem 2.6rem; gap: 1.5rem; }
.rg-dp-cta-title { color: #fff; font-size: 1.4rem; font-weight: 800; margin: 0 0 0.4rem; }
.rg-dp-cta-sub { color: rgba(255,255,255,0.9); font-size: 1rem; line-height: 1.5; margin: 0; }
.rg-dp-cta-buttons { margin-top: 0 !important; }
.rg-btn-white .wp-element-button { background: #fff; color: var(--rg-blue); border: 2px solid #fff; font-weight: 700; min-height: 50px; display: inline-flex; align-items: center; padding: 0 1.9rem; border-radius: var(--rg-radius); }
@media (max-width: 900px) {
	.rg-dp-split-grid { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
	.rg-dp-src-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.rg-dp-grid { grid-template-columns: minmax(0, 1fr); }
	.rg-dp-src-grid { grid-template-columns: minmax(0, 1fr); }
	.rg-dp-cta { flex-direction: column; align-items: flex-start; }
	.rg-dp-hero-inner > * { max-width: none; }
	.rg-dp-hero-media::before { background: linear-gradient(90deg, #F1EEE8 0%, #F1EEE8 55%, rgba(241,238,232,0.75) 72%, rgba(241,238,232,0.25) 88%, rgba(241,238,232,0) 100%); }
}

/* ============================================================
   Technische Strahlung – Detailseite (Neuaufbau nach Referenz)
   ============================================================ */
.rg-ts { --rg-ts-maxw: 1120px; --rg-serif: Georgia, "Times New Roman", serif; overflow-x: clip; }
/* Hero: EINE zusammenhaengende, vollbreite Section. Bild als rechte
   Haelfte des Hero-Hintergrunds, heller Verlauf links, Text + USP links. */
.rg-ts-hero {
	position: relative;
	background-color: #F4F1EC;
	background-image: url("assets/images/hero-technische-strahlung.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right center;
	min-height: 640px;
	display: flex;
	align-items: center;
	padding-top: clamp(3rem, 5vw, 4.5rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
	border-bottom: 1px solid var(--rg-line);
}
/* Heller Verlauf: links deckend fuer Lesbarkeit, weich nach rechts ins Bild. */
.rg-ts-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(90deg,
		rgba(248,245,240,0.99) 0%,
		rgba(248,245,240,0.97) 26%,
		rgba(248,245,240,0.82) 42%,
		rgba(248,245,240,0.42) 58%,
		rgba(248,245,240,0.08) 74%,
		rgba(248,245,240,0) 88%);
}
.rg-ts-hero > .rg-ts-hero-inner {
	position: relative;
	z-index: 1;
	max-width: var(--rg-ts-maxw);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.rg-ts-hero-inner > * { margin-top: 0 !important; }
.rg-ts-hero-content { max-width: 460px; margin-left: 0 !important; margin-right: auto !important; }
.rg-ts-hero-content > * { margin-top: 0 !important; }
.rg-ts-kicker { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rg-blue); margin: 0 0 1.2rem; }
.rg-ts-hero-title { font-weight: 650; font-size: clamp(2rem, 4vw, 2.6rem); line-height: 1.12; color: var(--rg-text); text-transform: uppercase; letter-spacing: -0.01em; margin: 0 0 1.4rem; }
.rg-ts-hero-lead { font-size: 1.05rem; line-height: 1.65; color: var(--rg-text); margin: 0 0 1rem; max-width: 30rem; }
.rg-ts-hero-lead:last-child { margin-bottom: 0; }
/* USP-Zeile: unten im Hero, linksbuendig, feine Trennlinien. */
.rg-ts-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: 500px; margin-left: 0 !important; margin-right: auto !important; margin-top: clamp(2.4rem, 4vw, 3.4rem) !important; border-top: 1px solid rgba(18,61,112,0.18); padding-top: 1.8rem; }
.rg-ts-feats > .rg-ts-feat { margin-top: 0 !important; gap: 0.7rem; align-items: flex-start; padding: 0 1.2rem; }
.rg-ts-feats > .rg-ts-feat:first-child { padding-left: 0; }
.rg-ts-feats > .rg-ts-feat + .rg-ts-feat { border-left: 1px solid rgba(18,61,112,0.18); }
.rg-ts-feat-icon { flex: 0 0 auto; color: var(--rg-blue); margin: 0 !important; }
.rg-ts-feat-icon svg { width: 26px; height: 26px; display: block; }
.rg-ts-feat-body > * { margin-top: 0 !important; }
.rg-ts-feat-title { font-size: 0.95rem; font-weight: 700; color: var(--rg-blue); margin: 0 0 0.25rem; line-height: 1.25; }
.rg-ts-feat-text { font-size: 0.85rem; line-height: 1.4; color: var(--rg-muted); margin: 0; }
/* Sektion 2: Was ist technische Strahlung + Quellen-Box. */
.rg-ts-what { background: linear-gradient(180deg, #EAF2F8 0%, #F4F9FC 100%); padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.rg-ts-what > * { max-width: var(--rg-ts-maxw); margin-left: auto; margin-right: auto; }
.rg-ts-what-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2rem, 5vw, 3.6rem); align-items: start; }
.rg-ts-what-grid > * { margin-top: 0 !important; }
.rg-ts-what-text > * { margin-top: 0 !important; }
.rg-ts-h2 { font-family: var(--rg-serif); font-weight: 700; font-size: clamp(1.8rem, 3.4vw, 2.5rem); line-height: 1.15; color: var(--rg-blue); margin: 0 0 1.1rem; letter-spacing: -0.01em; }
.rg-ts-rule { border: 0; height: 3px; width: 54px; background: var(--rg-blue); margin: 0 0 1.6rem !important; opacity: 1; }
.rg-ts-p { font-size: 1.04rem; line-height: 1.7; color: var(--rg-text); margin: 0 0 1.1rem; }
.rg-ts-note { font-size: 1.08rem; line-height: 1.55; color: var(--rg-blue-dark); font-weight: 700; font-family: var(--rg-serif); font-style: italic; margin: 1.6rem 0 0; padding-left: 1.1rem; border-left: 3px solid var(--rg-blue); }
.rg-ts-sources { background: #fff; border: 1px solid var(--rg-line); border-radius: var(--rg-radius-lg); box-shadow: var(--rg-shadow-lg); padding: 1.8rem 1.8rem; }
.rg-ts-sources > * { margin-top: 0 !important; }
.rg-ts-sources-title { font-size: 1.06rem; font-weight: 700; color: var(--rg-blue); margin: 0 0 1.2rem; line-height: 1.3; }
.rg-ts-sources > .rg-ts-src { margin-top: 0 !important; gap: 0.85rem; align-items: center; padding: 0.6rem 0; border-top: 1px solid var(--rg-line); }
.rg-ts-sources > .rg-ts-src:first-of-type { border-top: 0; padding-top: 0; }
.rg-ts-src-ic { flex: 0 0 auto; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; background: var(--rg-blue-light); border-radius: 8px; color: var(--rg-blue); margin: 0 !important; }
.rg-ts-src-ic svg { width: 20px; height: 20px; display: block; }
.rg-ts-src-ic figure { margin: 0 !important; padding: 0; line-height: 0; display: flex; align-items: center; justify-content: center; }
.rg-ts-src-ic img { width: 26px !important; height: 26px; object-fit: contain; display: block; margin: 0 !important; }
.rg-ts-src-t { font-size: 0.96rem; color: var(--rg-text); margin: 0 !important; line-height: 1.35; }
/* Sektion 3: Meine Leistungen – 4 Spalten mit Icon-Badges + Trennlinien. */
.rg-ts-serv { background: #fff; padding: 56px 0 64px; }
.rg-ts-serv > * { max-width: var(--rg-ts-maxw); margin-left: auto; margin-right: auto; }
.rg-ts-serv-h2 { text-align: center; font-family: var(--rg-serif); font-weight: 700; font-size: clamp(30px, 2.4vw, 42px); line-height: 1.15; color: var(--rg-blue-dark); margin: 0 auto 12px !important; }
.rg-ts-serv-rule { border: 0 !important; width: 42px; height: 2px; background: var(--rg-blue); margin: 0 auto 40px !important; max-width: 42px; opacity: 1; }
.rg-ts-serv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; align-items: start; margin-top: 0 !important; }
.rg-ts-serv-grid > .rg-ts-serv-col { position: relative; margin-top: 0 !important; padding: 0 34px; text-align: center; }
.rg-ts-serv-grid > .rg-ts-serv-col:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 14px; height: 168px; width: 1px; background: rgba(18,61,112,0.22); }
.rg-ts-serv-col > * { margin-top: 0 !important; }
.rg-ts-serv-ic { width: 76px; height: 76px; flex: 0 0 76px; border-radius: 50%; background: #eef5fb; color: var(--rg-blue); display: flex; align-items: center; justify-content: center; margin: 0 auto 22px !important; padding: 0 !important; }
.rg-ts-serv-ic svg { width: 38px; height: 38px; display: block; stroke: currentColor; stroke-width: 1.8; fill: none; }
.rg-ts-serv-title { font-family: inherit; font-size: 18px; font-weight: 700; color: var(--rg-blue); text-align: center; margin: 0 0 14px !important; line-height: 1.25; }
.rg-ts-serv-text { max-width: 235px; margin: 0 auto !important; font-size: 15px; line-height: 1.65; color: #24364a; text-align: center; }
/* Sektion 4: Gesundheit + Blog-Karte. */
/* Aeussere Section (weiss); beige Karte fast vollbreit mit schmalem Rand. */
.rg-ts-health { background: #fff; padding: clamp(2.5rem, 5vw, 4rem) clamp(1.2rem, 2.4vw, 2.4rem) !important; }
.rg-ts-health > * { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
/* Beige Hintergrundkarte: breit mit schmalem Rand + leicht runden Ecken. */
.rg-ts-card { background: var(--rg-sand, #F3F1EC); border-radius: 18px; padding: clamp(1.8rem, 3.2vw, 2.8rem) clamp(1.5rem, 4vw, 4rem); max-width: none !important; }
.rg-ts-card > * { margin-top: 0 !important; max-width: var(--rg-wide-maxw, 1520px); margin-left: auto; margin-right: auto; }
.rg-ts-health-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(2rem, 4vw, 3.4rem); align-items: center; margin: 0 auto clamp(1.4rem, 2.5vw, 2rem) !important; }
.rg-ts-health-text { align-self: center; max-width: 34rem; display: flex; flex-direction: row; align-items: flex-start; gap: 1.5rem; }
.rg-ts-health-text > * { margin-top: 0 !important; }
.rg-ts-health-col { flex: 1 1 auto; min-width: 0; }
.rg-ts-health-col > * { margin-top: 0 !important; }
.rg-ts-health-col .rg-ts-h2 { margin: 0 0 0.9rem !important; padding-top: 0; }
.rg-ts-health-col .rg-ts-p { margin: 0 !important; }
.rg-ts-health-grid > * { margin-top: 0 !important; }
.rg-ts-health-text > * { margin-top: 0 !important; }
.rg-ts-health-ic { width: 104px; height: 104px; flex: 0 0 104px; border-radius: 50%; background: #eef1f7; color: var(--rg-blue); display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 0 !important; }
.rg-ts-health-ic svg { width: 48px; height: 48px; display: block; }
.rg-ts-health-text .rg-ts-p { margin-top: 0 !important; }
/* Blog-Karte: map-Bild als Hintergrund, Text als Overlay darueber. */
.rg-ts-blog { position: relative; border-radius: var(--rg-radius-lg); box-shadow: var(--rg-shadow-lg); overflow: hidden; margin: 0 !important; min-height: 320px; display: flex; flex-direction: column; justify-content: flex-end; background-color: var(--rg-blue-dark); background-image: url("assets/images/map.png"); background-size: cover; background-position: center; }
.rg-ts-blog::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(11,49,94,0.12) 0%, rgba(11,49,94,0.55) 55%, rgba(11,49,94,0.88) 100%); }
.rg-ts-blog > * { margin-top: 0 !important; position: relative; z-index: 1; }
.rg-ts-blog-body { padding: 1.9rem 1.9rem 2rem; }
.rg-ts-blog-body > * { margin-top: 0 !important; }
.rg-ts-blog-eyebrow { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.85); margin: 0 0 0.7rem !important; }
.rg-ts-blog-title { font-size: 1.25rem; font-weight: 700; color: #fff; line-height: 1.3; margin: 0 0 0.6rem; }
.rg-ts-blog-text { font-size: 0.95rem; line-height: 1.55; color: rgba(255,255,255,0.88); margin: 0 0 1.3rem; }
.rg-ts-blog-buttons { margin-top: 0 !important; }
.rg-ts-blog .rg-ts-btn-outline .wp-element-button { background: transparent; color: #fff; border-color: rgba(255,255,255,0.7); }
.rg-ts-blog .rg-ts-btn-outline .wp-element-button:hover { background: #fff; color: var(--rg-blue-dark); border-color: #fff; }
.rg-ts-btn-outline .wp-element-button { background: transparent; color: var(--rg-blue); border: 2px solid var(--rg-blue); font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; padding: 0 1.5rem; border-radius: var(--rg-radius); font-size: 0.9rem; letter-spacing: 0.02em; text-transform: uppercase; }
.rg-ts-btn-outline .wp-element-button:hover { background: var(--rg-blue); color: #fff; }
/* Sektion 5: finales CTA-Banner. */
/* Blaue CTA-Karte: laenglicher Balken, Wellenbild rechts, Text links. */
.rg-ts-cta { background-color: var(--rg-blue-dark); background-image: url("assets/images/blaues-wellenbild-3.png"); background-repeat: no-repeat; background-position: center; background-size: cover; border-radius: 16px; overflow: hidden; padding: clamp(2.2rem, 4vw, 3.2rem) clamp(2rem, 4vw, 3.4rem); margin: 0 !important; }
.rg-ts-cta-inner { max-width: 62%; margin: 0 !important; }
.rg-ts-cta-inner > * { margin-top: 0 !important; }
.rg-ts-cta-title { font-family: var(--rg-serif); font-weight: 700; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.2; color: #fff; margin: 0 0 0.9rem; letter-spacing: -0.01em; }
.rg-ts-cta-sub { font-size: 0.98rem; line-height: 1.55; color: rgba(255,255,255,0.82); margin: 0 auto 1.6rem 0 !important; max-width: 30rem; text-align: left; }
.rg-ts-cta-buttons { margin-top: 0 !important; }
.rg-ts-cta .rg-btn-white .wp-element-button { text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.9rem; }
/* === Erdstrahlung: Overrides & neue Sektionen === */
.rg-es-hero { background-image: url("assets/images/hero-erdstrahlung.png"); }
	/* Erdstrahlung-Hero: bestehende Blasse-Zone ein kleines Stueck weiter nach rechts, rechter Bildteil bleibt klar. */
	.rg-es-hero::before { background: linear-gradient(90deg,
		rgba(248,245,240,0.99) 0%,
		rgba(248,245,240,0.97) 30%,
		rgba(248,245,240,0.82) 48%,
		rgba(248,245,240,0.42) 64%,
		rgba(248,245,240,0.08) 80%,
		rgba(248,245,240,0) 92%); }

/* Hero-Textstack: ein Container, alle Elemente linksbuendig, identische linke Kante. */
.rg-es-hero-title { text-transform: uppercase !important; font-weight: 600 !important; color: var(--rg-blue-dark) !important; font-size: clamp(2rem, 4.2vw, 2.9rem) !important; line-height: 1 !important; letter-spacing: 0.005em !important; margin: 0 0 0.6rem !important; text-align: left !important; }
.rg-es-hero-sub { text-transform: none !important; font-weight: 400 !important; color: var(--rg-blue) !important; font-size: clamp(1.9rem, 4vw, 2.7rem) !important; line-height: 1.05 !important; letter-spacing: -0.01em !important; margin: 0 0 1.4rem !important; text-align: left !important; max-width: 620px; }
/* Leistungen-Icons: gefuellter dunkelblauer Kreis, weisses Icon, gross. */
.rg-es .rg-ts-serv-ic { width: 76px; height: 76px; flex: 0 0 76px; background: var(--rg-blue-dark) !important; color: #fff !important; }
.rg-es .rg-ts-serv-ic svg { width: 46px; height: 46px; stroke: #fff !important; stroke-width: 2 !important; }
/* Hero-Feats (Erdstrahlung): keine Trennlinien, groessere Icons. */
.rg-es .rg-ts-feats { border-top: 0 !important; padding-top: 0 !important; max-width: 720px; gap: 0.5rem; margin-left: 0 !important; margin-right: auto !important; }
.rg-es .rg-ts-feats > .rg-ts-feat + .rg-ts-feat { border-left: 0 !important; }
.rg-es .rg-ts-feats > .rg-ts-feat { padding: 0 0.7rem; gap: 0.9rem; }
.rg-es .rg-ts-feats > .rg-ts-feat:first-child { padding-left: 0; }
.rg-es .rg-ts-feat-icon svg { width: 54px; height: 54px; stroke-width: 2.4; }
/* Benefit-PNG-Icons (Erdstrahlung). */
.rg-es-benefit-img { margin: 0 !important; width: 64px; }
.rg-es-benefit-img img { width: 64px; height: 64px; object-fit: contain; display: block; mix-blend-mode: multiply; }
.rg-es .rg-ts-serv-ic .rg-es-serv-img, .rg-es .rg-ts-serv-ic img { width: 100%; height: 100%; object-fit: contain; display: block; }
/* Optimierung: Haus-Icon im blauen Feld auf Maximalgroesse. */
.rg-es .rg-es-serv-ic-house svg { width: 60px !important; height: 60px !important; }
.rg-es .rg-ts-feat-body { flex: 1 1 auto; min-width: 0; }
.rg-es .rg-ts-feat-title { margin-bottom: 0.35rem; line-height: 1.2; }
.rg-es .rg-ts-feat-text { max-width: none; }
/* Hero-Content ganz nach links: doppeltes globales Padding entfernen, Lead linksbuendig. */
.rg-es-hero.has-global-padding > .rg-ts-hero-inner.has-global-padding { padding-left: 0 !important; padding-right: clamp(1.5rem, 4vw, 3rem) !important; }
/* Hero-Textblock: Mittelposition zwischen ganz-links (16px) und Ausgangs (47px) => ~31px. */
.rg-es-hero.has-global-padding > .rg-ts-hero-inner.has-global-padding { margin-left: 90px !important; }
.rg-es .rg-ts-hero-content { max-width: 760px; margin-left: 0 !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; text-align: left !important; }
.rg-es .rg-ts-hero-content.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }
.rg-es .rg-ts-hero-content > * { margin-left: 0 !important; margin-right: 0 !important; }
.rg-es .rg-ts-hero-lead { max-width: 620px; margin: 0 !important; padding-left: 0 !important; text-align: left !important; }
/* Formen-Zeilen: Titel + Beschreibung zweizeilig. */
.rg-es-src { align-items: flex-start; }
.rg-es-src-body { margin: 0 !important; }
.rg-es-src-body > * { margin-top: 0 !important; }
.rg-es-src-body .rg-ts-src-t { margin: 0 0 0.15rem !important; font-weight: 650; }
.rg-es-src-d { font-size: 0.86rem; line-height: 1.5; color: var(--rg-muted); margin: 0 !important; }
/* Benefits-Reihe (Erholsamer Schlaf / Konzentration / Wohlbefinden). */
.rg-es-benefits { gap: 1.6rem 2rem !important; margin: 1.6rem 0 0 !important; justify-content: flex-start; }
.rg-es-benefits > * { margin-top: 0 !important; }
.rg-es-benefit { display: flex; flex-direction: column; align-items: center; gap: 0.7rem; max-width: 130px; }
.rg-es-benefit > * { margin-top: 0 !important; }
.rg-es-benefit-ic { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 50%; background: transparent; color: var(--rg-blue); display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 0 !important; }
.rg-es-benefit-ic svg { width: 46px; height: 46px; display: block; }
.rg-es-benefit-t { font-size: 0.82rem; font-weight: 600; line-height: 1.35; text-align: center; color: var(--rg-text); margin: 0 !important; }
/* Warum eine Analyse sinnvoll ist. */
.rg-es-why { padding: clamp(3rem, 6vw, 4.5rem) 0; }
.rg-es-why-h2 { font-family: var(--rg-serif); font-size: clamp(1.9rem, 2.4vw, 2.6rem); font-weight: 700; color: var(--rg-blue-dark); text-align: center; margin: 0 auto 0.9rem !important; }
.rg-es-why-rule { border: 0; height: 2px; width: 42px; background: var(--rg-blue); margin: 0 auto clamp(2.2rem, 4vw, 3.2rem) !important; opacity: 1; }
.rg-es-why-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: var(--rg-ts-maxw); margin: 0 auto !important; }
.rg-es-why-grid > * { margin-top: 0 !important; }
.rg-es-why-col { align-items: flex-start !important; gap: 1rem !important; padding: 0 clamp(1rem, 2vw, 1.8rem); position: relative; }
.rg-es-why-col + .rg-es-why-col::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 1px; background: rgba(18,61,112,0.16); }
.rg-es-why-col:first-child { padding-left: 0; }
.rg-es-why-col > * { margin-top: 0 !important; }
.rg-es-why-ic { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; background: transparent; border: 0 !important; color: var(--rg-blue); display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 0 !important; }
.rg-es-why-ic svg { width: 56px; height: 56px; display: block; }
.rg-es-why-body { margin: 0 !important; }
.rg-es-why-body > * { margin-top: 0 !important; }
.rg-es-why-title { font-size: 1rem; font-weight: 700; color: var(--rg-blue); line-height: 1.3; margin: 0 0 0.4rem !important; }
.rg-es-why-text { font-size: 0.9rem; line-height: 1.55; color: var(--rg-muted); margin: 0 !important; }
/* Blaue CTA (Erdstrahlung): flach, schmal, Button rechts neben Text. */
.rg-es-ctawrap { padding: 0 clamp(1.2rem, 2.4vw, 2.4rem); }
.rg-es-cta { background-image: none !important; background-color: var(--rg-blue-dark) !important; border-radius: 14px; padding: clamp(1.6rem, 2.6vw, 2.2rem) clamp(1.8rem, 3vw, 2.8rem) !important; max-width: var(--rg-ts-maxw); margin: 0 auto !important; }
.rg-es-cta-inner { max-width: none !important; gap: 1.6rem 2.4rem !important; }
.rg-es-cta-inner > * { margin-top: 0 !important; }
.rg-es-cta-txt { flex: 1 1 auto; min-width: 0; margin: 0 !important; }
.rg-es-cta-txt > * { margin-top: 0 !important; }
.rg-es-cta .rg-ts-cta-title { font-size: clamp(1.3rem, 2vw, 1.75rem); margin: 0 0 0.5rem !important; }
.rg-es-cta .rg-ts-cta-sub { margin: 0 !important; max-width: 40rem; }
.rg-es-cta .rg-ts-cta-buttons { flex: 0 0 auto; margin: 0 !important; }

/* Technische Strahlung – responsiv. */
@media (max-width: 980px) {
	.rg-ts-hero-content { max-width: 62%; }
	.rg-ts-feats { max-width: 82%; }
	.rg-ts-hero::before { background: linear-gradient(90deg, rgba(248,245,240,0.99) 0%, rgba(248,245,240,0.97) 42%, rgba(248,245,240,0.7) 62%, rgba(248,245,240,0.2) 82%, rgba(248,245,240,0) 100%); }
	.rg-ts-what-grid { grid-template-columns: minmax(0, 1fr); }
	.rg-ts-serv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem 0; }
	.rg-ts-serv-grid > .rg-ts-serv-col:nth-child(odd) { border-left: 0; }
	.rg-ts-serv-grid > .rg-ts-serv-col:nth-child(3) { border-top: 1px solid var(--rg-line); padding-top: 2.4rem; }
	.rg-ts-serv-grid > .rg-ts-serv-col:nth-child(4) { border-top: 1px solid var(--rg-line); padding-top: 2.4rem; }
	.rg-ts-health-grid { grid-template-columns: minmax(0, 1fr); }
	.rg-ts-cta { background-size: cover; }
	.rg-ts-cta-inner { max-width: 72%; }
	.rg-es-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.8rem 2rem; }
}
@media (max-width: 680px) {
	.rg-ts-hero { background-image: none !important; min-height: 0; padding-top: clamp(2rem, 6vw, 3rem); padding-bottom: clamp(2rem, 6vw, 3rem); }
	.rg-ts-hero::before { display: none; }
	.rg-ts-hero-content { max-width: none; }
	.rg-ts-feats { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; max-width: none; }
	.rg-ts-feats > .rg-ts-feat + .rg-ts-feat { border-left: 0; }
	.rg-ts-feats > .rg-ts-feat { padding: 0; }
	.rg-ts-serv-grid { grid-template-columns: minmax(0, 1fr); gap: 2.4rem 0; }
	.rg-ts-serv-grid > .rg-ts-serv-col { border-left: 0 !important; }
	.rg-ts-serv-grid > .rg-ts-serv-col + .rg-ts-serv-col { border-top: 1px solid var(--rg-line); padding-top: 2.4rem; }
	.rg-ts-hero-title { font-size: clamp(2.4rem, 9vw, 3rem); }
	.rg-ts-cta { background-image: none !important; }
	.rg-ts-cta-inner { max-width: none; }
	.rg-ts-cta-title br, .rg-ts-cta-sub br { display: none; }
	.rg-es-why-grid { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
}

/* === FAQ-Seite (Referenz-Redesign) === */
.rg-faq { --rg-faq-maxw: 1180px; --rg-gold: var(--wp--preset--color--copper, #F3B21A); overflow-x: clip; }
/* FAQ:HERO */
.rg-faq-hero { position: relative; background-color: #eef7fc; background-image: url("assets/images/Icons,%20Bilder%20FAQ/hero-FAQ.png"); background-repeat: no-repeat; background-position: right center; background-size: cover; overflow: hidden; padding-top: clamp(2.6rem, 6vw, 5rem) !important; padding-bottom: clamp(2.6rem, 6vw, 5rem) !important; }
.rg-faq-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, #eaf4fb 0%, rgba(234,244,251,0.97) 34%, rgba(238,247,252,0.75) 52%, rgba(238,247,252,0.25) 70%, rgba(238,247,252,0) 86%); }
.rg-faq-hero-inner { position: relative; z-index: 1; max-width: var(--rg-faq-maxw); margin-left: auto !important; margin-right: auto !important; }
.rg-faq-hero-copy { max-width: 560px; margin-left: 0 !important; margin-right: auto !important; }
.rg-faq-hero-copy > * { margin-top: 0 !important; }
.rg-faq-hero-title { font-size: clamp(2.4rem, 5vw, 3.4rem); font-weight: 700; line-height: 1.08; letter-spacing: -0.015em; color: var(--rg-blue-dark); margin: 0 0 1rem; }
.rg-faq-hero-sub { font-size: clamp(1.15rem, 2.2vw, 1.5rem); font-weight: 600; line-height: 1.3; color: var(--rg-blue); margin: 0 0 1.2rem !important; margin-left: 0 !important; margin-right: auto !important; max-width: 30rem; }
.rg-faq-hero-lead { font-size: 1.05rem; line-height: 1.7; color: var(--rg-text); margin: 0 !important; margin-left: 0 !important; margin-right: auto !important; max-width: 32rem; }
/* FAQ:TABS */
.rg-faq-tabs { max-width: var(--rg-faq-maxw); flex-wrap: nowrap !important; margin: clamp(2rem, 4vw, 3rem) auto clamp(1rem, 2vw, 1.4rem) !important; gap: 0.55rem !important; }
.rg-faq-hint { max-width: var(--rg-faq-maxw); margin: 0 auto clamp(1.4rem, 3vw, 2.2rem) !important; text-align: center; font-size: 0.95rem; color: var(--rg-muted); }
.rg-faq-tab { flex: 0 0 auto; align-items: center !important; gap: 0.4rem !important; background: #fff; border: 1px solid #dbe6f1; border-radius: 999px; padding: 0.55rem 0.85rem !important; box-shadow: 0 2px 8px rgba(18,61,112,0.06); cursor: pointer; transition: background var(--rg-transition), color var(--rg-transition), border-color var(--rg-transition); }
.rg-faq-tab svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--rg-blue); }
.rg-faq-tab-label { margin: 0 !important; font-size: 0.86rem; font-weight: 600; color: var(--rg-blue-dark); line-height: 1; white-space: nowrap; }
.rg-faq-tab.is-active { background: var(--rg-blue-dark); border-color: var(--rg-blue-dark); box-shadow: 0 6px 16px rgba(11,49,94,0.22); }
.rg-faq-tab.is-active svg { color: #fff; }
.rg-faq-tab.is-active .rg-faq-tab-label { color: #fff; }
.rg-faq-tab:hover { border-color: var(--rg-blue); }
.rg-faq-tab.is-active:hover { border-color: var(--rg-blue-dark); }
/* FAQ:PANEL */
.rg-faq-panel { max-width: var(--rg-faq-maxw); margin: 0 auto !important; background: #fff; border: 1px solid #e4ecf5; border-radius: var(--rg-radius-xl); box-shadow: 0 4px 14px rgba(18,61,112,0.05), 0 30px 60px rgba(18,61,112,0.06); padding: clamp(0.6rem, 1.4vw, 1rem) clamp(0.8rem, 2vw, 1.6rem) !important; }
.rg-faq-item { position: relative; border: 0 !important; border-bottom: 1px solid #eef2f7 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.rg-faq-item:last-child { border-bottom: 0 !important; }
.rg-faq-item > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 1rem; padding: 1.35rem 3rem 1.35rem 0 !important; position: relative; font-size: clamp(1.02rem, 1.6vw, 1.18rem); font-weight: 700; color: var(--rg-blue-dark); line-height: 1.35; padding-left: 3.9rem !important; min-height: 3.4rem; }
.rg-faq-item > summary::-webkit-details-marker { display: none; }
.rg-faq-item > summary::marker { content: ""; }
.rg-faq-item > summary::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background-color: #e9f3fb; background-repeat: no-repeat; background-position: center; background-size: 24px 24px; }
.rg-faq-ic-allgemein > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-5-5'/%3E%3C/svg%3E"); }
.rg-faq-ic-technik > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12a10 10 0 0 1 14 0'/%3E%3Cpath d='M8 15a6 6 0 0 1 8 0'/%3E%3Ccircle cx='12' cy='18' r='1.1' fill='%23123D70' stroke='none'/%3E%3C/svg%3E"); }
.rg-faq-ic-erdstrahlung > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8c3 1.4 6 1.4 9 0s6-1.4 9 0'/%3E%3Cpath d='M3 13c3 1.4 6 1.4 9 0s6-1.4 9 0'/%3E%3Cpath d='M3 18c3 1.4 6 1.4 9 0s6-1.4 9 0'/%3E%3C/svg%3E"); }
.rg-faq-ic-ablauf > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3Cpath d='M4 9h16M8 3v4M16 3v4'/%3E%3Cpath d='M9 14.5l2 2 4-4'/%3E%3C/svg%3E"); }
.rg-faq-ic-massnahmen > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 6h9M10 12h9M10 18h9'/%3E%3Cpath d='M4 6l1.4 1.4L8 5'/%3E%3Cpath d='M4 12l1.4 1.4L8 11'/%3E%3Cpath d='M4 18l1.4 1.4L8 17'/%3E%3C/svg%3E"); }
.rg-faq-ic-alltag > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6'/%3E%3Cpath d='M6 12v-2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M4 16h16'/%3E%3C/svg%3E"); }
.rg-faq-ic-neubau > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-6 8 6'/%3E%3Cpath d='M6 10v9h12v-9'/%3E%3Cpath d='M10 19v-5h4v5'/%3E%3C/svg%3E"); }
.rg-faq-ic-beratung > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-4 3z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); }
.rg-faq-ic-kosten > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a5 5 0 1 0 0 8'/%3E%3Cpath d='M4 11h7M4 14h6'/%3E%3C/svg%3E"); }
.rg-faq-item > summary::after { content: ""; position: absolute; right: 0.4rem; top: 50%; width: 22px; height: 22px; transform: translateY(-50%); background-repeat: no-repeat; background-position: center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.rg-faq-item[open] > summary::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.rg-faq-item > p { padding: 0 3rem 0 3.9rem; }
.rg-faq-item[open] { padding-bottom: 1.4rem !important; }
.rg-faq-item p { color: var(--rg-text); line-height: 1.7; font-size: 1rem; margin: 0 0 0.9rem; }
.rg-faq-item > p:last-child { margin-bottom: 0; }

/* FAQ:NOTE */
.rg-faq-note { max-width: var(--rg-faq-maxw); margin: clamp(2rem, 4vw, 3rem) auto 0 !important; background: #f4f9fd; border: 1px solid #e2ecf6; border-radius: var(--rg-radius-xl); padding: clamp(1.8rem, 3.5vw, 2.8rem) clamp(1.6rem, 3.5vw, 3rem) !important; }
.rg-faq-note-title { font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 700; color: var(--rg-blue-dark); margin: 0 0 1rem; }
.rg-faq-note p { color: var(--rg-text); line-height: 1.75; font-size: 1.02rem; margin: 0 0 1rem; }
.rg-faq-note-lead { font-weight: 600 !important; color: var(--rg-blue) !important; font-style: italic; margin-bottom: 0 !important; }
/* FAQ:CTA */
.rg-faq-cta-wrap { margin-top: clamp(2.4rem, 5vw, 4rem) !important; }
.rg-faq-cta { position: relative; max-width: var(--rg-faq-maxw); margin: 0 auto !important; border-radius: var(--rg-radius-xl); overflow: hidden; background-color: var(--rg-blue-dark); background-image: linear-gradient(90deg, rgba(11,49,94,0.96) 0%, rgba(11,49,94,0.88) 46%, rgba(11,49,94,0.45) 72%, rgba(11,49,94,0.2) 100%), url("assets/images/Icons, Bilder FAQ/faq-cta-house.png"); background-repeat: no-repeat; background-position: center, right center; background-size: cover, cover; padding: clamp(2.2rem, 4vw, 3.2rem) clamp(1.8rem, 4vw, 3.2rem) !important; }
.rg-faq-cta-copy { max-width: 620px; margin-left: 0 !important; margin-right: auto !important; }
.rg-faq-cta-copy > * { margin-top: 0 !important; }
.rg-faq-cta-title { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 700; line-height: 1.25; color: #fff; margin: 0 0 1rem; }
.rg-faq-cta-sub { font-size: 1.02rem; line-height: 1.65; color: rgba(255,255,255,0.9); margin: 0 0 1.5rem; }
.rg-faq-cta-buttons { margin: 0 0 1.3rem !important; }
.rg-btn-gold .wp-element-button { background: var(--rg-gold); color: var(--rg-blue-dark); border: 0; font-weight: 700; min-height: 52px; display: inline-flex; align-items: center; padding: 0 1.9rem; border-radius: var(--rg-radius); font-size: 1rem; letter-spacing: 0.01em; box-shadow: 0 8px 20px rgba(243,178,26,0.28); }
.rg-btn-gold .wp-element-button:hover { background: #ffc63f; }
.rg-faq-cta-trust { gap: 1.4rem !important; margin: 0 !important; }
.rg-faq-trust-item { position: relative; margin: 0 !important; padding-left: 1.35rem; font-size: 0.85rem; font-weight: 500; color: rgba(255,255,255,0.82); }
.rg-faq-trust-item::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; background-repeat: no-repeat; background-position: center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3B21A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E"); }
/* FAQ:NAVACTIVE */
.page-id-67 .wp-block-navigation .rg-nav-faq > a { position: relative; color: var(--rg-blue); font-weight: 700; }
.page-id-67 .wp-block-navigation .rg-nav-faq > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--rg-blue); }
/* FAQ:RESPONSIVE */
@media (max-width: 1024px) {
	.rg-faq-hero-copy { max-width: 60%; }
	.rg-faq-cta { background-image: linear-gradient(90deg, rgba(11,49,94,0.96) 0%, rgba(11,49,94,0.88) 60%, rgba(11,49,94,0.5) 100%), url("assets/images/Icons, Bilder FAQ/faq-cta-house.png"); }
}
@media (max-width: 782px) {
	.rg-faq-hero { background-image: none !important; }
	.rg-faq-hero::before { background: none; }
	.rg-faq-hero-copy { max-width: none; }
	.rg-faq-tabs { flex-wrap: nowrap !important; overflow-x: auto; justify-content: flex-start !important; -webkit-overflow-scrolling: touch; padding-bottom: 0.4rem; scrollbar-width: none; }
	.rg-faq-tabs::-webkit-scrollbar { display: none; }
	.rg-faq-item > summary { padding-left: 3.4rem !important; padding-right: 2.4rem !important; font-size: 1.02rem; }
	svg.rg-faq-ic, .rg-faq-ic { width: 38px; height: 38px; padding: 9px; }
	.rg-faq-item > *:not(summary) { margin-left: 0; }
	.rg-faq-cta { background-image: linear-gradient(180deg, rgba(11,49,94,0.92) 0%, rgba(11,49,94,0.85) 100%), url("assets/images/Icons, Bilder FAQ/faq-cta-house.png"); background-position: center, center bottom; }
	.rg-faq-cta-copy { max-width: none; }
	.rg-faq-cta-trust { gap: 0.7rem 1.4rem !important; }
}

/* === WISSEN === */
.rg-wissen { --rg-wi-maxw: 1200px; --rg-wi-terra: #B85C3B; --rg-wi-beige: #F4EDE2; --rg-wi-cardline: #ece5da; overflow-x: clip; padding-top: 0 !important; padding-bottom: 0 !important; background: #fff; }
.rg-wissen > * { margin-block: 0; }
/* WI:HERO */
.rg-wi-hero { position: relative; background: #fff; padding-top: clamp(1.4rem, 2.6vw, 2.2rem) !important; padding-bottom: clamp(1rem, 2vw, 1.6rem) !important; overflow: hidden; }
.rg-wi-hero-inner { max-width: var(--rg-wi-maxw); margin: 0 auto !important; align-items: center !important; gap: clamp(1.5rem, 3vw, 2.6rem) !important; }
.rg-wi-hero-copy { margin: 0 !important; padding-right: clamp(0.5rem, 2vw, 1.5rem); }
.rg-wi-hero-title { font-size: clamp(3rem, 6.5vw, 4.6rem); font-weight: 700; line-height: 1; letter-spacing: -0.025em; color: var(--rg-blue-dark); margin: 0 0 1.1rem !important; }
.rg-wi-hero-sub { font-size: clamp(1.05rem, 1.6vw, 1.22rem); font-weight: 600; line-height: 1.45; color: var(--rg-wi-terra); margin: 0 0 1.2rem !important; max-width: 34rem; }
.rg-wi-hero-lead { font-size: 1.06rem; line-height: 1.75; color: var(--rg-muted); margin: 0 !important; max-width: 36rem; }
.rg-wi-hero-mediacol { margin: 0 !important; align-self: stretch; position: relative; }
.rg-wi-hero-img { margin: 0 !important; position: relative; height: 100%; margin-right: calc((100vw - var(--rg-wi-maxw)) / -2) !important; }
.rg-wi-hero-img img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; border-radius: 22px 0 0 22px; }
.rg-wi-hero-img::after { content: ""; position: absolute; inset: 0; border-radius: 22px 0 0 22px; pointer-events: none; background-image: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0.55) 12%, rgba(255,255,255,0) 34%), repeating-linear-gradient(90deg, rgba(255,255,255,0.18) 0 1px, transparent 1px 52px), repeating-linear-gradient(0deg, rgba(255,255,255,0.18) 0 1px, transparent 1px 52px); }
/* WI:SEARCH */
.rg-wi-searchwrap { max-width: var(--rg-wi-maxw); margin: clamp(0.8rem, 1.8vw, 1.2rem) auto 0 !important; }
.rg-wi-search { margin: 0 0 1.1rem !important; max-width: 720px; }
.rg-wi-search .wp-block-search__inside-wrapper { position: relative; border: 1px solid #dfe5ec; border-radius: 999px; background: #fff; box-shadow: 0 2px 10px rgba(18,61,112,0.05); padding: 0; }
.rg-wi-search .wp-block-search__inside-wrapper::before { content: ""; position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a8794' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
.rg-wi-search .wp-block-search__input { border: 0 !important; background: transparent !important; border-radius: 999px !important; padding: 1rem 1.3rem 1rem 3.1rem !important; font-size: 1rem; color: var(--rg-text); width: 100%; }
.rg-wi-search .wp-block-search__input:focus { outline: 2px solid #cfe0f0; outline-offset: 1px; }
.rg-wi-pills { gap: 0.55rem !important; justify-content: flex-start !important; flex-wrap: nowrap !important; margin-left: 0 !important; padding-left: 0 !important; max-width: 100%; }
 .rg-wi-pill:first-child .wp-element-button { margin-left: 0 !important; }
.rg-wi-pill .wp-element-button { background: #fff; color: var(--rg-blue-dark); border: 1px solid #dfe5ec; border-radius: 999px; font-weight: 600; font-size: 0.9rem; min-height: 0; padding: 0.55rem 1.15rem; line-height: 1.2; transition: background var(--rg-transition), color var(--rg-transition), border-color var(--rg-transition); }
.rg-wi-pill .wp-element-button:hover { border-color: var(--rg-blue); color: var(--rg-blue); }
.rg-wi-pill.is-active .wp-element-button { background: var(--rg-blue-dark); color: #fff; border-color: var(--rg-blue-dark); }
.rg-wi-pill.is-active .wp-element-button:hover { background: var(--rg-blue); color: #fff; }
/* WI:SEC */
.rg-wi-sec { max-width: var(--rg-wi-maxw); margin: clamp(1.8rem, 3.4vw, 2.8rem) auto 0 !important; }
.rg-wi-featured { margin-top: clamp(1.4rem, 2.6vw, 2rem) !important; }
.rg-wi-feat-card, .rg-wi-post-grid { max-width: none !important; width: 100%; }
.rg-wi-sec-title { font-size: clamp(1.6rem, 2.8vw, 2.15rem); font-weight: 700; color: var(--rg-blue-dark); text-align: left; margin: 0 0 1.3rem !important; letter-spacing: -0.015em; }
/* WI:FEATURED */
.rg-wi-feat-card { margin: 0 !important; background: #fff; border: 1px solid var(--rg-wi-cardline); border-radius: var(--rg-radius-xl); box-shadow: 0 10px 34px rgba(18,61,112,0.08); overflow: hidden; align-items: stretch !important; gap: 0 !important; }
.rg-wi-feat-media { margin: 0 !important; padding: 0 !important; align-self: stretch; }
.rg-wi-feat-img { margin: 0 !important; height: 100%; }
.rg-wi-feat-img img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; display: block; filter: brightness(1.04); }
.rg-wi-feat-body { margin: 0 !important; padding: clamp(2rem, 3.5vw, 3.2rem) !important; }
.rg-wi-feat-meta { font-size: 0.76rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rg-wi-terra); opacity: 0.92; margin: 0 0 0.9rem !important; }
.rg-wi-feat-title { font-size: clamp(1.5rem, 2.8vw, 2rem); font-weight: 700; color: var(--rg-blue-dark); line-height: 1.22; margin: 0 0 1rem !important; letter-spacing: -0.01em; }
.rg-wi-feat-text { font-size: 1.05rem; line-height: 1.7; color: var(--rg-muted); margin: 0 0 1.3rem !important; }
.rg-wi-feat-link { margin: 0 !important; }
.rg-wi-feat-link a { color: var(--rg-wi-terra); font-weight: 700; text-decoration: none; font-size: 1rem; }
.rg-wi-feat-link a:hover { text-decoration: underline; }
/* WI:CAT */
.rg-wi-cat-row { gap: clamp(0.8rem, 1.6vw, 1.2rem) !important; align-items: stretch !important; }
.rg-wi-cat { flex: 1 1 0; flex-basis: calc(20% - 1.2rem); min-width: 180px; max-width: 260px; margin: 0 !important; background: #F6EFE3; border: 1px solid #ebe2d3; border-radius: 16px; padding: clamp(1.5rem, 2.4vw, 1.9rem) clamp(0.9rem, 1.6vw, 1.2rem) !important; text-align: center; transition: transform var(--rg-transition), box-shadow var(--rg-transition); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; }
.rg-wi-cat:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(18,61,112,0.09); }
.rg-wi-cat-ic { color: var(--rg-blue-dark); margin: 0 auto 0.9rem !important; display: flex; align-items: center; justify-content: center; }
.rg-wi-cat-ic svg { width: 42px; height: 42px; stroke-width: 1.7; }
.rg-wi-cat-title { font-size: 0.96rem; font-weight: 700; color: var(--rg-blue-dark); margin: 0 !important; line-height: 1.32; max-width: 100%; overflow-wrap: break-word; word-break: normal; hyphens: none; }
.rg-wi-cat-title a { color: inherit; text-decoration: none; }
.rg-wi-cat-title a:hover { color: var(--rg-blue); }
/* WI:POSTS */
.rg-wi-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.4rem, 2.6vw, 2rem); }
.rg-wi-post { margin: 0 !important; background: #fff; border: 1px solid var(--rg-wi-cardline); border-radius: 18px; box-shadow: 0 8px 24px rgba(18,61,112,0.07); overflow: hidden; padding: 0 !important; transition: transform var(--rg-transition), box-shadow var(--rg-transition); }
.rg-wi-post:hover { transform: translateY(-5px); box-shadow: 0 16px 38px rgba(18,61,112,0.13); }
.rg-wi-post-img { margin: 0 !important; }
.rg-wi-post-img img { width: 100%; height: 220px; object-fit: cover; display: block; }
.rg-wi-post-meta { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rg-wi-terra); opacity: 0.9; margin: 0 !important; padding: 1.3rem clamp(1.3rem, 2vw, 1.6rem) 0 !important; line-height: 1.4; }
.rg-wi-post-title { font-size: 1.2rem; font-weight: 700; line-height: 1.28; margin: 0.55rem 0 0 !important; padding: 0 clamp(1.3rem, 2vw, 1.6rem) !important; letter-spacing: -0.01em; }
.rg-wi-post-title a { color: var(--rg-blue-dark); text-decoration: none; }
.rg-wi-post-title a:hover { color: var(--rg-blue); }
.rg-wi-post-teaser { font-size: 0.96rem; line-height: 1.65; color: var(--rg-muted); margin: 0.6rem 0 0 !important; padding: 0 clamp(1.3rem, 2vw, 1.6rem) clamp(1.4rem, 2vw, 1.7rem) !important; }
.rg-wi-allbtn { margin-top: clamp(2.2rem, 3.4vw, 3rem) !important; }
.rg-wi-allbtn-b .wp-element-button { background: var(--rg-blue-dark); color: #fff; border: 0; border-radius: 999px; font-weight: 700; font-size: 0.98rem; min-height: 0; padding: 0.85rem 2.4rem; transition: background var(--rg-transition); }
.rg-wi-allbtn-b .wp-element-button:hover { background: var(--rg-blue); }
/* WI:NEWSLETTER */
.rg-wi-nl-wrap { margin-top: clamp(2.6rem, 5vw, 4rem) !important; background: #F3EBDD; padding-top: clamp(2.4rem, 4vw, 3.6rem) !important; padding-bottom: clamp(2.6rem, 4.5vw, 4rem) !important; }
.rg-wi-nl { position: relative; max-width: var(--rg-wi-maxw); margin: 0 auto !important; background: #fff; border: 1px solid var(--rg-wi-cardline); border-radius: 20px; box-shadow: 0 16px 40px rgba(18,61,112,0.09); padding: clamp(2rem, 3.4vw, 3rem) clamp(2rem, 4vw, 3.4rem) !important; align-items: center !important; gap: clamp(1.6rem, 3vw, 3rem) !important; overflow: hidden; }
.rg-wi-nl::before { content: ""; position: absolute; left: -20px; bottom: -30px; width: 260px; height: 120px; pointer-events: none; opacity: 0.5; background: no-repeat left bottom/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 120' fill='none' stroke='%23d8a889' stroke-width='2'%3E%3Cpath d='M0 40c40-30 80 30 120 0s80-30 120 0 80 30 120 0'/%3E%3Cpath d='M0 70c40-30 80 30 120 0s80-30 120 0 80 30 120 0'/%3E%3Cpath d='M0 100c40-30 80 30 120 0s80-30 120 0 80 30 120 0'/%3E%3C/svg%3E"); }
.rg-wi-nl::after { content: ""; position: absolute; right: -30px; top: -30px; width: 220px; height: 110px; pointer-events: none; opacity: 0.35; background: no-repeat right top/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110' fill='none' stroke='%23bcd0e2' stroke-width='2'%3E%3Cpath d='M0 30c35-26 70 26 105 0s70-26 105 0'/%3E%3Cpath d='M0 60c35-26 70 26 105 0s70-26 105 0'/%3E%3C/svg%3E"); }
.rg-wi-nl-left { margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: 1.4rem; position: relative; z-index: 1; }
.rg-wi-nl-ic { flex: 0 0 auto; width: 72px; height: 72px; border-radius: 50%; background: #F3EBDD; color: var(--rg-wi-terra); display: flex; align-items: center; justify-content: center; margin: 0 !important; }
.rg-wi-nl-ic svg { width: 36px; height: 36px; }
.rg-wi-nl-copy { margin: 0 !important; }
.rg-wi-nl-title { font-size: clamp(1.3rem, 2.4vw, 1.65rem); font-weight: 700; color: var(--rg-blue-dark); margin: 0 0 0.5rem !important; letter-spacing: -0.01em; }
.rg-wi-nl-text { font-size: 0.96rem; line-height: 1.6; color: var(--rg-muted); margin: 0 !important; }
.rg-wi-nl-right { margin: 0 !important; padding: 0 !important; position: relative; z-index: 1; }
.rg-wi-nl-form { gap: 0.6rem !important; align-items: stretch !important; }
.rg-wi-nl-input { flex: 1 1 auto; margin: 0 !important; background: #fbfcfe; border: 1px solid #dfe5ec; border-radius: 10px; padding: 0.9rem 1.1rem; font-size: 0.96rem; color: #9aa4b0; display: flex; align-items: center; }
.rg-wi-nl-btns { flex: 0 0 auto; margin: 0 !important; }
.rg-wi-nl-submit .wp-element-button { background: var(--rg-wi-terra); color: #fff; border: 0; border-radius: 10px; font-weight: 700; font-size: 0.96rem; min-height: 0; height: 100%; padding: 0.9rem 1.7rem; display: inline-flex; align-items: center; transition: background var(--rg-transition); }
.rg-wi-nl-submit .wp-element-button:hover { background: #a04d2f; }
.rg-wi-nl-link { margin: 1rem 0 0 !important; text-align: right; }
.rg-wi-nl-link a { color: var(--rg-wi-terra); font-weight: 700; text-decoration: none; font-size: 0.94rem; }
.rg-wi-nl-link a:hover { text-decoration: underline; }
/* WI:NAV */
.wp-block-navigation .rg-nav-wissen.current-menu-item > a,
.wp-block-navigation .rg-nav-wissen.current_page_item > a,
body:has(.rg-wissen) .wp-block-navigation .rg-nav-wissen > a { position: relative; color: var(--rg-blue); font-weight: 700; }
.wp-block-navigation .rg-nav-wissen.current-menu-item > a::after,
.wp-block-navigation .rg-nav-wissen.current_page_item > a::after,
body:has(.rg-wissen) .wp-block-navigation .rg-nav-wissen > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--rg-blue); }
/* WI:RESPONSIVE */
@media (max-width: 1240px) {
	.rg-wi-hero-img { margin-right: 0 !important; }
	.rg-wi-hero-img img, .rg-wi-hero-img::after { border-radius: 22px; }
}
@media (max-width: 1024px) {
	.rg-wi-post-grid { grid-template-columns: repeat(2, 1fr); }
	.rg-wi-cat { flex-basis: calc(33.33% - 0.9rem); min-width: 150px; max-width: none; }
	.rg-wi-hero-img img { min-height: 340px; }
}
@media (max-width: 781px) {
	.rg-wi-hero-inner { gap: 1.5rem !important; }
	.rg-wi-hero-mediacol { order: -1; }
	.rg-wi-hero-img img { min-height: 240px; max-height: 320px; }
	.rg-wi-feat-img img { min-height: 220px; }
	.rg-wi-nl-left { flex-direction: row; }
	.rg-wi-nl-link { text-align: left; }
}
@media (max-width: 600px) {
	.rg-wi-post-grid { grid-template-columns: 1fr; }
	.rg-wi-cat { flex-basis: calc(50% - 0.6rem); min-width: 0; }
	.rg-wi-cat-title { font-size: 0.9rem; hyphens: auto; -webkit-hyphens: auto; }
	.rg-wi-hero-title { font-size: clamp(2.6rem, 13vw, 3.4rem); }
	.rg-wi-search { max-width: none; }
	.rg-wi-pills { flex-wrap: wrap !important; }
	.rg-wi-nl-left { flex-direction: column; text-align: center; }
	.rg-wi-nl-form { flex-wrap: wrap; }
	.rg-wi-nl-input { flex: 1 1 100%; }
	.rg-wi-nl-btns { flex: 1 1 100%; }
	.rg-wi-nl-submit .wp-element-button { width: 100%; justify-content: center; }
}


/* === BLOG: SINGLE === */
.rg-single { --rg-single-maxw: 820px; --rg-single-wide: 960px; background: #fff; padding-top: clamp(2rem, 4vw, 3.4rem); padding-bottom: clamp(2.4rem, 5vw, 4rem); color: var(--rg-text); }
.rg-single > * { max-width: var(--rg-single-maxw); margin-left: auto; margin-right: auto; }
.rg-single-head { margin-bottom: clamp(1.4rem, 2.6vw, 2rem) !important; }
.rg-single-cat { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin: 0 0 0.9rem !important; }
.rg-single-cat a { color: #B85C3B; text-decoration: none; }
.rg-single-cat a:hover { text-decoration: underline; }
.rg-single-title { font-size: clamp(2rem, 4.4vw, 3rem); font-weight: 800; line-height: 1.14; color: var(--rg-blue-dark); margin: 0 0 1rem !important; letter-spacing: -0.01em; }
.rg-single-meta { gap: 0.55rem !important; align-items: center !important; color: var(--rg-muted); font-size: 0.9rem; }
.rg-single-meta .wp-block-shortcode { margin: 0 !important; display: inline-flex; align-items: center; }
.rg-single-img { margin: 0 auto clamp(1.6rem, 3vw, 2.4rem) !important; max-width: var(--rg-single-wide); }
.rg-single-img img { width: 100%; border-radius: 18px; box-shadow: 0 16px 40px rgba(18,61,112,0.10); }
.rg-single-body { font-size: 1.075rem; line-height: 1.75; }
.rg-single-body p { margin: 0 0 1.3rem; }
.rg-single-body h2 { font-size: clamp(1.5rem, 2.8vw, 1.9rem); font-weight: 700; color: var(--rg-blue-dark); line-height: 1.25; margin: 2.4rem 0 0.9rem; }
.rg-single-body h3 { font-size: clamp(1.2rem, 2.2vw, 1.4rem); font-weight: 700; color: var(--rg-blue-dark); margin: 1.9rem 0 0.7rem; }
.rg-single-body ul, .rg-single-body ol { margin: 0 0 1.4rem; padding-left: 1.3rem; }
.rg-single-body li { margin: 0 0 0.5rem; }
.rg-single-body a { color: var(--rg-blue); }
.rg-single-body blockquote { border-left: 3px solid #B85C3B; margin: 1.6rem 0; padding: 0.4rem 0 0.4rem 1.4rem; color: var(--rg-blue-dark); font-style: italic; }
.rg-single-body img { border-radius: 14px; }
.rg-single-body .rg-kurz, .rg-single-body .is-style-kurz { background: #EAF2F8; border: 1px solid #d5e4f1; border-left: 4px solid var(--rg-blue); border-radius: 14px; padding: 1.3rem 1.5rem; margin: 0 0 2rem; }
.rg-single-body .rg-kurz > strong:first-child, .rg-single-body .rg-kurz > p:first-child strong { display: block; color: var(--rg-blue-dark); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 0.5rem; }
.rg-single-body .rg-kurz p { margin: 0.4rem 0 0; font-size: 1.02rem; line-height: 1.65; color: var(--rg-text); }
.rg-single-body .rg-kurz p:last-child { margin-bottom: 0; }
/* --- ARTICLE COMPONENTS --- */
/* AC:BOXES */
.rg-single-body .rg-info-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 10px 30px rgba(18,61,112,0.07); padding: 1.5rem 1.7rem; margin: 0 0 2rem; }
.rg-single-body .rg-info-box h3 { margin: 0 0 0.6rem; font-size: 1.15rem; color: var(--rg-blue-dark); }
.rg-single-body .rg-info-box p:last-child, .rg-single-body .rg-praxis-box p:last-child, .rg-single-body .rg-link-box li:last-child { margin-bottom: 0; }
.rg-single-body .rg-praxis-box { position: relative; background: #F6EFE3; border: 1px solid #ece0cf; border-left: 4px solid #B85C3B; border-radius: 14px; padding: 1.4rem 1.6rem 1.4rem 1.7rem; margin: 0 0 2rem; }
.rg-single-body .rg-praxis-box h3 { margin: 0 0 0.6rem; font-size: 1.1rem; color: #8f4526; letter-spacing: 0.01em; }
.rg-single-body .rg-praxis-box p { color: var(--rg-text); }
.rg-single-body .rg-link-box { background: #EAF2F8; border: 1px solid #d5e4f1; border-radius: 16px; padding: 1.5rem 1.7rem; margin: 0 0 2rem; }
.rg-single-body .rg-link-box h3 { margin: 0 0 0.9rem; font-size: 1.15rem; color: var(--rg-blue-dark); }
.rg-single-body .rg-link-box ul { list-style: none; margin: 0; padding: 0; }
.rg-single-body .rg-link-box li { margin: 0 0 0.55rem; padding: 0; }
.rg-single-body .rg-link-box li a { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--rg-blue-dark); font-weight: 600; text-decoration: none; }
.rg-single-body .rg-link-box li a::before { content: "\2192"; color: #B85C3B; font-weight: 700; }
.rg-single-body .rg-link-box li a:hover { color: var(--rg-blue); }
.rg-single-body blockquote { background: #f5f8fb; border-left: 4px solid var(--rg-blue); border-radius: 0 12px 12px 0; margin: 1.8rem 0; padding: 1rem 1.4rem; color: var(--rg-blue-dark); font-style: italic; }
.rg-single-body blockquote p:last-child { margin-bottom: 0; }
.rg-single-body strong, .rg-single-body b { color: var(--rg-blue-dark); font-weight: 700; }
/* AC:TABLE */
.rg-single-body .wp-block-table, .rg-single-body figure.wp-block-table { margin: 0 0 2rem; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rg-single-body table { width: 100%; border-collapse: collapse; font-size: 0.98rem; min-width: 460px; }
.rg-single-body table th, .rg-single-body table td { border: 1px solid #e2e8f0; padding: 0.75rem 1rem; text-align: left; vertical-align: top; line-height: 1.5; }
.rg-single-body table thead th, .rg-single-body table th { background: #EAF2F8; color: var(--rg-blue-dark); font-weight: 700; }
.rg-single-body table tbody tr:nth-child(even) { background: #f7fafc; }
.rg-single-body figure.wp-block-table figcaption { font-size: 0.85rem; color: var(--rg-muted); margin-top: 0.5rem; text-align: center; }
/* AC:FAQ */
.rg-single-body .rg-article-faq { margin: 2.4rem 0; }
.rg-single-body .rg-article-faq h2 { margin: 0 0 1.1rem; }
.rg-single-body .rg-article-faq details { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; margin: 0 0 0.7rem; padding: 0; overflow: hidden; transition: box-shadow var(--rg-transition); }
.rg-single-body .rg-article-faq details[open] { box-shadow: 0 8px 24px rgba(18,61,112,0.08); }
.rg-single-body .rg-article-faq summary { list-style: none; cursor: pointer; padding: 1rem 3rem 1rem 1.3rem; position: relative; font-weight: 600; color: var(--rg-blue-dark); font-size: 1.05rem; line-height: 1.4; }
.rg-single-body .rg-article-faq summary::-webkit-details-marker { display: none; }
.rg-single-body .rg-article-faq summary::after { content: ""; position: absolute; right: 1.2rem; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); transition: transform var(--rg-transition); }
.rg-single-body .rg-article-faq details[open] summary::after { background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123D70' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.rg-single-body .rg-article-faq summary:hover { color: var(--rg-blue); }
.rg-single-body .rg-article-faq details > p, .rg-single-body .rg-article-faq details > *:not(summary) { margin: 0 1.3rem 1rem; font-size: 1rem; line-height: 1.65; color: var(--rg-text); }
.rg-single-cta { margin-top: clamp(2.4rem, 5vw, 3.6rem) !important; background: var(--rg-blue-dark); border-radius: 20px; padding: clamp(2rem, 4vw, 3rem) clamp(1.4rem, 3vw, 2.6rem) !important; text-align: center; }
.rg-single-cta-title { color: #fff; font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 700; line-height: 1.25; margin: 0 0 0.7rem !important; }
.rg-single-cta-text { color: rgba(255,255,255,0.85); font-size: 1.02rem; line-height: 1.6; margin: 0 auto 1.5rem !important; max-width: 46ch; }
.rg-single-cta-btns { justify-content: center !important; }
.rg-single-cta-btn .wp-element-button { background: #B85C3B; color: #fff; border: 0; border-radius: 999px; font-weight: 600; font-size: 1rem; padding: 0.85rem 2rem; transition: background var(--rg-transition), transform var(--rg-transition); }
.rg-single-cta-btn .wp-element-button:hover { background: #a54f31; transform: translateY(-2px); }
/* === BLOG: ARCHIVE === */
.rg-arch { background: #fff; padding-top: clamp(2rem, 4vw, 3.2rem) !important; padding-bottom: clamp(2.6rem, 5vw, 4rem) !important; }
.rg-arch-head { max-width: var(--rg-wi-maxw); margin: 0 auto clamp(1.8rem, 3.4vw, 2.6rem) !important; }
.rg-arch-eyebrow { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; margin: 0 0 0.7rem !important; }
.rg-arch-eyebrow a { color: #B85C3B; text-decoration: none; }
.rg-arch-eyebrow a:hover { text-decoration: underline; }
.rg-arch-title { font-family: var(--wp--preset--font-family--sans) !important; font-size: clamp(3rem, 6.5vw, 4.6rem); font-weight: 700; line-height: 1; color: var(--rg-blue-dark); margin: 0 0 0.8rem !important; letter-spacing: -0.025em; }
.rg-arch-desc { font-size: 1.1rem; line-height: 1.6; color: var(--rg-muted); max-width: 60ch; margin: 0 !important; }
.rg-arch-query { max-width: var(--rg-wi-maxw); margin: 0 auto !important; }
.rg-arch .rg-wi-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.4rem, 2.6vw, 2rem); margin: 0 !important; }
.rg-arch .rg-wi-post { margin: 0 !important; }
.rg-arch .rg-wi-post-img { margin: 0 0 1rem !important; }
.rg-arch .rg-wi-post-img img { width: 100%; height: 220px; object-fit: cover; border-radius: 18px; }
.rg-arch .rg-wi-post-meta { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #B85C3B; line-height: 1.4; margin: 0 0 0.5rem !important; }
.rg-arch .rg-wi-post-meta a { color: inherit; text-decoration: none; }
.rg-arch .rg-wi-post-title { font-size: 1.2rem; font-weight: 700; line-height: 1.3; margin: 0 0 0.6rem !important; }
.rg-arch .rg-wi-post-title a { color: var(--rg-blue-dark); text-decoration: none; }
.rg-arch .rg-wi-post-title a:hover { color: var(--rg-blue); }
.rg-arch .rg-wi-post-teaser { font-size: 0.96rem; line-height: 1.6; color: var(--rg-muted); margin: 0 !important; }
.rg-arch-pag { margin-top: clamp(2rem, 4vw, 3rem) !important; gap: 0.4rem !important; font-weight: 600; }
.rg-arch-pag a, .rg-arch-pag .page-numbers { color: var(--rg-blue-dark); text-decoration: none; padding: 0.4rem 0.8rem; border-radius: 8px; }
.rg-arch-pag .page-numbers.current { background: var(--rg-blue-dark); color: #fff; }
.rg-arch-empty { max-width: 620px; margin: clamp(2rem, 4vw, 3rem) auto !important; text-align: center; background: #F4EDE2; border: 1px solid #ece0cf; border-radius: 18px; padding: clamp(2rem, 4vw, 3rem) 1.6rem !important; }
.rg-arch-empty-text { font-size: 1.15rem; color: var(--rg-blue-dark); margin: 0 0 1.4rem !important; }
.rg-arch-empty-btns { justify-content: center !important; }
.rg-arch-empty-btn .wp-element-button { background: var(--rg-blue-dark); color: #fff; border: 0; border-radius: 999px; font-weight: 600; padding: 0.75rem 1.7rem; }
.rg-arch-empty-btn .wp-element-button:hover { background: var(--rg-blue); }
/* === BLOG: ALLPOSTS === */
.rg-allposts .rg-arch-pills { max-width: var(--rg-wi-maxw); margin: 0 auto clamp(1.8rem, 3.4vw, 2.6rem) !important; }
/* === BLOG: CATEGORY BACK-LINK === */
.rg-arch-back { font-size: 0.9rem; font-weight: 600; margin: 0 0 1rem !important; }
.rg-arch-back a { color: #B85C3B; text-decoration: none; display: inline-flex; align-items: center; gap: 0.3rem; border-bottom: 1px solid transparent; padding-bottom: 1px; transition: border-color 0.18s ease, color 0.18s ease; }
.rg-arch-back a:hover { color: #a54f31; border-bottom-color: currentColor; }
/* === BLOG: CATEGORY NAV === */
.rg-cat-nav { max-width: var(--rg-wi-maxw); margin: 0 auto clamp(2.2rem, 4vw, 3.2rem) !important; padding: clamp(1.4rem, 2.6vw, 2rem) clamp(1.4rem, 2.6vw, 2rem) !important; background: #F4EDE2; border: 1px solid #ece0cf; border-radius: 20px; }
.rg-cat-nav-title { font-family: var(--wp--preset--font-family--sans) !important; font-size: clamp(1.15rem, 2vw, 1.4rem); font-weight: 800; color: var(--rg-blue-dark); margin: 0 0 0.5rem !important; letter-spacing: -0.01em; }
.rg-cat-nav-intro { font-size: 0.98rem; line-height: 1.6; color: var(--rg-muted); max-width: 62ch; margin: 0 0 1.2rem !important; }
.rg-cat-nav-list { gap: 0.55rem !important; flex-wrap: nowrap !important; justify-content: flex-start !important; align-items: stretch !important; }
.rg-cat-pill { margin: 0 !important; flex: 0 1 auto; min-width: 0; display: flex; }
.rg-cat-pill a { display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; font-size: 0.8rem; font-weight: 600; line-height: 1.25; color: var(--rg-blue-dark); text-decoration: none; background: #fff; border: 1px solid #dfe6ee; border-radius: 999px; padding: 0.5rem 0.85rem; transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease; }
.rg-cat-pill a:hover { border-color: var(--rg-blue); color: var(--rg-blue); box-shadow: 0 4px 14px rgba(18,61,112,0.1); transform: translateY(-1px); }
/* aktive Kategorie: via WP-Body-Klasse category-<slug> markieren */
body.category-erdstrahlung .rg-cat-pill--erdstrahlung a,
body.category-technische-strahlung-elektrosmog .rg-cat-pill--technische-strahlung-elektrosmog a,
body.category-messung-analyse .rg-cat-pill--messung-analyse a,
body.category-schutz-entstoerung .rg-cat-pill--schutz-entstoerung a,
body.category-natur-tierwelt-erfahrungswissen .rg-cat-pill--natur-tierwelt-erfahrungswissen a { background: var(--rg-blue-dark); border-color: var(--rg-blue-dark); color: #fff; cursor: default; box-shadow: none; transform: none; }
body.category-erdstrahlung .rg-cat-pill--erdstrahlung a:hover,
body.category-technische-strahlung-elektrosmog .rg-cat-pill--technische-strahlung-elektrosmog a:hover,
body.category-messung-analyse .rg-cat-pill--messung-analyse a:hover,
body.category-schutz-entstoerung .rg-cat-pill--schutz-entstoerung a:hover,
body.category-natur-tierwelt-erfahrungswissen .rg-cat-pill--natur-tierwelt-erfahrungswissen a:hover { background: var(--rg-blue-dark); border-color: var(--rg-blue-dark); color: #fff; box-shadow: none; transform: none; }
body.category-erdstrahlung .rg-cat-pill--erdstrahlung a::after,
body.category-technische-strahlung-elektrosmog .rg-cat-pill--technische-strahlung-elektrosmog a::after,
body.category-messung-analyse .rg-cat-pill--messung-analyse a::after,
body.category-schutz-entstoerung .rg-cat-pill--schutz-entstoerung a::after,
body.category-natur-tierwelt-erfahrungswissen .rg-cat-pill--natur-tierwelt-erfahrungswissen a::after { content: "Aktuell"; display: inline-block; margin-left: 0.5rem; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; background: #B85C3B; color: #fff; border-radius: 999px; padding: 0.12rem 0.5rem; vertical-align: middle; }
/* === BLOG: RESPONSIVE === */
@media (max-width: 1024px) {
	.rg-arch .rg-wi-post-grid { grid-template-columns: repeat(2, 1fr); }
	.rg-cat-nav-list { flex-wrap: wrap !important; }
	.rg-cat-pill { flex: 1 1 calc(33.333% - 0.4rem); }
}
@media (max-width: 600px) {
	.rg-arch .rg-wi-post-grid { grid-template-columns: 1fr; }
	.rg-arch .rg-wi-post-img img { height: 200px; }
	.rg-cat-nav-list { gap: 0.6rem !important; flex-wrap: wrap !important; }
	.rg-cat-pill { flex: 1 1 100%; width: 100%; }
	.rg-cat-pill a { display: flex; width: 100%; text-align: center; font-size: 0.92rem; padding: 0.7rem 0.9rem; overflow-wrap: normal; }
	.rg-single-title { font-size: clamp(1.7rem, 8vw, 2.2rem); }
	.rg-single-body { font-size: 1.02rem; }
	.rg-single-body .rg-kurz, .rg-single-body .rg-info-box, .rg-single-body .rg-praxis-box, .rg-single-body .rg-link-box { padding: 1.1rem 1.2rem; }
	.rg-single-cta { border-radius: 16px; }
	.rg-single-img img { border-radius: 14px; }
}

/* === UEBER MICH === */
.rg-ueber { --rg-ub-maxw: 1160px; background: #fff; }
/* UB:NAVACTIVE */
body:has(.rg-ueber) .wp-block-navigation .rg-nav-ueber > a { position: relative; color: var(--rg-blue); font-weight: 700; }
body:has(.rg-ueber) .wp-block-navigation .rg-nav-ueber > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--rg-blue-dark); }
/* UB:HEAD */
.rg-ub-head { max-width: 720px; margin: 0 auto !important; text-align: center; padding-top: clamp(2.6rem, 5vw, 4.2rem) !important; padding-bottom: clamp(1.6rem, 3vw, 2.4rem) !important; }
.rg-ub-h1 { font-family: var(--wp--preset--font-family--sans) !important; font-size: clamp(2.6rem, 5.5vw, 4rem); font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; color: var(--rg-blue-dark); margin: 0 0 1.1rem !important; }
.rg-ub-h1::after { content: ""; display: block; width: 64px; height: 3px; background: var(--rg-blue-dark); border-radius: 2px; margin: 1.1rem auto 0; }
.rg-ub-lead { font-size: clamp(1.02rem, 1.5vw, 1.16rem); line-height: 1.7; color: var(--rg-muted); max-width: 660px; margin: 1.4rem auto 0 !important; }
/* UB:HERO */
.rg-ub-hero { max-width: var(--rg-ub-maxw); margin: clamp(1.4rem, 3vw, 2.4rem) auto 0 !important; }
.rg-ub-hero img { width: 100%; height: clamp(360px, 46vw, 560px); object-fit: cover; object-position: center 20%; border-radius: 12px; display: block; }
/* UB:TRUST */
.rg-ub-trust { max-width: var(--rg-ub-maxw); margin: clamp(1.2rem, 2.4vw, 1.8rem) auto 0 !important; background: #F4EDE2; border: 1px solid #ece0cf; border-radius: 12px; padding: clamp(1.1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.6rem) !important; gap: 0 !important; }
.rg-ub-trust .wp-block-column { display: flex; align-items: center; justify-content: center; position: relative; }
.rg-ub-trust .wp-block-column + .wp-block-column::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 1.4em; background: #d9ccb7; }
.rg-ub-trust-item { font-size: clamp(1rem, 1.6vw, 1.18rem); font-weight: 600; letter-spacing: 0.01em; color: var(--rg-blue-dark); margin: 0 !important; text-align: center; }
/* UB:WER */
.rg-ub-h2 { font-family: var(--wp--preset--font-family--sans) !important; font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 700; line-height: 1.15; letter-spacing: -0.015em; color: var(--rg-blue-dark); margin: 0 0 1.1rem !important; }
.rg-ub-wer { max-width: var(--rg-ub-maxw); margin: clamp(3rem, 6vw, 5rem) auto 0 !important; gap: clamp(2rem, 4vw, 3.4rem) !important; align-items: center !important; }
.rg-ub-wer-text { margin: 0 !important; }
.rg-ub-wer-text p { font-size: 1.04rem; line-height: 1.75; color: var(--rg-text); margin: 0 0 1.1rem !important; }
.rg-ub-wer-text p:last-child { margin-bottom: 0 !important; }
.rg-ub-wer-media { margin: 0 !important; }
.rg-ub-wer-img { margin: 0 !important; }
.rg-ub-wer-img img { width: 100%; height: clamp(300px, 32vw, 420px); object-fit: cover; border-radius: 14px; display: block; }
/* UB:BLICK */
.rg-ub-blick { background: #F7F5F0; margin-top: clamp(3.4rem, 7vw, 6rem) !important; padding-top: clamp(3rem, 6vw, 5rem) !important; padding-bottom: clamp(3rem, 6vw, 5rem) !important; }
.rg-ub-blick > .rg-ub-h2 { text-align: center; max-width: 780px; margin-left: auto !important; margin-right: auto !important; }
.rg-ub-blick p { font-size: clamp(1.04rem, 1.5vw, 1.16rem); line-height: 1.8; color: var(--rg-text); max-width: 780px; margin: 0 auto 1.2rem !important; }
.rg-ub-blick p:last-child { margin-bottom: 0 !important; }
/* UB:PROZESS */
.rg-ub-prozess { max-width: var(--rg-ub-maxw); margin: clamp(3.4rem, 7vw, 6rem) auto 0 !important; }
.rg-ub-prozess > .rg-ub-h2 { text-align: center; margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
.rg-ub-steps { gap: 0 !important; align-items: stretch !important; }
.rg-ub-step { position: relative; padding: 0 clamp(1rem, 2vw, 1.8rem) !important; }
.rg-ub-step + .rg-ub-step::before { content: ""; position: absolute; left: 0; top: 0.4rem; bottom: 0.4rem; width: 1px; background: #e4e8ee; }
.rg-ub-step-num { font-size: 0.95rem; font-weight: 700; letter-spacing: 0.08em; color: var(--rg-blue); opacity: 0.55; margin: 0 0 0.6rem !important; }
.rg-ub-step-title { font-size: 1.24rem; font-weight: 700; color: var(--rg-blue-dark); margin: 0 0 0.55rem !important; }
.rg-ub-step-text { font-size: 0.98rem; line-height: 1.6; color: var(--rg-muted); margin: 0 !important; }
/* UB:QUOTE */
.rg-ub-quote { max-width: 860px; margin: clamp(3rem, 6vw, 5rem) auto 0 !important; background: #fff; border: 1px solid #e6ebf1; border-radius: 18px; box-shadow: 0 12px 36px rgba(18,61,112,0.07); padding: clamp(2.2rem, 4vw, 3.4rem) clamp(1.6rem, 3vw, 2.8rem) !important; }
.rg-ub-quote-text { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.4rem, 2.6vw, 1.95rem); font-style: italic; font-weight: 500; line-height: 1.4; color: var(--rg-blue-dark); margin: 0 !important; letter-spacing: -0.01em; }
/* UB:KONTAKT */
.rg-ub-kontakt { position: relative; overflow: hidden; margin-top: clamp(3.4rem, 7vw, 6rem) !important; padding-top: clamp(3rem, 6vw, 4.6rem) !important; padding-bottom: clamp(3rem, 6vw, 4.6rem) !important; background: #F4EDE2; text-align: center; }
.rg-ub-kontakt::before { content: ""; position: absolute; right: -80px; top: 50%; transform: translateY(-50%); width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle at 40% 40%, rgba(18,61,112,0.06), rgba(18,61,112,0) 70%); pointer-events: none; }
.rg-ub-kontakt > * { position: relative; z-index: 1; }
.rg-ub-kontakt .rg-ub-h2 { text-align: center !important; max-width: 620px; margin-left: auto !important; margin-right: auto !important; }
.rg-ub-kontakt-text { font-size: clamp(1.02rem, 1.5vw, 1.16rem); line-height: 1.7; color: var(--rg-text); max-width: 620px; margin: 1rem auto 1.8rem !important; }
.rg-ub-kontakt-btn .wp-element-button { background: var(--rg-blue-dark); color: #fff; border: 0; border-radius: 999px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; font-size: 0.9rem; padding: 0.85rem 2rem; transition: background 0.18s ease, transform 0.18s ease; }
.rg-ub-kontakt-btn .wp-element-button:hover { background: var(--rg-blue); transform: translateY(-2px); }
/* UB:RESPONSIVE */
@media (max-width: 1024px) {
	.rg-ub-wer { gap: 2rem !important; }
	.rg-ub-steps { flex-wrap: wrap !important; }
	.rg-ub-step { flex-basis: calc(50% - 0px) !important; padding: 1.2rem clamp(1rem, 2vw, 1.6rem) !important; }
	.rg-ub-step:nth-child(odd)::before { display: none; }
	.rg-ub-step:nth-child(3)::before, .rg-ub-step:nth-child(4)::before { top: 0; }
}
@media (max-width: 782px) {
	.rg-ub-wer { flex-direction: column; }
	.rg-ub-wer .wp-block-column { flex-basis: 100% !important; }
	.rg-ub-wer-media { order: -1; }
}
@media (max-width: 600px) {
	.rg-ub-hero img { height: 240px; object-position: center 25%; }
	.rg-ub-trust { padding: 1rem 0.6rem !important; flex-direction: row !important; flex-wrap: nowrap !important; }
	.rg-ub-trust .wp-block-column { flex-basis: 33.333% !important; padding: 0 0.3rem !important; }
	.rg-ub-trust-item { font-size: 0.9rem; }
	.rg-ub-wer-img img { height: 260px; }
	.rg-ub-steps { gap: 0 !important; }
	.rg-ub-step { flex-basis: 100% !important; padding: 1.1rem 0 !important; }
	.rg-ub-step + .rg-ub-step::before { left: 0; right: 0; top: 0; bottom: auto; width: auto; height: 1px; }
	.rg-ub-quote-text { font-size: 1.3rem; }
}

/* === reduced-motion === */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* === Kontaktseite v3: direkte Theme-Vorlage, ohne Shortcode/Plugin === */
.rg-kontakt {
	--rgk-max: 1120px;
	--rgk-blue: var(--rg-blue-dark, #0B315E);
	--rgk-accent: var(--rg-blue, #123D70);
	--rgk-muted: var(--rg-muted, #566270);
	--rgk-line: var(--rg-line, #D7E0EA);
	--rgk-bg: #F7F9FC;
	--rgk-soft: #EAF2F8;
	--rgk-card: #fff;
	background: #fff;
	color: var(--rg-text);
}
.rg-kontakt * { box-sizing: border-box; }
.rg-kontakt a { color: var(--rgk-accent); }
.rgk-container {
	width: min(var(--rgk-max), calc(100vw - 48px));
	margin-inline: auto;
}
.rgk-section { padding: clamp(3rem, 6vw, 5.8rem) 0; }
.rgk-section + .rgk-section { padding-top: 0; }
.rgk-kicker {
	margin: 0 0 0.7rem !important;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #B85E3B;
}
.rgk-hero {
	position: relative;
	background: linear-gradient(180deg, #fff 0%, #F7F9FC 100%);
	padding: clamp(3.2rem, 7vw, 6.2rem) 0 clamp(3.2rem, 6vw, 5rem);
	overflow: hidden;
}
.rgk-hero::before {
	content: "";
	position: absolute;
	right: -12vw;
	top: 6rem;
	width: 42vw;
	height: 42vw;
	max-width: 620px;
	max-height: 620px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(234,242,248,0.85), rgba(234,242,248,0));
	pointer-events: none;
}
.rgk-hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(430px, 1.08fr);
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: center;
}
.rgk-hero-copy { max-width: 500px; }
.rgk-hero h1 {
	margin: 0 0 1.2rem !important;
	font-size: clamp(3.4rem, 6.2vw, 5.7rem);
	line-height: 0.96;
	letter-spacing: -0.05em;
	color: var(--rgk-blue);
}
.rgk-lead {
	font-size: clamp(1.05rem, 1.55vw, 1.23rem);
	line-height: 1.72;
	color: var(--rgk-muted);
	margin: 0 !important;
	max-width: 44rem;
}
.rgk-actions {
	display: flex;
	align-items: center;
	gap: 1.2rem 1.5rem;
	flex-wrap: wrap;
	margin-top: 2rem;
}
.rgk-button,
.rgk-submit {
	appearance: none;
	border: 0;
	background: var(--rgk-accent);
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 800;
	border-radius: 999px;
	padding: 0.95rem 1.6rem;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	box-shadow: 0 14px 24px rgba(18,61,112,0.20);
	transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
	cursor: pointer;
}
.rgk-button:hover,
.rgk-submit:hover { background: var(--rgk-blue); transform: translateY(-1px); box-shadow: 0 18px 34px rgba(18,61,112,0.24); }
.rgk-textlink {
	font-weight: 800;
	text-decoration: none !important;
	border-bottom: 2px solid rgba(18,61,112,0.22);
	padding-bottom: 0.25rem;
}
.rgk-hero-image {
	position: relative;
	margin: 0 !important;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 28px 70px rgba(18,61,112,0.14);
	border: 1px solid rgba(215,224,234,0.85);
	min-height: 410px;
}
.rgk-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 410px;
	object-fit: cover;
	object-position: center;
	filter: brightness(1.04) saturate(0.98);
}
.rgk-hero-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(255,255,255,0.28), rgba(255,255,255,0) 42%);
	pointer-events: none;
}
.rgk-form-section { background: #fff; }
.rgk-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.9fr) minmax(300px, 0.82fr);
	gap: clamp(1.5rem, 3vw, 2.2rem);
	align-items: start;
}
.rgk-card {
	background: var(--rgk-card);
	border: 1px solid var(--rgk-line);
	border-radius: 22px;
	box-shadow: 0 16px 45px rgba(18,61,112,0.08);
}
.rgk-form-card { padding: clamp(1.6rem, 3vw, 2.6rem); }
.rgk-form-card h2,
.rgk-centered h2,
.rgk-trust-card h2,
.rgk-final-card h2 {
	font-size: clamp(2rem, 3.4vw, 3rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
	color: var(--rgk-blue);
	margin: 0 0 0.9rem !important;
}
.rgk-intro,
.rgk-section-lead,
.rgk-trust-card p,
.rgk-final-card p {
	font-size: 1rem;
	line-height: 1.72;
	color: var(--rgk-muted);
	margin: 0 !important;
}
.rgk-intro { max-width: 50rem; margin-bottom: 1.5rem !important; }
.rgk-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.1rem;
	margin-top: 1.6rem;
}
.rgk-field { display: flex; flex-direction: column; gap: 0.42rem; min-width: 0; }
.rgk-full { grid-column: 1 / -1; }
.rgk-field label {
	font-size: 0.88rem;
	font-weight: 800;
	color: var(--rgk-blue);
}
.rgk-field input,
.rgk-field select,
.rgk-field textarea {
	width: 100%;
	border: 1px solid #D9E3ED;
	border-radius: 12px;
	background: #FBFCFE;
	padding: 0.9rem 1rem;
	font: inherit;
	font-size: 0.98rem;
	color: var(--rg-text);
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.rgk-field textarea { resize: vertical; min-height: 150px; }
.rgk-field input:focus,
.rgk-field select:focus,
.rgk-field textarea:focus {
	border-color: var(--rgk-accent);
	box-shadow: 0 0 0 4px rgba(18,61,112,0.10);
	background: #fff;
}
.rgk-checkbox {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.7rem;
	align-items: start;
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--rgk-muted);
	margin: 0.25rem 0 0;
}
.rgk-checkbox input { margin-top: 0.25rem; }
.rgk-submit { grid-column: 1 / -1; width: 100%; margin-top: 0.35rem; font-size: 0.98rem; }
.rgk-form-note {
	margin: 1.2rem 0 0 !important;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--rgk-muted);
}
.rgk-side { display: grid; gap: 1rem; }
.rgk-info-card { padding: clamp(1.4rem, 2.2vw, 1.9rem); }
.rgk-info-card h3,
.rgk-mini-card h3,
.rgk-step h3 {
	margin: 0 0 0.65rem !important;
	font-size: 1.18rem;
	line-height: 1.22;
	color: var(--rgk-blue);
}
.rgk-info-card p,
.rgk-info-card li,
.rgk-mini-card p,
.rgk-step p {
	font-size: 0.96rem;
	line-height: 1.65;
	color: var(--rgk-muted);
	margin: 0 !important;
}
.rgk-soft-card { background: #F7FAFD; }
.rgk-soft-card ul { margin: 1rem 0 0 !important; padding-left: 1.1rem; }
.rgk-soft-card li + li { margin-top: 0.45rem !important; }
.rgk-contact-list { display: grid; gap: 1.1rem; margin-top: 1.35rem; }
.rgk-contact-list div {
	padding: 0 0 1rem;
	border-bottom: 1px solid #E2EAF2;
}
.rgk-contact-list div:last-child { border-bottom: 0; padding-bottom: 0; }
.rgk-contact-list span {
	display: block;
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	color: #7890AA;
	margin-bottom: 0.25rem;
}
.rgk-contact-list a,
.rgk-contact-list strong {
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.45;
	text-decoration: none;
	color: var(--rgk-blue);
}
.rgk-centered { text-align: center; }
.rgk-centered .rgk-kicker { margin-left: auto !important; margin-right: auto !important; }
.rgk-section-lead { max-width: 680px; margin: 0 auto !important; }
.rgk-reason-grid,
.rgk-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-top: clamp(1.7rem, 3vw, 2.3rem);
}
.rgk-mini-card,
.rgk-step {
	background: #fff;
	border: 1px solid var(--rgk-line);
	border-radius: 18px;
	padding: 1.35rem;
	text-align: left;
	box-shadow: 0 10px 26px rgba(18,61,112,0.06);
	min-height: 190px;
}
.rgk-icon {
	display: inline-flex;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	background: var(--rgk-soft);
	color: var(--rgk-accent);
	font-weight: 900;
	margin-bottom: 1rem;
}
.rgk-process-wrap { background: linear-gradient(180deg, #fff 0%, #F7F9FC 100%); padding-top: clamp(3rem, 6vw, 5rem); }
.rgk-step { text-align: center; min-height: 175px; }
.rgk-step span {
	display: inline-flex;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--rgk-accent);
	color: var(--rgk-accent);
	font-weight: 900;
	margin-bottom: 1rem;
}
.rgk-trust-card {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	background: var(--rgk-blue);
	color: #fff;
	border-radius: 26px;
	padding: clamp(2rem, 4vw, 3.4rem);
	box-shadow: 0 20px 55px rgba(18,61,112,0.18);
}
.rgk-trust-card .rgk-kicker { color: #C8D8E8; }
.rgk-trust-card h2,
.rgk-trust-card p { color: #fff; }
.rgk-trust-card p { opacity: 0.88; max-width: 62ch; }
.rgk-trust-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.9rem;
}
.rgk-trust-card li {
	position: relative;
	padding-left: 2rem;
	font-weight: 800;
	line-height: 1.45;
	color: #fff;
}
.rgk-trust-card li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.05rem;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: #fff;
	color: var(--rgk-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
}
.rgk-final-section { padding-bottom: clamp(4rem, 7vw, 6.5rem); }
.rgk-final-card {
	display: grid;
	grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
	gap: 0;
	align-items: stretch;
	background: #fff;
	border: 1px solid var(--rgk-line);
	border-radius: 26px;
	overflow: hidden;
	box-shadow: 0 18px 48px rgba(18,61,112,0.10);
}
.rgk-final-card figure { margin: 0 !important; min-height: 330px; }
.rgk-final-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rgk-final-card > div { padding: clamp(2rem, 4vw, 3.4rem); align-self: center; }
.rgk-final-card .rgk-button { margin-top: 1.5rem; }
body:has(.rg-kontakt) .wp-block-navigation .rg-nav-kontakt > a,
body:has(.rg-kontakt) .wp-block-navigation .rg-nav-cta > a {
	position: relative;
	color: var(--rg-blue);
	font-weight: 700;
}
body:has(.rg-kontakt) .wp-block-navigation .rg-nav-kontakt > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	background: var(--rg-blue);
}
@media (max-width: 980px) {
	.rgk-hero-grid,
	.rgk-contact-grid,
	.rgk-trust-card,
	.rgk-final-card { grid-template-columns: 1fr; }
	.rgk-hero-copy { max-width: 720px; }
	.rgk-hero-image,
	.rgk-hero-image img { min-height: 320px; }
	.rgk-reason-grid,
	.rgk-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.rgk-container { width: min(100% - 32px, var(--rgk-max)); }
	.rgk-hero { padding-top: 2.2rem; }
	.rgk-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
	.rgk-form { grid-template-columns: 1fr; }
	.rgk-half { grid-column: 1 / -1; }
	.rgk-reason-grid,
	.rgk-steps { grid-template-columns: 1fr; }
	.rgk-mini-card,
	.rgk-step { min-height: 0; }
	.rgk-final-card figure { min-height: 230px; }
}
/* Kontaktseite: Hero-Bild links weich ausblenden wie auf der Wissen-Seite */
.rg-kontakt .rgk-hero-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(255,255,255,0.96) 0%,
		rgba(255,255,255,0.88) 18%,
		rgba(255,255,255,0.58) 34%,
		rgba(255,255,255,0.20) 52%,
		rgba(255,255,255,0.00) 72%
	);
}
/* =========================================================
   Kontaktseite: Hero-Bereich an Wissen-Seite angleichen
   ========================================================= */

/* Der gesamte obere Kontaktbereich soll weiß und ruhiger wirken */
.rg-kontakt .rgk-hero {
	background: #fff !important;
	padding-top: clamp(1.4rem, 2.6vw, 2.2rem) !important;
	padding-bottom: clamp(1rem, 2vw, 1.6rem) !important;
	overflow: hidden;
}

/* Den hellblauen Kreis im Hintergrund entfernen */
.rg-kontakt .rgk-hero::before {
	display: none !important;
}

/* Den Hero-Bereich breiter machen, damit er wie die Wissen-Seite wirkt */
.rg-kontakt .rgk-hero .rgk-container {
	width: calc(100vw - 96px) !important;
	max-width: none !important;
	margin-left: 48px !important;
	margin-right: 0 !important;
}

/* Text und Bild ähnlich wie bei der Wissen-Seite aufteilen */
.rg-kontakt .rgk-hero-grid {
	display: grid;
	grid-template-columns: 44% 56% !important;
	gap: clamp(1.5rem, 3vw, 2.6rem) !important;
	align-items: center !important;
}

/* Textbereich links etwas großzügiger machen */
.rg-kontakt .rgk-hero-copy {
	max-width: 620px !important;
	padding-right: clamp(0.5rem, 2vw, 1.5rem);
}

/* Kleine orange Zeile ruhiger und mehr wie Einleitung behandeln */
.rg-kontakt .rgk-kicker {
	font-size: clamp(1.05rem, 1.6vw, 1.22rem) !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #B85C3B !important;
	margin: 0 0 1.2rem !important;
}

/* Überschrift etwas weniger riesig machen */
.rg-kontakt .rgk-hero h1 {
	font-size: clamp(3rem, 6.5vw, 4.6rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: -0.025em !important;
	color: var(--rg-blue-dark) !important;
	margin: 0 0 1.1rem !important;
}

/* Fließtext wie auf der Wissen-Seite setzen */
.rg-kontakt .rgk-lead {
	font-size: 1.06rem !important;
	line-height: 1.75 !important;
	color: var(--rg-muted) !important;
	max-width: 36rem !important;
}

/* Bild größer, breiter und stärker als Hero-Bild behandeln */
.rg-kontakt .rgk-hero-image {
	position: relative !important;
	margin: 0 !important;
	height: 100% !important;
	min-height: 420px !important;
	border-radius: 22px 0 0 22px !important;
	overflow: hidden !important;
	box-shadow: none !important;
	border: none !important;
}

/* Bild selbst passend füllen lassen */
.rg-kontakt .rgk-hero-image img {
	width: 100% !important;
	height: 100% !important;
	min-height: 420px !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
	border-radius: 22px 0 0 22px !important;
	filter: brightness(1.04) saturate(0.98) !important;
}

/* Alten Kontaktbild-Verlauf ausschalten */
.rg-kontakt .rgk-hero-image::after {
	display: none !important;
}

/* Neuen Verlauf + Raster wie auf der Wissen-Seite darüberlegen */
.rg-kontakt .rgk-hero-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	border-radius: 22px 0 0 22px;
	background-image:
		linear-gradient(
			90deg,
			#fff 0%,
			rgba(255,255,255,0.55) 12%,
			rgba(255,255,255,0) 34%
		),
		repeating-linear-gradient(
			90deg,
			rgba(255,255,255,0.18) 0 1px,
			transparent 1px 52px
		),
		repeating-linear-gradient(
			0deg,
			rgba(255,255,255,0.18) 0 1px,
			transparent 1px 52px
		);
}

/* Buttons etwas ruhiger setzen */
.rg-kontakt .rgk-actions {
	margin-top: 2rem !important;
	gap: 1rem 1.4rem !important;
}

/* Auf kleinen Bildschirmen wieder normal einspaltig anzeigen */
@media (max-width: 900px) {
	.rg-kontakt .rgk-hero .rgk-container {
		width: min(100% - 48px, 720px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rg-kontakt .rgk-hero-grid {
		grid-template-columns: 1fr !important;
	}

	.rg-kontakt .rgk-hero-image,
	.rg-kontakt .rgk-hero-image img {
		min-height: 300px !important;
		border-radius: 22px !important;
	}

	.rg-kontakt .rgk-hero-image::before {
		border-radius: 22px !important;
	}
}
/* Kontaktseite: Hero-Text etwas nach rechts schieben */
.rg-kontakt .rgk-hero-copy {
	margin-left: 100px !important;
}

/* Auf Handy und kleinen Bildschirmen nicht verschieben */
@media (max-width: 900px) {
	.rg-kontakt .rgk-hero-copy {
		margin-left: 0 !important;
	}
}
/* Kontaktseite: Gitter im Hero-Bild entfernen, Verlauf behalten */
.rg-kontakt .rgk-hero-image::before {
	background: linear-gradient(
		90deg,
		#fff 0%,
		rgba(255,255,255,0.72) 14%,
		rgba(255,255,255,0.38) 28%,
		rgba(255,255,255,0.10) 42%,
		rgba(255,255,255,0) 58%
	) !important;
	background-image: linear-gradient(
		90deg,
		#fff 0%,
		rgba(255,255,255,0.72) 14%,
		rgba(255,255,255,0.38) 28%,
		rgba(255,255,255,0.10) 42%,
		rgba(255,255,255,0) 58%
	) !important;
}

/* Sicherheit: Falls ein zweites Overlay das Gitter erzeugt, ebenfalls ausblenden */
.rg-kontakt .rgk-hero-image::after {
	display: none !important;
	content: none !important;
}
/* Wissen-Seite: Gitter im Hero-Bild entfernen, Verlauf behalten */
.rg-wissen .rg-wi-hero-img::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 22px 0 0 22px;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		#fff 0%,
		rgba(255,255,255,0.72) 14%,
		rgba(255,255,255,0.38) 28%,
		rgba(255,255,255,0.10) 42%,
		rgba(255,255,255,0) 58%
	) !important;
	background-image: linear-gradient(
		90deg,
		#fff 0%,
		rgba(255,255,255,0.72) 14%,
		rgba(255,255,255,0.38) 28%,
		rgba(255,255,255,0.10) 42%,
		rgba(255,255,255,0) 58%
	) !important;
}
/* Wissen-Seite: dunkle Kante links am Hero-Bild entfernen */
.rg-wissen .rg-wi-hero-img {
	background: #fff !important;
	border: none !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

/* Bild selbst ohne sichtbare Kante darstellen */
.rg-wissen .rg-wi-hero-img img {
	border: none !important;
	box-shadow: none !important;
	display: block !important;
}

/* Weißen Verlauf links etwas stärker machen, damit die dunklen Rundungsränder verschwinden */
.rg-wissen .rg-wi-hero-img::after {
	z-index: 5 !important;
	inset: -2px 0 -2px -2px !important;
	border-radius: 22px 0 0 22px !important;
	background: linear-gradient(
		90deg,
		#fff 0%,
		#fff 4%,
		rgba(255,255,255,0.86) 14%,
		rgba(255,255,255,0.52) 28%,
		rgba(255,255,255,0.16) 44%,
		rgba(255,255,255,0) 62%
	) !important;
	background-image: linear-gradient(
		90deg,
		#fff 0%,
		#fff 4%,
		rgba(255,255,255,0.86) 14%,
		rgba(255,255,255,0.52) 28%,
		rgba(255,255,255,0.16) 44%,
		rgba(255,255,255,0) 62%
	) !important;
}
/* =========================================================
   Startseite: Hero-Überschrift auf 2 Zeilen bringen
   ========================================================= */

/* Textbereich im Hero breiter machen */
.home .rg-hero-text,
.front-page .rg-hero-text,
.rg-home .rg-hero-text {
	max-width: 860px !important;
	width: 860px !important;
}

/* Überschrift etwas kontrollierter setzen */
.home .rg-hero-text h1,
.front-page .rg-hero-text h1,
.rg-home .rg-hero-text h1 {
	max-width: 860px !important;
	font-size: clamp(4rem, 6vw, 6.1rem) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.035em !important;
}

/* Hero-Spalten so anpassen, dass links mehr Platz ist */
.home .rg-hero-grid,
.front-page .rg-hero-grid,
.rg-home .rg-hero-grid {
	grid-template-columns: minmax(0, 0.62fr) minmax(0, 0.38fr) !important;
}

/* Auf kleineren Bildschirmen wieder natürlich umbrechen lassen */
@media (max-width: 900px) {
	.home .rg-hero-text,
	.front-page .rg-hero-text,
	.rg-home .rg-hero-text {
		width: auto !important;
		max-width: 100% !important;
	}

	.home .rg-hero-text h1,
	.front-page .rg-hero-text h1,
	.rg-home .rg-hero-text h1 {
		font-size: clamp(3rem, 12vw, 4.4rem) !important;
	}
}
/* =========================================================
   KORREKTUR: Header-Logo und Startseiten-Hero normalisieren
   ========================================================= */

/* Header wieder normal hoch machen */
.rutengang-header .is-nowrap {
	min-height: 86px !important;
	padding-top: 0.35rem !important;
	padding-bottom: 0.35rem !important;
	align-items: center !important;
	gap: 2rem !important;
}

/* Logo groß, aber nicht riesig */
.rutengang-header .rg-brand-logo-link {
	flex: 0 0 390px !important;
	width: 390px !important;
	max-width: 390px !important;
	display: flex !important;
	align-items: center !important;
	overflow: visible !important;
}

/* Wichtig: transform ausschalten, weil das Logo dadurch zu groß wurde */
.rutengang-header .rg-header-logo-img {
	height: 78px !important;
	width: auto !important;
	max-width: 390px !important;
	object-fit: contain !important;
	transform: none !important;
}

/* Menüabstand angenehm, aber nicht extrem */
.rutengang-header .wp-block-navigation__container {
	gap: 2rem !important;
}

/* Button rechts stabil halten */
.rutengang-header .rg-header-cta {
	flex-shrink: 0 !important;
}

/* Startseite: Hero-Überschrift wieder kontrolliert groß */
.home .rg-hero-text,
.front-page .rg-hero-text,
.rg-home .rg-hero-text {
	width: auto !important;
	max-width: 720px !important;
}

/* Startseite: Überschrift nicht mehr riesig */
.home .rg-hero-text h1,
.front-page .rg-hero-text h1,
.rg-home .rg-hero-text h1 {
	font-size: clamp(3.2rem, 5.2vw, 5rem) !important;
	line-height: 1.02 !important;
	letter-spacing: -0.03em !important;
	max-width: 720px !important;
}

/* Startseite: Spalten wieder ausgewogener */
.home .rg-hero-grid,
.front-page .rg-hero-grid,
.rg-home .rg-hero-grid {
	grid-template-columns: minmax(0, 0.55fr) minmax(0, 0.45fr) !important;
}

/* Kleinere Bildschirme */
@media (max-width: 1100px) {
	.rutengang-header .rg-brand-logo-link {
		flex-basis: 300px !important;
		width: 300px !important;
		max-width: 300px !important;
	}

	.rutengang-header .rg-header-logo-img {
		height: 62px !important;
		max-width: 300px !important;
	}

	.rutengang-header .wp-block-navigation__container {
		gap: 1.1rem !important;
	}

	.home .rg-hero-text h1,
	.front-page .rg-hero-text h1,
	.rg-home .rg-hero-text h1 {
		font-size: clamp(2.7rem, 8vw, 4rem) !important;
	}
}
/* =========================================================
   STARTSEITE: Hero-Textbereich sauber korrigieren
   ========================================================= */

/* Hero-Bereich wieder ruhiger und kontrollierter */
.home .rg-hero,
.front-page .rg-hero,
.rg-home .rg-hero {
	min-height: 620px !important;
	padding-top: 4.2rem !important;
	padding-bottom: 4.2rem !important;
	padding-left: clamp(64px, 6vw, 96px) !important;
	padding-right: clamp(32px, 4vw, 64px) !important;
	align-items: center !important;
}

/* Textbereich links sauber begrenzen */
.home .rg-hero .rg-hero-text,
.front-page .rg-hero .rg-hero-text,
.rg-home .rg-hero .rg-hero-text {
	width: 48% !important;
	max-width: 680px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	padding: 0 !important;
	text-align: left !important;
}

/* Überschrift: nicht mehr riesig, nicht komplett großgeschrieben */
.home .rg-hero-text h1,
.front-page .rg-hero-text h1,
.rg-home .rg-hero-text h1 {
	text-transform: none !important;
	font-size: clamp(3.4rem, 4.6vw, 5.25rem) !important;
	line-height: 1.02 !important;
	letter-spacing: -0.035em !important;
	font-weight: 700 !important;
	max-width: 680px !important;
	margin: 0 0 1.35rem !important;
	color: var(--rg-blue-dark) !important;
}

/* Untertext direkt unter der Überschrift ruhig setzen */
.home .rg-hero-text .rg-measure,
.front-page .rg-hero-text .rg-measure,
.rg-home .rg-hero-text .rg-measure {
	text-align: left !important;
	font-size: 1.18rem !important;
	line-height: 1.6 !important;
	max-width: 560px !important;
	margin: 0 0 2.2rem !important;
	color: var(--rg-muted) !important;
}

/* Drei Themen unter dem Text kompakter und sauberer */
.home .rg-hero-topics,
.front-page .rg-hero-topics,
.rg-home .rg-hero-topics {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.8rem !important;
	max-width: 640px !important;
	margin-top: 0 !important;
	margin-bottom: 2rem !important;
}

/* Einzelne Themen sauber ausrichten */
.home .rg-hero-topics .rg-topic,
.front-page .rg-hero-topics .rg-topic,
.rg-home .rg-hero-topics .rg-topic {
	text-align: left !important;
}

/* Icons kleiner und ruhiger */
.home .rg-hero-topics .rg-icon.is-lg,
.front-page .rg-hero-topics .rg-icon.is-lg,
.rg-home .rg-hero-topics .rg-icon.is-lg {
	width: 34px !important;
	height: 34px !important;
	margin-bottom: 0.8rem !important;
	color: var(--rg-blue) !important;
	background: transparent !important;
}

/* Icon-SVGs kleiner */
.home .rg-hero-topics .rg-icon.is-lg svg,
.front-page .rg-hero-topics .rg-icon.is-lg svg,
.rg-home .rg-hero-topics .rg-icon.is-lg svg {
	width: 28px !important;
	height: 28px !important;
}

/* Thema-Titel */
.home .rg-hero-topics .rg-topic-title,
.front-page .rg-hero-topics .rg-topic-title,
.rg-home .rg-hero-topics .rg-topic-title {
	font-size: 0.88rem !important;
	line-height: 1.25 !important;
	margin-bottom: 0.55rem !important;
	color: var(--rg-blue-dark) !important;
	min-height: auto !important;
}

/* Thema-Untertexte */
.home .rg-hero-topics .rg-topic p:not(.rg-topic-title),
.front-page .rg-hero-topics .rg-topic p:not(.rg-topic-title),
.rg-home .rg-hero-topics .rg-topic p:not(.rg-topic-title) {
	font-size: 0.92rem !important;
	line-height: 1.55 !important;
	color: var(--rg-muted) !important;
	min-height: auto !important;
}

/* Buttons wieder sauber unter dem Textbereich */
.home .rg-hero-buttons,
.front-page .rg-hero-buttons,
.rg-home .rg-hero-buttons {
	margin-top: 0 !important;
	gap: 1rem !important;
}

/* Buttons nicht zu groß */
.home .rg-hero-buttons .wp-element-button,
.front-page .rg-hero-buttons .wp-element-button,
.rg-home .rg-hero-buttons .wp-element-button {
	min-height: 48px !important;
	padding: 0.8rem 1.8rem !important;
	font-size: 0.98rem !important;
}

/* Bild etwas nach rechts halten, damit links mehr Ruhe bleibt */
.home .rg-hero-media,
.front-page .rg-hero-media,
.rg-home .rg-hero-media {
	background-position: 72% 55% !important;
}

/* Weißverlauf links stärker, damit Text gut lesbar bleibt */
.home .rg-hero-media,
.front-page .rg-hero-media,
.rg-home .rg-hero-media {
	background-image:
		linear-gradient(
			90deg,
			#fff 0%,
			rgba(255,255,255,0.96) 28%,
			rgba(255,255,255,0.76) 42%,
			rgba(255,255,255,0.36) 56%,
			rgba(255,255,255,0) 72%
		),
		url("assets/images/hero-messtechnik-tisch.png.png") !important;
}

/* Mobile Ansicht wieder sauber stapeln */
@media (max-width: 900px) {
	.home .rg-hero,
	.front-page .rg-hero,
	.rg-home .rg-hero {
		min-height: auto !important;
		padding: 3rem 1.5rem !important;
	}

	.home .rg-hero .rg-hero-text,
	.front-page .rg-hero .rg-hero-text,
	.rg-home .rg-hero .rg-hero-text {
		width: 100% !important;
		max-width: 100% !important;
	}

	.home .rg-hero-text h1,
	.front-page .rg-hero-text h1,
	.rg-home .rg-hero-text h1 {
		font-size: clamp(2.6rem, 10vw, 3.6rem) !important;
	}

	.home .rg-hero-topics,
	.front-page .rg-hero-topics,
	.rg-home .rg-hero-topics {
		grid-template-columns: 1fr !important;
		max-width: 100% !important;
	}
}
/* =========================================================
   Startseite: Hero-Themen gleichmäßig ausrichten
   ========================================================= */

.home .rg-hero-topics,
.front-page .rg-hero-topics,
.rg-home .rg-hero-topics {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	column-gap: 2rem !important;
	row-gap: 1.5rem !important;
	max-width: 620px !important;
	width: 620px !important;
	justify-items: start !important;
	align-items: start !important;
}

/* Jede Spalte bekommt gleiche Breite und richtet Inhalt links aus */
.home .rg-hero-topics .rg-topic,
.front-page .rg-hero-topics .rg-topic,
.rg-home .rg-hero-topics .rg-topic {
	width: 100% !important;
	max-width: 180px !important;
	text-align: left !important;
	justify-self: start !important;
}

/* Icons exakt links über dem jeweiligen Text ausrichten */
.home .rg-hero-topics .rg-icon.is-lg,
.front-page .rg-hero-topics .rg-icon.is-lg,
.rg-home .rg-hero-topics .rg-icon.is-lg {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Sicherheitskorrektur: dritte Spalte nicht nach rechts ziehen */
.home .rg-hero-topics .rg-topic:nth-child(3),
.front-page .rg-hero-topics .rg-topic:nth-child(3),
.rg-home .rg-hero-topics .rg-topic:nth-child(3) {
	justify-self: start !important;
	margin-left: 0 !important;
}
/* =========================================================
   Startseite: Hero-Buttons optisch sauberer anordnen
   ========================================================= */

.home .rg-hero-buttons,
.front-page .rg-hero-buttons,
.rg-home .rg-hero-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1.45rem !important;
	margin-top: 2.2rem !important;
	align-items: center !important;
}

/* Beide Buttons gleichmäßiger und etwas ruhiger */
.home .rg-hero-buttons .wp-block-button,
.front-page .rg-hero-buttons .wp-block-button,
.rg-home .rg-hero-buttons .wp-block-button {
	margin: 0 !important;
}

/* Button-Größe harmonisieren */
.home .rg-hero-buttons .wp-element-button,
.front-page .rg-hero-buttons .wp-element-button,
.rg-home .rg-hero-buttons .wp-element-button {
	min-width: 210px !important;
	min-height: 54px !important;
	padding: 0.9rem 2rem !important;
	justify-content: center !important;
	text-align: center !important;
}
/* Header-Linie unter dem Menü entfernen */
.rutengang-header,
.rutengang-header > .wp-block-group,
.rutengang-header .is-nowrap {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

/* Linie direkt über dem ersten Hero-Bereich entfernen */
main > .wp-block-group:first-child,
main > .alignfull:first-child,
.rg-hero,
.rg-kontakt .rgk-hero,
.rg-wissen,
.rg-ts-hero,
.rg-faq-hero,
.rg-ub-hero {
	border-top: 0 !important;
	box-shadow: none !important;
}
/* =========================================================
   ORANGE AKZENTE FINAL WIEDERHERSTELLEN
   Wichtig: Dieser Block muss ganz unten stehen.
   ========================================================= */

:root {
	--rg-orange: #B85C3B;
	--rg-orange-dark: #9E4D31;
	--rg-orange-soft: #F4EDE2;
}

/* Kleine Oberzeilen / Kicker orange */
.rg-kicker,
.rgk-kicker,
.rg-ts-kicker,
.rg-faq-hero-sub,
.rg-es-hero-sub,
.rg-wi-hero-sub,
.rg-lp-hero-lead {
	color: var(--rg-orange) !important;
}

/* Kleine Linien / Trennakzente orange */
.rg-rule,
.rg-lp-rule,
.rg-lp-accent,
.rg-ts-rule,
.rg-ts-serv-rule,
.rg-footer-separator {
	background: var(--rg-orange) !important;
	border-color: var(--rg-orange) !important;
}

/* Links und kleine "Mehr dazu"-Elemente orange */
.rg-ts a:not(.wp-element-button),
.rg-es a:not(.wp-element-button),
.rg-leistungen a:not(.wp-element-button),
.rg-wissen a:not(.wp-element-button),
.rg-kontakt a:not(.wp-element-button) {
	color: var(--rg-orange) !important;
}

/* Hover für diese Links etwas dunkler */
.rg-ts a:not(.wp-element-button):hover,
.rg-es a:not(.wp-element-button):hover,
.rg-leistungen a:not(.wp-element-button):hover,
.rg-wissen a:not(.wp-element-button):hover,
.rg-kontakt a:not(.wp-element-button):hover {
	color: var(--rg-orange-dark) !important;
}

/* Kleine Listenpunkte / Akzentpunkte orange */
.rg-leistungen .rg-lp-card-list li::before,
.rg-leistungen .rg-lp-checklist li::before,
.rg-ts .rg-ts-list li::before,
.rg-es .rg-ts-list li::before {
	background: var(--rg-orange) !important;
}

/* FAQ aktive Akzente orange */
.rg-faq .rg-faq-tab.is-active {
	background: var(--rg-orange) !important;
	border-color: var(--rg-orange) !important;
	color: #fff !important;
}

.rg-faq .rg-faq-note-lead {
	color: var(--rg-orange) !important;
}

/* Über-mich: kleine Zahlen und Akzente orange */
.rg-ueber .rg-ub-step-num,
.rg-ub-step-num {
	color: var(--rg-orange) !important;
}

/* Technische Strahlung und Erdstrahlung: kleine Icon-Akzente orange */
.rg-ts .rg-ts-feat-icon,
.rg-ts .rg-ts-src-ic,
.rg-es .rg-ts-feat-icon,
.rg-es .rg-ts-src-ic {
	color: var(--rg-orange) !important;
}

/* Technische Strahlung: Service-Linie orange, aber die vier Titel bleiben blau */
.rg-ts .rg-ts-serv-rule {
	background: var(--rg-orange) !important;
	border-color: var(--rg-orange) !important;
}

.rg-ts .rg-ts-serv-title {
	color: var(--rg-blue) !important;
}

/* Buttons, die bewusst orange sein sollen */
.rg-kontakt .rgk-btn-primary,
.rg-faq .rg-btn-gold .wp-element-button {
	background: var(--rg-orange) !important;
	border-color: var(--rg-orange) !important;
	color: #fff !important;
}

.rg-kontakt .rgk-btn-primary:hover,
.rg-faq .rg-btn-gold .wp-element-button:hover {
	background: var(--rg-orange-dark) !important;
	border-color: var(--rg-orange-dark) !important;
}
/* =========================================================
   FINALER KORREKTURBLOCK:
   orange Akzente gezielt behalten, falsche Überschreibungen zurücksetzen
   ========================================================= */

/* ---------------------------------------------------------
   1. Leistungen-Seite: klobige Stichpunkte wieder dezent machen
   --------------------------------------------------------- */

.rg-leistungen .rg-lp-card-list,
.rg-leistungen .rg-lp-checklist {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.rg-leistungen .rg-lp-card-list li,
.rg-leistungen .rg-lp-checklist li {
	position: relative !important;
	padding-left: 1.35rem !important;
	margin-bottom: 0.68rem !important;
	line-height: 1.55 !important;
	color: var(--rg-muted) !important;
}

.rg-leistungen .rg-lp-card-list li::before,
.rg-leistungen .rg-lp-checklist li::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 0.68em !important;
	width: 0.42rem !important;
	height: 0.42rem !important;
	border-radius: 999px !important;
	background: #B85C3B !important;
	box-shadow: 0 0 0 4px rgba(184, 92, 59, 0.10) !important;
	background-image: none !important;
}

/* ---------------------------------------------------------
   2. FAQ-Seite: Icon-Hintergründe wieder warm einfärben
   --------------------------------------------------------- */

.rg-faq .rg-faq-item > summary::before {
	background-color: #F4EDE2 !important;
	box-shadow: none !important;
}

/* aktive FAQ-Kategorie darf orange bleiben */
.rg-faq .rg-faq-tab.is-active {
	background: #B85C3B !important;
	border-color: #B85C3B !important;
	color: #fff !important;
}

/* ---------------------------------------------------------
   3. Footer: alle Schriften, Linien und Symbole weiß
   --------------------------------------------------------- */

.rutengang-footer,
.rutengang-footer * {
	color: #fff !important;
}

.rutengang-footer a,
.rutengang-footer a:visited,
.rutengang-footer .wp-block-navigation-item__content {
	color: #fff !important;
	text-decoration: none !important;
}

.rutengang-footer a:hover,
.rutengang-footer .wp-block-navigation-item__content:hover {
	color: rgba(255,255,255,0.78) !important;
}

.rutengang-footer svg,
.rutengang-footer svg * {
	color: #fff !important;
	stroke: currentColor !important;
}

.rutengang-footer .rg-footer-separator,
.rutengang-footer hr {
	background: rgba(255,255,255,0.28) !important;
	border-color: rgba(255,255,255,0.28) !important;
}

/* ---------------------------------------------------------
   4. Kontaktseite: Hero-Button und Textlink zurücksetzen
   --------------------------------------------------------- */

/* Button-Text im Hero weiß */
.rg-kontakt .rgk-hero .rgk-button,
.rg-kontakt .rgk-hero .rgk-button:visited,
.rg-kontakt .rgk-button,
.rg-kontakt .rgk-button:visited {
	color: #fff !important;
}

/* Link daneben wieder blau, nicht orange */
.rg-kontakt .rgk-hero .rgk-textlink,
.rg-kontakt .rgk-hero .rgk-textlink:visited {
	color: var(--rg-blue-dark) !important;
	text-decoration-color: rgba(11,49,94,0.24) !important;
}

.rg-kontakt .rgk-hero .rgk-textlink:hover {
	color: var(--rg-blue) !important;
	text-decoration-color: var(--rg-blue) !important;
}

/* ---------------------------------------------------------
   5. Kontaktseite: E-Mail und Telefonnummer in Infokarte wieder blau
   --------------------------------------------------------- */

.rg-kontakt .rgk-contact-list a,
.rg-kontakt .rgk-contact-list a:visited,
.rg-kontakt .rgk-contact-list strong {
	color: var(--rg-blue-dark) !important;
}

/* ---------------------------------------------------------
   6. Kontaktseite: dunkle Karte "Unverbindlich" komplett weiß
   --------------------------------------------------------- */

.rg-kontakt .rgk-trust-card .rgk-kicker,
.rg-kontakt .rgk-trust-card h2,
.rg-kontakt .rgk-trust-card p,
.rg-kontakt .rgk-trust-card li {
	color: #fff !important;
}

/* "Unverbindlich" nicht orange, sondern weiß-dezent */
.rg-kontakt .rgk-trust-card .rgk-kicker {
	opacity: 0.82 !important;
	letter-spacing: 0.08em !important;
}

/* Die drei Stichpunkte rechts ruhiger gestalten */
.rg-kontakt .rgk-trust-card li {
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
	letter-spacing: 0 !important;
	color: rgba(255,255,255,0.92) !important;
}

/* Häkchen in der dunklen Karte sauber und dezenter */
.rg-kontakt .rgk-trust-card li::before {
	background: rgba(255,255,255,0.96) !important;
	color: var(--rg-blue-dark) !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	width: 1.18rem !important;
	height: 1.18rem !important;
	top: 0.14rem !important;
}
/* =========================================================
   FEINSCHLIFF:
   Nutzen-Icons orange, Startseiten-Hero-Akzente orange,
   Kontakt-Hero-Buttons stilistisch passender
   ========================================================= */

/* ---------------------------------------------------------
   1. Startseite: "Ihr Nutzen" – Icons + Kreis orange
   --------------------------------------------------------- */

.rg-benefit .rg-icon-ring {
	color: #B85C3B !important;
	border-color: rgba(184, 92, 59, 0.28) !important;
	background: rgba(184, 92, 59, 0.08) !important;
	box-shadow: none !important;
}

.rg-benefit .rg-icon-ring svg,
.rg-benefit .rg-icon-ring svg * {
	color: #B85C3B !important;
	stroke: currentColor !important;
}

/* ---------------------------------------------------------
   2. Startseite Hero:
   Unterzeile orange + rechter Button orange
   --------------------------------------------------------- */

/* Satz unter der Hauptüberschrift orange */
.home .rg-hero-text .rg-measure,
.front-page .rg-hero-text .rg-measure,
.rg-home .rg-hero-text .rg-measure {
	color: #B85C3B !important;
}

/* Rechter Hero-Button ("Kontakt aufnehmen") orange */
.home .rg-hero-buttons .wp-block-button.is-style-outline .wp-element-button,
.front-page .rg-hero-buttons .wp-block-button.is-style-outline .wp-element-button,
.rg-home .rg-hero-buttons .wp-block-button.is-style-outline .wp-element-button {
	color: #B85C3B !important;
	border-color: #B85C3B !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Hover dazu */
.home .rg-hero-buttons .wp-block-button.is-style-outline .wp-element-button:hover,
.front-page .rg-hero-buttons .wp-block-button.is-style-outline .wp-element-button:hover,
.rg-home .rg-hero-buttons .wp-block-button.is-style-outline .wp-element-button:hover {
	background: #B85C3B !important;
	color: #fff !important;
	border-color: #B85C3B !important;
}

/* ---------------------------------------------------------
   3. Kontaktseite Hero:
   Schrift bei beiden CTA-Elementen stilistisch harmonisieren
   --------------------------------------------------------- */

/* Primärer Button */
.rg-kontakt .rgk-hero .rgk-button,
.rg-kontakt .rgk-hero .rgk-button:visited {
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.15 !important;
	text-transform: none !important;
}

/* Textlink daneben */
.rg-kontakt .rgk-hero .rgk-textlink,
.rg-kontakt .rgk-hero .rgk-textlink:visited {
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.15 !important;
	text-transform: none !important;
}
/* =========================================================
   KORREKTUR: Hero-Feature-Überschriften, Icons blau,
   Header-Button orange
   ========================================================= */

/* 1. Hero-Feature-Überschriften wieder einheitlich blau und ruhig */
.rg-ts .rg-ts-hero .rg-ts-feat-title,
.rg-es .rg-ts-hero .rg-ts-feat-title {
	color: var(--rg-blue-dark) !important;
	font-family: inherit !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 0 0 0.35rem !important;
}

/* Untertexte darunter wie auf der Wissen-Seite ruhig grau/blau */
.rg-ts .rg-ts-hero .rg-ts-feat-text,
.rg-es .rg-ts-hero .rg-ts-feat-text {
	color: var(--rg-muted) !important;
	font-size: 0.98rem !important;
	line-height: 1.55 !important;
	font-weight: 400 !important;
	margin: 0 !important;
}

/* 2. Die drei Icons im Hero-Bereich wieder blau machen */
.rg-ts .rg-ts-hero .rg-ts-feat-icon,
.rg-es .rg-ts-hero .rg-ts-feat-icon {
	color: var(--rg-blue) !important;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* SVG-Linien der Icons blau */
.rg-ts .rg-ts-hero .rg-ts-feat-icon svg,
.rg-ts .rg-ts-hero .rg-ts-feat-icon svg *,
.rg-es .rg-ts-hero .rg-ts-feat-icon svg,
.rg-es .rg-ts-hero .rg-ts-feat-icon svg * {
	color: var(--rg-blue) !important;
	stroke: currentColor !important;
	fill: none !important;
}

/* 3. Header-Button "Angebot anfordern" orange */
.rutengang-header .rg-header-cta .wp-element-button {
	background: #B85C3B !important;
	border-color: #B85C3B !important;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(184, 92, 59, 0.22) !important;
}

/* Hover-Zustand etwas dunkler */
.rutengang-header .rg-header-cta .wp-element-button:hover {
	background: #9E4D31 !important;
	border-color: #9E4D31 !important;
	color: #fff !important;
}
/* =========================================================
   HERO-STIL ANGLEICHEN:
   Leistungen + Unterseiten wie Wissen-Seite
   ========================================================= */

/* ---------------------------------------------------------
   1. Hauptüberschriften im Hero:
   Leistungen, Technische Strahlung, Erdstrahlung
   --------------------------------------------------------- */

.rg-leistungen .rg-lp-hero-title,
.rg-ts .rg-ts-hero-title,
.rg-es .rg-ts-hero-title,
.rg-es .rg-es-hero-title {
	font-family: inherit !important;
	font-size: clamp(3.6rem, 6.4vw, 5.4rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: -0.035em !important;
	text-transform: none !important;
	color: var(--rg-blue-dark) !important;
	margin: 0 0 1.15rem !important;
	max-width: 760px !important;
}

/* ---------------------------------------------------------
   2. Orange Einleitungssätze direkt unter der Überschrift
   --------------------------------------------------------- */

/* Leistungen: erster Einleitungssatz */
.rg-leistungen .rg-lp-hero-lead,

/* Erdstrahlung: Unterzeile */
.rg-es .rg-es-hero-sub,

/* Technische Strahlung: kleine Zeile "Technische Strahlung" */
.rg-ts:not(.rg-es) .rg-ts-kicker {
	font-family: inherit !important;
	font-size: clamp(1.1rem, 1.6vw, 1.28rem) !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #B85C3B !important;
	margin: 0 0 1.2rem !important;
	max-width: 42rem !important;
}

/* ---------------------------------------------------------
   3. Normale Hero-Erklärungstexte darunter
   --------------------------------------------------------- */

/* Leistungen: normaler Absatz nach dem orangenen Lead */
.rg-leistungen .rg-lp-hero-text > p:not(.rg-lp-hero-lead),

/* Technische Strahlung und Erdstrahlung: normale Lead-Absätze */
.rg-ts .rg-ts-hero-lead,
.rg-es .rg-ts-hero-lead {
	font-family: inherit !important;
	font-size: 1.08rem !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	letter-spacing: 0 !important;
	color: var(--rg-muted) !important;
	max-width: 42rem !important;
	margin: 0 0 1.05rem !important;
}

/* ---------------------------------------------------------
   4. Leistungen: Linie unter der Überschrift entfernen
   Wissen-Seite hat dort keine harte Trennlinie im Hero
   --------------------------------------------------------- */

.rg-leistungen .rg-lp-hero .rg-lp-rule {
	display: none !important;
}

/* ---------------------------------------------------------
   5. Reihenfolge auf Technische-Strahlung-Seite:
   Überschrift zuerst, orange Zeile darunter, Text darunter
   --------------------------------------------------------- */

.rg-ts:not(.rg-es) .rg-ts-hero-content {
	display: flex !important;
	flex-direction: column !important;
}

.rg-ts:not(.rg-es) .rg-ts-hero-title {
	order: 1 !important;
}

.rg-ts:not(.rg-es) .rg-ts-kicker {
	order: 2 !important;
}

.rg-ts:not(.rg-es) .rg-ts-hero-lead {
	order: 3 !important;
}

/* Feature-Boxen im Hero danach lassen */
.rg-ts:not(.rg-es) .rg-ts-feats {
	order: 4 !important;
}

/* ---------------------------------------------------------
   6. Erdstrahlung: Reihenfolge ebenfalls sauber halten
   --------------------------------------------------------- */

.rg-es .rg-ts-hero-content {
	display: flex !important;
	flex-direction: column !important;
}

.rg-es .rg-ts-hero-title {
	order: 1 !important;
}

.rg-es .rg-es-hero-sub {
	order: 2 !important;
}

.rg-es .rg-ts-hero-lead {
	order: 3 !important;
}

.rg-es .rg-ts-feats {
	order: 4 !important;
}

/* ---------------------------------------------------------
   7. Mobile Ansicht: Überschriften kleiner halten
   --------------------------------------------------------- */

@media (max-width: 800px) {
	.rg-leistungen .rg-lp-hero-title,
	.rg-ts .rg-ts-hero-title,
	.rg-es .rg-ts-hero-title,
	.rg-es .rg-es-hero-title {
		font-size: clamp(2.7rem, 11vw, 3.7rem) !important;
		line-height: 1.03 !important;
		max-width: 100% !important;
	}

	.rg-leistungen .rg-lp-hero-lead,
	.rg-es .rg-es-hero-sub,
	.rg-ts:not(.rg-es) .rg-ts-kicker {
		font-size: 1.08rem !important;
		max-width: 100% !important;
	}

	.rg-leistungen .rg-lp-hero-text > p:not(.rg-lp-hero-lead),
	.rg-ts .rg-ts-hero-lead,
	.rg-es .rg-ts-hero-lead {
		max-width: 100% !important;
	}
}
/* =========================================================
   KORREKTUR:
   Wissen-Titel wieder blau,
   Erdstrahlung-Trennstrich orange,
   Hero-Überschriften wie Wissen-Seite
   ========================================================= */

/* ---------------------------------------------------------
   1. Wissen-Seite: Artikel- und Themenkartentitel wieder blau
   --------------------------------------------------------- */

.rg-wissen .rg-wi-post-title,
.rg-wissen .rg-wi-post-title a,
.rg-wissen .rg-wi-cat-title,
.rg-wissen .rg-wi-cat-title a {
	color: var(--rg-blue-dark) !important;
}

.rg-wissen .rg-wi-post-title a:hover,
.rg-wissen .rg-wi-cat-title a:hover {
	color: var(--rg-blue) !important;
}

/* Kleine Kategoriezeilen wie "ERDSTRAHLUNG · 5 MIN." dürfen orange bleiben */
.rg-wissen .rg-wi-post-meta {
	color: #B85C3B !important;
}

/* ---------------------------------------------------------
   2. Erdstrahlung-Seite:
   Trennstrich unter "Warum eine Analyse sinnvoll ist" orange
   --------------------------------------------------------- */

.rg-es .rg-es-why-rule {
	background: #B85C3B !important;
	border-color: #B85C3B !important;
}

/* ---------------------------------------------------------
   3. Hero-Überschriften auf Erdstrahlung und Technische Strahlung:
   gleiche Größe wie Wissen-Seite
   --------------------------------------------------------- */

.rg-ts .rg-ts-hero-title,
.rg-es .rg-ts-hero-title,
.rg-es .rg-es-hero-title {
	font-size: clamp(3rem, 6.5vw, 4.6rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: -0.025em !important;
	text-transform: none !important;
	color: var(--rg-blue-dark) !important;
	margin: 0 0 1.1rem !important;
	max-width: 760px !important;
}

/* Mobile Ansicht wie bei Wissen-Seite */
@media (max-width: 800px) {
	.rg-ts .rg-ts-hero-title,
	.rg-es .rg-ts-hero-title,
	.rg-es .rg-es-hero-title {
		font-size: clamp(2.6rem, 13vw, 3.4rem) !important;
		line-height: 1.03 !important;
		max-width: 100% !important;
	}
}
/* =========================================================
   Technische Strahlung:
   Hero-Feature-Bereich links ausrichten + Trennlinien entfernen
   ========================================================= */

/* Feature-Bereich auf der Technische-Strahlung-Seite weiter nach links setzen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats {
	width: min(100%, 760px) !important;
	max-width: 760px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-top: 2.2rem !important;
	padding-left: 0 !important;
	padding-right: 0 !important;

	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	column-gap: 2.2rem !important;
	row-gap: 1.6rem !important;
	align-items: start !important;
	justify-content: start !important;
}

/* Einzelne Feature-Spalten sauber ausrichten */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat {
	margin: 0 !important;
	padding: 0 !important;
	border-left: none !important;
	border-right: none !important;
	box-shadow: none !important;

	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr) !important;
	column-gap: 1rem !important;
	align-items: start !important;
}

/* Falls die Linien über Pseudo-Elemente erzeugt werden */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat::before,
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat::after {
	display: none !important;
	content: none !important;
}

/* Icon-Spalte ruhig halten */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-icon {
	margin: 0 !important;
	padding: 0 !important;
	width: 34px !important;
	height: 34px !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--rg-blue) !important;
}

/* Text linksbündig und einheitlich */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-body {
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

/* Überschriften in diesem Bereich einheitlich */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-title {
	margin: 0 0 0.45rem !important;
	color: var(--rg-blue-dark) !important;
	font-size: 1.05rem !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
}

/* Untertexte ruhiger */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-text {
	margin: 0 !important;
	color: var(--rg-muted) !important;
	font-size: 0.98rem !important;
	line-height: 1.55 !important;
}

/* Mobile Ansicht: untereinander */
@media (max-width: 800px) {
	.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats {
		grid-template-columns: 1fr !important;
		max-width: 100% !important;
	}

	.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat {
		grid-template-columns: 34px minmax(0, 1fr) !important;
	}
}
/* =========================================================
   Technische Strahlung:
   Hero-Inhalt weiter nach links + Iconfelder enger
   ========================================================= */

/* Gesamten Hero-Textbereich der Seite Technische Strahlung nach links schieben */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-hero-content {
	transform: translateX(-72px) !important;
	max-width: 720px !important;
}

/* Feature-Bereich unter dem Text ebenfalls kompakter machen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats {
	width: 640px !important;
	max-width: 640px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-top: 2rem !important;

	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	column-gap: 1.45rem !important;
	row-gap: 1.4rem !important;
	align-items: start !important;
	justify-content: start !important;
}

/* Einzelne Icon-Text-Felder enger und sauberer */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat {
	display: grid !important;
	grid-template-columns: 26px minmax(0, 1fr) !important;
	column-gap: 0.75rem !important;
	align-items: start !important;

	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* Trennlinien sicher entfernen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat::before,
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat::after {
	display: none !important;
	content: none !important;
}

/* Icons etwas kleiner und sauber linksbündig */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-icon {
	width: 24px !important;
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--rg-blue) !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* SVG-Größe der Icons */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-icon svg {
	width: 22px !important;
	height: 22px !important;
}

/* Überschriften in den drei Feature-Feldern */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-title {
	font-size: 0.9rem !important;
	line-height: 1.25 !important;
	margin: 0 0 0.35rem !important;
	color: var(--rg-blue-dark) !important;
}

/* Texte in den drei Feature-Feldern */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-text {
	font-size: 0.82rem !important;
	line-height: 1.45 !important;
	margin: 0 !important;
	color: var(--rg-muted) !important;
}

/* Auf kleineren Bildschirmen nicht nach links schieben */
@media (max-width: 900px) {
	.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-hero-content {
		transform: none !important;
		max-width: 100% !important;
	}

	.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats {
		width: 100% !important;
		max-width: 100% !important;
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   Technische Strahlung:
   Iconfelder im Hero bündig mit dem oberen Text ausrichten
   ========================================================= */

/* Die gesamte Icon-Zeile links exakt am Text ausrichten */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats {
	align-self: flex-start !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	transform: translateX(0) !important;
	width: 760px !important;
	max-width: 760px !important;
}

/* Falls die Icon-Zeile durch eine innere WordPress-Breite eingerückt wird */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats > * {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Die erste Icon-Spalte wirklich ganz links beginnen lassen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:first-child {
	margin-left: 0 !important;
	padding-left: 0 !important;
	justify-self: start !important;
}

/* Feature-Spalten gleichmäßig, aber nicht zu weit auseinander */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	column-gap: 1.7rem !important;
}

/* Einzelnes Icon/Text-Feld sauber linksbündig halten */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat {
	justify-self: start !important;
	text-align: left !important;
}
/* =========================================================
   Technische Strahlung:
   Feature-Texte im Hero bündig mit oberem Text ausrichten
   ========================================================= */

/* Ganze Icon-/Text-Zeile so verschieben, dass der Text bündig beginnt */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feats {
	transform: translateX(-64px) !important;
	width: 760px !important;
	max-width: 760px !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	column-gap: 1.7rem !important;
}

/* Die Felder behalten Icon links + Text rechts */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	column-gap: 0.85rem !important;
	align-items: start !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Textbereiche der drei Felder sauber linksbündig */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-body {
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

/* Überschriften und Texte in den Feldern ruhig halten */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-title,
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat-text {
	text-align: left !important;
}
/* =========================================================
   Technische Strahlung:
   Bildbereich hinter dem 3. Feature sanft aufhellen
   ========================================================= */

/* Hero-Bereich als Bezugspunkt */
.rg-ts:not(.rg-es) .rg-ts-hero {
	position: relative !important;
	overflow: hidden !important;
}

/* Inhalt immer über dem Aufheller halten */
.rg-ts:not(.rg-es) .rg-ts-hero > * {
	position: relative !important;
	z-index: 2 !important;
}

/* Sanfter heller Bereich nur hinter dem rechten dritten Feld */
.rg-ts:not(.rg-es) .rg-ts-hero::after {
	content: "" !important;
	position: absolute !important;
	right: 10px !important;
	bottom: 18px !important;
	width: 420px !important;
	height: 240px !important;
	pointer-events: none !important;
	z-index: 1 !important;

	background: radial-gradient(
		ellipse at center,
		rgba(255,255,255,0.42) 0%,
		rgba(255,255,255,0.28) 38%,
		rgba(255,255,255,0.14) 62%,
		rgba(255,255,255,0.00) 100%
	) !important;
}
/* =========================================================
   Technische Strahlung:
   Aufhellung direkt hinter dem 3. Hero-Feature
   ========================================================= */

/* Das dritte Feld als Bezugspunkt nehmen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3) {
	position: relative !important;
	z-index: 5 !important;
	isolation: isolate !important;
}

/* Text und Icon über der Aufhellung halten */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3) > * {
	position: relative !important;
	z-index: 2 !important;
}

/* Heller Bereich hinter dem dritten Feld */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3)::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	z-index: 1 !important;
	pointer-events: none !important;

	left: -60px !important;
	top: -42px !important;
	width: 360px !important;
	height: 190px !important;

	background: radial-gradient(
		ellipse at center,
		rgba(255,255,255,0.72) 0%,
		rgba(255,255,255,0.52) 35%,
		rgba(255,255,255,0.25) 65%,
		rgba(255,255,255,0) 100%
	) !important;
}

/* Falls vorherige Trennlinien-Regeln das Pseudo-Element versteckt haben */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3)::after {
	display: none !important;
	content: none !important;
}
/* =========================================================
   RÜCKGÄNGIG:
   weiße Aufhellungsfelder im Hero Technische Strahlung entfernen
   ========================================================= */

/* Aufhellung über dem Hero-Bild entfernen */
.rg-ts:not(.rg-es) .rg-ts-hero::after {
	display: none !important;
	content: none !important;
	background: none !important;
}

/* Weißes Feld hinter dem dritten Feature entfernen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3)::before {
	display: none !important;
	content: none !important;
	background: none !important;
}

/* Sicherheit: drittes Feature wieder normal darstellen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3) {
	isolation: auto !important;
	background: transparent !important;
	box-shadow: none !important;
}
/* =========================================================
   Technische Strahlung:
   rechten unteren Hero-Bereich sanft aufhellen
   ========================================================= */

/* Hero-Bereich als Bezugspunkt */
.rg-ts:not(.rg-es) .rg-ts-hero {
	position: relative !important;
	overflow: hidden !important;
}

/* Inhalt über der Aufhellung halten */
.rg-ts:not(.rg-es) .rg-ts-hero > * {
	position: relative !important;
	z-index: 2 !important;
}

/* Weiche Aufhellung nur im Bereich hinter dem 3. Feature */
.rg-ts:not(.rg-es) .rg-ts-hero::before {
	content: "" !important;
	position: absolute !important;
	right: 35px !important;
	bottom: 25px !important;
	width: 300px !important;
	height: 220px !important;
	border-radius: 999px !important;
	pointer-events: none !important;
	z-index: 1 !important;

	background: rgba(255,255,255,0.20) !important;
	filter: blur(55px) !important;
}
/* =========================================================
   WIEDERHERSTELLUNG:
   Technische-Strahlung-Hero: ursprünglichen Hellverlauf zurückholen
   und weiße Zusatzfelder entfernen
   ========================================================= */

/* Den normalen linken Hellverlauf wiederherstellen */
.rg-ts:not(.rg-es) .rg-ts-hero::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	border-radius: 0 !important;
	filter: none !important;
	width: auto !important;
	height: auto !important;
	right: auto !important;
	bottom: auto !important;

	background: linear-gradient(
		90deg,
		rgba(248,245,240,0.99) 0%,
		rgba(248,245,240,0.97) 26%,
		rgba(248,245,240,0.82) 42%,
		rgba(248,245,240,0.42) 58%,
		rgba(248,245,240,0.08) 74%,
		rgba(248,245,240,0) 88%
	) !important;
}

/* Weiße Zusatzfläche hinter dem dritten Feature sicher entfernen */
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3)::before,
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3)::after {
	display: none !important;
	content: none !important;
	background: none !important;
}

/* Inhalt bleibt über dem Verlauf */
.rg-ts:not(.rg-es) .rg-ts-hero > .rg-ts-hero-inner {
	position: relative !important;
	z-index: 1 !important;
}
/* =========================================================
   Technische Strahlung:
   Hero-Hintergrund gleichmäßig stärker aufhellen
   ohne sichtbare weiße Felder
   ========================================================= */

.rg-ts:not(.rg-es) .rg-ts-hero::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background: linear-gradient(
		90deg,
		rgba(248,245,240,0.99) 0%,
		rgba(248,245,240,0.98) 30%,
		rgba(248,245,240,0.90) 48%,
		rgba(248,245,240,0.68) 62%,
		rgba(248,245,240,0.38) 74%,
		rgba(248,245,240,0.12) 86%,
		rgba(248,245,240,0.00) 100%
	) !important;
}

/* Hero-Inhalt sicher über dem Verlauf halten */
.rg-ts:not(.rg-es) .rg-ts-hero > .rg-ts-hero-inner {
	position: relative !important;
	z-index: 1 !important;
}

/* Keine zusätzlichen weißen Felder verwenden */
.rg-ts:not(.rg-es) .rg-ts-hero::after,
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3)::before,
.rg-ts:not(.rg-es) .rg-ts-hero .rg-ts-feat:nth-child(3)::after {
	display: none !important;
	content: none !important;
	background: none !important;
}
/* Header: Geomera-Logo etwas nach rechts verschieben */
.rutengang-header .rg-brand-logo-link {
	margin-left: 28px !important;
}
/* Header: Geomera-Logo etwas größer */
.rutengang-header .rg-brand-logo-link {
	flex: 0 0 430px !important;
	width: 430px !important;
	max-width: 430px !important;
	margin-left: 90px !important;
}

.rutengang-header .rg-header-logo-img {
	height: 110px !important;
	max-width: 430px !important;
	width: auto !important;
	object-fit: contain !important;
	transform: none !important;
}
/* =========================================================
   Startseite: "Das sagen Kunden" und "Über mich" ausrichten
   ========================================================= */

/* Über-mich-Textbereich etwas nach oben ziehen */
.rg-bottom-section .rg-about-card .rg-about-text {
	transform: translateY(-18px) !important;
}

/* Sicherstellen, dass beide oberen Labels gleich wirken */
.rg-bottom-section .rg-testi .rg-kicker,
.rg-bottom-section .rg-about-card .rg-kicker {
	margin-top: 0 !important;
}
/* Technische-Strahlung-Icon in der Leistungskarte leicht nach rechts schieben */
.rg-services-grid .rg-service.is-fields > .rg-icon-circle svg {
	transform: translateX(0px) !important;
}
/* =========================================================
   Wissen-Seite: Brevo Newsletter exakt an bestehendes Design anpassen
   ========================================================= */

/* Brevo darf den Kasten nicht vergrößern oder eigenes Design erzwingen */
.rg-brevo-inline-newsletter,
.rg-brevo-inline-newsletter *,
.rg-brevo-inline-newsletter *::before,
.rg-brevo-inline-newsletter *::after {
	box-sizing: border-box !important;
}

.rg-brevo-inline-newsletter {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: inherit !important;
}

/* Erfolg-/Fehlermeldungen am Anfang komplett ausblenden */
.rg-brevo-inline-newsletter #error-message,
.rg-brevo-inline-newsletter #success-message,
.rg-brevo-inline-newsletter .sib-form-message-panel {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Formular selbst */
.rg-brevo-inline-newsletter .rg-brevo-form {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: inherit !important;
}

/* Erste Zeile: E-Mail-Feld + Button wie vorher */
.rg-brevo-inline-newsletter .rg-brevo-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 160px !important;
	gap: 0.8rem !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Label ausblenden, damit es wieder so aussieht wie vorher */
.rg-brevo-inline-newsletter .rg-brevo-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

/* E-Mail-Feld */
.rg-brevo-inline-newsletter .rg-brevo-email {
	width: 100% !important;
	height: 70px !important;
	min-height: 70px !important;
	margin: 0 !important;
	padding: 0 1.35rem !important;
	background: #fbfcfe !important;
	border: 1px solid #dfe5ec !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	outline: none !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 70px !important;
	color: var(--rg-blue-dark) !important;
	text-align: left !important;
}

.rg-brevo-inline-newsletter .rg-brevo-email::placeholder {
	color: #9aa4b0 !important;
}

.rg-brevo-inline-newsletter .rg-brevo-email:focus {
	border-color: #B85C3B !important;
	box-shadow: 0 0 0 3px rgba(184, 92, 59, 0.12) !important;
}

/* Button wieder wie vorher orange */
.rg-brevo-inline-newsletter .rg-brevo-submit {
	width: 160px !important;
	height: 70px !important;
	min-height: 70px !important;
	margin: 0 !important;
	padding: 0 1.4rem !important;
	background: #B85C3B !important;
	border: 0 !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-transform: none !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.rg-brevo-inline-newsletter .rg-brevo-submit:hover {
	background: #9E4D31 !important;
	color: #fff !important;
}

/* Brevo-Ladesymbol verstecken */
.rg-brevo-inline-newsletter .rg-brevo-submit svg,
.rg-brevo-inline-newsletter .sib-hide-loader-icon {
	display: none !important;
}

/* Checkbox klein und sauber unter dem Formular */
.rg-brevo-inline-newsletter .rg-brevo-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.55rem !important;
	width: 100% !important;
	margin: 0.75rem 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 0.78rem !important;
	font-weight: 400 !important;
	line-height: 1.42 !important;
	color: var(--rg-muted) !important;
	text-align: left !important;
}

.rg-brevo-inline-newsletter .rg-brevo-checkbox input {
	width: 15px !important;
	height: 15px !important;
	min-width: 15px !important;
	margin: 0.15rem 0 0 !important;
	padding: 0 !important;
	accent-color: #B85C3B !important;
}

.rg-brevo-inline-newsletter .rg-brevo-checkbox span {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

.rg-brevo-inline-newsletter .rg-brevo-checkbox a {
	color: #B85C3B !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.rg-brevo-inline-newsletter .rg-brevo-checkbox a:hover {
	text-decoration: underline !important;
}

/* Brevo-Hinweis dezent darunter */
.rg-brevo-inline-newsletter .rg-brevo-provider-note {
	width: 100% !important;
	margin: 0.45rem 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 0.72rem !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: rgba(70, 83, 102, 0.72) !important;
	text-align: left !important;
}

/* Verstecktes Spam-Feld wirklich verstecken */
.rg-brevo-inline-newsletter .input--hidden,
.rg-brevo-inline-newsletter input[name="email_address_check"] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

/* Fehlermeldungen von einzelnen Feldern dezent */
.rg-brevo-inline-newsletter .entry__error {
	display: block !important;
	margin: 0.45rem 0 0 !important;
	padding: 0.5rem 0.7rem !important;
	border-radius: 10px !important;
	font-size: 0.78rem !important;
	line-height: 1.35 !important;
	color: #7f1d1d !important;
	background: #fff1f1 !important;
	border: 1px solid #fecaca !important;
	text-align: left !important;
}

/* Mobile Darstellung */
@media (max-width: 720px) {
	.rg-brevo-inline-newsletter .rg-brevo-row {
		grid-template-columns: 1fr !important;
	}

	.rg-brevo-inline-newsletter .rg-brevo-submit {
		width: 100% !important;
	}
}
/* =========================================================
   Kontaktseite: Live-Formular schön formatieren
   ========================================================= */

.rg-kontakt .rg-live-contact-wrap {
	width: 100% !important;
	margin-top: 2rem !important;
}

.rg-kontakt .rg-live-contact-form {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 1.25rem 1.2rem !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rg-kontakt .rg-live-form-row {
	display: contents !important;
}

.rg-kontakt .rg-live-form-field {
	width: 100% !important;
	margin: 0 !important;
}

.rg-kontakt .rg-live-form-field:nth-of-type(5),
.rg-kontakt .rg-live-form-field:has(textarea),
.rg-kontakt .rg-live-form-check,
.rg-kontakt .rg-live-form-submit {
	grid-column: 1 / -1 !important;
}

.rg-kontakt .rg-live-form-field label {
	display: block !important;
	margin: 0 0 0.45rem !important;
	font-family: inherit !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--rg-blue-dark) !important;
}

.rg-kontakt .rg-live-form-field input,
.rg-kontakt .rg-live-form-field textarea {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	border: 1px solid #dce5ef !important;
	border-radius: 14px !important;
	background: #fbfcfe !important;
	color: var(--rg-blue-dark) !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.rg-kontakt .rg-live-form-field input {
	height: 58px !important;
	min-height: 58px !important;
	padding: 0 1.1rem !important;
}

.rg-kontakt .rg-live-form-field textarea {
	min-height: 205px !important;
	padding: 1rem 1.1rem !important;
	resize: vertical !important;
}

.rg-kontakt .rg-live-form-field input::placeholder,
.rg-kontakt .rg-live-form-field textarea::placeholder {
	color: #9aa7b6 !important;
	opacity: 1 !important;
}

.rg-kontakt .rg-live-form-field input:focus,
.rg-kontakt .rg-live-form-field textarea:focus {
	background: #ffffff !important;
	border-color: #B85C3B !important;
	box-shadow: 0 0 0 3px rgba(184, 92, 59, 0.13) !important;
}

.rg-kontakt .rg-live-form-check {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.75rem !important;
	width: 100% !important;
	margin: 0.25rem 0 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	color: var(--rg-muted) !important;
}

.rg-kontakt .rg-live-form-check input {
	width: 17px !important;
	height: 17px !important;
	min-width: 17px !important;
	margin: 0.35rem 0 0 !important;
	padding: 0 !important;
	accent-color: #B85C3B !important;
}

.rg-kontakt .rg-live-form-check span {
	display: block !important;
	color: inherit !important;
}

.rg-kontakt .rg-live-form-check a {
	color: #B85C3B !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.rg-kontakt .rg-live-form-check a:hover {
	text-decoration: underline !important;
}

.rg-kontakt .rg-live-form-submit {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 64px !important;
	margin: 0.35rem 0 0 !important;
	padding: 0.9rem 1.5rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--rg-blue) !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer !important;
	box-shadow: 0 14px 30px rgba(16, 55, 98, 0.18) !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.rg-kontakt .rg-live-form-submit:hover {
	background: var(--rg-blue-dark) !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 18px 36px rgba(16, 55, 98, 0.24) !important;
}

.rg-kontakt .rg-live-form-message {
	grid-column: 1 / -1 !important;
	margin: 0 0 0.75rem !important;
	padding: 1rem 1.15rem !important;
	border-radius: 14px !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
}

.rg-kontakt .rg-live-form-success {
	background: #ecfdf3 !important;
	color: #14532d !important;
	border: 1px solid #bbf7d0 !important;
}

.rg-kontakt .rg-live-form-error {
	background: #fff1f1 !important;
	color: #7f1d1d !important;
	border: 1px solid #fecaca !important;
}

@media (max-width: 820px) {
	.rg-kontakt .rg-live-contact-form {
		grid-template-columns: 1fr !important;
	}

	.rg-kontakt .rg-live-form-field,
	.rg-kontakt .rg-live-form-check,
	.rg-kontakt .rg-live-form-submit {
		grid-column: 1 / -1 !important;
	}
}
/* =========================================================
   GLOBALER MOBILE-FIX FÜR GEOMERA
   Muss ganz unten in der style.css stehen
   ========================================================= */

html,
body {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

img,
video,
iframe {
	max-width: 100% !important;
	height: auto !important;
}

body {
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

/* ---------------------------------------------------------
   Tablet und kleine Laptops
   --------------------------------------------------------- */

@media (max-width: 1024px) {

	/* Allgemeine Container */
	.rg-container,
	.rgk-container,
	.rg-ts-container,
	.rg-es-container,
	.rg-wi-container,
	.wp-block-group,
	main > section > div {
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}

	/* Mehrspaltige Layouts auf 1 Spalte bringen */
	.rgk-hero-grid,
	.rgk-contact-grid,
	.rgk-final-card,
	.rg-ts-hero-inner,
	.rg-es-hero-inner,
	.rg-wi-hero-grid,
	.rg-wi-featured-grid,
	.rg-wi-newsletter-grid,
	.rg-lp-hero-grid,
	.rg-lp-grid,
	.rg-home-hero-grid,
	.rg-benefit-grid,
	.rg-service-grid,
	.rg-process-grid,
	.rg-footer-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}

	/* Kartenraster auf 2 Spalten */
	.rgk-reason-grid,
	.rgk-steps,
	.rg-wi-post-grid,
	.rg-wi-cat-grid,
	.rg-faq-grid,
	.rg-card-grid,
	.rg-feature-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.2rem !important;
	}
}

/* ---------------------------------------------------------
   Handy
   --------------------------------------------------------- */

@media (max-width: 720px) {

	body {
		font-size: 16px !important;
		line-height: 1.55 !important;
	}

	/* Seitenabstände */
	main,
	.rg-kontakt,
	.rg-wissen,
	.rg-ts,
	.rg-es,
	.rg-leistungen,
	.rg-home,
	.rg-faq {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.rg-container,
	.rgk-container,
	.rg-ts-container,
	.rg-es-container,
	.rg-wi-container,
	.wp-block-group,
	main > section > div {
		padding-left: 1.1rem !important;
		padding-right: 1.1rem !important;
	}

	/* Sektionen kompakter */
	section,
	.rgk-section,
	.rg-ts-section,
	.rg-es-section,
	.rg-wi-section {
		padding-top: 3.2rem !important;
		padding-bottom: 3.2rem !important;
	}

	/* Hero-Bereiche */
	.rgk-hero,
	.rg-ts-hero,
	.rg-es-hero,
	.rg-wi-hero,
	.rg-home-hero,
	.rg-lp-hero {
		padding-top: 2.4rem !important;
		padding-bottom: 2.6rem !important;
		min-height: auto !important;
	}

	.rgk-hero-grid,
	.rgk-contact-grid,
	.rgk-final-card,
	.rg-ts-hero-inner,
	.rg-es-hero-inner,
	.rg-wi-hero-grid,
	.rg-wi-featured-grid,
	.rg-wi-newsletter-grid,
	.rg-lp-hero-grid,
	.rg-lp-grid,
	.rg-home-hero-grid,
	.rg-benefit-grid,
	.rg-service-grid,
	.rg-process-grid,
	.rg-footer-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}

	/* Bilder im Hero */
	.rgk-hero-image,
	.rgk-hero-image img,
	.rgk-final-card figure,
	.rgk-final-card figure img,
	.rg-ts-hero-media,
	.rg-ts-hero-media img,
	.rg-es-hero-media,
	.rg-es-hero-media img,
	.rg-wi-hero-image,
	.rg-wi-hero-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		border-radius: 18px !important;
		object-fit: cover !important;
	}

	/* Große Überschriften mobil kleiner */
	h1,
	.rgk-hero h1,
	.rg-ts-hero-title,
	.rg-es-hero-title,
	.rg-wi-hero-title,
	.rg-lp-hero h1,
	.rg-home-hero h1 {
		font-size: clamp(2.25rem, 12vw, 3.15rem) !important;
		line-height: 1.02 !important;
		letter-spacing: -0.035em !important;
		max-width: 100% !important;
	}

	h2,
	.rgk-section h2,
	.rg-wi-section h2,
	.rg-ts-section h2,
	.rg-es-section h2 {
		font-size: clamp(1.85rem, 8vw, 2.45rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
	}

	h3 {
		font-size: 1.15rem !important;
		line-height: 1.25 !important;
	}

	p,
	li {
		font-size: 1rem !important;
		line-height: 1.58 !important;
	}

	/* Buttons untereinander */
	.rgk-actions,
	.rg-actions,
	.rg-hero-actions,
	.wp-block-buttons {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.85rem !important;
		width: 100% !important;
	}

	.rgk-button,
	.rg-button,
	.wp-block-button,
	.wp-block-button__link,
	.rg-header-cta .wp-block-button__link {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	/* Kartenraster auf 1 Spalte */
	.rgk-reason-grid,
	.rgk-steps,
	.rg-wi-post-grid,
	.rg-wi-cat-grid,
	.rg-faq-grid,
	.rg-card-grid,
	.rg-feature-grid,
	.rg-benefit-grid,
	.rg-service-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}

	/* Karten */
	.rgk-card,
	.rgk-mini-card,
	.rgk-step,
	.rg-wi-post,
	.rg-wi-cat,
	.rg-card,
	.rg-feature,
	.rg-benefit,
	.rg-service-card {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 1.45rem !important;
		border-radius: 18px !important;
	}

	/* Kontaktformular mobil */
	body #kontaktseite .rg-live-contact-form,
	body #kontaktseite .rg-live-form-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.8rem !important;
		width: 100% !important;
	}

	body #kontaktseite .rg-live-form-field input {
		height: 50px !important;
		min-height: 50px !important;
	}

	body #kontaktseite .rg-live-form-field textarea {
		min-height: 145px !important;
	}

	body #kontaktseite .rg-live-form-submit {
		width: 100% !important;
		min-height: 56px !important;
	}

	/* Newsletter mobil */
	.rg-brevo-inline-newsletter .rg-brevo-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.8rem !important;
	}

	.rg-brevo-inline-newsletter .rg-brevo-submit {
		width: 100% !important;
	}

	/* Footer mobil */
	.rutengang-footer,
	.rutengang-footer .wp-block-group {
		text-align: left !important;
	}

	.rutengang-footer .wp-block-columns,
	.rutengang-footer .wp-block-group {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.4rem !important;
	}

	/* Header mobil */
	.rutengang-header > .wp-block-group {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.rg-header-logo-img {
		max-width: 150px !important;
		height: auto !important;
	}

	.rg-header-cta {
		display: none !important;
	}

	.wp-block-navigation {
		max-width: 100% !important;
	}
}

/* ---------------------------------------------------------
   Sehr kleine Handys
   --------------------------------------------------------- */

@media (max-width: 480px) {

	.rg-container,
	.rgk-container,
	.rg-ts-container,
	.rg-es-container,
	.rg-wi-container,
	.wp-block-group,
	main > section > div {
		padding-left: 0.95rem !important;
		padding-right: 0.95rem !important;
	}

	h1,
	.rgk-hero h1,
	.rg-ts-hero-title,
	.rg-es-hero-title,
	.rg-wi-hero-title,
	.rg-lp-hero h1,
	.rg-home-hero h1 {
		font-size: 2.25rem !important;
	}

	h2,
	.rgk-section h2,
	.rg-wi-section h2,
	.rg-ts-section h2,
	.rg-es-section h2 {
		font-size: 1.9rem !important;
	}

	.rgk-card,
	.rgk-mini-card,
	.rgk-step,
	.rg-wi-post,
	.rg-wi-cat,
	.rg-card,
	.rg-feature,
	.rg-benefit,
	.rg-service-card {
		padding: 1.25rem !important;
	}

	.rgk-hero-image img,
	.rgk-final-card figure img,
	.rg-wi-post-img img,
	.rg-wi-featured-img img {
		border-radius: 16px !important;
	}
}
/* =========================================================
   GEOMERA MOBILE-FIX V2
   Ganz unten in style.css einfügen.
   ========================================================= */

html,
body {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

body {
	-webkit-text-size-adjust: 100% !important;
	text-size-adjust: 100% !important;
}

img,
svg,
video,
iframe {
	max-width: 100% !important;
	height: auto !important;
}

/* ---------- Mobile Menü ---------- */
.rg-mobile-menu {
	display: none;
}

@media (max-width: 782px) {
	.rutengang-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 9999 !important;
		background: rgba(255,255,255,0.96) !important;
		backdrop-filter: blur(10px) !important;
		box-shadow: 0 1px 0 rgba(15,55,98,0.08) !important;
	}

	.rutengang-header > .wp-block-group,
	.rutengang-header .wp-block-group.is-nowrap {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 1rem !important;
		width: 100% !important;
		padding: 0.75rem 1rem !important;
		box-sizing: border-box !important;
	}

	.rg-header-logo-img {
		width: auto !important;
		max-width: 138px !important;
		height: auto !important;
		display: block !important;
	}

	.rutengang-header .wp-block-navigation,
	.rutengang-header .rg-header-cta {
		display: none !important;
	}

	.rg-mobile-menu {
		display: block !important;
		margin-left: auto !important;
		font-family: inherit !important;
	}

	.rg-mobile-menu summary {
		list-style: none !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 42px !important;
		padding: 0 1rem !important;
		border-radius: 999px !important;
		background: #103762 !important;
		color: #fff !important;
		font-size: 0.92rem !important;
		font-weight: 800 !important;
		cursor: pointer !important;
		box-shadow: 0 10px 24px rgba(16,55,98,0.18) !important;
	}

	.rg-mobile-menu summary::-webkit-details-marker {
		display: none !important;
	}

	.rg-mobile-menu summary::after {
		content: "☰" !important;
		font-size: 1rem !important;
		line-height: 1 !important;
		margin-left: 0.55rem !important;
	}

	.rg-mobile-menu[open] summary::after {
		content: "×" !important;
		font-size: 1.25rem !important;
	}

	.rg-mobile-menu nav {
		position: absolute !important;
		top: calc(100% + 0.6rem) !important;
		left: 1rem !important;
		right: 1rem !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0 !important;
		padding: 0.75rem !important;
		border: 1px solid #dce5ef !important;
		border-radius: 20px !important;
		background: #fff !important;
		box-shadow: 0 20px 46px rgba(16,55,98,0.16) !important;
	}

	.rg-mobile-menu nav a {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0.85rem 0.85rem !important;
		border-radius: 12px !important;
		color: #103762 !important;
		font-size: 1rem !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
	}

	.rg-mobile-menu nav a:hover,
	.rg-mobile-menu nav a:focus {
		background: #f4f7fb !important;
	}

	.rg-mobile-menu nav a.rg-mobile-menu-cta {
		justify-content: center !important;
		margin-top: 0.45rem !important;
		background: #B85C3B !important;
		color: #fff !important;
		box-shadow: 0 12px 26px rgba(184,92,59,0.18) !important;
	}
}

/* ---------- Grundlayout mobil ---------- */
@media (max-width: 782px) {
	main,
	main * {
		box-sizing: border-box !important;
	}

	main {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.rg-container,
	.rgk-container,
	.rg-wi-container,
	.rg-ts-container,
	.rg-es-container,
	.rg-lp-container,
	.rg-ub-container,
	main > section > div,
	.wp-site-blocks > main > section > div {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	main section,
	.rgk-section,
	.rg-wi-section,
	.rg-ts-section,
	.rg-es-section,
	.rg-lp-section,
	.rg-ub-section {
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	main [class*="-grid"],
	main .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.35rem !important;
	}

	main [class*="-card"],
	main [class*="-post"],
	main [class*="-step"],
	main [class*="-benefit"],
	main [class*="-feature"] {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: auto !important;
	}

	h1,
	.rgk-hero h1,
	.rg-wi-hero-title,
	.rg-ts-hero-title,
	.rg-es-hero-title,
	.rg-lp-hero h1,
	.rg-ub-hero-title,
	.rg-home-hero h1 {
		font-size: clamp(2.15rem, 12vw, 3rem) !important;
		line-height: 1.04 !important;
		letter-spacing: -0.035em !important;
		max-width: 100% !important;
	}

	h2,
	.rgk-section h2,
	.rg-wi-section h2,
	.rg-ts-section h2,
	.rg-es-section h2,
	.rg-lp-section h2,
	.rg-ub-section h2 {
		font-size: clamp(1.8rem, 8.5vw, 2.35rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
	}

	p,
	li {
		font-size: 1rem !important;
		line-height: 1.58 !important;
	}

	/* Hero mobil */
	.rgk-hero,
	.rg-wi-hero,
	.rg-ts-hero,
	.rg-es-hero,
	.rg-lp-hero,
	.rg-ub-hero,
	.rg-home-hero {
		padding-top: 2.2rem !important;
		padding-bottom: 2.5rem !important;
		min-height: auto !important;
	}

	.rgk-hero-image,
	.rgk-hero-image img,
	.rgk-final-card figure,
	.rgk-final-card figure img,
	.rg-wi-hero-image,
	.rg-wi-hero-image img,
	.rg-ts-hero-media,
	.rg-ts-hero-media img,
	.rg-es-hero-media,
	.rg-es-hero-media img,
	.rg-ub-hero,
	.rg-ub-hero img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		object-fit: cover !important;
		border-radius: 18px !important;
	}

	/* Buttons mobil */
	.rgk-actions,
	.rg-actions,
	.rg-hero-actions,
	.wp-block-buttons {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.8rem !important;
		width: 100% !important;
		align-items: stretch !important;
	}

	.rgk-button,
	.rg-button,
	.wp-block-button,
	.wp-block-button__link {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	.rgk-textlink,
	.rg-textlink {
		text-align: center !important;
		justify-content: center !important;
	}
}

/* ---------- Kontaktseite: starke mobile Korrektur ---------- */
@media (max-width: 782px) {
	html body #kontaktseite .rgk-contact-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.25rem !important;
	}

	html body #kontaktseite .rgk-card,
	html body #kontaktseite .rgk-form-card,
	html body #kontaktseite .rgk-info-card,
	html body #kontaktseite .rgk-mini-card,
	html body #kontaktseite .rgk-step,
	html body #kontaktseite .rgk-trust-card,
	html body #kontaktseite .rgk-final-card {
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
		padding: 1.35rem !important;
		border-radius: 18px !important;
	}

	html body #kontaktseite .rg-live-contact-wrap {
		margin-top: 1.2rem !important;
	}

	html body #kontaktseite .rg-live-contact-form,
	html body #kontaktseite .rg-live-form-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;
	}

	html body #kontaktseite .rg-live-form-field label {
		margin-bottom: 0.25rem !important;
		font-size: 0.88rem !important;
	}

	html body #kontaktseite .rg-live-form-field input {
		height: 50px !important;
		min-height: 50px !important;
		padding: 0 0.95rem !important;
	}

	html body #kontaktseite .rg-live-form-field textarea {
		min-height: 138px !important;
		padding: 0.85rem 0.95rem !important;
	}

	html body #kontaktseite .rg-live-form-check {
		font-size: 0.86rem !important;
		line-height: 1.42 !important;
		gap: 0.55rem !important;
	}

	html body #kontaktseite .rg-live-form-submit {
		width: 100% !important;
		min-height: 54px !important;
		font-size: 0.98rem !important;
	}

	html body #kontaktseite .rgk-reason-grid,
	html body #kontaktseite .rgk-steps {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		margin-top: 1.5rem !important;
	}

	html body #kontaktseite .rgk-mini-card {
		background: transparent !important;
		box-shadow: none !important;
	}

	html body #kontaktseite .rgk-mini-card .rgk-icon {
		display: none !important;
	}

	html body #kontaktseite .rgk-step {
		background: #f7f8fb !important;
		border: 1px solid #dce5ef !important;
		box-shadow: none !important;
	}

	html body #kontaktseite .rgk-step > span {
		width: 48px !important;
		height: 48px !important;
		margin-bottom: 0.85rem !important;
	}

	html body #kontaktseite .rgk-trust-card {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}

	html body #kontaktseite .rgk-final-card {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0 !important;
		overflow: hidden !important;
	}
}

/* ---------- Wissen / Blog mobil ---------- */
@media (max-width: 782px) {
	.rg-wi-post-grid,
	.rg-wi-cat-grid,
	.rg-wi-featured-grid,
	.rg-wi-newsletter-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.2rem !important;
	}

	.rg-wi-post,
	.rg-wi-cat,
	.rg-wi-featured,
	.rg-wi-newsletter {
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
	}
}

/* ---------- Footer mobil ---------- */
@media (max-width: 782px) {
	.rutengang-footer,
	.rutengang-footer .wp-block-group {
		text-align: left !important;
	}

	.rutengang-footer .wp-block-columns,
	.rutengang-footer .wp-block-group,
	.rutengang-footer nav,
	.rutengang-footer ul {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}
}
/* =========================================================
   GEOMERA FINALER MOBILE-FIX FÜR ALLE SEITEN
   Nach Header- und Viewport-Fix
   Ganz unten in style.css lassen
   ========================================================= */

html,
body {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

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

img,
video,
iframe,
figure {
	max-width: 100% !important;
}

img {
	height: auto !important;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

	/* Hauptcontainer allgemein */
	.rg-container,
	.rgk-container,
	.rg-ts-container,
	.rg-es-container,
	.rg-wi-container,
	.rg-ub-container,
	.wp-block-group,
	main > section > div {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
	}

	/* Alle großen 2-Spalten-Layouts auf Tablet sauber umbrechen */
	.rgk-hero-grid,
	.rgk-contact-grid,
	.rgk-final-card,
	.rg-ts-hero-inner,
	.rg-es-hero-inner,
	.rg-wi-hero-grid,
	.rg-wi-featured-grid,
	.rg-wi-newsletter-grid,
	.rg-lp-hero-grid,
	.rg-lp-grid,
	.rg-home-hero-grid,
	.rg-benefit-grid,
	.rg-service-grid,
	.rg-process-grid,
	.rg-footer-grid,
	.rg-ub-grid,
	.rg-ub-hero-grid,
	.rg-ub-split,
	.rg-ub-final-card {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}

	/* Kartenraster auf Tablet maximal 2 Spalten */
	.rgk-reason-grid,
	.rgk-steps,
	.rg-wi-post-grid,
	.rg-wi-cat-grid,
	.rg-faq-grid,
	.rg-card-grid,
	.rg-feature-grid,
	.rg-benefit-grid,
	.rg-service-grid,
	.rg-lp-card-grid,
	.rg-ts-grid,
	.rg-es-grid,
	.rg-ub-cards,
	.rg-ub-steps {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.25rem !important;
	}
}


/* ---------------------------------------------------------
   HANDY
   --------------------------------------------------------- */

@media (max-width: 720px) {

	body {
		font-size: 16px !important;
		line-height: 1.55 !important;
	}

	main,
	.rg-kontakt,
	.rg-wissen,
	.rg-ts,
	.rg-es,
	.rg-leistungen,
	.rg-home,
	.rg-faq,
	.rg-ub,
	.rg-single {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	/* Grundabstand links/rechts */
	.rg-container,
	.rgk-container,
	.rg-ts-container,
	.rg-es-container,
	.rg-wi-container,
	.rg-ub-container,
	.wp-block-group,
	main > section > div {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.1rem !important;
		padding-right: 1.1rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Sektionen mobil kompakter */
	section,
	.rgk-section,
	.rg-ts-section,
	.rg-es-section,
	.rg-wi-section,
	.rg-ub-section,
	.rg-lp-section {
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	/* Hero-Bereiche mobil */
	.rgk-hero,
	.rg-ts-hero,
	.rg-es-hero,
	.rg-wi-hero,
	.rg-home-hero,
	.rg-lp-hero,
	.rg-ub-hero {
		padding-top: 2.4rem !important;
		padding-bottom: 2.6rem !important;
		min-height: auto !important;
	}

	/* Alle großen Layouts einspaltig */
	.rgk-hero-grid,
	.rgk-contact-grid,
	.rgk-final-card,
	.rg-ts-hero-inner,
	.rg-es-hero-inner,
	.rg-wi-hero-grid,
	.rg-wi-featured-grid,
	.rg-wi-newsletter-grid,
	.rg-lp-hero-grid,
	.rg-lp-grid,
	.rg-home-hero-grid,
	.rg-benefit-grid,
	.rg-service-grid,
	.rg-process-grid,
	.rg-footer-grid,
	.rg-ub-grid,
	.rg-ub-hero-grid,
	.rg-ub-split,
	.rg-ub-final-card,
	.wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}

	.wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Alle Kartenraster einspaltig */
	.rgk-reason-grid,
	.rgk-steps,
	.rg-wi-post-grid,
	.rg-wi-cat-grid,
	.rg-faq-grid,
	.rg-card-grid,
	.rg-feature-grid,
	.rg-benefit-grid,
	.rg-service-grid,
	.rg-lp-card-grid,
	.rg-ts-grid,
	.rg-es-grid,
	.rg-ub-cards,
	.rg-ub-steps,
	.wp-block-query ul,
	.wp-block-post-template {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}

	/* Bilder */
	.rgk-hero-image,
	.rgk-hero-image img,
	.rgk-final-card figure,
	.rgk-final-card figure img,
	.rg-ts-hero-media,
	.rg-ts-hero-media img,
	.rg-es-hero-media,
	.rg-es-hero-media img,
	.rg-wi-hero-image,
	.rg-wi-hero-image img,
	.rg-wi-featured-img,
	.rg-wi-featured-img img,
	.rg-wi-post-img,
	.rg-wi-post-img img,
	.rg-ub-hero,
	.rg-ub-hero img,
	.wp-block-image,
	.wp-block-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		border-radius: 18px !important;
		object-fit: cover !important;
	}

	/* Zu hohe Bilder begrenzen */
	.rgk-hero-image img,
	.rg-ts-hero-media img,
	.rg-es-hero-media img,
	.rg-wi-hero-image img,
	.rg-ub-hero img {
		max-height: 360px !important;
		object-fit: cover !important;
	}

	/* Überschriften mobil */
	h1,
	.rgk-hero h1,
	.rg-ts-hero-title,
	.rg-es-hero-title,
	.rg-wi-hero-title,
	.rg-lp-hero h1,
	.rg-home-hero h1,
	.rg-ub h1 {
		font-size: clamp(2.25rem, 11vw, 3.2rem) !important;
		line-height: 1.03 !important;
		letter-spacing: -0.035em !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	h2,
	.rgk-section h2,
	.rg-wi-section h2,
	.rg-ts-section h2,
	.rg-es-section h2,
	.rg-ub-section h2 {
		font-size: clamp(1.85rem, 8vw, 2.45rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
	}

	h3 {
		font-size: 1.15rem !important;
		line-height: 1.25 !important;
	}

	p,
	li {
		font-size: 1rem !important;
		line-height: 1.58 !important;
	}

	/* Kicker / kleine orange Labels */
	.rgk-kicker,
	.rg-wi-kicker,
	.rg-ts-kicker,
	.rg-es-kicker,
	.rg-ub-kicker,
	.rg-lp-kicker {
		font-size: 0.82rem !important;
		line-height: 1.2 !important;
		letter-spacing: 0.08em !important;
	}

	/* Buttons */
	.rgk-actions,
	.rg-actions,
	.rg-hero-actions,
	.wp-block-buttons {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.85rem !important;
		width: 100% !important;
	}

	.rgk-button,
	.rg-button,
	.wp-block-button,
	.wp-block-button__link,
	.rg-header-cta .wp-block-button__link,
	.rgk-textlink {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	.rgk-textlink {
		display: block !important;
		padding: 0.85rem 0 !important;
	}

	/* Karten allgemein */
	.rgk-card,
	.rgk-mini-card,
	.rgk-step,
	.rg-wi-post,
	.rg-wi-cat,
	.rg-card,
	.rg-feature,
	.rg-benefit,
	.rg-service-card,
	.rg-lp-card,
	.rg-ts-card,
	.rg-es-card,
	.rg-ub-card,
	.wp-block-post {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 1.35rem !important;
		border-radius: 18px !important;
		min-height: auto !important;
	}

	/* Kontaktformular mobil */
	body #kontaktseite .rg-live-contact-form,
	body #kontaktseite .rg-live-form-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.85rem !important;
		width: 100% !important;
	}

	body #kontaktseite .rg-live-form-field input {
		height: 50px !important;
		min-height: 50px !important;
	}

	body #kontaktseite .rg-live-form-field textarea {
		min-height: 145px !important;
	}

	body #kontaktseite .rg-live-form-submit {
		width: 100% !important;
		min-height: 56px !important;
	}

	/* Wissen-Seite Newsletter */
	.rg-brevo-inline-newsletter .rg-brevo-row {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.8rem !important;
	}

	.rg-brevo-inline-newsletter .rg-brevo-submit {
		width: 100% !important;
	}

	/* Blogbeiträge / Artikel */
	.entry-content,
	.wp-block-post-content,
	.rg-article,
	.rg-single-content {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.1rem !important;
		padding-right: 1.1rem !important;
	}

	.entry-content > *,
	.wp-block-post-content > * {
		max-width: 100% !important;
	}

	/* Footer */
	.rutengang-footer,
	.rutengang-footer .wp-block-group {
		text-align: left !important;
	}

	.rutengang-footer .wp-block-columns,
	.rutengang-footer .wp-block-group {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.35rem !important;
	}

	.rutengang-footer {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Tabellen nie aus dem Bildschirm laufen lassen */
	table {
		display: block !important;
		width: 100% !important;
		overflow-x: auto !important;
	}
}


/* ---------------------------------------------------------
   SEHR KLEINE HANDYS
   --------------------------------------------------------- */

@media (max-width: 480px) {

	.rg-container,
	.rgk-container,
	.rg-ts-container,
	.rg-es-container,
	.rg-wi-container,
	.rg-ub-container,
	.wp-block-group,
	main > section > div {
		padding-left: 0.95rem !important;
		padding-right: 0.95rem !important;
	}

	h1,
	.rgk-hero h1,
	.rg-ts-hero-title,
	.rg-es-hero-title,
	.rg-wi-hero-title,
	.rg-lp-hero h1,
	.rg-home-hero h1,
	.rg-ub h1 {
		font-size: 2.25rem !important;
	}

	h2,
	.rgk-section h2,
	.rg-wi-section h2,
	.rg-ts-section h2,
	.rg-es-section h2,
	.rg-ub-section h2 {
		font-size: 1.9rem !important;
	}

	.rgk-card,
	.rgk-mini-card,
	.rgk-step,
	.rg-wi-post,
	.rg-wi-cat,
	.rg-card,
	.rg-feature,
	.rg-benefit,
	.rg-service-card,
	.rg-lp-card,
	.rg-ts-card,
	.rg-es-card,
	.rg-ub-card {
		padding: 1.2rem !important;
	}

	.rgk-hero-image img,
	.rgk-final-card figure img,
	.rg-wi-post-img img,
	.rg-wi-featured-img img {
		border-radius: 16px !important;
	}
}
/* =========================================================
   GEOMERA MOBILE-FEINSCHLIFF FINAL
   Bitte ganz unten in style.css einfügen.
   Korrigiert: Technik/Erdstrahlung, Impressum/Datenschutz,
   Über-mich-Zentrierung, FAQ-Pills, Newsletter-Icon.
   ========================================================= */

/* ---------- Grundschutz gegen horizontales Überlaufen ---------- */

@media (max-width: 782px) {
	html,
	body {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	body {
		-webkit-text-size-adjust: 100% !important;
		text-size-adjust: 100% !important;
	}

	main,
	main * {
		box-sizing: border-box !important;
	}

	img,
	svg,
	video,
	iframe,
	figure {
		max-width: 100% !important;
	}

	img {
		height: auto !important;
	}
}


/* =========================================================
   1. Technische Strahlung + Erdstrahlung mobil sauber machen
   ========================================================= */

@media (max-width: 782px) {

	main.rg-ts,
	main.rg-es,
	.rg-ts,
	.rg-es {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.rg-ts .rg-ts-container,
	.rg-es .rg-ts-container,
	.rg-es .rg-es-container,
	.rg-ts-container,
	.rg-es-container {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rg-ts .rg-ts-hero,
	.rg-es .rg-ts-hero,
	.rg-es .rg-es-hero {
		min-height: auto !important;
		padding: 2.6rem 0 !important;
		background-position: center center !important;
		overflow: hidden !important;
	}

	.rg-ts .rg-ts-hero-inner,
	.rg-es .rg-ts-hero-inner,
	.rg-es .rg-es-hero-inner,
	.rg-ts [class*="-grid"],
	.rg-es [class*="-grid"],
	.rg-ts .wp-block-columns,
	.rg-es .wp-block-columns {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.25rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.rg-ts .rg-ts-hero-title,
	.rg-es .rg-ts-hero-title,
	.rg-es .rg-es-hero-title,
	.rg-ts h1,
	.rg-es h1 {
		font-size: clamp(2.15rem, 10.5vw, 3rem) !important;
		line-height: 1.04 !important;
		letter-spacing: -0.035em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	.rg-ts h2,
	.rg-es h2 {
		font-size: clamp(1.65rem, 7.5vw, 2.25rem) !important;
		line-height: 1.1 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	.rg-ts p,
	.rg-es p,
	.rg-ts li,
	.rg-es li {
		font-size: 1rem !important;
		line-height: 1.58 !important;
	}

	.rg-ts [class*="-card"],
	.rg-es [class*="-card"],
	.rg-ts [class*="-feat"],
	.rg-es [class*="-feat"],
	.rg-ts [class*="-item"],
	.rg-es [class*="-item"] {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: auto !important;
	}

	.rg-ts img,
	.rg-es img {
		width: 100% !important;
		height: auto !important;
		border-radius: 18px !important;
		object-fit: cover !important;
	}

	.rg-ts .wp-block-buttons,
	.rg-es .wp-block-buttons,
	.rg-ts [class*="actions"],
	.rg-es [class*="actions"] {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.8rem !important;
		width: 100% !important;
	}

	.rg-ts .wp-block-button__link,
	.rg-es .wp-block-button__link,
	.rg-ts a[class*="button"],
	.rg-es a[class*="button"] {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}
}


/* =========================================================
   2. Impressum + Datenschutz: lange Überschriften umbrechen
   ========================================================= */

@media (max-width: 782px) {

	body.page main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq),
	body.page .wp-site-blocks > main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq) {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
		overflow-x: hidden !important;
	}

	body.page main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq) h1,
	body.page main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq) h2,
	body.page main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq) h3,
	body.page .entry-content h1,
	body.page .entry-content h2,
	body.page .entry-content h3,
	body.page .wp-block-post-content h1,
	body.page .wp-block-post-content h2,
	body.page .wp-block-post-content h3 {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
		hyphens: auto !important;
		white-space: normal !important;
	}

	body.page main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq) h1,
	body.page .entry-content h1,
	body.page .wp-block-post-content h1 {
		font-size: clamp(2rem, 9vw, 2.7rem) !important;
		line-height: 1.06 !important;
		letter-spacing: -0.035em !important;
	}

	body.page main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq) h2,
	body.page .entry-content h2,
	body.page .wp-block-post-content h2 {
		font-size: clamp(1.55rem, 7.2vw, 2.15rem) !important;
		line-height: 1.12 !important;
		letter-spacing: -0.025em !important;
	}

	body.page main:not(.rg-kontakt):not(.rg-ub):not(.rg-wissen):not(.rg-ts):not(.rg-es):not(.rg-leistungen):not(.rg-home):not(.rg-faq) p,
	body.page .entry-content p,
	body.page .wp-block-post-content p,
	body.page .entry-content li,
	body.page .wp-block-post-content li {
		font-size: 1rem !important;
		line-height: 1.6 !important;
		max-width: 100% !important;
	}
}


/* =========================================================
   3. Über mich: mobile Zentrierungen
   ========================================================= */

@media (max-width: 782px) {

	.rg-ub .rg-ub-hero,
	.rg-ub .rg-ub-hero-copy,
	.rg-ub .rg-ub-hero-title,
	.rg-ub h1 {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rg-ub .rg-ub-hero p,
	.rg-ub .rg-ub-hero-copy p {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Der breite Abschnitt "Mein Blick auf Strahlung und Räume" */
	.rg-ub section:nth-of-type(3),
	.rg-ub section:nth-of-type(3) .wp-block-group,
	.rg-ub section:nth-of-type(3) h2,
	.rg-ub section:nth-of-type(3) p {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rg-ub section:nth-of-type(3) {
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
	}

	.rg-ub section:nth-of-type(3) h2 {
		font-size: clamp(2rem, 9vw, 2.65rem) !important;
		line-height: 1.08 !important;
		max-width: 92% !important;
	}

	/* Der letzte CTA-Kasten "Persönlicher Kontakt" */
	.rg-ub section:last-of-type,
	.rg-ub section:last-of-type .wp-block-group,
	.rg-ub section:last-of-type h2,
	.rg-ub section:last-of-type p {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rg-ub section:last-of-type {
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
	}

	.rg-ub section:last-of-type .wp-block-button,
	.rg-ub section:last-of-type .wp-block-button__link,
	.rg-ub section:last-of-type a[class*="button"] {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}
}


/* =========================================================
   4. FAQ: Kategorie-Pills mobil kleiner und horizontal scrollbar
   ========================================================= */

@media (max-width: 782px) {

	.rg-faq [class*="tab"],
	.rg-faq [class*="pill"],
	.rg-faq [class*="filter"],
	.rg-faq .wp-block-buttons {
		max-width: 100% !important;
	}

	.rg-faq .rg-faq-tabs,
	.rg-faq .rg-faq-cats,
	.rg-faq .rg-faq-pill-row,
	.rg-faq [class*="tabs"],
	.rg-faq [class*="pills"],
	.rg-faq [class*="filters"] {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 0.55rem !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding: 0 1.05rem 0.8rem !important;
		margin-left: -1.05rem !important;
		margin-right: -1.05rem !important;
		scroll-snap-type: x proximity !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.rg-faq .rg-faq-tabs::-webkit-scrollbar,
	.rg-faq .rg-faq-cats::-webkit-scrollbar,
	.rg-faq .rg-faq-pill-row::-webkit-scrollbar,
	.rg-faq [class*="tabs"]::-webkit-scrollbar,
	.rg-faq [class*="pills"]::-webkit-scrollbar,
	.rg-faq [class*="filters"]::-webkit-scrollbar {
		display: none !important;
	}

	.rg-faq button,
	.rg-faq .wp-block-button__link,
	.rg-faq [class*="tab"],
	.rg-faq [class*="pill"],
	.rg-faq [class*="filter"] {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: auto !important;
		max-width: none !important;
		padding: 0.72rem 1rem !important;
		border-radius: 999px !important;
		font-size: 0.95rem !important;
		line-height: 1.15 !important;
		white-space: nowrap !important;
		scroll-snap-align: start !important;
	}

	.rg-faq .rg-faq-item,
	.rg-faq [class*="accordion"],
	.rg-faq details {
		width: 100% !important;
		max-width: 100% !important;
	}

	.rg-faq .rg-faq-item h3,
	.rg-faq summary,
	.rg-faq [class*="question"] {
		font-size: 1.15rem !important;
		line-height: 1.22 !important;
	}
}


/* =========================================================
   5. Wissen-Seite Newsletter: Briefumschlag-Feld wieder rund
   ========================================================= */

@media (max-width: 782px) {

	.rg-wi-newsletter,
	.rg-wi-newsletter-card,
	.rg-wi-nl-card,
	.rg-wi-nl-left,
	.rg-wi-nl-right {
		max-width: 100% !important;
	}

	.rg-wi-newsletter [class*="icon"],
	.rg-wi-newsletter [class*="mail"],
	.rg-wi-newsletter .rg-wi-nl-icon,
	.rg-wi-newsletter .rg-wi-newsletter-icon,
	.rg-wi-newsletter svg {
		max-width: 100% !important;
	}

	.rg-wi-newsletter .rg-wi-nl-icon,
	.rg-wi-newsletter .rg-wi-newsletter-icon,
	.rg-wi-newsletter [class*="mail-icon"],
	.rg-wi-newsletter [class*="newsletter-icon"] {
		width: 150px !important;
		height: 150px !important;
		max-width: 150px !important;
		max-height: 150px !important;
		min-width: 150px !important;
		min-height: 150px !important;
		border-radius: 999px !important;
		aspect-ratio: 1 / 1 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.rg-wi-newsletter .rg-wi-nl-icon::before,
	.rg-wi-newsletter .rg-wi-newsletter-icon::before,
	.rg-wi-newsletter [class*="mail-icon"]::before,
	.rg-wi-newsletter [class*="newsletter-icon"]::before {
		border-radius: 999px !important;
		aspect-ratio: 1 / 1 !important;
	}

	.rg-wi-newsletter .rg-wi-nl-icon svg,
	.rg-wi-newsletter .rg-wi-newsletter-icon svg,
	.rg-wi-newsletter [class*="mail-icon"] svg,
	.rg-wi-newsletter [class*="newsletter-icon"] svg {
		width: 42px !important;
		height: 42px !important;
	}

	.rg-wi-newsletter h2 {
		font-size: clamp(2rem, 9vw, 2.65rem) !important;
		line-height: 1.08 !important;
		text-align: center !important;
	}

	.rg-wi-newsletter p {
		text-align: center !important;
	}

	.rg-brevo-inline-newsletter .rg-brevo-row {
		grid-template-columns: 1fr !important;
	}

	.rg-brevo-inline-newsletter .rg-brevo-submit,
	.rg-brevo-inline-newsletter .rg-brevo-email {
		width: 100% !important;
	}
}


/* =========================================================
   6. Footer mobil etwas kontrollierter
   ========================================================= */

@media (max-width: 782px) {

	.rutengang-footer,
	.rutengang-footer .wp-block-group {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.rutengang-footer {
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}

	.rutengang-footer h2,
	.rutengang-footer h3,
	.rutengang-footer h4 {
		font-size: 1.25rem !important;
		line-height: 1.2 !important;
		letter-spacing: 0 !important;
	}

	.rutengang-footer p,
	.rutengang-footer a,
	.rutengang-footer li {
		font-size: 1rem !important;
		line-height: 1.55 !important;
	}
}
/* =========================================================
   GEOMERA MOBILE-KORREKTUR V3
   Einfügen GANZ UNTEN in style.css
   Korrigiert:
   - FAQ-Hinweis unter Kategorie-Pills
   - Über-mich: "Wer ich bin" und mobile Textkästen zentriert
   - Leistungen: runde Icons + CTA-Karte
   - Technische Strahlung + Erdstrahlung: mobile Karten/Timelines
   ========================================================= */

@media (max-width: 782px) {

	/* ---------------------------------------------------------
	   Allgemeiner Schutz: nichts darf seitlich aus dem Bildschirm laufen
	   --------------------------------------------------------- */

	html,
	body,
	main,
	.wp-site-blocks {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	main *,
	main *::before,
	main *::after {
		box-sizing: border-box !important;
	}

	img,
	svg,
	figure {
		max-width: 100% !important;
	}

	/* ---------------------------------------------------------
	   FAQ: Hinweis unter den Pills
	   --------------------------------------------------------- */

	.rg-faq .rg-faq-tabs,
	.rg-faq .rg-faq-cats,
	.rg-faq .rg-faq-pill-row,
	.rg-faq [class*="tabs"],
	.rg-faq [class*="pills"],
	.rg-faq [class*="filters"] {
		position: relative !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		gap: 0.55rem !important;
		padding: 0 1.05rem 2rem !important;
		margin-left: -1.05rem !important;
		margin-right: -1.05rem !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-snap-type: x proximity !important;
	}

	.rg-faq .rg-faq-tabs::after,
	.rg-faq .rg-faq-cats::after,
	.rg-faq .rg-faq-pill-row::after,
	.rg-faq [class*="tabs"]::after,
	.rg-faq [class*="pills"]::after,
	.rg-faq [class*="filters"]::after {
		content: "Tipp: Wischen Sie seitlich, um weitere Themen zu sehen." !important;
		position: absolute !important;
		left: 1.05rem !important;
		bottom: 0.15rem !important;
		font-size: 0.78rem !important;
		line-height: 1.3 !important;
		font-weight: 600 !important;
		color: rgba(70, 83, 102, 0.72) !important;
		white-space: normal !important;
	}

	.rg-faq button,
	.rg-faq .wp-block-button__link,
	.rg-faq [class*="tab"],
	.rg-faq [class*="pill"],
	.rg-faq [class*="filter"] {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: auto !important;
		max-width: none !important;
		padding: 0.62rem 0.9rem !important;
		border-radius: 999px !important;
		font-size: 0.86rem !important;
		line-height: 1.15 !important;
		white-space: nowrap !important;
		scroll-snap-align: start !important;
	}

	/* ---------------------------------------------------------
	   Über mich: "Wer ich bin" mittig + wichtige Kästen zentriert
	   --------------------------------------------------------- */

	.rg-ub h1,
	.rg-ub h2,
	.rg-ub .wp-block-heading {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Text in "Wer ich bin" bleibt links lesbar */
	.rg-ub .rg-ub-split p,
	.rg-ub .rg-ub-grid p,
	.rg-ub .rg-ub-content p,
	.rg-ub .wp-block-column p {
		text-align: left !important;
	}

	/* Der Abschnitt "Mein Blick auf Strahlung und Räume" */
	.rg-ub section,
	.rg-ub section > div,
	.rg-ub .wp-block-group {
		max-width: 100% !important;
	}

	.rg-ub section:nth-of-type(3),
	.rg-ub section:nth-of-type(3) *,
	.rg-ub section:last-of-type,
	.rg-ub section:last-of-type * {
		text-align: center !important;
	}

	.rg-ub section:nth-of-type(3) h2,
	.rg-ub section:last-of-type h2 {
		max-width: 92% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: clamp(2rem, 9vw, 2.65rem) !important;
		line-height: 1.08 !important;
	}

	.rg-ub section:last-of-type .wp-block-button__link,
	.rg-ub section:last-of-type a[class*="button"] {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	/* ---------------------------------------------------------
	   Leistungen: ovale Icons wieder rund machen
	   --------------------------------------------------------- */

	.rg-leistungen .rg-icon-ring,
	.rg-leistungen .rg-lp-icon,
	.rg-leistungen .rg-lp-card-icon,
	.rg-leistungen .rg-lp-step-icon,
	.rg-leistungen .rg-lp-process-icon,
	.rg-leistungen .rg-lp-service-icon,
	.rg-leistungen [class*="icon-ring"],
	.rg-leistungen [class*="step-icon"],
	.rg-leistungen [class*="card-icon"] {
		width: 72px !important;
		height: 72px !important;
		min-width: 72px !important;
		min-height: 72px !important;
		max-width: 72px !important;
		max-height: 72px !important;
		aspect-ratio: 1 / 1 !important;
		border-radius: 999px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 !important;
	}

	.rg-leistungen .rg-icon-ring svg,
	.rg-leistungen .rg-lp-icon svg,
	.rg-leistungen .rg-lp-card-icon svg,
	.rg-leistungen .rg-lp-step-icon svg,
	.rg-leistungen .rg-lp-process-icon svg,
	.rg-leistungen .rg-lp-service-icon svg,
	.rg-leistungen [class*="icon-ring"] svg,
	.rg-leistungen [class*="step-icon"] svg,
	.rg-leistungen [class*="card-icon"] svg {
		width: 28px !important;
		height: 28px !important;
		max-width: 28px !important;
		max-height: 28px !important;
	}

	/* Leistungen: Karten und CTA mobil stabil */
	.rg-leistungen [class*="grid"],
	.rg-leistungen .wp-block-columns,
	.rg-leistungen .rg-lp-grid,
	.rg-leistungen .rg-lp-card-grid,
	.rg-leistungen .rg-lp-steps,
	.rg-leistungen .rg-lp-process-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.rg-leistungen [class*="card"],
	.rg-leistungen [class*="step"],
	.rg-leistungen [class*="item"] {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: auto !important;
	}

	.rg-leistungen [class*="cta"],
	.rg-leistungen [class*="final"],
	.rg-leistungen [class*="dark"] {
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
		padding: 1.35rem !important;
		border-radius: 18px !important;
		overflow: hidden !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		text-align: center !important;
	}

	.rg-leistungen [class*="cta"] .wp-block-button__link,
	.rg-leistungen [class*="final"] .wp-block-button__link,
	.rg-leistungen [class*="dark"] .wp-block-button__link,
	.rg-leistungen [class*="cta"] a[class*="button"],
	.rg-leistungen [class*="final"] a[class*="button"],
	.rg-leistungen [class*="dark"] a[class*="button"] {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	/* ---------------------------------------------------------
	   Technische Strahlung + Erdstrahlung: mobile Seite neu ordnen
	   --------------------------------------------------------- */

	.rg-ts,
	.rg-es {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.rg-ts-container,
	.rg-es-container,
	.rg-ts .rg-ts-container,
	.rg-es .rg-es-container,
	.rg-es .rg-ts-container {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rg-ts [class*="grid"],
	.rg-es [class*="grid"],
	.rg-ts .wp-block-columns,
	.rg-es .wp-block-columns,
	.rg-ts .rg-ts-hero-inner,
	.rg-es .rg-ts-hero-inner,
	.rg-es .rg-es-hero-inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Desktop-Zeitachsen, Linien und Deko mobil abschalten */
	.rg-ts [class*="timeline"],
	.rg-es [class*="timeline"],
	.rg-ts [class*="line"],
	.rg-es [class*="line"],
	.rg-ts [class*="rail"],
	.rg-es [class*="rail"] {
		display: none !important;
	}

	.rg-ts [class*="feat"]::before,
	.rg-ts [class*="feat"]::after,
	.rg-es [class*="feat"]::before,
	.rg-es [class*="feat"]::after,
	.rg-ts [class*="step"]::before,
	.rg-ts [class*="step"]::after,
	.rg-es [class*="step"]::before,
	.rg-es [class*="step"]::after,
	.rg-ts [class*="item"]::before,
	.rg-ts [class*="item"]::after,
	.rg-es [class*="item"]::before,
	.rg-es [class*="item"]::after {
		display: none !important;
		content: none !important;
	}

	.rg-ts [class*="feat"],
	.rg-es [class*="feat"],
	.rg-ts [class*="card"],
	.rg-es [class*="card"],
	.rg-ts [class*="step"],
	.rg-es [class*="step"],
	.rg-ts [class*="item"],
	.rg-es [class*="item"] {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 1.25rem !important;
		border-radius: 18px !important;
	}

	.rg-ts [class*="icon"],
	.rg-es [class*="icon"],
	.rg-ts [class*="number"],
	.rg-es [class*="number"] {
		width: 58px !important;
		height: 58px !important;
		min-width: 58px !important;
		min-height: 58px !important;
		max-width: 58px !important;
		max-height: 58px !important;
		aspect-ratio: 1 / 1 !important;
		border-radius: 999px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 !important;
	}

	.rg-ts h1,
	.rg-es h1,
	.rg-ts .rg-ts-hero-title,
	.rg-es .rg-ts-hero-title,
	.rg-es .rg-es-hero-title {
		font-size: clamp(2.15rem, 10.5vw, 3rem) !important;
		line-height: 1.05 !important;
		letter-spacing: -0.035em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	.rg-ts h2,
	.rg-es h2 {
		font-size: clamp(1.65rem, 7.5vw, 2.25rem) !important;
		line-height: 1.1 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	.rg-ts p,
	.rg-es p,
	.rg-ts li,
	.rg-es li {
		font-size: 1rem !important;
		line-height: 1.58 !important;
	}

	.rg-ts img,
	.rg-es img {
		width: 100% !important;
		height: auto !important;
		border-radius: 18px !important;
		object-fit: cover !important;
	}

	.rg-ts .wp-block-button__link,
	.rg-es .wp-block-button__link,
	.rg-ts a[class*="button"],
	.rg-es a[class*="button"] {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}
}
/* =========================================================
   GEOMERA – FINALER MOBILE-FIX NUR FÜR
   TECHNISCHE STRAHLUNG + ERDSTRAHLUNG

   Ganz unten in style.css einfügen.
   Korrigiert:
   - zu schmale/verschobene Karten
   - lange senkrechte Linien aus dem Desktop-Layout
   - ovale statt runde Icons
   - Quellenboxen und Leistungskarten
   - Gesundheits-/Auswirkungsboxen
   - CTA-Karten und Buttons
   ========================================================= */

@media (max-width: 782px) {

	/* -----------------------------------------------------
	   Grundlayout beider Seiten
	   ----------------------------------------------------- */

	.rg-ts,
	.rg-es,
	.rg-ts *,
	.rg-es * {
		box-sizing: border-box !important;
	}

	.rg-ts,
	.rg-es {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.rg-ts > *,
	.rg-es > * {
		max-width: 100% !important;
	}

	.rg-ts .rg-ts-container,
	.rg-es .rg-ts-container,
	.rg-es .rg-es-container,
	.rg-ts-what > *,
	.rg-ts-serv > *,
	.rg-es-why > *,
	.rg-es-ctawrap > * {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rg-ts h1,
	.rg-es h1,
	.rg-ts .rg-ts-hero-title,
	.rg-es .rg-ts-hero-title,
	.rg-es .rg-es-hero-title,
	.rg-es .rg-es-hero-sub {
		font-size: clamp(2.05rem, 10vw, 2.75rem) !important;
		line-height: 1.04 !important;
		letter-spacing: -0.035em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
		text-align: left !important;
	}

	.rg-ts h2,
	.rg-es h2,
	.rg-ts .rg-ts-h2,
	.rg-es .rg-ts-h2,
	.rg-ts .rg-ts-serv-h2,
	.rg-es .rg-ts-serv-h2,
	.rg-es .rg-es-why-h2 {
		font-size: clamp(1.65rem, 7.4vw, 2.25rem) !important;
		line-height: 1.1 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	.rg-ts p,
	.rg-es p,
	.rg-ts li,
	.rg-es li {
		font-size: 1rem !important;
		line-height: 1.58 !important;
	}

	.rg-ts img,
	.rg-es img,
	.rg-ts svg,
	.rg-es svg,
	.rg-ts figure,
	.rg-es figure {
		max-width: 100% !important;
	}

	.rg-ts img,
	.rg-es img {
		height: auto !important;
	}


	/* -----------------------------------------------------
	   Hero mobil: keine Desktop-Hintergrund-Komposition
	   ----------------------------------------------------- */

	.rg-ts .rg-ts-hero,
	.rg-es .rg-ts-hero,
	.rg-es .rg-es-hero {
		background-image: none !important;
		background-color: #F4F1EC !important;
		min-height: auto !important;
		padding: 2.35rem 0 2.4rem !important;
		display: block !important;
		border-bottom: 1px solid #dce5ef !important;
		overflow: hidden !important;
	}

	.rg-ts .rg-ts-hero::before,
	.rg-es .rg-ts-hero::before,
	.rg-es .rg-es-hero::before {
		display: none !important;
		content: none !important;
	}

	.rg-ts .rg-ts-hero > .rg-ts-hero-inner,
	.rg-es .rg-ts-hero > .rg-ts-hero-inner,
	.rg-es .rg-es-hero > .rg-ts-hero-inner {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
		margin: 0 auto !important;
	}

	.rg-ts .rg-ts-hero-content,
	.rg-es .rg-ts-hero-content {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.rg-ts .rg-ts-kicker,
	.rg-es .rg-ts-kicker {
		font-size: 0.78rem !important;
		line-height: 1.2 !important;
		letter-spacing: 0.12em !important;
		margin-bottom: 0.75rem !important;
	}

	.rg-ts .rg-ts-hero-lead,
	.rg-es .rg-ts-hero-lead {
		max-width: 100% !important;
		font-size: 1rem !important;
		line-height: 1.58 !important;
		margin-bottom: 0.85rem !important;
	}


	/* -----------------------------------------------------
	   Hero-USP-Kacheln: keine gequetschten Spalten mehr
	   ----------------------------------------------------- */

	.rg-ts .rg-ts-feats,
	.rg-es .rg-ts-feats {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.75rem !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 1.4rem 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.rg-ts .rg-ts-feats > .rg-ts-feat,
	.rg-es .rg-ts-feats > .rg-ts-feat {
		display: grid !important;
		grid-template-columns: 48px minmax(0, 1fr) !important;
		gap: 0.85rem !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
		margin: 0 !important;
		padding: 0.9rem 1rem !important;
		border: 1px solid rgba(16, 55, 98, 0.12) !important;
		border-radius: 16px !important;
		background: rgba(255, 255, 255, 0.62) !important;
	}

	.rg-ts .rg-ts-feats > .rg-ts-feat + .rg-ts-feat,
	.rg-es .rg-ts-feats > .rg-ts-feat + .rg-ts-feat {
		border-left: 1px solid rgba(16, 55, 98, 0.12) !important;
	}

	.rg-ts .rg-ts-feat-icon,
	.rg-es .rg-ts-feat-icon {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
		border-radius: 999px !important;
		background: #ffffff !important;
		color: #103762 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rg-ts .rg-ts-feat-icon svg,
	.rg-es .rg-ts-feat-icon svg {
		width: 26px !important;
		height: 26px !important;
		max-width: 26px !important;
		max-height: 26px !important;
	}

	.rg-ts .rg-ts-feat-title,
	.rg-es .rg-ts-feat-title {
		font-size: 0.96rem !important;
		line-height: 1.25 !important;
		margin: 0 0 0.15rem !important;
	}

	.rg-ts .rg-ts-feat-text,
	.rg-es .rg-ts-feat-text {
		font-size: 0.9rem !important;
		line-height: 1.4 !important;
		margin: 0 !important;
	}


	/* -----------------------------------------------------
	   Was-ist-Abschnitt + Quellenbox
	   ----------------------------------------------------- */

	.rg-ts .rg-ts-what,
	.rg-es .rg-ts-what {
		padding: 2.6rem 0 !important;
	}

	.rg-ts .rg-ts-what-grid,
	.rg-es .rg-ts-what-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.15rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.rg-ts .rg-ts-what-text,
	.rg-es .rg-ts-what-text,
	.rg-ts .rg-ts-sources,
	.rg-es .rg-ts-sources {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.rg-ts .rg-ts-sources,
	.rg-es .rg-ts-sources {
		padding: 1.15rem !important;
		border-radius: 18px !important;
		box-shadow: 0 14px 30px rgba(16, 55, 98, 0.08) !important;
	}

	.rg-ts .rg-ts-sources > .rg-ts-src,
	.rg-es .rg-ts-sources > .rg-ts-src {
		display: grid !important;
		grid-template-columns: 42px minmax(0, 1fr) !important;
		gap: 0.75rem !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0.72rem 0 !important;
		margin: 0 !important;
	}

	.rg-ts .rg-ts-src-ic,
	.rg-es .rg-ts-src-ic {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;
		border-radius: 12px !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.rg-ts .rg-ts-src-ic figure,
	.rg-es .rg-ts-src-ic figure,
	.rg-ts .rg-ts-src-ic img,
	.rg-es .rg-ts-src-ic img {
		margin: 0 !important;
		padding: 0 !important;
	}

	.rg-ts .rg-ts-src-ic img,
	.rg-es .rg-ts-src-ic img,
	.rg-ts .rg-ts-src-ic svg,
	.rg-es .rg-ts-src-ic svg {
		width: 24px !important;
		height: 24px !important;
		object-fit: contain !important;
	}

	.rg-ts .rg-ts-src-t,
	.rg-es .rg-ts-src-t,
	.rg-es .rg-es-src-d {
		font-size: 0.95rem !important;
		line-height: 1.42 !important;
		margin: 0 !important;
	}


	/* -----------------------------------------------------
	   Leistungsspalten: keine senkrechten Linien mehr
	   ----------------------------------------------------- */

	.rg-ts .rg-ts-serv,
	.rg-es .rg-ts-serv {
		padding: 2.8rem 0 !important;
	}

	.rg-ts .rg-ts-serv-grid,
	.rg-es .rg-ts-serv-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.95rem !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.rg-ts .rg-ts-serv-grid > .rg-ts-serv-col,
	.rg-es .rg-ts-serv-grid > .rg-ts-serv-col {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 1.25rem 1.1rem !important;
		border: 1px solid #dce5ef !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		text-align: center !important;
	}

	.rg-ts .rg-ts-serv-grid > .rg-ts-serv-col::after,
	.rg-ts .rg-ts-serv-grid > .rg-ts-serv-col::before,
	.rg-es .rg-ts-serv-grid > .rg-ts-serv-col::after,
	.rg-es .rg-ts-serv-grid > .rg-ts-serv-col::before,
	.rg-es .rg-es-why-col::before,
	.rg-es .rg-es-why-col::after {
		display: none !important;
		content: none !important;
	}

	.rg-ts .rg-ts-serv-ic,
	.rg-es .rg-ts-serv-ic {
		width: 74px !important;
		height: 74px !important;
		min-width: 74px !important;
		min-height: 74px !important;
		max-width: 74px !important;
		max-height: 74px !important;
		flex: 0 0 74px !important;
		aspect-ratio: 1 / 1 !important;
		border-radius: 999px !important;
		margin: 0 auto 0.95rem !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.rg-ts .rg-ts-serv-ic svg,
	.rg-es .rg-ts-serv-ic svg,
	.rg-es .rg-ts-serv-ic img {
		width: 34px !important;
		height: 34px !important;
		max-width: 34px !important;
		max-height: 34px !important;
		object-fit: contain !important;
	}

	.rg-es .rg-ts-serv-ic {
		background: #103762 !important;
		color: #ffffff !important;
	}

	.rg-ts .rg-ts-serv-title,
	.rg-es .rg-ts-serv-title {
		font-size: 1rem !important;
		line-height: 1.25 !important;
		margin: 0 0 0.45rem !important;
	}

	.rg-ts .rg-ts-serv-text,
	.rg-es .rg-ts-serv-text {
		max-width: 25rem !important;
		font-size: 0.94rem !important;
		line-height: 1.5 !important;
		margin: 0 auto !important;
	}


	/* -----------------------------------------------------
	   Gesundheits-/Auswirkungsbereich
	   ----------------------------------------------------- */

	.rg-ts .rg-ts-health,
	.rg-es .rg-ts-health {
		padding: 2.6rem 1.05rem !important;
	}

	.rg-ts .rg-ts-card,
	.rg-es .rg-ts-card {
		width: 100% !important;
		max-width: 100% !important;
		padding: 1.25rem !important;
		border-radius: 18px !important;
		overflow: hidden !important;
	}

	.rg-ts .rg-ts-health-grid,
	.rg-es .rg-ts-health-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.05rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.rg-ts .rg-ts-health-text,
	.rg-es .rg-ts-health-text {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.95rem !important;
		width: 100% !important;
		max-width: 100% !important;
		text-align: left !important;
	}

	.rg-ts .rg-ts-health-ic,
	.rg-es .rg-ts-health-ic {
		width: 66px !important;
		height: 66px !important;
		min-width: 66px !important;
		min-height: 66px !important;
		max-width: 66px !important;
		max-height: 66px !important;
		border-radius: 999px !important;
		margin: 0 auto 0 !important;
	}

	.rg-ts .rg-ts-health-ic svg,
	.rg-es .rg-ts-health-ic svg {
		width: 32px !important;
		height: 32px !important;
	}

	.rg-es .rg-es-benefits {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.9rem !important;
		width: 100% !important;
		margin: 1rem 0 0 !important;
	}

	.rg-es .rg-es-benefit {
		max-width: 100% !important;
		width: 100% !important;
		display: grid !important;
		grid-template-columns: 54px minmax(0, 1fr) !important;
		align-items: center !important;
		gap: 0.75rem !important;
		text-align: left !important;
	}

	.rg-es .rg-es-benefit-ic,
	.rg-es .rg-es-benefit-img,
	.rg-es .rg-es-benefit-img img {
		width: 54px !important;
		height: 54px !important;
		min-width: 54px !important;
		min-height: 54px !important;
		max-width: 54px !important;
		max-height: 54px !important;
		margin: 0 !important;
	}

	.rg-es .rg-es-benefit-t {
		text-align: left !important;
		font-size: 0.94rem !important;
		line-height: 1.35 !important;
	}

	.rg-ts .rg-ts-blog,
	.rg-es .rg-ts-blog {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 260px !important;
		border-radius: 18px !important;
	}

	.rg-ts .rg-ts-blog-body,
	.rg-es .rg-ts-blog-body {
		padding: 1.25rem !important;
	}


	/* -----------------------------------------------------
	   Erdstrahlung: Warum-Analyse-Bereich
	   ----------------------------------------------------- */

	.rg-es .rg-es-why {
		padding: 2.8rem 0 !important;
	}

	.rg-es .rg-es-why-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.9rem !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.rg-es .rg-es-why-col {
		display: grid !important;
		grid-template-columns: 58px minmax(0, 1fr) !important;
		gap: 0.8rem !important;
		align-items: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 1rem !important;
		border: 1px solid #dce5ef !important;
		border-radius: 18px !important;
		background: #ffffff !important;
	}

	.rg-es .rg-es-why-ic {
		width: 58px !important;
		height: 58px !important;
		min-width: 58px !important;
		min-height: 58px !important;
		border-radius: 999px !important;
		margin: 0 !important;
	}

	.rg-es .rg-es-why-ic svg {
		width: 34px !important;
		height: 34px !important;
	}

	.rg-es .rg-es-why-title,
	.rg-es .rg-es-why-text {
		text-align: left !important;
	}


	/* -----------------------------------------------------
	   CTA am Ende beider Seiten
	   ----------------------------------------------------- */

	.rg-ts .rg-ts-cta,
	.rg-es .rg-ts-cta,
	.rg-es .rg-es-cta {
		width: calc(100% - 2.1rem) !important;
		max-width: calc(100% - 2.1rem) !important;
		margin: 0 auto !important;
		padding: 1.35rem !important;
		border-radius: 18px !important;
		background-image: none !important;
		background-color: #103762 !important;
		overflow: hidden !important;
	}

	.rg-ts .rg-ts-cta-inner,
	.rg-es .rg-ts-cta-inner,
	.rg-es .rg-es-cta-inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.rg-ts .rg-ts-cta-title,
	.rg-es .rg-ts-cta-title {
		font-size: 1.55rem !important;
		line-height: 1.12 !important;
	}

	.rg-ts .rg-ts-cta-buttons,
	.rg-es .rg-ts-cta-buttons {
		width: 100% !important;
		margin: 0 !important;
	}

	.rg-ts .rg-ts-cta-buttons .wp-block-button,
	.rg-es .rg-ts-cta-buttons .wp-block-button,
	.rg-ts .rg-ts-cta-buttons .wp-block-button__link,
	.rg-es .rg-ts-cta-buttons .wp-block-button__link {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}
}
/* =========================================================
   GEOMERA MOBILE-FIX V4
   Nur für: Technische Strahlung + Erdstrahlung + Footer
   Ganz unten in style.css einfügen.
   ========================================================= */

@media (max-width: 782px) {

	/* ---------------------------------------------------------
	   Grundlayout für beide Seiten
	   --------------------------------------------------------- */

	body .rg-ts,
	body .rg-es {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	body .rg-ts *,
	body .rg-ts *::before,
	body .rg-ts *::after,
	body .rg-es *,
	body .rg-es *::before,
	body .rg-es *::after {
		box-sizing: border-box !important;
	}

	body .rg-ts > .wp-block-group,
	body .rg-es > .wp-block-group,
	body .rg-ts .wp-block-group,
	body .rg-es .wp-block-group {
		max-width: 100% !important;
	}

	body .rg-ts .rg-ts-container,
	body .rg-es .rg-ts-container,
	body .rg-es .rg-es-container,
	body .rg-ts .rg-ts-hero-inner,
	body .rg-es .rg-ts-hero-inner,
	body .rg-es .rg-es-hero-inner,
	body .rg-ts .rg-ts-what-grid,
	body .rg-es .rg-ts-what-grid,
	body .rg-ts .rg-ts-serv-grid,
	body .rg-es .rg-ts-serv-grid,
	body .rg-ts .rg-ts-health-grid,
	body .rg-es .rg-ts-health-grid,
	body .rg-es .rg-es-why-grid {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
	}

	body .rg-ts h1,
	body .rg-es h1,
	body .rg-ts .rg-ts-hero-title,
	body .rg-es .rg-ts-hero-title,
	body .rg-es .rg-es-hero-title {
		font-size: clamp(2rem, 9.5vw, 2.65rem) !important;
		line-height: 1.04 !important;
		letter-spacing: -0.035em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	body .rg-ts h2,
	body .rg-es h2,
	body .rg-ts .rg-ts-h2,
	body .rg-es .rg-ts-h2,
	body .rg-ts .rg-ts-serv-h2,
	body .rg-es .rg-ts-serv-h2,
	body .rg-es .rg-es-why-h2 {
		font-size: clamp(1.65rem, 7vw, 2.1rem) !important;
		line-height: 1.12 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	body .rg-ts p,
	body .rg-es p,
	body .rg-ts li,
	body .rg-es li {
		font-size: 0.98rem !important;
		line-height: 1.56 !important;
	}

	body .rg-ts img,
	body .rg-es img,
	body .rg-ts figure,
	body .rg-es figure {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}


	/* ---------------------------------------------------------
	   Hero-Kacheln: Technische Strahlung + Erdstrahlung
	   Fehler: zwei winzige Kacheln nebeneinander
	   Lösung: volle Breite untereinander
	   --------------------------------------------------------- */

	body .rg-ts .rg-ts-hero .rg-ts-feats,
	body .rg-es .rg-ts-hero .rg-ts-feats,
	body .rg-es .rg-es-hero .rg-ts-feats {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.75rem !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 1.25rem 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body .rg-ts .rg-ts-hero .rg-ts-feat,
	body .rg-es .rg-ts-hero .rg-ts-feat,
	body .rg-es .rg-es-hero .rg-ts-feat {
		width: 100% !important;
		max-width: 100% !important;
		display: grid !important;
		grid-template-columns: 50px minmax(0, 1fr) !important;
		gap: 0.8rem !important;
		align-items: center !important;
		margin: 0 !important;
		padding: 0.9rem !important;
		border: 1px solid rgba(16, 55, 98, 0.12) !important;
		border-radius: 16px !important;
		background: rgba(255, 255, 255, 0.72) !important;
		text-align: left !important;
		box-shadow: none !important;
	}

	body .rg-ts .rg-ts-hero .rg-ts-feat::before,
	body .rg-ts .rg-ts-hero .rg-ts-feat::after,
	body .rg-es .rg-ts-hero .rg-ts-feat::before,
	body .rg-es .rg-ts-hero .rg-ts-feat::after,
	body .rg-es .rg-es-hero .rg-ts-feat::before,
	body .rg-es .rg-es-hero .rg-ts-feat::after {
		display: none !important;
		content: none !important;
	}

	body .rg-ts .rg-ts-feat-icon,
	body .rg-es .rg-ts-feat-icon {
		width: 50px !important;
		height: 50px !important;
		min-width: 50px !important;
		min-height: 50px !important;
		max-width: 50px !important;
		max-height: 50px !important;
		aspect-ratio: 1 / 1 !important;
		border-radius: 999px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #ffffff !important;
		color: #103762 !important;
	}

	body .rg-ts .rg-ts-feat-icon svg,
	body .rg-es .rg-ts-feat-icon svg {
		width: 26px !important;
		height: 26px !important;
	}

	body .rg-ts .rg-ts-feat-title,
	body .rg-es .rg-ts-feat-title {
		margin: 0 0 0.12rem !important;
		font-size: 0.98rem !important;
		line-height: 1.24 !important;
		text-align: left !important;
	}

	body .rg-ts .rg-ts-feat-text,
	body .rg-es .rg-ts-feat-text {
		margin: 0 !important;
		font-size: 0.9rem !important;
		line-height: 1.38 !important;
		text-align: left !important;
	}


	/* ---------------------------------------------------------
	   Was-ist-Abschnitt + Quellenbox
	   --------------------------------------------------------- */

	body .rg-ts .rg-ts-what,
	body .rg-es .rg-ts-what {
		padding-top: 2.35rem !important;
		padding-bottom: 2.35rem !important;
	}

	body .rg-ts .rg-ts-what-text,
	body .rg-es .rg-ts-what-text,
	body .rg-ts .rg-ts-sources,
	body .rg-es .rg-ts-sources {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 1.15rem !important;
		border-radius: 18px !important;
	}

	body .rg-ts .rg-ts-sources,
	body .rg-es .rg-ts-sources {
		background: #ffffff !important;
		border: 1px solid #dce5ef !important;
		box-shadow: 0 10px 26px rgba(16, 55, 98, 0.06) !important;
	}

	body .rg-ts .rg-ts-src,
	body .rg-es .rg-ts-src {
		display: grid !important;
		grid-template-columns: 42px minmax(0, 1fr) !important;
		gap: 0.72rem !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0.68rem 0.7rem !important;
		margin: 0.45rem 0 0 !important;
		border-radius: 12px !important;
		background: #f7f9fc !important;
	}

	body .rg-ts .rg-ts-src-ic,
	body .rg-es .rg-ts-src-ic {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;
		max-width: 42px !important;
		max-height: 42px !important;
		border-radius: 999px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #ffffff !important;
	}

	body .rg-ts .rg-ts-src-ic img,
	body .rg-es .rg-ts-src-ic img,
	body .rg-ts .rg-ts-src-ic svg,
	body .rg-es .rg-ts-src-ic svg {
		width: 22px !important;
		height: 22px !important;
		max-width: 22px !important;
		max-height: 22px !important;
	}

	body .rg-ts .rg-ts-src-t,
	body .rg-es .rg-ts-src-t,
	body .rg-es .rg-es-src-d {
		text-align: left !important;
		margin: 0 !important;
		font-size: 0.93rem !important;
		line-height: 1.35 !important;
	}


	/* ---------------------------------------------------------
	   Leistungsbereich:
	   Fehler: Icons oval / Linie / Text zu schmal
	   Lösung: echte Karten, runde Icons, keine Linien
	   --------------------------------------------------------- */

	body .rg-ts .rg-ts-serv,
	body .rg-es .rg-ts-serv {
		padding-top: 2.45rem !important;
		padding-bottom: 2.45rem !important;
	}

	body .rg-ts .rg-ts-serv-h2,
	body .rg-es .rg-ts-serv-h2 {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 92% !important;
	}

	body .rg-ts .rg-ts-serv-grid,
	body .rg-es .rg-ts-serv-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
	}

	body .rg-ts .rg-ts-serv-grid::before,
	body .rg-ts .rg-ts-serv-grid::after,
	body .rg-es .rg-ts-serv-grid::before,
	body .rg-es .rg-ts-serv-grid::after,
	body .rg-ts .rg-ts-serv-col::before,
	body .rg-ts .rg-ts-serv-col::after,
	body .rg-es .rg-ts-serv-col::before,
	body .rg-es .rg-ts-serv-col::after {
		display: none !important;
		content: none !important;
	}

	body .rg-ts .rg-ts-serv-col,
	body .rg-es .rg-ts-serv-col {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
		margin: 0 !important;
		padding: 1.25rem !important;
		border: 1px solid #dce5ef !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		box-shadow: 0 12px 28px rgba(16, 55, 98, 0.05) !important;
		text-align: center !important;
	}

	body .rg-ts .rg-ts-serv-ic,
	body .rg-es .rg-ts-serv-ic,
	body .rg-es .rg-es-serv-ic-house {
		width: 64px !important;
		height: 64px !important;
		min-width: 64px !important;
		min-height: 64px !important;
		max-width: 64px !important;
		max-height: 64px !important;
		aspect-ratio: 1 / 1 !important;
		border-radius: 999px !important;
		margin: 0 auto 0.85rem !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #eef6ff !important;
	}

	body .rg-ts .rg-ts-serv-ic svg,
	body .rg-es .rg-ts-serv-ic svg,
	body .rg-es .rg-es-serv-ic-house svg {
		width: 30px !important;
		height: 30px !important;
	}

	body .rg-ts .rg-ts-serv-title,
	body .rg-es .rg-ts-serv-title {
		margin: 0 0 0.45rem !important;
		font-size: 1.04rem !important;
		line-height: 1.25 !important;
		text-align: center !important;
	}

	body .rg-ts .rg-ts-serv-text,
	body .rg-es .rg-ts-serv-text {
		margin: 0 !important;
		font-size: 0.94rem !important;
		line-height: 1.48 !important;
		text-align: center !important;
	}

	body .rg-ts .rg-ts-serv-rule,
	body .rg-es .rg-ts-serv-rule {
		display: none !important;
	}


	/* ---------------------------------------------------------
	   Auswirkungen / Gesundheit / Mehr-Wissen-Karte
	   Fehler: Karte wirkt gequetscht und anders als andere Seiten
	   --------------------------------------------------------- */

	body .rg-ts .rg-ts-health,
	body .rg-es .rg-ts-health {
		padding-top: 2.3rem !important;
		padding-bottom: 2.3rem !important;
	}

	body .rg-ts .rg-ts-card,
	body .rg-es .rg-ts-card,
	body .rg-ts .rg-ts-health-col,
	body .rg-es .rg-ts-health-col {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 1.25rem !important;
		border-radius: 18px !important;
		overflow: hidden !important;
	}

	body .rg-ts .rg-ts-health-grid,
	body .rg-es .rg-ts-health-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
	}

	body .rg-ts .rg-ts-health-text,
	body .rg-es .rg-ts-health-text {
		width: 100% !important;
		max-width: 100% !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.85rem !important;
		text-align: left !important;
	}

	body .rg-ts .rg-ts-health-ic,
	body .rg-es .rg-ts-health-ic {
		width: 62px !important;
		height: 62px !important;
		min-width: 62px !important;
		min-height: 62px !important;
		max-width: 62px !important;
		max-height: 62px !important;
		border-radius: 999px !important;
		margin: 0 auto 0.3rem !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	body .rg-ts .rg-ts-blog,
	body .rg-es .rg-ts-blog {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 240px !important;
		margin: 0 !important;
		border-radius: 16px !important;
		overflow: hidden !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	body .rg-ts .rg-ts-blog-body,
	body .rg-es .rg-ts-blog-body {
		width: 100% !important;
		max-width: 100% !important;
		padding: 1rem !important;
	}

	body .rg-ts .rg-ts-blog-title,
	body .rg-es .rg-ts-blog-title {
		font-size: 1.08rem !important;
		line-height: 1.18 !important;
	}

	body .rg-ts .rg-ts-blog-text,
	body .rg-es .rg-ts-blog-text {
		font-size: 0.9rem !important;
		line-height: 1.45 !important;
	}


	/* ---------------------------------------------------------
	   Erdstrahlung: Warum-Analyse-Bereich
	   --------------------------------------------------------- */

	body .rg-es .rg-es-why {
		padding-top: 2.4rem !important;
		padding-bottom: 2.4rem !important;
	}

	body .rg-es .rg-es-why-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.9rem !important;
		padding-left: 1.05rem !important;
		padding-right: 1.05rem !important;
	}

	body .rg-es .rg-es-why-col {
		display: grid !important;
		grid-template-columns: 56px minmax(0, 1fr) !important;
		gap: 0.8rem !important;
		align-items: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 1rem !important;
		border: 1px solid #dce5ef !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		text-align: left !important;
	}

	body .rg-es .rg-es-why-ic {
		width: 56px !important;
		height: 56px !important;
		min-width: 56px !important;
		min-height: 56px !important;
		max-width: 56px !important;
		max-height: 56px !important;
		border-radius: 999px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	body .rg-es .rg-es-why-title {
		font-size: 0.98rem !important;
		line-height: 1.25 !important;
		text-align: left !important;
		margin: 0 0 0.25rem !important;
	}

	body .rg-es .rg-es-why-text {
		font-size: 0.9rem !important;
		line-height: 1.42 !important;
		text-align: left !important;
		margin: 0 !important;
	}


	/* ---------------------------------------------------------
	   CTA am Ende
	   --------------------------------------------------------- */

	body .rg-ts .rg-ts-cta,
	body .rg-es .rg-ts-cta,
	body .rg-es .rg-es-cta {
		width: calc(100% - 2.1rem) !important;
		max-width: calc(100% - 2.1rem) !important;
		margin: 0 auto 2rem !important;
		padding: 1.25rem !important;
		border-radius: 18px !important;
		overflow: hidden !important;
		background-color: #103762 !important;
		background-image: none !important;
	}

	body .rg-ts .rg-ts-cta-inner,
	body .rg-es .rg-ts-cta-inner,
	body .rg-es .rg-es-cta-inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body .rg-ts .rg-ts-cta-title,
	body .rg-es .rg-ts-cta-title,
	body .rg-es .rg-es-cta-title {
		font-size: 1.45rem !important;
		line-height: 1.12 !important;
		margin: 0 !important;
	}

	body .rg-ts .rg-ts-cta-sub,
	body .rg-es .rg-ts-cta-sub,
	body .rg-es .rg-es-cta-txt {
		font-size: 0.95rem !important;
		line-height: 1.5 !important;
	}

	body .rg-ts .rg-ts-cta-buttons,
	body .rg-es .rg-ts-cta-buttons {
		width: 100% !important;
		margin: 0 !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.75rem !important;
	}

	body .rg-ts .rg-ts-cta-buttons .wp-block-button,
	body .rg-es .rg-ts-cta-buttons .wp-block-button,
	body .rg-ts .rg-ts-cta-buttons .wp-block-button__link,
	body .rg-es .rg-ts-cta-buttons .wp-block-button__link,
	body .rg-ts .rg-ts-cta a,
	body .rg-es .rg-ts-cta a,
	body .rg-es .rg-es-cta a {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}


	/* ---------------------------------------------------------
	   Footer auf diesen Seiten wieder wie auf den anderen Seiten
	   --------------------------------------------------------- */

	body .rutengang-footer,
	body .rutengang-footer * {
		box-sizing: border-box !important;
	}

	body .rutengang-footer {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 2.4rem 1.1rem 2rem !important;
		background: #174a7a !important;
		color: #ffffff !important;
		overflow: hidden !important;
	}

	body .rutengang-footer .wp-block-group,
	body .rutengang-footer .wp-block-columns,
	body .rutengang-footer .wp-block-column,
	body .rutengang-footer nav,
	body .rutengang-footer ul {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.1rem !important;
		text-align: left !important;
	}

	body .rutengang-footer h2,
	body .rutengang-footer h3,
	body .rutengang-footer h4,
	body .rutengang-footer strong {
		color: #ffffff !important;
		font-size: 1.05rem !important;
		line-height: 1.25 !important;
		margin: 0 0 0.45rem !important;
		letter-spacing: 0.02em !important;
		text-transform: uppercase !important;
	}

	body .rutengang-footer p,
	body .rutengang-footer a,
	body .rutengang-footer li,
	body .rutengang-footer .wp-block-navigation-item__content {
		color: #ffffff !important;
		font-size: 0.95rem !important;
		line-height: 1.5 !important;
		text-decoration: none !important;
		margin: 0 !important;
	}

	body .rutengang-footer a:hover {
		color: rgba(255, 255, 255, 0.78) !important;
	}

	body .rutengang-footer .wp-block-navigation__container {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;
	}

	body .rutengang-footer hr,
	body .rutengang-footer .wp-block-separator {
		width: 100% !important;
		max-width: 100% !important;
		margin: 1.25rem 0 !important;
		border-color: rgba(255,255,255,0.28) !important;
		background: rgba(255,255,255,0.28) !important;
	}

	body .rutengang-footer > .wp-block-group {
		padding: 0 !important;
	}
}
/* =========================================================
   GEOMERA ERDSTRAHLUNG MOBILE FIX V5
   Bitte GANZ UNTEN in style.css einfügen.
   Korrigiert gezielt die Erdstrahlung-Seite:
   - Hero läuft nicht mehr über den Rand
   - Leistungs-Icons sichtbar und rund
   - "Mögliche Auswirkungen im Raum" sauber lesbar
   - CTA-Button ragt nicht mehr über die Karte
   - Footer-Abstände kompakter
   ========================================================= */

@media (max-width: 782px) {

	/* ---------- Erdstrahlung: Grundbreite / Alignfull entschärfen ---------- */

	body,
	html {
		overflow-x: hidden !important;
		max-width: 100% !important;
	}

	main.rg-es,
	.rg-es,
	.rg-es .alignfull,
	.rg-es .wp-block-group.alignfull,
	.rg-es > .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		overflow-x: hidden !important;
		box-sizing: border-box !important;
	}

	.rg-es *,
	.rg-es *::before,
	.rg-es *::after {
		box-sizing: border-box !important;
	}

	.rg-es .rg-ts-container,
	.rg-es .rg-es-container,
	.rg-es .rg-ts-hero-inner,
	.rg-es .rg-es-hero-inner,
	.rg-es .rg-ts-what-grid,
	.rg-es .rg-ts-serv-grid,
	.rg-es .rg-ts-health-grid,
	.rg-es .rg-es-why-grid {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}


	/* ---------- Hero: vollständig sichtbar, nichts ragt nach rechts ---------- */

	.rg-es .rg-ts-hero,
	.rg-es .rg-es-hero {
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
		margin: 0 !important;
		padding: 2rem 0 1.6rem !important;
		background-position: center center !important;
		background-size: cover !important;
		overflow: hidden !important;
	}

	.rg-es .rg-ts-hero-inner,
	.rg-es .rg-es-hero-inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.rg-es .rg-ts-hero-content {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 1.2rem !important;
		border-radius: 18px !important;
		background: rgba(255,255,255,0.74) !important;
	}

	.rg-es .rg-ts-hero-title,
	.rg-es .rg-es-hero-title,
	.rg-es h1.rg-ts-hero-title {
		font-size: 2.35rem !important;
		line-height: 1.02 !important;
		letter-spacing: -0.035em !important;
		margin: 0 0 0.25rem !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	.rg-es .rg-es-hero-sub {
		font-size: 1.15rem !important;
		line-height: 1.25 !important;
		margin: 0 0 0.8rem !important;
		max-width: 100% !important;
	}

	.rg-es .rg-ts-hero-lead {
		font-size: 0.98rem !important;
		line-height: 1.52 !important;
		margin: 0 !important;
		max-width: 100% !important;
	}

	.rg-es .rg-ts-feats {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.75rem !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
	}

	.rg-es .rg-ts-feat {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0.95rem !important;
		display: grid !important;
		grid-template-columns: 48px minmax(0, 1fr) !important;
		gap: 0.8rem !important;
		align-items: center !important;
		background: #ffffff !important;
		border: 1px solid #dce5ef !important;
		border-radius: 16px !important;
		text-align: left !important;
		box-shadow: 0 10px 22px rgba(16,55,98,0.06) !important;
	}

	.rg-es .rg-ts-feat::before,
	.rg-es .rg-ts-feat::after {
		display: none !important;
		content: none !important;
	}

	.rg-es .rg-ts-feat-icon {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 999px !important;
		background: #eef6ff !important;
		color: #103762 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.rg-es .rg-ts-feat-icon svg {
		display: block !important;
		width: 25px !important;
		height: 25px !important;
		stroke: currentColor !important;
	}

	.rg-es .rg-ts-feat-title {
		font-size: 0.96rem !important;
		line-height: 1.22 !important;
		margin: 0 0 0.15rem !important;
		text-align: left !important;
	}

	.rg-es .rg-ts-feat-text {
		font-size: 0.88rem !important;
		line-height: 1.35 !important;
		margin: 0 !important;
		text-align: left !important;
	}


	/* ---------- Leistungen: Icons wieder sichtbar, rund und nicht oval ---------- */

	.rg-es .rg-ts-serv-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.95rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.rg-es .rg-ts-serv-grid::before,
	.rg-es .rg-ts-serv-grid::after,
	.rg-es .rg-ts-serv-col::before,
	.rg-es .rg-ts-serv-col::after,
	.rg-es .rg-ts-serv-rule {
		display: none !important;
		content: none !important;
	}

	.rg-es .rg-ts-serv-col {
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
		margin: 0 !important;
		padding: 1.25rem !important;
		border: 1px solid #dce5ef !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		box-shadow: 0 10px 22px rgba(16,55,98,0.05) !important;
		text-align: center !important;
	}

	.rg-es .rg-ts-serv-ic {
		width: 66px !important;
		height: 66px !important;
		min-width: 66px !important;
		min-height: 66px !important;
		max-width: 66px !important;
		max-height: 66px !important;
		aspect-ratio: 1 / 1 !important;
		margin: 0 auto 0.85rem !important;
		padding: 0 !important;
		border-radius: 999px !important;
		background: #103762 !important;
		color: #ffffff !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}

	.rg-es .rg-ts-serv-ic svg {
		display: block !important;
		width: 30px !important;
		height: 30px !important;
		max-width: 30px !important;
		max-height: 30px !important;
		stroke: currentColor !important;
		color: #ffffff !important;
		opacity: 1 !important;
	}

	.rg-es .rg-ts-serv-title {
		font-size: 1.05rem !important;
		line-height: 1.25 !important;
		margin: 0 0 0.45rem !important;
		text-align: center !important;
	}

	.rg-es .rg-ts-serv-text {
		font-size: 0.94rem !important;
		line-height: 1.48 !important;
		margin: 0 !important;
		text-align: center !important;
	}


	/* ---------- Mögliche Auswirkungen im Raum: sauber lesbar ---------- */

	.rg-es .rg-ts-health {
		width: 100% !important;
		max-width: 100% !important;
		padding: 2rem 1rem !important;
		margin: 0 !important;
		background: transparent !important;
		overflow: hidden !important;
	}

	.rg-es .rg-ts-health > .rg-ts-card,
	.rg-es .rg-ts-card {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 1.25rem !important;
		border-radius: 18px !important;
		background: #f4efe6 !important;
		overflow: hidden !important;
	}

	.rg-es .rg-ts-health-grid,
	.rg-es .rg-ts-health-text {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rg-es .rg-ts-health-col {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.rg-es .rg-ts-health .rg-ts-h2 {
		font-size: 1.75rem !important;
		line-height: 1.12 !important;
		letter-spacing: -0.02em !important;
		margin: 0 0 0.85rem !important;
		text-align: left !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	.rg-es .rg-ts-health .rg-ts-p {
		font-size: 0.98rem !important;
		line-height: 1.55 !important;
		margin: 0 0 1rem !important;
		text-align: left !important;
		max-width: 100% !important;
	}

	.rg-es .rg-es-benefits {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 1rem 0 0 !important;
		padding: 0 !important;
	}

	.rg-es .rg-es-benefit {
		width: 100% !important;
		max-width: 100% !important;
		display: grid !important;
		grid-template-columns: 46px minmax(0, 1fr) !important;
		gap: 0.75rem !important;
		align-items: center !important;
		margin: 0 !important;
		padding: 0.7rem !important;
		border-radius: 14px !important;
		background: rgba(255,255,255,0.72) !important;
		border: 1px solid rgba(16,55,98,0.08) !important;
	}

	.rg-es .rg-es-benefit-ic {
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		min-height: 46px !important;
		max-width: 46px !important;
		max-height: 46px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 999px !important;
		background: #ffffff !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}

	.rg-es .rg-es-benefit-img,
	.rg-es .rg-es-benefit-img img {
		width: 28px !important;
		height: 28px !important;
		max-width: 28px !important;
		max-height: 28px !important;
		object-fit: contain !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rg-es .rg-es-benefit-t {
		font-size: 0.95rem !important;
		line-height: 1.35 !important;
		font-weight: 700 !important;
		color: #103762 !important;
		text-align: left !important;
		margin: 0 !important;
	}


	/* ---------- Blog-Karte in Auswirkungen ---------- */

	.rg-es .rg-ts-blog {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		min-height: 240px !important;
		border-radius: 16px !important;
		overflow: hidden !important;
		background-size: cover !important;
		background-position: center center !important;
	}

	.rg-es .rg-ts-blog-body {
		width: 100% !important;
		max-width: 100% !important;
		padding: 1rem !important;
	}

	.rg-es .rg-ts-blog-title {
		font-size: 1.08rem !important;
		line-height: 1.18 !important;
		margin: 0 0 0.45rem !important;
	}

	.rg-es .rg-ts-blog-text {
		font-size: 0.9rem !important;
		line-height: 1.42 !important;
	}


	/* ---------- Dunkelblaue CTA-Karte: Button darf nicht herausragen ---------- */

	.rg-es .rg-es-ctawrap,
	.rg-es .rg-ts-cta,
	.rg-es .rg-es-cta {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		overflow: hidden !important;
	}

	.rg-es .rg-ts-cta,
	.rg-es .rg-es-cta {
		width: 100% !important;
		max-width: 100% !important;
		padding: 1.25rem !important;
		border-radius: 18px !important;
		background: #103762 !important;
		background-image: none !important;
		box-sizing: border-box !important;
	}

	.rg-es .rg-ts-cta-inner,
	.rg-es .rg-es-cta-inner {
		width: 100% !important;
		max-width: 100% !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1rem !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rg-es .rg-es-cta-txt {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rg-es .rg-ts-cta-title {
		font-size: 1.45rem !important;
		line-height: 1.12 !important;
		margin: 0 0 0.6rem !important;
		max-width: 100% !important;
		overflow-wrap: break-word !important;
	}

	.rg-es .rg-ts-cta-sub {
		font-size: 0.95rem !important;
		line-height: 1.48 !important;
		margin: 0 !important;
		max-width: 100% !important;
	}

	.rg-es .rg-ts-cta-sub br {
		display: none !important;
	}

	.rg-es .rg-ts-cta-buttons,
	.rg-es .rg-ts-cta-buttons .wp-block-button,
	.rg-es .rg-ts-cta-buttons .wp-block-button__link,
	.rg-es .rg-btn-white,
	.rg-es .rg-btn-white .wp-block-button__link {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.rg-es .rg-ts-cta-buttons .wp-block-button__link,
	.rg-es .rg-btn-white .wp-block-button__link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0.85rem 0.9rem !important;
		border-radius: 10px !important;
		font-size: 0.84rem !important;
		line-height: 1.15 !important;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
	}


	/* ---------- Footer: Menü-Abstände kompakter ---------- */

	.rutengang-footer {
		padding: 2.2rem 1rem 1.6rem !important;
	}

	.rutengang-footer .wp-block-group,
	.rutengang-footer .wp-block-columns,
	.rutengang-footer .wp-block-column {
		gap: 0.75rem !important;
		row-gap: 0.75rem !important;
	}

	.rutengang-footer nav,
	.rutengang-footer .wp-block-navigation,
	.rutengang-footer .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.42rem !important;
		row-gap: 0.42rem !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rutengang-footer .wp-block-navigation-item {
		margin: 0 !important;
		padding: 0 !important;
	}

	.rutengang-footer .wp-block-navigation-item__content,
	.rutengang-footer a {
		padding: 0 !important;
		margin: 0 !important;
		font-size: 0.92rem !important;
		line-height: 1.28 !important;
	}

	.rutengang-footer h2,
	.rutengang-footer h3,
	.rutengang-footer h4,
	.rutengang-footer strong {
		margin: 0 0 0.45rem !important;
		font-size: 1rem !important;
		line-height: 1.2 !important;
	}

	.rutengang-footer p {
		margin: 0 !important;
		font-size: 0.92rem !important;
		line-height: 1.38 !important;
	}

	.rutengang-footer hr,
	.rutengang-footer .wp-block-separator {
		margin: 1rem 0 !important;
	}
}
/* =========================================================
   Erdstrahlung mobil: Icons in "Meine Leistungen" dunkelblau
   ========================================================= */

@media (max-width: 782px) {
	.rg-es .rg-ts-serv-ic {
		background: #eef6ff !important;
		color: #103762 !important;
	}

	.rg-es .rg-ts-serv-ic svg,
	.rg-es .rg-ts-serv-ic svg *,
	.rg-es .rg-ts-serv-ic path,
	.rg-es .rg-ts-serv-ic circle,
	.rg-es .rg-ts-serv-ic rect,
	.rg-es .rg-ts-serv-ic line,
	.rg-es .rg-ts-serv-ic polyline {
		color: #103762 !important;
		stroke: #103762 !important;
		fill: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
}
/* =========================================================
   Leistungen mobil: Zahlenfelder unter den Icon-Feldern anpassen
   ========================================================= */

@media (max-width: 782px) {
	.rg-leistungen .rg-lp-step-icon {
		width: 100% !important;
		max-width: 260px !important;
		height: 66px !important;
		min-height: 66px !important;
		margin: 0 auto 0.35rem !important;
		border-radius: 999px !important;
	}

	.rg-leistungen .rg-lp-step-num {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 260px !important;
		height: 38px !important;
		min-height: 38px !important;
		margin: 0 auto 0.9rem !important;
		padding: 0 !important;
		border-radius: 999px !important;
		background: #dbeaf6 !important;
		color: #103762 !important;
		font-size: 1rem !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		text-align: center !important;
		box-shadow: none !important;
	}

	.rg-leistungen .rg-lp-step {
		text-align: center !important;
	}

	.rg-leistungen .rg-lp-step-title,
	.rg-leistungen .rg-lp-step p {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
/* =========================================================
   Über-mich-Seite mobil: "Wer ich bin" zentrieren
   ========================================================= */

@media (max-width: 782px) {
	.rg-ueber .rg-ub-wer .rg-ub-h2,
	.rg-ub .rg-ub-wer .rg-ub-h2,
	.rg-ueber .rg-ub-wer h2,
	.rg-ub .rg-ub-wer h2 {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		display: block !important;
	}

	.rg-ueber .rg-ub-wer-text,
	.rg-ub .rg-ub-wer-text {
		text-align: center !important;
	}

	.rg-ueber .rg-ub-wer-text p,
	.rg-ub .rg-ub-wer-text p {
		text-align: left !important;
	}
}
/* =========================================================
   FAQ mobil: Hinweis unter Kategorie-Pills schöner darstellen
   ========================================================= */

@media (max-width: 782px) {

	/* Alten unschönen Hinweis aus den Pills entfernen */
	.rg-faq .rg-faq-tabs::after,
	.rg-faq .rg-faq-cats::after,
	.rg-faq .rg-faq-pill-row::after,
	.rg-faq [class*="tabs"]::after,
	.rg-faq [class*="pills"]::after,
	.rg-faq [class*="filters"]::after {
		display: none !important;
		content: none !important;
	}

	/* Pills selbst sauber scrollbar lassen */
	.rg-faq .rg-faq-tabs {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 0.55rem !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding: 0 1.05rem 0.75rem !important;
		margin: 0 -1.05rem 0.35rem !important;
		scroll-snap-type: x proximity !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.rg-faq .rg-faq-tabs::-webkit-scrollbar {
		display: none !important;
	}

	.rg-faq .rg-faq-tab {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: auto !important;
		max-width: none !important;
		padding: 0.68rem 0.95rem !important;
		border-radius: 999px !important;
		white-space: nowrap !important;
		scroll-snap-align: start !important;
	}

	/* Den vorhandenen Hinweis als schöne kleine Hinweiszeile darstellen */
	.rg-faq .rg-faq-hint {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: fit-content !important;
		max-width: calc(100% - 2.1rem) !important;
		margin: 0.15rem auto 1.35rem !important;
		padding: 0.48rem 0.78rem !important;
		border-radius: 999px !important;
		background: #f4efe6 !important;
		border: 1px solid rgba(16, 55, 98, 0.10) !important;
		color: rgba(16, 55, 98, 0.72) !important;
		font-size: 0 !important;
		line-height: 1 !important;
		text-align: center !important;
		box-shadow: none !important;
	}

	.rg-faq .rg-faq-hint::before {
		content: "↔  Seitlich wischen für weitere Themen" !important;
		display: inline-block !important;
		font-size: 0.78rem !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		letter-spacing: 0 !important;
		color: rgba(16, 55, 98, 0.72) !important;
		white-space: normal !important;
	}
}
/* =========================================================
   Leistungsseite mobil – unterste CTA-Karte optimieren
   - oberes Icon entfernen
   - Abstände zwischen Texten und Button verkleinern
   ========================================================= */

@media (max-width: 782px) {

  .rg-leistungen .rg-lp-cta-wrap {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .rg-leistungen .rg-lp-cta {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0.9rem !important;
    padding: 1.15rem 1rem 1rem !important;
  }

  .rg-leistungen .rg-lp-cta-left {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* oberes Icon komplett ausblenden */
  .rg-leistungen .rg-lp-cta-icon {
    display: none !important;
  }

  .rg-leistungen .rg-lp-cta-copy {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .rg-leistungen .rg-lp-cta-title {
    margin: 0 0 0.55rem !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.08 !important;
  }

  .rg-leistungen .rg-lp-cta-sub {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.55 !important;
  }

  .rg-leistungen .rg-lp-cta-buttons {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0.35rem 0 0 !important;
    padding: 0 !important;
  }

  .rg-leistungen .rg-lp-cta-buttons .wp-block-button {
    width: 100% !important;
    margin: 0 !important;
  }

  .rg-leistungen .rg-lp-cta-buttons .wp-block-button__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0.95rem 1.15rem !important;
    text-align: center !important;
  }
}
/* =========================================================
   Leistungsseite: abgeschnittenes "g" in CTA-Überschrift beheben
   ========================================================= */

@media (max-width: 782px) {
	.rg-leistungen .rg-lp-cta-copy,
	.rg-leistungen .rg-lp-cta-title {
		overflow: visible !important;
	}

	.rg-leistungen .rg-lp-cta-title {
		line-height: 1.18 !important;
		padding-bottom: 0.12em !important;
		margin-bottom: 0.55rem !important;
	}
}
/* Über-mich-Karte: Hintergrundbild etwas nach unten verschieben */
.rg-about-card,
.rg-ueber-mich-card,
.home-ueber-mich-card {
	background-position: right 45 top 40px !important;
}
/* =========================================================
   Desktop-Menü: hochwertigere, ruhigere Schriftwirkung
   ========================================================= */

@media (min-width: 783px) {
	.rutengang-header .wp-block-navigation,
	.rutengang-header .wp-block-navigation a,
	.rutengang-header .wp-block-navigation-item__content,
	.rutengang-header .wp-block-navigation__submenu-container a {
		font-family: inherit !important;
		font-size: 0.78rem !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		letter-spacing: 0.055em !important;
		text-transform: uppercase !important;
		color: #103762 !important;
		text-decoration: none !important;
	}

	.rutengang-header .wp-block-navigation-item__content {
		padding-top: 0.35rem !important;
		padding-bottom: 0.35rem !important;
	}

	.rutengang-header .wp-block-navigation-item__content:hover,
	.rutengang-header .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
	.rutengang-header .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
		color: #B85C3B !important;
	}

	.rutengang-header .wp-block-navigation__submenu-container {
		border-radius: 14px !important;
		border: 1px solid rgba(16, 55, 98, 0.10) !important;
		box-shadow: 0 18px 42px rgba(16, 55, 98, 0.12) !important;
		padding: 0.55rem !important;
	}

	.rutengang-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: 0.74rem !important;
		letter-spacing: 0.045em !important;
		text-transform: uppercase !important;
		padding: 0.62rem 0.8rem !important;
		border-radius: 10px !important;
	}

	.rutengang-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		background: rgba(184, 92, 59, 0.08) !important;
	}
}