/* Schönheit Schenken – Sektions-Widgets
   Flexbox only, feste px pro Breakpoint.

   Rasterprinzip: Jede Sektion sitzt auf derselben Inhaltsspalte (--ss-content).
   Sektionen, die randlos laufen (Hero, Split), setzen ihre Textspalte über
   --ss-edge auf exakt dieselbe Rasterlinie. Textbreiten werden über die
   Zeilenlänge begrenzt, nie über einen schmaleren zentrierten Container. */

:root {
	--ss-bg: #FBF9F6;
	--ss-bg-alt: #F1EFEC;
	/* RAL 7037 Dusty Grey – dunkle Sektionsflächen */
	--ss-bg-dark: #7D7F7D;
	--ss-line: #DED9D3;
	--ss-line-dark: #6B6D6B;
	--ss-ink: #2A2724;
	/* Body/Mute aus RAL-7037-Familie, für Fließtext auf hellem Grund. */
	--ss-body: #5B5D5B;
	--ss-mute: #6B6D6B;
	/* Auf RAL-7037-Flächen: helles Text für WCAG AA */
	--ss-mute-dark: #FFFFFF;
	/* Kunden-CI Gold – ein Ton für Flächen, Linien und Text auf hellem Grund */
	--ss-gold: #C99A2E;
	--ss-gold-soft: var(--ss-gold);
	--ss-gold-text: var(--ss-gold);
	--ss-display: 'Prata', Georgia, 'Times New Roman', serif;
	--ss-sans: 'Jost', 'Helvetica Neue', Arial, sans-serif;

	/* Layoutraster – die einzige Quelle für Breiten und Abstände. */
	--ss-content: 1280px;
	--ss-gutter: 48px;
	--ss-section-y: 120px;
	--ss-col-gap: 72px;
}

/*
 * Randlos laufende Sektionen richten ihre Textspalte hierüber am Raster aus.
 * 100vw (nicht 100%): Elementor-Eltern können schmaler als der Viewport sein;
 * Header/Footer sitzen auf derselben Viewport-Rasterlinie.
 */
.ss-hero__copy,
.ss-split__copy {
	--ss-edge: max(var(--ss-gutter), calc((100vw - var(--ss-content)) / 2));
}

/* Elementor-Reset: Sektions-Widgets rendern randlos über die volle Breite. */
.elementor-widget-ss_hero,
.elementor-widget-ss_intro,
.elementor-widget-ss_trust_bar,
.elementor-widget-ss_leistungen_grid,
.elementor-widget-ss_produkte_grid,
.elementor-widget-ss_image_gallery,
.elementor-widget-ss_order_block,
.elementor-widget-ss_path_cards,
.elementor-widget-ss_weg,
.elementor-widget-ss_split_feature,
.elementor-widget-ss_preisanker,
.elementor-widget-ss_preis_pakete,
.elementor-widget-ss_standort,
.elementor-widget-ss_testimonials,
.elementor-widget-ss_hautwissen_teaser,
.elementor-widget-ss_faq,
.elementor-widget-ss_quote_banner,
.elementor-widget-ss_principles,
.elementor-widget-ss_cta_final,
.elementor-widget-ss_footer {
	width: 100%;
}

.ss-sec,
.ss-footer {
	box-sizing: border-box;
	font-family: var(--ss-sans);
	font-weight: 300;
	color: var(--ss-body);
}

.ss-sec *,
.ss-footer * {
	box-sizing: border-box;
}

/* Standardsektion: gleiche Polsterung, gleiche Inhaltsspalte, gleicher Rhythmus. */
.ss-sec--pad {
	padding: var(--ss-section-y) var(--ss-gutter);
}

.ss-sec__inner {
	max-width: var(--ss-content);
	margin: 0 auto;
}

.ss-sec--light { background: var(--ss-bg); border-bottom: 1px solid var(--ss-line); }
.ss-sec--alt { background: var(--ss-bg-alt); border-bottom: 1px solid var(--ss-line); }
.ss-sec--dark { background: var(--ss-bg-dark); }
.ss-sec--no-border { border-bottom: 0; }

/* ---------- Bausteine ---------- */

.ss-kicker {
	margin: 0 0 22px;
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 4px;
	text-transform: uppercase;
	line-height: 1.5;
}

.ss-kicker--gold { color: var(--ss-gold-text); }
/* Auf dunklem RAL-7037-Grund: helles Kicker (Gold hätte zu wenig Kontrast). */
.ss-kicker--sand { color: #FFFFFF; }
.ss-kicker--mute { color: var(--ss-mute); letter-spacing: 3px; }

.ss-kicker--rule {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	letter-spacing: 3px;
	color: var(--ss-mute);
	margin-bottom: 28px;
}

/* Linie auf Höhe der ersten Textzeile halten, auch wenn der Kicker umbricht. */
.ss-kicker__line {
	display: block;
	flex: 0 0 44px;
	width: 44px;
	height: 1px;
	margin-top: 8px;
	background: var(--ss-gold);
}

/* Text darf in der Flex-Zeile schrumpfen und umbrechen (sonst wirkt die Spalte künstlich schmal). */
.ss-kicker__text {
	flex: 1 1 auto;
	min-width: 0;
}

.ss-btn {
	display: inline-block;
	font-family: var(--ss-sans);
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: 3px;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
	padding: 17px 34px;
	border: 1px solid transparent;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

.ss-btn--gold { background: var(--ss-gold); color: #fff; }
.ss-btn--gold:hover,
.ss-btn--gold:focus-visible { background: #B3892A; color: #fff; }

/* Alle Varianten haben denselben Rahmen, damit sie exakt gleich hoch bleiben. */
.ss-btn--outline { border-color: var(--ss-ink); color: var(--ss-ink); }
.ss-btn--outline:hover,
.ss-btn--outline:focus-visible { border-color: var(--ss-gold-text); color: var(--ss-gold-text); }

/* Outline auf dunklem Grund – weißer Rahmen, sonst verschwindet er auf RAL 7037. */
.ss-btn--ghost { border-color: #FFFFFF; color: #FFFFFF; }
.ss-btn--ghost:hover,
.ss-btn--ghost:focus-visible { border-color: #FFFFFF; color: #FFFFFF; background: rgba(255, 255, 255, 0.08); }

.ss-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

.ss-inline-link {
	color: var(--ss-gold-text);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.ss-inline-link:hover,
.ss-inline-link:focus-visible {
	color: var(--ss-ink);
}

.ss-link {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 12px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
	text-decoration: none;
	border-bottom: 1px solid var(--ss-gold);
	padding-bottom: 4px;
	transition: color .25s ease, border-color .25s ease;
}

.ss-link::after {
	content: "\2192";
	font-size: 13px;
	line-height: 1;
	transition: transform .25s ease;
}

.ss-link:hover,
.ss-link:focus-visible { color: var(--ss-ink); border-color: var(--ss-ink); }
.ss-link:hover::after { transform: translateX(3px); }

.ss-media {
	position: relative;
	overflow: hidden;
	background: var(--ss-bg-alt);
}

/* Doppelt qualifiziert, damit Elementors globale `img`-Regeln nicht gewinnen. */
.ss-sec .ss-media > img,
.ss-footer .ss-media > img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ss-sec .ss-media > video,
.ss-footer .ss-media > video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	display: block;
	background: var(--ss-bg-alt);
	/* Cover-Loop: kein Steuerungs-UI im Bild. */
	pointer-events: none;
}

/*
 * Muss genauso qualifiziert sein wie die Basisregel oben – sonst gewinnt dort
 * `object-position: center` und der eingestellte Bildfokus bleibt wirkungslos.
 */
.ss-sec .ss-media--focus-top > img,
.ss-footer .ss-media--focus-top > img { object-position: center top; }
.ss-sec .ss-media--focus-upper > img,
.ss-footer .ss-media--focus-upper > img { object-position: center 25%; }
.ss-sec .ss-media--focus-lower > img,
.ss-footer .ss-media--focus-lower > img { object-position: center 75%; }
.ss-sec .ss-media--focus-bottom > img,
.ss-footer .ss-media--focus-bottom > img { object-position: center bottom; }
.ss-sec .ss-media--focus-left > img,
.ss-footer .ss-media--focus-left > img { object-position: 28% center; }
.ss-sec .ss-media--focus-right > img,
.ss-footer .ss-media--focus-right > img { object-position: 72% center; }
/* Dokumente/Urkunden: voll sichtbar, kein Cover-Crop. */
.ss-sec .ss-media--focus-contain > img,
.ss-footer .ss-media--focus-contain > img {
	object-fit: contain;
	object-position: center;
}
.ss-prose__media.ss-media--focus-contain,
.ss-page-hero__media.ss-media--focus-contain {
	min-height: 560px;
	background: var(--ss-bg-alt);
}

/* Platzhalterfläche für ausstehende Fotografie – bewusst ruhig statt „kaputt". */
.ss-media__empty {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #F5F2EE 0%, #ECE6DD 52%, #E1D9CD 100%);
}

.ss-media__empty::before {
	content: "";
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
	border: 1px solid rgba(195, 161, 46, .28);
	pointer-events: none;
}

.ss-media__empty::after {
	display: none;
}

.ss-ornament {
	position: relative;
	z-index: 1;
	color: var(--ss-gold);
	opacity: 0.72;
	pointer-events: none;
}

.ss-ornament--media {
	width: 88px;
	height: 106px;
}

.ss-ornament--hero {
	width: 160px;
	height: 192px;
	opacity: 0.78;
}

.ss-page-hero__deco {
	position: relative;
	flex: 1 1 40%;
	min-width: 260px;
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, #F7F4F0 0%, #EFE9E1 100%);
	border: 1px solid var(--ss-line);
}

.ss-page-hero__deco-frame {
	position: absolute;
	top: 28px;
	right: 28px;
	bottom: 28px;
	left: 28px;
	border: 1px solid rgba(195, 161, 46, .32);
	pointer-events: none;
}

.ss-page-hero__deco-frame::before,
.ss-page-hero__deco-frame::after {
	content: "";
	position: absolute;
	width: 48px;
	height: 48px;
	border-color: rgba(195, 161, 46, .55);
	border-style: solid;
}

.ss-page-hero__deco-frame::before {
	top: -1px;
	left: -1px;
	border-width: 1px 0 0 1px;
}

.ss-page-hero__deco-frame::after {
	right: -1px;
	bottom: -1px;
	border-width: 0 1px 1px 0;
}

@media (max-width: 1023px) {
	.ss-page-hero__deco {
		min-height: 280px;
		width: 100%;
		flex-basis: 100%;
	}
	.ss-ornament--hero {
		width: 120px;
		height: 144px;
	}
}

@media (max-width: 767px) {
	.ss-page-hero__deco {
		min-height: 220px;
	}
	.ss-page-hero__deco-frame {
		top: 18px;
		right: 18px;
		bottom: 18px;
		left: 18px;
	}
	.ss-ornament--media {
		width: 72px;
		height: 86px;
	}
}

.ss-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 64px;
}

.ss-head__group { max-width: none; }
.ss-head__group .ss-kicker { margin-bottom: 16px; }
.ss-head .ss-link { align-self: flex-end; margin-bottom: 6px; }

.ss-head__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 38px;
	line-height: 1.22;
	color: var(--ss-ink);
	margin: 0;
	text-wrap: balance;
}

.ss-head__meta {
	font-size: 11.5px;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--ss-mute);
	margin-bottom: 8px;
}

.ss-head__text {
	font-size: 16.5px;
	line-height: 1.8;
	margin: 18px 0 0;
	max-width: none;
}

/* ---------- Hero ---------- */

.ss-hero {
	display: flex;
	align-items: stretch;
	background: var(--ss-bg);
	border-bottom: 1px solid var(--ss-line);
}

.ss-hero__copy {
	flex: 0 1 55%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 104px;
	padding-bottom: 104px;
	padding-left: var(--ss-edge);
	padding-right: 64px;
}

/*
 * Beide Hero-Buttons teilen sich die Spalte zu gleichen Teilen. Reicht die Breite
 * nicht (Tablet-Querformat), rutscht der zweite darunter und wird gleich breit –
 * statt zwei unterschiedlich langer Kästen untereinander.
 */
.ss-hero:not(.ss-hero--bg) .ss-hero__actions .ss-btn {
	flex: 1 1 240px;
	/* Verhindert, dass die Beschriftung beim Teilen der Zeile umbricht. */
	min-width: max-content;
	padding-left: 28px;
	padding-right: 28px;
	letter-spacing: 2.4px;
	text-align: center;
}

.ss-hero .ss-kicker--rule { letter-spacing: 2.4px; }

.ss-hero__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 56px;
	line-height: 1.14;
	letter-spacing: -.4px;
	color: var(--ss-ink);
	margin: 0 0 26px;
}

.ss-hero__title--branded {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	font-size: inherit;
}

.ss-hero__brand {
	display: block;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 56px;
	line-height: 1.1;
	letter-spacing: -.4px;
	color: var(--ss-gold);
}

.ss-hero__tagline {
	display: block;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 36px;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--ss-ink);
}

.ss-hero__title:not(.ss-hero__title--branded) .ss-hero__tagline {
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

.ss-hero__lead {
	font-size: 18px;
	line-height: 1.75;
	max-width: 42em;
	margin: 0 0 24px;
}

.ss-hero__text {
	font-size: 16px;
	line-height: 1.8;
	max-width: 52ch;
	margin: 0 0 34px;
	color: var(--ss-body);
}

.ss-hero__actions { margin-bottom: 44px; }

/* Feine Fakten-Zeile: Vertrauen und lokale Signale ohne zusätzliche Fläche. */
.ss-hero__facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 20px;
	border-top: 1px solid var(--ss-line);
	padding-top: 24px;
	margin: 0;
	list-style: none;
}

.ss-hero__fact {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--ss-mute);
}

.ss-hero__fact::before {
	content: "";
	width: 5px;
	height: 5px;
	background: var(--ss-gold);
	transform: rotate(45deg);
}

.ss-hero__media {
	flex: 1 1 45%;
	min-height: 620px;
	border-left: 1px solid var(--ss-line);
}

/*
 * Vollflächen-Hero: Porträt als LCP-<img> hinter der Textspalte.
 * Text sitzt auf der globalen Rasterlinie (--ss-edge); Zeilenlänge über ch.
 */
.ss-hero--bg {
	position: relative;
	isolation: isolate;
	min-height: 640px;
	overflow: hidden;
	background: #EDE8E1;
}

.ss-hero--bg .ss-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	border: 0;
	min-height: 0;
	background: #EDE8E1;
}

.ss-hero--bg .ss-hero__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	/* Sanfter Leseschutz links – Bild hat bereits hellen Freiraum. */
	background: linear-gradient(
		90deg,
		rgba(251, 249, 246, 0.72) 0%,
		rgba(251, 249, 246, 0.42) 34%,
		rgba(251, 249, 246, 0.08) 58%,
		rgba(251, 249, 246, 0) 72%
	);
}

.ss-hero--bg .ss-hero__copy {
	position: relative;
	z-index: 2;
	/* Breite inkl. --ss-edge: nutzt die linke Beige-Fläche (~Veil), Text startet am Raster. */
	flex: 0 1 auto;
	width: 56%;
	max-width: calc(760px + var(--ss-edge));
	padding-top: 120px;
	padding-bottom: 120px;
	padding-right: 48px;
}

/* Langer Standort-Kicker: etwas engerer Tracking, damit er in 1–2 Zeilen bleibt. */
.ss-hero--bg .ss-kicker--rule {
	letter-spacing: 2.2px;
	max-width: 36em;
}

.ss-hero--bg .ss-hero__actions {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
	margin-bottom: 0;
}

.ss-hero--bg .ss-hero__actions .ss-btn--gold,
.ss-hero--bg .ss-hero__actions .ss-hero__textlink {
	flex: 0 0 auto;
}

.ss-hero--bg .ss-hero__textlink {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ss-sans);
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: var(--ss-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--ss-ink);
	padding: 4px 0;
	line-height: 1.2;
	transition: color .25s ease, border-color .25s ease;
}

.ss-hero--bg .ss-hero__textlink::after {
	content: "\2192";
	font-size: 13px;
	line-height: 1;
}

.ss-hero--bg .ss-hero__textlink:hover,
.ss-hero--bg .ss-hero__textlink:focus-visible {
	color: var(--ss-gold-text);
	border-color: var(--ss-gold);
}

.ss-hero--bg .ss-hero__facts {
	margin-top: 36px;
	border-top-color: rgba(42, 39, 36, 0.12);
}

.ss-hero--bg .ss-hero__lead {
	margin-bottom: 32px;
}

/* ---------- Einstiegstext ---------- */

.ss-intro > .ss-sec__inner > .ss-kicker { margin-bottom: 34px; }

.ss-intro__row {
	display: flex;
	align-items: flex-start;
	gap: var(--ss-col-gap);
}

.ss-intro__col--lead { flex: 1 1 46%; }
/* Optischer Ausgleich: der Fließtext startet auf der Oberkante der Serif-Zeile. */
.ss-intro__col--body { flex: 1 1 54%; padding-top: 9px; }

.ss-intro__lead {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.42;
	color: var(--ss-ink);
	margin: 0;
}

.ss-intro__text {
	font-size: 17px;
	line-height: 1.85;
	margin: 0 0 22px;
	max-width: none;
}

.ss-intro__text:last-child { margin-bottom: 0; }

.ss-intro__actions { margin-top: 34px; }

/* ---------- Vertrauensargumente ---------- */

/* Kompaktes Band statt vollwertiger Sektion – es trägt nur vier kurze Aussagen. */
.ss-trust.ss-sec--pad { padding-top: 72px; padding-bottom: 72px; }

.ss-trust__row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -32px;
}

.ss-trust__col {
	flex: 1 1 25%;
	width: 25%;
	padding: 0 32px;
	border-right: 1px solid var(--ss-line);
}

.ss-trust__col:last-child { border-right: 0; }

.ss-trust__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 21px;
	color: var(--ss-ink);
	margin: 0 0 12px;
}

.ss-trust__text {
	font-size: 15.5px;
	line-height: 1.7;
	margin: 0;
}

/* Die Randspalten sitzen bündig auf der Rasterlinie. */
.ss-trust__col:first-child { padding-left: 0; }
.ss-trust__col:last-child { padding-right: 0; }
.ss-trust__row { margin: 0; }

/* ---------- Leistungen ---------- */

.ss-lg__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	background: var(--ss-line);
	border: 1px solid var(--ss-line);
}

.ss-lg__card {
	position: relative;
	flex: 0 0 calc((100% - 2px) / 3);
	max-width: calc((100% - 2px) / 3);
	display: flex;
	flex-direction: column;
	background: var(--ss-bg);
	transition: background-color .25s ease;
	color: inherit;
	text-decoration: none;
}

a.ss-lg__card {
	cursor: pointer;
}

a.ss-lg__card:focus-visible {
	outline: 2px solid var(--ss-gold);
	outline-offset: -2px;
	z-index: 1;
}

.ss-lg__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--ss-gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .3s ease;
	z-index: 2;
}

.ss-lg__card:hover,
a.ss-lg__card:focus-visible { background: #F6F4F1; }
.ss-lg__card:hover::before,
a.ss-lg__card:focus-visible::before { transform: scaleX(1); }

.ss-lg__card:hover .ss-link,
a.ss-lg__card:focus-visible .ss-link {
	color: var(--ss-ink);
	border-color: var(--ss-ink);
}
.ss-lg__card:hover .ss-link::after,
a.ss-lg__card:focus-visible .ss-link::after {
	transform: translateX(3px);
}

.ss-lg__media {
	height: 260px;
	border-bottom: 1px solid var(--ss-line);
	/* Bild immer randlos im Kartenfeld. */
	width: 100%;
}

.ss-lg__card:hover .ss-lg__media img { transform: scale(1.03); }
.ss-lg__media img { transition: transform .6s ease; }

.ss-lg__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 16px;
	padding: 38px 36px 42px;
}

/* Ohne Bild wird die Karte rein typografisch – dann mehr Luft statt Leerraum. */
.ss-lg__card--textonly .ss-lg__body { padding: 52px 36px 56px; }

.ss-lg__head {
	display: flex;
	align-items: baseline;
	gap: 16px;
}

.ss-lg__num {
	font-family: var(--ss-display);
	font-size: 15px;
	line-height: 1;
	letter-spacing: 1px;
	color: var(--ss-gold-text);
	margin: 0;
	flex: 0 0 auto;
}

.ss-lg__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.3;
	text-wrap: balance;
	color: var(--ss-ink);
	margin: 0;
}

.ss-lg__text {
	font-size: 15px;
	line-height: 1.78;
	margin: 0;
	flex: 1;
}

.ss-lg__label {
	margin: 0;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
	font-weight: 500;
}

.ss-lg__meta {
	margin: 0;
	font-size: 13px;
	letter-spacing: 0.4px;
	color: var(--ss-mute);
}

.ss-lg__points {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ss-lg__points li {
	position: relative;
	padding-left: 18px;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ss-body);
}

.ss-lg__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 1px;
	background: var(--ss-gold);
}

.ss-lg__card--featured {
	background: #F8F5EF;
	border: 1px solid var(--ss-gold);
	z-index: 2;
	margin-block: -18px;
}

.ss-lg__card--featured::before {
	display: none;
}

.ss-lg__card--featured .ss-lg__body,
.ss-lg .ss-lg__card--featured.ss-lg__card--textonly .ss-lg__body {
	padding-top: 58px;
	padding-bottom: 62px;
}

.ss-lg--editorial .ss-lg__card--featured.ss-lg__card--textonly .ss-lg__body {
	padding-top: 52px;
	padding-bottom: 56px;
}

@media (max-width: 767px) {
	.ss-lg__card--featured {
		margin-block: 0;
	}
}


.ss-lg__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 28px;
	margin-top: 48px;
}

.ss-lg--framed .ss-lg__grid {
	border: 3px solid var(--ss-gold);
	background: var(--ss-line);
}

.ss-lg__foot--band {
	margin-top: 20px;
	gap: 0;
}

/* Band-CTA sitzt bündig am Rahmen – kein Abstand dazwischen. */
.ss-lg--framed .ss-lg__foot--band {
	margin-top: 0;
}

.ss-lg__foot--band .ss-lg__band-btn {
	display: inline-flex;
	align-items: center;
	flex: 1 1 100%;
	justify-content: center;
	text-align: center;
	padding-top: 22px;
	padding-bottom: 22px;
	letter-spacing: 2.4px;
	gap: 12px;
}

/* Unterstrichen + Pfeil – klar als Link erkennbar */
.ss-lg__foot--band .ss-lg__band-btn span,
.ss-lg__foot--band .ss-lg__band-btn {
	text-decoration: none;
}

.ss-lg__foot--band .ss-lg__band-btn::after {
	content: "\2192";
	font-size: 15px;
	line-height: 1;
	transition: transform .25s ease;
}

.ss-lg__foot--band .ss-lg__band-btn .ss-lg__band-label {
	border-bottom: 1px solid rgba(255, 255, 255, 0.95);
	padding-bottom: 3px;
}

.ss-lg__foot--band .ss-lg__band-btn:hover::after,
.ss-lg__foot--band .ss-lg__band-btn:focus-visible::after {
	transform: translateX(4px);
}

.ss-lg__note {
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ss-mute);
	margin: 0;
	/* Darf die Restbreite nutzen, sonst bricht der Satz neben dem Button
	   in drei kurze Zeilen und die Zeile wirkt unruhig. */
	flex: 1 1 340px;
	max-width: 64ch;
}

/* ---------- Produkte Grid ---------- */

.ss-pg__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	background: var(--ss-line);
	border: 1px solid var(--ss-line);
}

.ss-pg__card {
	position: relative;
	flex: 0 0 calc((100% - 2px) / 3);
	max-width: calc((100% - 2px) / 3);
	display: flex;
	flex-direction: column;
	background: var(--ss-bg);
	transition: background-color .25s ease;
}

.ss-pg__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--ss-gold);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .3s ease;
	z-index: 2;
}

.ss-pg__card:hover { background: #F6F4F1; }
.ss-pg__card:hover::before { transform: scaleX(1); }

.ss-pg__media {
	height: 220px;
	border-bottom: 1px solid var(--ss-line);
}

.ss-sec .ss-pg__media > img,
.ss-sec .ss-pg__media > .ss-media__empty {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ss-pg__card:hover .ss-pg__media img { transform: scale(1.03); }
.ss-pg__media img { transition: transform .6s ease; }

.ss-pg__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 16px;
	padding: 32px 32px 36px;
}

.ss-pg__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.28;
	color: var(--ss-ink);
	margin: 0;
}

.ss-pg__details {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.ss-pg__detail {
	position: relative;
	padding-left: 16px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ss-body);
}

.ss-pg__detail::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 6px;
	height: 1px;
	background: var(--ss-gold);
}

.ss-pg__btn {
	align-self: flex-start;
	margin-top: 4px;
}

/* Produktkarten ausblenden, wenn Banner+8-Bilder die Fläche übernehmen (Daten bleiben im Editor). */
.elementor-element.ss-pg--hide-cards,
.elementor-widget.ss-pg--hide-cards {
	display: none !important;
}

/* ---------- Bildgalerie: 1 Banner volle Breite + 2er-Raster ---------- */

.ss-ig.ss-sec--pad {
	/* Banner soll randlos laufen; Kopf und Raster behalten das Raster. */
	padding-inline: 0;
}

.ss-ig > .ss-sec__inner {
	padding-inline: var(--ss-gutter);
	box-sizing: border-box;
}

.ss-ig__banner {
	display: block;
	width: 100%;
	margin: 0 0 24px;
	padding: 0;
	overflow: hidden;
	background: #F2F2F2;
	line-height: 0;
}

/* Banner unbeschnitten: kein Cover-Crop, natürliche Höhe */
.ss-sec .ss-ig__banner > img,
.ss-sec .ss-ig__banner > .ss-media__empty {
	position: static;
	top: auto;
	left: auto;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}

.ss-ig__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin: 0;
}

.ss-ig__cell {
	position: relative;
	flex: 0 0 calc((100% - 24px) / 2);
	max-width: calc((100% - 24px) / 2);
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
	background: var(--ss-bg-alt);
}

.ss-sec .ss-ig__cell > img,
.ss-sec .ss-ig__cell > .ss-media__empty {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ---------- Bestellblock (creme + Goldrahmen) ---------- */

.ss-order__panel {
	border: 1px solid var(--ss-gold);
	background: var(--ss-bg);
	padding: 56px 64px;
}

.ss-order__title {
	margin: 0 0 20px;
	max-width: 22ch;
	font-family: var(--ss-display);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--ss-ink);
}

.ss-order__text {
	margin: 0 0 16px;
	max-width: 62ch;
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--ss-body);
}

.ss-order__text:last-of-type {
	margin-bottom: 0;
}

.ss-order__steps {
	margin: 28px 0 0;
	max-width: 70ch;
	font-size: 14px;
	letter-spacing: 1.2px;
	line-height: 1.7;
	text-transform: uppercase;
	color: var(--ss-gold-text);
}

.ss-order__actions {
	margin-top: 32px;
}

.ss-sec--dark .ss-order__panel {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.45);
}

.ss-sec--dark .ss-order__title {
	color: #FFFFFF;
}

.ss-sec--dark .ss-order__text {
	color: var(--ss-mute-dark);
}

.ss-sec--dark .ss-order__steps {
	color: #FFFFFF;
}

@media (max-width: 1023px) {
	.ss-order__panel { padding: 40px 36px; }
	.ss-order__title { font-size: 30px; max-width: none; }
}

@media (max-width: 767px) {
	.ss-order__panel { padding: 32px 24px; }
	.ss-order__title { font-size: 26px; }
	.ss-order__text { font-size: 15.5px; }
	.ss-order__steps { font-size: 12.5px; letter-spacing: 0.8px; }
	.ss-order__actions { margin-top: 28px; }
}

/* Video-Querformat im Page-Hero statt hochkantigem Bildplatz */
.ss-page-hero--video .ss-page-hero__copy {
	flex: 1 1 44%;
}

.ss-page-hero--video .ss-page-hero__media {
	flex: 1 1 48%;
	min-height: 0;
	height: 360px;
}

@media (max-width: 1023px) {
	.ss-ig__banner { margin-bottom: 20px; }
	.ss-page-hero--video .ss-page-hero__media { height: 280px; }
}

@media (max-width: 767px) {
	.ss-ig__banner { margin-bottom: 16px; }
	.ss-ig__grid { gap: 16px; }
	.ss-ig__cell {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.ss-page-hero--video .ss-page-hero__media { height: 200px; }
}

/* ---------- Weg ---------- */

.ss-weg__head { margin-bottom: 60px; }

.ss-weg__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 38px;
	line-height: 1.22;
	color: var(--ss-ink);
	margin: 0;
}

.ss-weg:not(.ss-weg--timeline) .ss-weg__title {
	max-width: none;
}

.ss-weg__text {
	font-size: 16.5px;
	line-height: 1.8;
	margin: 18px 0 0;
	max-width: none;
}

.ss-weg__list {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Horizontal: Schritte teilen die volle Inhaltsbreite gleichmäßig */
.ss-weg:not(.ss-weg--timeline) .ss-weg__step {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ss-weg__marker {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ss-weg__num {
	font-family: var(--ss-display);
	font-size: 26px;
	line-height: 1;
	color: var(--ss-gold-text);
}

.ss-weg__rule {
	flex: 1;
	height: 1px;
	background: var(--ss-gold-soft);
}

/* Mindesthöhe hält die Beschreibungen aller Schritte auf einer Grundlinie. */
.ss-weg__step-title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.35;
	min-height: 46px;
	color: var(--ss-ink);
	margin: 0;
}

.ss-weg__step-text {
	font-size: 14.5px;
	line-height: 1.7;
	margin: 0;
}

/* Vertikaler Zeitstrahl – volle Inhaltsbreite */
.ss-weg--timeline .ss-weg__list {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0;
	position: relative;
	max-width: 920px;
}

.ss-weg--timeline .ss-weg__step {
	flex: 0 0 auto;
	max-width: none;
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 28px;
	padding: 0 0 48px 0;
}

.ss-weg--timeline .ss-weg__step:last-child {
	padding-bottom: 0;
}

.ss-weg--timeline .ss-weg__step::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 14px;
	bottom: 0;
	width: 1px;
	background: var(--ss-gold);
}

.ss-weg--timeline .ss-weg__step:last-child::before {
	display: none;
}

.ss-weg--timeline .ss-weg__dot {
	flex: 0 0 auto;
	width: 11px;
	height: 11px;
	margin-top: 8px;
	border-radius: 50%;
	background: var(--ss-gold);
	position: relative;
	z-index: 1;
}

.ss-weg--timeline .ss-weg__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding-top: 0;
}

.ss-weg--timeline .ss-weg__num {
	font-family: var(--ss-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1.4;
	color: var(--ss-gold);
}

.ss-weg--timeline .ss-weg__step-title {
	font-family: var(--ss-sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	min-height: 0;
	line-height: 1.4;
}

.ss-weg--timeline .ss-weg__step-text {
	font-size: 16px;
	line-height: 1.75;
	color: var(--ss-body);
	max-width: 68ch;
}

/* Zeitstrahl + Bildplatz rechts */
.ss-weg--with-media .ss-weg__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--ss-col-gap);
}

.ss-weg--with-media .ss-weg__main {
	flex: 1 1 48%;
	min-width: 280px;
}

.ss-weg--with-media .ss-weg__list {
	max-width: none;
}

.ss-weg--with-media .ss-weg__media {
	flex: 1 1 40%;
	min-width: 260px;
	min-height: var(--ss-weg-media-h, 480px);
	align-self: stretch;
	border: 1px solid var(--ss-line);
}

@media (max-width: 1023px) {
	.ss-weg--with-media .ss-weg__media {
		flex-basis: 100%;
		min-height: 320px;
		order: -1;
	}
}

@media (max-width: 767px) {
	.ss-weg--with-media .ss-weg__media {
		min-height: 240px;
	}
}

/* ---------- Split Teaser ---------- */

.ss-split {
	display: flex;
	align-items: stretch;
	background: var(--ss-bg);
	border-bottom: 1px solid var(--ss-line);
}

.ss-split--media-right { flex-direction: row-reverse; }

.ss-split__media {
	flex: 0 0 45%;
	min-height: var(--ss-split-media-h, 560px);
}

.ss-split--media-left .ss-split__media { border-right: 1px solid var(--ss-line); }
.ss-split--media-right .ss-split__media { flex-basis: 45%; border-left: 1px solid var(--ss-line); }

.ss-split__copy {
	flex: 1 1 55%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 96px;
	padding-bottom: 96px;
	background: var(--ss-bg);
}

/* Jeweils die außen liegende Kante sitzt auf der globalen Rasterlinie. */
.ss-split--media-left .ss-split__copy { padding-left: 80px; padding-right: var(--ss-edge); }
.ss-split--media-right .ss-split__copy { padding-left: var(--ss-edge); padding-right: 80px; }

.ss-split__quote {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 27px;
	line-height: 1.55;
	color: var(--ss-ink);
	margin: 0 0 30px;
	max-width: none;
}

.ss-split__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 24px;
}

.ss-split__text {
	font-size: 16.5px;
	line-height: 1.8;
	max-width: none;
	margin: 0 0 36px;
}

.ss-split__text:has(+ .ss-split__points) {
	margin-bottom: 18px;
}

.ss-split__points {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ss-split__points li {
	position: relative;
	padding-left: 22px;
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--ss-body);
}

.ss-split__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 7px;
	height: 7px;
	background: var(--ss-gold);
}

.ss-split__copy .ss-actions { align-self: flex-start; }

/* Split ohne Bild: Text bleibt lesbar begrenzt statt über die volle Breite zu laufen. */
.ss-split--textonly .ss-split__copy {
	flex: 1 1 100%;
	max-width: var(--ss-content);
	margin: 0 auto;
	padding-left: var(--ss-gutter);
	padding-right: var(--ss-gutter);
}

/* ---------- Preisanker ---------- */

.ss-price__row {
	display: flex;
	align-items: center;
	gap: var(--ss-col-gap);
}

.ss-price__copy { flex: 1 1 60%; }

.ss-price__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.3;
	color: var(--ss-bg);
	margin: 0 0 24px;
}

.ss-price__text {
	font-size: 16.5px;
	line-height: 1.8;
	color: var(--ss-mute-dark);
	margin: 0 0 36px;
	max-width: none;
}

.ss-price__features {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 54ch;
}

.ss-price__features li {
	position: relative;
	padding-left: 22px;
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--ss-mute-dark);
}

.ss-price__features li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 8px;
	height: 8px;
	background: var(--ss-gold);
}

.ss-price__card {
	flex: 0 0 auto;
	width: 40%;
	max-width: 380px;
	border: 1px solid var(--ss-gold-soft);
	padding: 52px 48px;
}

.ss-price__card .ss-kicker { margin-bottom: 18px; }

.ss-price__amount {
	font-family: var(--ss-display);
	font-size: 58px;
	line-height: 1;
	color: var(--ss-bg);
	margin: 0 0 8px;
}

.ss-price__meta {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ss-mute-dark);
	margin: 0 0 22px;
}

.ss-price__note {
	font-size: 14px;
	line-height: 1.7;
	color: var(--ss-mute-dark);
	margin: 0;
	border-top: 1px solid var(--ss-line-dark);
	padding-top: 22px;
}

/* ---------- Standort ---------- */

.ss-standort__row {
	display: flex;
	align-items: flex-start;
	gap: 48px;
}

.ss-standort__copy {
	flex: 1 1 0;
	min-width: 0;
}

.ss-standort__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 24px;
}

.ss-standort__text {
	font-size: 16.5px;
	line-height: 1.8;
	margin: 0 0 20px;
	max-width: none;
}

.ss-standort__text:last-child { margin-bottom: 0; }

.ss-standort__card {
	flex: 0 0 380px;
	width: 380px;
	max-width: 100%;
	border: 1px solid var(--ss-line);
	padding: 40px 32px;
	background: var(--ss-bg);
}

.ss-standort__card .ss-kicker { margin-bottom: 24px; }

.ss-standort__links {
	display: flex;
	flex-direction: column;
}

.ss-standort__link {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	border-top: 1px solid var(--ss-bg-alt);
	padding: 15px 0;
	color: var(--ss-ink);
	text-decoration: none;
	transition: color .25s ease;
}

.ss-standort__link:hover,
.ss-standort__link:focus-visible { color: var(--ss-gold-text); }

.ss-standort__link-name { font-size: 15.5px; line-height: 1.5; }

.ss-standort__link-action {
	flex: none;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
}

/* ---------- Kundenstimmen ---------- */

.ss-quotes__head {
	margin-bottom: 48px;
	max-width: none;
}

.ss-quotes__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.25;
	color: var(--ss-ink);
	margin: 0;
}

.ss-quotes__intro {
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--ss-body);
	margin: 18px 0 0;
	max-width: none;
}

.ss-quotes__row {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.ss-quote {
	flex: 1 1 calc((100% - 40px) / 2);
	max-width: calc((100% - 40px) / 2);
	margin: 0;
	border-left: 2px solid var(--ss-gold);
	padding: 8px 0 8px 32px;
}

.ss-quote__text {
	margin: 0 0 20px;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 19px;
	line-height: 1.7;
	color: var(--ss-ink);
}

.ss-quote__caption {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ss-quote__author {
	font-size: 12px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--ss-ink);
}

.ss-quote__meta {
	font-size: 12.5px;
	color: var(--ss-mute);
}

.ss-quotes__embed {
	width: 100%;
}

.ss-quotes__embed .ti-widget,
.ss-quotes__embed iframe {
	max-width: 100%;
}

/* Trustindex: eckig, ohne Rahmen – CI statt Plugin-Default */
.ss-quotes__embed .ti-widget.ti-goog .ti-review-item > .ti-inner {
	border: none !important;
	border-style: none !important;
	border-color: transparent !important;
	border-width: 0 !important;
	border-radius: 0 !important;
	padding: 20px !important;
	margin: 0 !important;
	display: block !important;
	position: relative;
	background-color: #ffffff !important;
	background-image: none !important;
	box-shadow: none !important;
}

.ss-quotes__embed .ti-widget.ti-goog .ti-review-item {
	border-radius: 0 !important;
}

.ss-quotes__await {
	position: relative;
	padding: 48px 40px;
	background: #FFFFFF;
	border: 1px solid var(--ss-line);
	max-width: 720px;
}

.ss-quotes__await-frame {
	position: absolute;
	inset: 14px;
	border: 1px solid rgba(195, 161, 46, .28);
	pointer-events: none;
}

.ss-quotes__await-frame::before,
.ss-quotes__await-frame::after {
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	border-color: rgba(195, 161, 46, .55);
	border-style: solid;
}

.ss-quotes__await-frame::before {
	top: -1px;
	left: -1px;
	border-width: 1px 0 0 1px;
}

.ss-quotes__await-frame::after {
	right: -1px;
	bottom: -1px;
	border-width: 0 1px 1px 0;
}

.ss-quotes__await-text {
	position: relative;
	z-index: 1;
	margin: 0 0 28px;
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--ss-body);
	max-width: 48ch;
}

.ss-quotes__await .ss-btn {
	position: relative;
	z-index: 1;
}

.ss-quotes__foot {
	margin-top: 36px;
}

@media (max-width: 767px) {
	.ss-quotes__title { font-size: 26px; max-width: none; }
	.ss-quote {
		flex: 1 1 100%;
		max-width: 100%;
		padding-left: 20px;
	}
	.ss-quote__text { font-size: 17px; }
	.ss-quotes__await { padding: 36px 24px; }
}

/* ---------- Hautwissen ---------- */

.ss-hw__layout {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 64px;
}

.ss-hw__main {
	flex: 1 1 0;
	min-width: 0;
}

.ss-hw__aside {
	flex: 0 0 240px;
	padding-top: 4px;
}

.ss-hw__cats {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--ss-line);
}

.ss-hw__cats li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--ss-line);
}

.ss-hw__cat-link {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	font-family: var(--ss-sans);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--ss-ink);
}

.ss-hw__cat-link:hover,
.ss-hw__cat-link:focus {
	color: var(--ss-gold-text);
}

.ss-hw__cat-count {
	font-size: 12px;
	letter-spacing: 1px;
	color: var(--ss-mute);
}

.ss-hw__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	background: var(--ss-line);
	border: 1px solid var(--ss-line);
}

.ss-hw__card {
	flex: 0 0 calc((100% - 2px) / 3);
	max-width: calc((100% - 2px) / 3);
	display: flex;
	flex-direction: column;
	background: var(--ss-bg);
	color: inherit;
	text-decoration: none;
	transition: background-color .25s ease;
}

/* Mit Seitenleiste: zwei Beitragskarten nebeneinander */
.ss-hw--sidebar .ss-hw__card {
	flex: 0 0 calc((100% - 1px) / 2);
	max-width: calc((100% - 1px) / 2);
}

/* Listenansicht – mit optionalem Beitragsbild */
.ss-hw-list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--ss-line);
}

.ss-hw-list__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 32px 0;
	border-bottom: 1px solid var(--ss-line);
	color: inherit;
	text-decoration: none;
}

.ss-hw-list__item--media {
	flex-direction: row;
	align-items: stretch;
	gap: 28px;
}

.ss-hw-list__media {
	flex: 0 0 220px;
	width: 220px;
	min-height: 160px;
	background: var(--ss-bg-alt);
	border: 1px solid var(--ss-line);
	overflow: hidden;
}

.ss-sec .ss-hw-list__media > img {
	width: 100%;
	height: 100%;
	min-height: 160px;
	object-fit: cover;
	object-position: center;
	display: block;
}

.ss-hw-list__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	flex: 1 1 auto;
	min-width: 0;
}

.ss-hw-list__item:hover .ss-hw-list__title,
.ss-hw-list__item:focus-visible .ss-hw-list__title {
	color: var(--ss-gold-text);
}

.ss-hw-list__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0;
}

.ss-hw-list__text {
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--ss-body);
	margin: 0;
	max-width: 62ch;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.ss-hw-list__empty {
	font-size: 16px;
	line-height: 1.7;
	color: var(--ss-mute);
	margin: 24px 0 0;
}

.ss-hw__crumb {
	color: inherit;
	text-decoration: none;
}

.ss-hw__crumb:hover,
.ss-hw__crumb:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ss-hw__cat-link.is-active {
	color: var(--ss-gold-text);
}

body.ss-blog-archive-page {
	background: var(--ss-bg);
}

body.ss-blog-archive-page .ss-head__title {
	font-size: 40px;
}

.ss-blog-archive .navigation.pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-top: 36px;
	font-family: var(--ss-sans);
	font-size: 13px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.ss-blog-archive .navigation.pagination a,
.ss-blog-archive .navigation.pagination span {
	color: var(--ss-ink);
	text-decoration: none;
}

.ss-blog-archive .navigation.pagination .current {
	color: var(--ss-gold-text);
}

.ss-hw__card:hover { background: #F6F4F1; }

.ss-hw__media {
	height: 200px;
	border-bottom: 1px solid var(--ss-line);
}

.ss-hw__media img { transition: transform .6s ease; }
.ss-hw__card:hover .ss-hw__media img { transform: scale(1.03); }

.ss-hw__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 12px;
	padding: 32px 30px 36px;
}

.ss-hw__card--textonly .ss-hw__body { padding: 44px 30px 48px; }

.ss-hw__cat {
	font-size: 10.5px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
}

.ss-hw__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 20px;
	line-height: 1.35;
	color: var(--ss-ink);
	margin: 0;
}

.ss-hw__text {
	font-size: 14.5px;
	line-height: 1.72;
	margin: 0;
	flex: 1;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.ss-hw__time {
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ss-mute);
	margin-top: 4px;
}

/* ---------- FAQ ---------- */

.ss-faq__row {
	display: flex;
	align-items: flex-start;
	gap: var(--ss-col-gap);
}

.ss-faq__aside { flex: 0 0 34%; max-width: 34%; }
.ss-faq__list { flex: 1 1 66%; }

.ss-faq__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 38px;
	line-height: 1.22;
	color: var(--ss-ink);
	margin: 0;
}

.ss-faq__note {
	font-size: 15.5px;
	line-height: 1.8;
	margin: 20px 0 26px;
	max-width: none;
}

.ss-faq__item {
	border-top: 1px solid var(--ss-line);
	padding: 26px 0;
}

.ss-faq__item:last-child { border-bottom: 1px solid var(--ss-line); }

.ss-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	cursor: pointer;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 19px;
	line-height: 1.4;
	color: var(--ss-ink);
	list-style: none;
	transition: color .25s ease;
}

.ss-faq__q::-webkit-details-marker { display: none; }
.ss-faq__q:hover { color: var(--ss-gold-text); }

.ss-faq__icon {
	position: relative;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
}

.ss-faq__icon::before,
.ss-faq__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 14px;
	height: 1px;
	background: var(--ss-gold);
	transition: transform .25s ease;
}

.ss-faq__icon::after { transform: rotate(90deg); }
.ss-faq__item[open] .ss-faq__icon::after { transform: rotate(0deg); }

.ss-faq__a {
	font-size: 15.5px;
	line-height: 1.8;
	margin: 18px 0 0;
	max-width: 68ch;
}

/* ---------- Abschluss-CTA ---------- */

.ss-cta__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--ss-col-gap);
}

.ss-cta__copy {
	flex: 1 1 58%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.ss-cta__side { flex: 0 1 42%; }

.ss-cta__lead {
	margin: 0;
	font-family: var(--ss-display);
	font-style: italic;
	font-weight: 400;
	font-size: 22px;
	line-height: 1.35;
	color: #FFFFFF;
}

.ss-cta__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 40px;
	line-height: 1.24;
	color: var(--ss-bg);
	margin: 0;
}

.ss-cta__text {
	margin: 0;
	max-width: none;
	padding-top: 18px;
	border-top: 1px solid var(--ss-gold);
	font-size: 16px;
	line-height: 1.75;
	color: var(--ss-mute-dark);
}

/*
 * In der schmalen Seitenspalte stehen die Buttons untereinander. Ungleiche
 * Breiten wirken dort wie ein Fehler, deshalb liegen sie auf einer Kante.
 */
.ss-cta__actions {
	margin-bottom: 22px;
	flex-direction: column;
	align-items: stretch;
}

.ss-cta__actions .ss-btn { justify-content: center; text-align: center; }

.ss-cta__note {
	font-size: 14px;
	line-height: 1.75;
	color: var(--ss-mute-dark);
	margin: 0;
	max-width: none;
}

.ss-cta--centered .ss-cta__center {
	max-width: none;
	margin-inline: auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.ss-cta--centered .ss-cta__title {
	max-width: none;
	font-size: 36px;
	line-height: 1.3;
}

.ss-cta--centered .ss-cta__lead {
	margin: 0;
	font-family: var(--ss-display);
	font-style: normal;
	font-weight: 400;
	font-size: 25px;
	line-height: 1.45;
	color: var(--ss-gold);
}

.ss-cta--centered .ss-cta__meta {
	margin: 26px 0 0;
	font-size: 11.5px;
	letter-spacing: 3.5px;
	text-transform: uppercase;
	color: var(--ss-mute-dark);
}

.ss-cta--centered .ss-cta__text--center {
	border-top: 0;
	padding-top: 0;
	max-width: none;
	font-size: 13.5px;
	color: #8E877F;
}

.ss-cta--centered .ss-cta__actions--center {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin: 26px 0 0;
}

.ss-cta--centered .ss-cta__note--center {
	max-width: none;
}

/* ---------- Mobile Aktionsleiste ---------- */

.ss-mobilebar { display: none; }

/* ---------- Footer ---------- */

.ss-footer {
	background: var(--ss-bg);
	border-top: 1px solid var(--ss-line);
	padding: 80px var(--ss-gutter) 40px;
}

.ss-footer__inner {
	max-width: var(--ss-content);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
}

.ss-footer__col { flex: 1 1 18%; }
.ss-footer__col--brand { flex: 1 1 26%; }

.ss-footer__nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ss-footer__nav a {
	font-size: 15px;
	line-height: 1.5;
	color: var(--ss-body);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.ss-footer__nav a:hover,
.ss-footer__nav a:focus-visible {
	color: var(--ss-ink);
	border-bottom-color: var(--ss-gold);
}

.ss-footer__logo {
	display: block;
	height: auto;
	margin: 0 0 16px;
}

.ss-footer__tagline {
	font-size: 14px;
	line-height: 1.8;
	color: var(--ss-mute);
	margin: 0 0 24px;
}

.ss-footer__col--brand .ss-btn { font-size: 11.5px; padding: 14px 26px; }

.ss-footer__label {
	font-size: 11.5px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--ss-ink);
	margin: 0 0 20px;
}

.ss-footer__text {
	font-size: 15px;
	line-height: 1.9;
	margin: 0 0 20px;
}

.ss-footer__text:last-child { margin-bottom: 0; }

.ss-footer__text a {
	color: var(--ss-gold-text);
	text-decoration: none;
	transition: color .25s ease;
}

.ss-footer__text a:hover { color: var(--ss-ink); }

.ss-footer__note {
	font-size: 13px;
	line-height: 1.8;
	color: var(--ss-mute);
	margin: 0;
}

.ss-footer__bottom {
	max-width: var(--ss-content);
	margin: 56px auto 0;
	border-top: 1px solid var(--ss-line);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
}

.ss-footer__copy { font-size: 12.5px; color: var(--ss-mute); }

.ss-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
}

.ss-footer__legal a {
	font-size: 12.5px;
	color: var(--ss-mute);
	text-decoration: none;
	transition: color .25s ease;
}

.ss-footer__legal a:hover { color: var(--ss-gold-text); }

/* ================= Große Desktops ================= */

@media (min-width: 1600px) {
	.ss-hero:not(.ss-hero--bg) .ss-hero__copy { padding-right: 96px; }
	.ss-hero--bg { min-height: 720px; }
	.ss-hero--bg .ss-hero__copy {
		width: 52%;
		max-width: calc(800px + var(--ss-edge));
	}
	.ss-split--media-left .ss-split__copy { padding-left: 96px; }
	.ss-split--media-right .ss-split__copy { padding-right: 96px; }
}

/* ================= Laptop (1024–1365) ================= */

@media (max-width: 1365px) {
	:root {
		--ss-gutter: 40px;
		--ss-section-y: 104px;
		--ss-col-gap: 56px;
	}

	.ss-hero:not(.ss-hero--bg) .ss-hero__copy { padding-top: 88px; padding-bottom: 88px; padding-right: 56px; }
	.ss-hero__title { font-size: 48px; }
	.ss-hero__brand { font-size: 48px; }
	.ss-hero__tagline { font-size: 30px; }
	.ss-hero__media { min-height: 560px; }
	.ss-hero--bg { min-height: 560px; }
	.ss-hero--bg .ss-hero__copy {
		width: 58%;
		max-width: calc(640px + var(--ss-edge));
		padding-top: 96px;
		padding-bottom: 96px;
		padding-right: 36px;
	}

	.ss-head__title,
	.ss-weg__title,
	.ss-faq__title { font-size: 34px; }

	.ss-intro__lead { font-size: 27px; }

	.ss-split__copy { padding-top: 80px; padding-bottom: 80px; }
	.ss-split--media-left .ss-split__copy { padding-left: 56px; }
	.ss-split--media-right .ss-split__copy { padding-right: 56px; }

	.ss-trust.ss-sec--pad { padding-top: 60px; padding-bottom: 60px; }
	.ss-trust__col { padding: 0 24px; }
	.ss-price__card { padding: 44px 36px; }
	.ss-cta__title { font-size: 36px; }
	.ss-cta__lead { font-size: 20px; }
	.ss-footer { padding-top: 72px; }
}

/* ================= Tablet (768–1023) ================= */

@media (max-width: 1023px) {
	:root {
		--ss-gutter: 32px;
		--ss-section-y: 80px;
		--ss-col-gap: 40px;
	}

	.ss-hero:not(.ss-hero--bg) { flex-direction: column; }

	.ss-hero:not(.ss-hero--bg) .ss-hero__copy {
		flex: 1 1 auto;
		padding: 64px var(--ss-gutter) 56px;
	}

	.ss-hero__title { font-size: 40px; margin-bottom: 22px; }
	.ss-hero__brand { font-size: 40px; }
	.ss-hero__tagline { font-size: 28px; }
	.ss-hero__lead { font-size: 17px; max-width: none; }
	.ss-hero__text { font-size: 15.5px; max-width: none; margin-bottom: 30px; }
	.ss-hero:not(.ss-hero--bg) .ss-hero__actions { margin-bottom: 34px; }
	.ss-hero__facts { padding-top: 20px; gap: 8px 18px; }
	.ss-hero__fact { font-size: 11px; letter-spacing: 1.4px; }

	.ss-hero__media {
		flex: 1 1 auto;
		width: 100%;
		min-height: 400px;
		border-left: 0;
		border-top: 1px solid var(--ss-line);
	}

	.ss-hero--bg {
		min-height: 520px;
	}

	.ss-hero--bg .ss-hero__copy {
		flex: 1 1 auto;
		width: 70%;
		max-width: calc(560px + var(--ss-edge));
		padding-top: 72px;
		padding-bottom: 72px;
		padding-right: 28px;
	}

	.ss-hero--bg .ss-hero__veil {
		background: linear-gradient(
			90deg,
			rgba(251, 249, 246, 0.82) 0%,
			rgba(251, 249, 246, 0.55) 42%,
			rgba(251, 249, 246, 0.12) 70%,
			rgba(251, 249, 246, 0) 88%
		);
	}

	/* Gesicht bleibt rechts im sichtbaren Ausschnitt. */
	.ss-sec.ss-hero--bg .ss-media--focus-right > img { object-position: 78% center; }

	.ss-head { margin-bottom: 44px; }
	.ss-head__title,
	.ss-weg__title,
	.ss-faq__title { font-size: 30px; max-width: none; }
	.ss-head__text,
	.ss-weg__text { font-size: 16px; }

	.ss-intro__row { flex-direction: column; gap: 28px; }
	.ss-intro__col--lead,
	.ss-intro__col--body { flex: 1 1 auto; width: 100%; padding-top: 0; }
	.ss-intro__lead { font-size: 24px; }
	.ss-intro__text { font-size: 16px; max-width: none; }
	.ss-intro__actions { margin-top: 28px; }

	.ss-trust.ss-sec--pad { padding-top: 48px; padding-bottom: 48px; }
	.ss-trust__row { margin: 0 -16px; }

	.ss-trust__col {
		flex: 0 0 50%;
		width: 50%;
		padding: 24px 16px;
		border-right: 1px solid var(--ss-line);
	}

	.ss-trust__col:nth-child(2n) { border-right: 0; }
	.ss-trust__col:nth-child(-n+2) { border-bottom: 1px solid var(--ss-line); }
	.ss-trust__col:first-child,
	.ss-trust__col:last-child { padding-left: 16px; padding-right: 16px; }
	.ss-trust__col:nth-child(2n+1) { padding-left: 0; }
	.ss-trust__col:nth-child(2n) { padding-right: 0; }

	.ss-lg__card {
		flex: 0 0 calc((100% - 1px) / 2);
		max-width: calc((100% - 1px) / 2);
	}

	.ss-pg__card {
		flex: 0 0 calc((100% - 1px) / 2);
		max-width: calc((100% - 1px) / 2);
	}

	.ss-lg__media { height: 220px; }
	.ss-pg__media { height: 200px; }
	.ss-lg__body { padding: 32px 28px 36px; }
	.ss-lg__card--textonly .ss-lg__body { padding: 40px 28px 44px; }
	.ss-lg__foot { margin-top: 36px; }

	.ss-weg__head { margin-bottom: 44px; }

	.ss-weg:not(.ss-weg--timeline) .ss-weg__list {
		gap: 28px;
	}

	.ss-weg:not(.ss-weg--timeline) .ss-weg__step {
		flex: 1 1 calc((100% - 28px) / 2);
		max-width: calc((100% - 28px) / 2);
	}

	.ss-weg--timeline .ss-weg__step {
		flex: 0 0 auto;
		max-width: none;
	}

	.ss-split { flex-direction: column; }
	.ss-split--media-right { flex-direction: column-reverse; }

	.ss-split__media {
		flex: 1 1 auto;
		width: 100%;
		min-height: 360px;
		border: 0;
		border-bottom: 1px solid var(--ss-line);
	}

	.ss-split--media-right .ss-split__media {
		border: 0;
		border-top: 1px solid var(--ss-line);
	}

	.ss-split__copy { flex: 1 1 auto; padding: 56px var(--ss-gutter); }
	.ss-split--media-left .ss-split__copy,
	.ss-split--media-right .ss-split__copy { padding-left: var(--ss-gutter); padding-right: var(--ss-gutter); }
	.ss-split__quote { font-size: 23px; margin-bottom: 24px; max-width: none; }
	.ss-split__title { font-size: 28px; max-width: none; }
	.ss-split__text { font-size: 16px; max-width: none; }
	.ss-split__points li { font-size: 16px; }

	.ss-price__row { flex-direction: column; align-items: stretch; gap: 40px; }
	.ss-price__title { font-size: 28px; max-width: none; }
	.ss-price__text { max-width: none; }
	.ss-price__card { width: 100%; max-width: none; padding: 40px 36px; }
	.ss-price__amount { font-size: 50px; }

	.ss-standort__row { flex-direction: column; gap: 40px; }
	.ss-standort__copy,
	.ss-standort__card { flex: 1 1 auto; width: 100%; max-width: none; }
	.ss-standort__title { font-size: 28px; max-width: none; }
	.ss-standort__text { font-size: 16px; max-width: none; }

	.ss-quote {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ss-hw__card {
		flex: 0 0 calc((100% - 1px) / 2);
		max-width: calc((100% - 1px) / 2);
	}

	.ss-hw--sidebar .ss-hw__layout {
		gap: 40px;
	}

	.ss-hw--sidebar .ss-hw__aside {
		flex: 1 1 100%;
		order: -1;
		padding-top: 0;
	}

	/* Kategorie-Filter mobil: eine klare Zeile/Wrap, kein 2-Spalten-Chaos */
	.ss-hw--sidebar .ss-hw__cats {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0 8px;
		border-top: 0;
		margin-top: 12px;
	}

	.ss-hw--sidebar .ss-hw__cats li {
		border-bottom: 0;
		flex: 0 0 auto;
	}

	.ss-hw--sidebar .ss-hw__cat-link {
		padding: 10px 14px 10px 0;
		gap: 8px;
	}

	.ss-hw--sidebar .ss-hw__cat-count {
		display: none;
	}

	.ss-hw-list__item {
		padding: 28px 0;
	}

	.ss-hw-list__item--media {
		gap: 22px;
	}

	.ss-hw-list__media {
		flex: 0 0 180px;
		width: 180px;
		min-height: 140px;
	}

	.ss-sec .ss-hw-list__media > img {
		min-height: 140px;
	}

	.ss-hw-list__title {
		font-size: 24px;
		max-width: none;
	}

	.ss-faq__row { flex-direction: column; gap: 32px; }
	.ss-faq__aside,
	.ss-faq__list { flex: 1 1 auto; max-width: none; width: 100%; }
	.ss-faq__note { max-width: none; margin-bottom: 0; }

	.ss-cta__row { flex-direction: column; align-items: flex-start; gap: 32px; }
	.ss-cta__copy,
	.ss-cta__side { flex: 1 1 auto; width: 100%; }
	.ss-cta__title { font-size: 30px; max-width: none; }
	.ss-cta__text,
	.ss-cta__note { max-width: none; }

	.ss-footer { padding-top: 64px; }
	.ss-footer__inner { gap: 40px; }
	.ss-footer__col { flex: 1 1 26%; }
	.ss-footer__col--brand { flex: 1 1 100%; }
	.ss-footer__bottom { margin-top: 44px; }
}

/* ================= Mobile (≤767) ================= */

@media (max-width: 767px) {
	:root {
		--ss-gutter: 20px;
		--ss-section-y: 64px;
		--ss-col-gap: 28px;
	}

	.ss-hero:not(.ss-hero--bg) .ss-hero__copy { padding: 48px var(--ss-gutter) 44px; }
	.ss-hero__title { font-size: 33px; line-height: 1.2; margin-bottom: 18px; }
	.ss-hero__brand { font-size: 33px; }
	.ss-hero__tagline { font-size: 24px; line-height: 1.3; }
	.ss-hero__lead { font-size: 16px; line-height: 1.7; margin-bottom: 18px; }
	.ss-hero__text { font-size: 15px; margin-bottom: 26px; }
	.ss-hero:not(.ss-hero--bg) .ss-hero__actions { margin-bottom: 28px; }
	.ss-hero__media { min-height: 300px; }
	.ss-hero__facts { padding-top: 18px; gap: 8px 14px; }
	.ss-hero__fact { font-size: 10.5px; letter-spacing: 1.2px; gap: 8px; }

	.ss-hero--bg {
		min-height: 0;
		flex-direction: column;
	}

	.ss-hero--bg .ss-hero__bg {
		position: relative;
		inset: auto;
		width: 100%;
		height: 360px;
		flex: 0 0 auto;
		overflow: hidden;
	}

	.ss-hero--bg .ss-hero__veil {
		display: none;
	}

	.ss-hero--bg .ss-hero__copy {
		flex: 1 1 auto;
		width: 100%;
		max-width: none;
		padding: 40px var(--ss-gutter) 48px;
		background: var(--ss-bg);
	}

	.ss-hero--bg .ss-hero__actions {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 16px;
	}

	.ss-hero--bg .ss-hero__lead { margin-bottom: 24px; }

	/*
	 * Startseiten-Hero: Panorama mit Motiv am rechten Rand.
	 * Auf Mobile Cover + starker Rechtsfokus, sonst bleibt nur Grauton.
	 * Auch bei „Ganzes Bild / contain“ greifen – contain wirkt hier unbrauchbar.
	 */
	/*
	 * Kein transform:scale – der Zoom ragte in den Sticky-Header und
	 * konnte den Burger (Touch/Klick) auf Mobile blockieren.
	 */
	.ss-sec.ss-hero--bg .ss-hero__bg.ss-media > img {
		object-fit: cover;
		object-position: 100% 18%;
		width: 100%;
		height: 100%;
	}

	.ss-kicker { font-size: 10.5px; letter-spacing: 3px; margin-bottom: 18px; }
	.ss-kicker--rule { gap: 10px; margin-bottom: 20px; }
	.ss-kicker__line { flex-basis: 28px; width: 28px; }

	/* Der lange Hero-Kicker soll auf zwei statt drei Zeilen laufen. */
	.ss-hero .ss-kicker--rule { font-size: 10px; letter-spacing: 1.8px; }

	.ss-btn { font-size: 11.5px; letter-spacing: 2px; padding: 15px 22px; }

	.ss-actions { gap: 12px; }
	.ss-hero:not(.ss-hero--bg) .ss-hero__actions .ss-btn,
	.ss-cta__actions .ss-btn,
	.ss-intro__actions .ss-btn,
	.ss-lg__foot .ss-btn { flex: 1 1 100%; text-align: center; }

	.ss-head { margin-bottom: 32px; gap: 14px; }
	.ss-head__title,
	.ss-weg__title,
	.ss-faq__title { font-size: 26px; }
	.ss-head__meta { font-size: 10.5px; letter-spacing: 3px; }
	.ss-head__text,
	.ss-weg__text { font-size: 15.5px; margin-top: 14px; }
	.ss-head .ss-link { align-self: flex-start; margin-bottom: 0; }

	.ss-intro__lead { font-size: 21px; line-height: 1.5; }
	.ss-intro__text { font-size: 15.5px; margin-bottom: 16px; }

	.ss-trust__row { margin: 0; }

	.ss-trust__col {
		flex: 0 0 100%;
		width: 100%;
		padding: 22px 0;
		border-right: 0;
		border-bottom: 1px solid var(--ss-line);
	}

	.ss-trust__col:first-child { padding-top: 0; }
	.ss-trust__col:last-child { border-bottom: 0; padding-bottom: 0; }
	.ss-trust__col:nth-child(-n+2) { border-bottom: 1px solid var(--ss-line); }
	.ss-trust__title { font-size: 19px; margin-bottom: 8px; }
	.ss-trust__text { font-size: 15px; }

	.ss-lg__card,
	.ss-pg__card,
	.ss-hw__card {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ss-hw-list__item {
		padding: 24px 0;
		gap: 8px;
	}

	.ss-hw-list__item--media {
		flex-direction: column;
		gap: 16px;
	}

	.ss-hw-list__media {
		flex: 0 0 auto;
		width: 100%;
		min-height: 180px;
	}

	.ss-sec .ss-hw-list__media > img {
		min-height: 180px;
	}

	.ss-hw-list__title {
		font-size: 22px;
	}

	.ss-hw-list__text {
		font-size: 15px;
	}

	body.ss-blog-archive-page .ss-head__title {
		font-size: 30px;
	}

	.ss-lg__media { height: 200px; }
	.ss-pg__media { height: 200px; }
	.ss-pg__body { padding: 28px 24px 32px; }
	.ss-pg__title { font-size: 20px; }
	.ss-lg__body { padding: 28px 24px 32px; gap: 14px; }
	.ss-lg__card--textonly .ss-lg__body { padding: 34px 24px 38px; }
	.ss-lg__title { font-size: 20px; }
	.ss-lg__foot { margin-top: 30px; gap: 18px; }

	.ss-weg__head { margin-bottom: 34px; }
	.ss-weg:not(.ss-weg--timeline) .ss-weg__list { gap: 28px; }

	.ss-weg__step {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ss-weg--timeline .ss-weg__step {
		padding-bottom: 36px;
		gap: 20px;
	}

	.ss-weg--timeline .ss-weg__step-text {
		font-size: 15.5px;
	}

	.ss-weg__step-title { min-height: 0; }

	.ss-split__media { min-height: 280px; }
	.ss-split__copy { padding: 48px var(--ss-gutter); }
	.ss-split__quote { font-size: 20px; line-height: 1.55; margin-bottom: 20px; }
	.ss-split__title { font-size: 24px; }
	.ss-split__text { font-size: 15.5px; margin-bottom: 28px; }
	.ss-split__points { margin-bottom: 28px; gap: 10px; }
	.ss-split__points li { font-size: 15.5px; }

	.ss-price__title { font-size: 24px; }
	.ss-price__text { font-size: 15.5px; margin-bottom: 28px; }
	.ss-price__card { padding: 32px 24px; }
	.ss-price__amount { font-size: 42px; }

	.ss-standort__title { font-size: 24px; }
	.ss-standort__text { font-size: 15.5px; }
	.ss-standort__card { padding: 30px 22px; }

	.ss-quotes__row { gap: 28px; }
	.ss-quote { padding-left: 20px; }
	.ss-quote__text { font-size: 17px; margin-bottom: 14px; }

	.ss-hw__media { height: 200px; }
	.ss-hw__body { padding: 26px 22px 30px; }
	.ss-hw__card--textonly .ss-hw__body { padding: 32px 22px 36px; }

	.ss-faq__note { font-size: 15px; margin: 16px 0 0; }
	.ss-faq__item { padding: 20px 0; }
	.ss-faq__q { font-size: 17px; gap: 16px; }
	.ss-faq__a { font-size: 15px; margin-top: 14px; }

	.ss-cta__title { font-size: 26px; line-height: 1.3; }
	.ss-cta__lead { font-size: 18px; }
	.ss-cta__actions { margin-bottom: 18px; }


	.ss-page-hero__title { font-size: 32px; max-width: none; }
	.ss-page-hero__lead { font-size: 16.5px; margin-bottom: 28px; }
	.ss-prose__col {
		flex: 1 1 100%;
		max-width: 100%;
	}
	.ss-prose--centered-columns .ss-prose__col--media .ss-prose__media {
		min-height: 260px;
	}
	.ss-prose--centered-columns .ss-prose__title--center { max-width: none; }
	.ss-prose__title { font-size: 26px; max-width: none; }
	.ss-prose__text { font-size: 15.5px; }

	/* Die Aktionsleiste liegt fix am unteren Rand – der Footer braucht Platz darunter. */
	.ss-footer { padding: 52px var(--ss-gutter) 96px; }
	.ss-footer__inner { flex-direction: column; gap: 32px; }
	.ss-footer__col,
	.ss-footer__col--brand { flex: 1 1 100%; }
	.ss-footer__label { margin-bottom: 14px; }
	.ss-footer__bottom { margin-top: 32px; gap: 14px; }
	.ss-footer__legal { gap: 20px; }

	.ss-mobilebar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: 100vw;
		/* Unter dem Header-Stack (1000), damit offenes Menü nicht verdeckt wird. */
		z-index: 900;
		border-top: 1px solid var(--ss-line);
		background: var(--ss-bg);
		box-shadow: 0 -8px 24px rgba(42, 39, 36, .07);
		box-sizing: border-box;
	}

	.ss-mobilebar__item {
		flex: 1 1 50%;
		min-width: 0;
		padding: 14px 6px;
		text-align: center;
		font-family: var(--ss-sans);
		font-size: 11px;
		font-weight: 400;
		letter-spacing: 1px;
		text-transform: uppercase;
		text-decoration: none;
		line-height: 1.2;
		white-space: nowrap;
	}

	.ss-mobilebar__item--call {
		color: var(--ss-ink);
		border-right: 1px solid var(--ss-line);
	}

	.ss-mobilebar__item--cta {
		background: var(--ss-gold);
		color: #fff;
	}
}


/* ---------- Seitenkopf (Unterseiten) ---------- */

.ss-page-hero__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 48px;
	line-height: 1.18;
	color: var(--ss-ink);
	margin: 0 0 24px;
	max-width: 100%;
	overflow-wrap: break-word;
}

.ss-page-hero__lead {
	font-size: 18px;
	line-height: 1.7;
	color: var(--ss-body);
	margin: 0 0 36px;
	max-width: none;
}

/* Basisregeln stehen unter dem Mobile-Block – Mobile-Größen hier erneut setzen. */
@media (max-width: 767px) {
	.ss-page-hero__title { font-size: 32px; }
	.ss-page-hero__lead { font-size: 16.5px; margin-bottom: 28px; }
}

.ss-page-hero__lead + .ss-page-hero__lead {
	margin-top: -20px;
}

.ss-page-hero__byline {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid var(--ss-line);
	max-width: 48ch;
}

.ss-page-hero__byline-name {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 10px;
}

.ss-page-hero__byline-title {
	margin: 0;
	font-family: var(--ss-sans);
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--ss-gold);
	line-height: 1.5;
}

.ss-page-hero__copy:has(.ss-page-hero__byline) .ss-page-hero__lead {
	margin-bottom: 0;
}

.ss-page-hero__actions { margin: 0; }

.ss-page-hero .ss-jump {
	margin: 28px 0 32px;
	padding-top: 24px;
	border-top: 1px solid var(--ss-line);
}

.ss-page-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin: 0 0 32px;
	padding: 24px 0 0;
	border-top: 1px solid var(--ss-line);
	list-style: none;
}

.ss-page-hero__bundle {
	margin: 0 0 32px;
	padding: 28px 0 0;
	border-top: 1px solid var(--ss-line);
	max-width: 520px;
}

.ss-page-hero__price {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 22px;
}

.ss-page-hero__bundle .ss-page-hero__facts {
	margin: 0 0 0;
	padding: 0;
	border-top: 0;
}

.ss-page-hero__facts--list {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 10px;
}

.ss-page-hero__facts--list .ss-page-hero__fact {
	position: relative;
	padding-left: 26px;
	font-size: 15.5px;
	line-height: 1.6;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ss-ink);
}

.ss-page-hero__facts--list .ss-page-hero__fact::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 14px;
	height: 1px;
	background: var(--ss-gold);
}

.ss-page-hero__note {
	margin: 20px 0 0;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--ss-mute);
	max-width: 520px;
}

.ss-page-hero__fact {
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ss-gold-text);
}

/* ---------- Textsektion ---------- */

.ss-prose__inner { max-width: 72ch; }

.ss-prose__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.25;
	color: var(--ss-ink);
	margin: 0 0 24px;
}

.ss-prose__title--on-dark { color: var(--ss-bg); }

.ss-prose__text {
	font-size: 16.5px;
	line-height: 1.8;
	color: var(--ss-body);
	margin: 0 0 20px;
}

.ss-prose__text:last-of-type { margin-bottom: 0; }
.ss-prose__text--on-dark { color: var(--ss-mute-dark); }

.ss-prose__list {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ss-prose__list li {
	position: relative;
	padding-left: 22px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--ss-body);
}

.ss-prose__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 7px;
	height: 7px;
	background: var(--ss-gold);
}

.ss-prose__list--on-dark li { color: var(--ss-mute-dark); }
.ss-prose__list--on-dark li::before { background: #FFFFFF; }

.ss-prose__actions { margin-top: 36px; }

.ss-prose--centered-columns .ss-prose__inner--wide {
	max-width: var(--ss-content);
	text-align: center;
}

.ss-prose--centered-columns .ss-prose__kicker--center {
	margin-inline: auto;
}

.ss-prose--centered-columns .ss-prose__title--center {
	margin-inline: auto;
}

.ss-prose__cols {
	display: flex;
	flex-wrap: wrap;
	gap: 32px 48px;
	margin-top: 40px;
	text-align: left;
}

.ss-prose__col {
	flex: 1 1 calc((100% - 48px) / 2);
	max-width: calc((100% - 48px) / 2);
	min-width: 280px;
}

.ss-prose--centered-columns .ss-prose__col .ss-prose__text {
	max-width: none;
	margin-bottom: 20px;
}

.ss-prose--centered-columns-media .ss-prose__kicker--center {
	text-align: center;
}

.ss-prose--centered-columns-media .ss-prose__title--center {
	text-align: center;
	margin-inline: auto;
	max-width: none;
}

.ss-prose__cols--media {
	align-items: stretch;
	margin-top: 40px;
}

.ss-prose__col--media {
	display: flex;
}

.ss-prose--centered-columns .ss-prose__col--media .ss-prose__media {
	width: 100%;
	min-height: 360px;
	flex: 1 1 auto;
}

.ss-prose--centered-columns.ss-sec--dark .ss-prose__col--media .ss-media__empty {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.ss-prose--centered-columns.ss-sec--dark .ss-prose__title {
	color: #FFFFFF;
}

.ss-prose--centered-columns.ss-sec--dark .ss-prose__text {
	color: rgba(255, 255, 255, 0.88);
}

.ss-prose__actions--center {
	display: flex;
	justify-content: center;
}

.ss-prose--contrast .ss-prose__inner {
	max-width: var(--ss-content);
	margin-inline: auto;
	text-align: center;
}

.ss-prose__title--center {
	margin-inline: auto;
}

.ss-prose__text--center {
	margin-inline: auto;
	max-width: 48ch;
}

.ss-prose__pairs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1px;
	margin: 44px 0 36px;
	background: var(--ss-line);
	border: 1px solid var(--ss-line);
}

.ss-prose__pair {
	flex: 1 1 calc((100% - 1px) / 2);
	max-width: calc((100% - 1px) / 2);
	padding: 40px 28px 44px;
	background: var(--ss-bg);
	text-align: center;
}

.ss-prose__pair-title {
	font-family: var(--ss-display);
	font-size: 56px;
	line-height: 0.95;
	color: var(--ss-gold-text);
	margin: 0 0 16px;
}

.ss-prose__pair-label {
	font-size: 11px;
	line-height: 1.45;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ss-ink);
	margin: 0 0 14px;
}

.ss-prose__pair-text {
	font-size: 15px;
	line-height: 1.75;
	color: var(--ss-body);
	margin: 0;
	max-width: 34ch;
	margin-inline: auto;
}

.ss-prose__note {
	font-size: 16.5px;
	line-height: 1.8;
	color: var(--ss-body);
	margin: 0 auto;
	max-width: 58ch;
}

@media (max-width: 767px) {
	.ss-prose__pair {
		flex: 1 1 100%;
		max-width: 100%;
	}
	.ss-prose__pair-title { font-size: 44px; }
}

/* Editorial-Karten (Grundsätze, Absent, Expect) */
.ss-lg--editorial .ss-lg__card {
	flex: 0 0 calc((100% - 1px) / 2);
	max-width: calc((100% - 1px) / 2);
}

.ss-lg--editorial.ss-lg--cols-3 .ss-lg__card {
	flex: 0 0 calc((100% - 2px) / 3);
	max-width: calc((100% - 2px) / 3);
}

/* Letzte Zeile mit genau zwei Karten: 50/50 statt leerem dritten Platz. */
.ss-lg--cols-3 .ss-lg__card:nth-child(7):nth-last-child(2),
.ss-lg--cols-3 .ss-lg__card:nth-child(8):last-child {
	flex: 0 0 calc((100% - 1px) / 2);
	max-width: calc((100% - 1px) / 2);
}

.ss-lg--editorial .ss-lg__card--textonly .ss-lg__body {
	padding: 40px 32px 44px;
}

.ss-lg--editorial .ss-lg__card .ss-lg__title {
	font-size: 20px;
}

@media (max-width: 1023px) {
	.ss-lg--editorial.ss-lg--cols-3 .ss-lg__card {
		flex: 0 0 calc((100% - 1px) / 2);
		max-width: calc((100% - 1px) / 2);
	}
}

@media (max-width: 767px) {
	.ss-lg--editorial .ss-lg__card,
	.ss-lg--editorial.ss-lg--cols-3 .ss-lg__card {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* Editorial offen mit Goldlinie (dunkle Klarheit-Sektion) */
.ss-lg--ruled .ss-head {
	justify-content: center;
	text-align: center;
}

.ss-lg--ruled .ss-head__group {
	max-width: none;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ss-lg--ruled .ss-head__title {
	max-width: none;
}

.ss-lg--ruled .ss-head__text {
	max-width: none;
}

.ss-lg--ruled .ss-lg__grid {
	gap: 48px 64px;
	background: transparent;
	border: 0;
}

.ss-lg--ruled .ss-lg__card {
	background: transparent;
}

/* Gap 64px: Basis muss die Gasse abziehen, sonst rutschen die Karten untereinander. */
.ss-lg--ruled.ss-lg--editorial .ss-lg__card {
	flex: 0 0 calc((100% - 64px) / 2);
	max-width: calc((100% - 64px) / 2);
}

.ss-lg--ruled.ss-lg--editorial.ss-lg--cols-3 .ss-lg__card {
	flex: 0 0 calc((100% - 128px) / 3);
	max-width: calc((100% - 128px) / 3);
}

.ss-lg--ruled .ss-lg__card::before {
	transform: scaleX(1);
	height: 1px;
	background: var(--ss-gold);
}

.ss-lg--ruled .ss-lg__card:hover {
	background: transparent;
}

.ss-lg--ruled .ss-lg__card--textonly .ss-lg__body {
	padding: 28px 0 8px;
}

.ss-lg--ruled.ss-lg--editorial .ss-lg__card .ss-lg__title {
	font-size: 24px;
}

.ss-sec--dark.ss-lg .ss-head__title {
	color: var(--ss-bg);
}

.ss-sec--dark.ss-lg .ss-head__text,
.ss-sec--dark.ss-lg .ss-head__meta {
	color: var(--ss-mute-dark);
}

.ss-sec--dark.ss-lg .ss-lg__title {
	color: var(--ss-bg);
}

.ss-sec--dark.ss-lg .ss-lg__text,
.ss-sec--dark.ss-lg .ss-lg__meta,
.ss-sec--dark.ss-lg .ss-lg__note,
.ss-sec--dark.ss-lg .ss-lg__points li {
	color: var(--ss-mute-dark);
}

.ss-sec--dark.ss-lg .ss-lg__label,
.ss-sec--dark.ss-lg .ss-lg__num {
	color: #FFFFFF;
}

.ss-sec--dark.ss-lg .ss-lg__points li::before {
	background: #FFFFFF;
}

@media (max-width: 767px) {
	.ss-lg--ruled .ss-lg__grid {
		gap: 36px;
	}

	.ss-lg--ruled.ss-lg--editorial .ss-lg__card,
	.ss-lg--ruled.ss-lg--editorial.ss-lg--cols-3 .ss-lg__card {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* Tag-Leiste: gleiche Inhaltsbreite wie Header/Footer (--ss-content) */
.ss-prose--tags .ss-prose__tags-wrap {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 36px;
	max-width: var(--ss-content);
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

.ss-prose--tags .ss-prose__intro {
	max-width: 68ch;
	width: 100%;
}

.ss-prose--tags .ss-prose__title {
	max-width: none;
}

.ss-prose__tags {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
}

.ss-prose__tag {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 14px 18px;
	border: 1px solid rgba(195, 161, 46, .45);
	background: #FFFFFF;
	color: var(--ss-ink);
	font-size: 15px;
	line-height: 1.45;
}

.ss-prose__tag::before {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	margin-right: 12px;
	background: var(--ss-gold);
}

.ss-prose__tags--on-dark .ss-prose__tag {
	background: transparent;
	border-color: rgba(201, 154, 46, .45);
	color: var(--ss-bg);
}

.ss-prose__tags--on-dark .ss-prose__tag::before {
	background: #FFFFFF;
}

.ss-prose--tags .ss-prose__actions {
	margin-top: 4px;
}

@media (max-width: 767px) {
	.ss-prose--tags .ss-prose__tags-wrap { gap: 28px; }
	.ss-prose__tag {
		padding: 12px 14px;
		font-size: 14.5px;
	}
}


.ss-prose--split-list .ss-prose__copy {
	flex: 1 1 46%;
	max-width: 52ch;
	padding-right: 24px;
}

.ss-prose--split-list.ss-prose--panel-left .ss-prose__copy {
	padding-right: 0;
	padding-left: 24px;
}

.ss-prose--split-list.ss-prose--panel-left .ss-prose__row {
	flex-direction: row-reverse;
}

.ss-prose__panel {
	position: relative;
	flex: 1 1 42%;
	min-width: 280px;
	padding: 36px 32px 32px;
	background: #FFFFFF;
	border: 1px solid var(--ss-line);
}

.ss-prose__panel-frame {
	position: absolute;
	top: 14px;
	right: 14px;
	bottom: 14px;
	left: 14px;
	border: 1px solid rgba(195, 161, 46, .28);
	pointer-events: none;
}

.ss-prose__panel-frame::before,
.ss-prose__panel-frame::after {
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	border-color: rgba(195, 161, 46, .55);
	border-style: solid;
}

.ss-prose__panel-frame::before {
	top: -1px;
	left: -1px;
	border-width: 1px 0 0 1px;
}

.ss-prose__panel-frame::after {
	right: -1px;
	bottom: -1px;
	border-width: 0 1px 1px 0;
}

.ss-prose__panel-kicker {
	position: relative;
	z-index: 1;
	margin: 0 0 22px;
}

.ss-prose__panel-title {
	position: relative;
	z-index: 1;
	margin: 0 0 22px;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.3;
	color: var(--ss-ink);
}

.ss-prose__panel-kicker + .ss-prose__panel-title {
	margin-top: -8px;
}

.ss-prose__checks {
	position: relative;
	z-index: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.ss-prose__check {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 14px 0;
	border-top: 1px solid rgba(195, 161, 46, .18);
}

.ss-prose__check:first-child {
	border-top: 0;
	padding-top: 0;
}

.ss-prose__check:last-child {
	padding-bottom: 0;
}

.ss-prose__check-num {
	flex: 0 0 auto;
	min-width: 28px;
	font-family: var(--ss-sans, inherit);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 1.5px;
	line-height: 1.6;
	color: var(--ss-gold-text);
}

.ss-prose__check-icon {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	border: 1px solid var(--ss-gold);
	position: relative;
}

.ss-prose__check-icon::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 1px;
	width: 5px;
	height: 9px;
	border-right: 1.5px solid var(--ss-gold);
	border-bottom: 1.5px solid var(--ss-gold);
	transform: rotate(40deg);
}

.ss-prose__check-text {
	flex: 1 1 auto;
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--ss-ink);
}

@media (max-width: 1023px) {
	.ss-prose--split-list .ss-prose__copy {
		max-width: none;
		padding-right: 0;
		padding-left: 0;
		flex-basis: 100%;
	}
	.ss-prose--split-list.ss-prose--panel-left .ss-prose__copy {
		padding-left: 0;
	}
	.ss-prose--split-list.ss-prose--panel-left .ss-prose__row {
		flex-direction: column;
	}
	.ss-prose__panel {
		flex-basis: 100%;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.ss-prose__panel {
		padding: 28px 22px 24px;
	}
	.ss-prose__panel-frame {
		top: 10px;
		right: 10px;
		bottom: 10px;
		left: 10px;
	}
	.ss-prose__check {
		gap: 12px;
		padding: 12px 0;
	}
	.ss-prose__check-text {
		font-size: 15px;
	}
}


/* ---------- Footer Social ---------- */

.ss-footer__social {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
}

.ss-footer__social a {
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.ss-footer__social a:hover,
.ss-footer__social a:focus-visible {
	color: var(--ss-ink);
	border-bottom-color: var(--ss-gold);
}

/* ---------- Disclaimer (klein) ---------- */

.ss-disclaimer {
	margin: 40px 0 0;
	max-width: 72ch;
	font-size: 13px;
	line-height: 1.7;
	color: var(--ss-mute);
}

/* ---------- Seitenkopf mit Bild ---------- */

.ss-page-hero__row,
.ss-prose__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--ss-col-gap);
}

.ss-page-hero__copy,
.ss-prose__copy {
	flex: 1 1 48%;
	min-width: 280px;
}

.ss-page-hero--split .ss-page-hero__lead { max-width: none; }

.ss-page-hero__media,
.ss-prose__media {
	flex: 1 1 40%;
	min-width: 260px;
	min-height: 420px;
}

.ss-page-hero--media-left .ss-page-hero__row {
	flex-direction: row-reverse;
}

.ss-page-hero--media-left .ss-page-hero__deco,
.ss-page-hero--media-left .ss-page-hero__media {
	flex: 1 1 40%;
}

@media (max-width: 1023px) {
	.ss-page-hero--media-left .ss-page-hero__row {
		flex-direction: column-reverse;
	}
}

.ss-prose--split .ss-prose__inner,
.ss-prose--split .ss-prose__copy { max-width: none; }

.ss-prose--media-left .ss-prose__row {
	flex-direction: row;
}

@media (max-width: 1023px) {
	.ss-prose--media-left .ss-prose__row {
		flex-direction: column;
	}
}

@media (max-width: 1023px) {
	.ss-page-hero__media,
	.ss-prose__media { min-height: 320px; width: 100%; flex-basis: 100%; }
}

@media (max-width: 767px) {
	.ss-page-hero__media,
	.ss-prose__media { min-height: 260px; }
	.ss-disclaimer { margin-top: 28px; font-size: 12.5px; }
}

/* ================= Header ================= */

/*
 * Milchige Sticky-Fläche: Blur nur auf ::before.
 * backdrop-filter direkt am Header clippt in Safari/WebKit das absolute
 * Burger-Dropdown (overflow:visible greift dann nicht) – Menü „öffnet“,
 * bleibt aber unsichtbar/untouchable.
 */
.elementor-location-header .ss-header {
	/* Kein position:relative – Elementor Sticky setzt fixed; das nicht überschreiben. */
	background-color: transparent !important;
	background-image: none !important;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	/* Über Inhalt und Mobilebar, damit das offene Panel klickbar bleibt. */
	z-index: 1000;
}

.elementor-location-header .ss-header::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-color: rgba(251, 249, 246, 0.88);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.elementor-location-header .ss-header > * {
	position: relative;
	z-index: 1;
}

/*
 * Der Header sitzt auf denselben Rasterkanten wie Inhalt und Footer.
 * Die Elementor-Container-Polsterung ist bewusst auf 0 gesetzt, damit sich
 * hier nichts aufaddiert und der Header nicht schmaler wird als die Sektionen.
 */
.ss-header__inner {
	width: 100%;
	max-width: calc(var(--ss-content) + 2 * var(--ss-gutter));
	margin-inline: auto;
	padding: 10px var(--ss-gutter);
}

/*
 * Das Logo darf nie mitschrumpfen. Ohne diese Sperre staucht die breite
 * Hauptnavigation es als Flex-Item zusammen und es rendert schmaler als
 * eingestellt – dann passt auch die Footer-Breite nicht mehr dazu.
 */
.ss-header__logo {
	flex: 0 0 auto;
}

.ss-header__logo img {
	display: block;
	width: 92px;
	height: auto;
}

@media (max-width: 1366px) {
	.ss-header__logo img { width: 84px; }
}

@media (max-width: 1023px) {
	.ss-header__logo img { width: 78px; }
}

@media (max-width: 767px) {
	.ss-header__logo img { width: 68px; }
}

/* Sprungziele dürfen nicht unter dem Sticky-Header landen. */
.ss-sec[id],
.ss-footer[id] {
	scroll-margin-top: 110px;
}

@media (max-width: 1023px) {
	.ss-sec[id],
	.ss-footer[id] { scroll-margin-top: 96px; }
}

@media (max-width: 767px) {
	.ss-sec[id],
	.ss-footer[id] { scroll-margin-top: 80px; }
}

.ss-header .elementor-nav-menu .elementor-item {
	padding-left: 0;
	padding-right: 0;
}

.ss-header .elementor-nav-menu--main .elementor-item:focus-visible {
	outline: 2px solid var(--ss-gold);
	outline-offset: 3px;
}

/* Farben, Typo und Abstände des Dropdowns kommen aus den Elementor-Einstellungen. */
.ss-header .elementor-nav-menu--dropdown {
	border-top: 1px solid var(--ss-line);
}

.ss-header .elementor-nav-menu--dropdown a:focus-visible {
	outline: 2px solid var(--ss-gold);
	outline-offset: -2px;
}

/*
 * Sprachumschalter: Elementor stylt jedes a im Menü als eigenen Punkt
 * (display:block, Padding, Unterstreichungs-Pointer). Deshalb die drei
 * Codes explizit in eine Zeile zwingen – gleiche Spezifität wie die
 * Header-Nav-Regeln, plus !important gegen post-73.css.
 */
.elementor-location-header .elementor-nav-menu > li.ss-lang {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	align-self: center !important;
	width: auto !important;
	white-space: nowrap !important;
}

@media (min-width: 1025px) {
	.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li.ss-lang {
		margin-left: 32px !important;
	}
}

.elementor-location-header .ss-lang__list {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 10px !important;
	width: auto !important;
	max-width: none !important;
	white-space: nowrap !important;
}

.elementor-location-header .elementor-nav-menu--main .ss-lang a,
.elementor-location-header .elementor-nav-menu--dropdown .ss-lang a,
.elementor-location-header .elementor-nav-menu .ss-lang a.elementor-item,
.elementor-location-header .elementor-nav-menu .ss-lang a.glink {
	display: inline-block !important;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	flex-grow: 0 !important;
	position: static !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: var(--ss-sans) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: 1.6px !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	color: var(--ss-mute) !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

.elementor-location-header .ss-lang a:hover,
.elementor-location-header .ss-lang a:focus-visible {
	color: var(--ss-gold) !important;
}

.elementor-location-header .ss-lang a.gt-current-lang {
	color: var(--ss-gold) !important;
}

.elementor-location-header .ss-lang a:before,
.elementor-location-header .ss-lang a:after,
.elementor-location-header .ss-lang .sub-arrow {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: none !important;
	border: 0 !important;
}

@media (max-width: 1366px) {
	.elementor-location-header .elementor-nav-menu--main .ss-lang a {
		font-size: 10px !important;
		letter-spacing: 1px !important;
	}
}

.elementor-location-header .elementor-nav-menu--dropdown > li.ss-lang {
	width: 100% !important;
	padding: 16px 32px !important;
	margin-top: 8px;
	border-top: 1px solid var(--ss-line);
	border-bottom: 0 !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .ss-lang__list {
	gap: 16px !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .ss-lang a {
	font-size: 13px !important;
	letter-spacing: 2px !important;
}

.ss-header .elementor-menu-toggle {
	color: var(--ss-ink);
	background: transparent;
}

/*
 * Burger-Breakpoint: Elementor legt das Dropdown im Fluss ab. Dadurch bestimmt der
 * längste Menüpunkt die Widget-Breite und das offene Menü sprengt die Kopfzeile.
 * Deshalb Toggle auf Inhaltsbreite und Panel absolut über die volle Headerbreite.
 *
 * 1024 statt 1023: Elementor schaltet das Dropdown bei genau 1024px um. Mit 1023
 * bliebe eine Breite übrig, in der der Burger schon da ist, diese Regeln aber nicht.
 */
@media (max-width: 1024px) {
	.ss-header__logo { flex: 0 0 auto; }

	/* Statisch, damit das Panel an .ss-header und nicht an der Navi-Spalte hängt. */
	.ss-header__nav,
	.ss-header .elementor-widget-nav-menu {
		position: static;
	}

	.ss-header .elementor-widget-nav-menu {
		width: auto;
		flex: 0 0 auto;
	}

	/* Der Burger gehört an den äußeren Rand, der Terminbutton davor. */
	.ss-header__cta { order: -1; }

	.ss-header .elementor-menu-toggle {
		margin: 0;
		min-width: 44px;
		min-height: 44px;
		justify-content: flex-end;
	}

	.ss-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		max-width: none;
		margin: 0;
		z-index: 1200;
		box-shadow: 0 18px 32px rgba(42, 39, 36, .08);
		/* Untermenüs + Sprachen: Panel scrollbar, nicht hinter die Mobilebar. */
		max-height: min(70vh, calc(100dvh - 160px));
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ss-header.elementor-sticky,
	.ss-header.elementor-sticky--active {
		overflow: visible !important;
	}

	/* Sticky-Spacer-Klon: unsichtbar und ohne Klicks (Doppel-Toggle). */
	.elementor-sticky__spacer .elementor-menu-toggle,
	.elementor-sticky__spacer .elementor-nav-menu--dropdown {
		pointer-events: none !important;
	}

	.ss-header .elementor-menu-toggle {
		position: relative;
		z-index: 1210;
	}

	.ss-header .elementor-nav-menu--dropdown .elementor-nav-menu,
	.ss-header .elementor-nav-menu--dropdown .elementor-nav-menu li {
		width: 100%;
	}

	/* Sprachen gehören ins offene Panel, nicht in die schmale Kopfzeile neben dem Burger. */
	.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li.ss-lang {
		display: none !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown > li.ss-lang {
		margin-left: 0 !important;
		justify-content: flex-start;
	}
}

/*
 * Unter 768px trägt die feste Aktionsleiste am unteren Rand den Termin-CTA.
 * Ein zweiter Button in der Kopfzeile wäre doppelt und drängt den Burger ein.
 */
@media (max-width: 767px) {
	.ss-header__cta { display: none; }
}


/* Trustindex: extremes z-index darf Header/Menü nicht blockieren. */
.ti-disclaimer {
	pointer-events: none !important;
	z-index: 1 !important;
}

/* ================= Fokus & Motion ================= */

.ss-sec a:focus-visible,
.ss-footer a:focus-visible,
.ss-mobilebar a:focus-visible,
.ss-faq__q:focus-visible {
	outline: 2px solid var(--ss-gold);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.ss-sec *,
	.ss-footer * {
		transition: none !important;
	}
}

/* ================= Beauty-Extras ================= */

.ss-extras__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	background: var(--ss-line);
	border: 1px solid var(--ss-line);
	margin-top: 40px;
}

.ss-extras__card {
	flex: 1 1 calc(50% - 1px);
	background: var(--ss-bg);
	padding: 0;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ss-extras__media {
	height: 240px;
	width: 100%;
	flex: 0 0 auto;
}

.ss-extras__body {
	padding: 28px 32px 32px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1 1 auto;
}

.ss-extras__card--textonly .ss-extras__body {
	padding: 36px 32px;
}

.ss-extras__card-title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0;
}

.ss-extras__card-text {
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--ss-body);
	margin: 0;
}

.ss-extras__list {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1 1 auto;
}

.ss-extras__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-top: 1px solid var(--ss-line);
}

.ss-extras__row:last-child {
	border-bottom: 1px solid var(--ss-line);
}

.ss-extras__name {
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--ss-ink);
}

.ss-extras__price {
	flex: 0 0 auto;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0.04em;
	color: var(--ss-gold-text);
	white-space: nowrap;
}

.ss-extras__note {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.65;
	color: var(--ss-mute);
}

.ss-sec--dark .ss-extras__card {
	background: rgba(255, 255, 255, 0.04);
}

.ss-sec--dark .ss-extras__card-title,
.ss-sec--dark .ss-extras__name {
	color: var(--ss-bg);
}

.ss-sec--dark .ss-extras__card-text,
.ss-sec--dark .ss-extras__note {
	color: var(--ss-mute-dark);
}

.ss-sec--dark .ss-extras__row,
.ss-sec--dark .ss-extras__row:last-child {
	border-color: rgba(255, 255, 255, 0.16);
}

@media (max-width: 1023px) {
	.ss-extras__card { flex: 1 1 calc(50% - 1px); }
	.ss-extras__media { height: 200px; }
	.ss-extras__body { padding: 24px 28px 28px; }
	.ss-extras__card-title { font-size: 24px; }
}

@media (max-width: 767px) {
	.ss-extras__card { flex: 1 1 100%; }
	.ss-extras__media { height: 200px; }
	.ss-extras__body { padding: 24px; }
	.ss-extras__card-title { font-size: 22px; }
	.ss-extras__grid { margin-top: 28px; }
}

/* ================= Path recipes ================= */

.ss-path--recipes .ss-path__title {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.ss-path--recipes .ss-path__grid {
	background: transparent;
	border: 0;
	gap: 24px;
	margin-top: 40px;
}

.ss-path--recipes .ss-path__card {
	flex: 1 1 calc(33.333% - 16px);
	background: transparent;
	border-top: 1px solid var(--ss-gold);
	padding: 28px 8px 8px;
	gap: 18px;
}

.ss-path--recipes .ss-path__num {
	font-family: var(--ss-display);
	font-size: 15px;
	letter-spacing: 0.12em;
	color: var(--ss-gold-text);
	line-height: 1;
}

.ss-path--recipes .ss-path__recipe {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.ss-path--recipes .ss-path__part {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.35;
	color: var(--ss-ink);
}

.ss-path--recipes .ss-path__plus {
	font-size: 14px;
	letter-spacing: 0.08em;
	color: var(--ss-gold-text);
	line-height: 1;
}

.ss-path--recipes .ss-path__footer {
	text-align: center;
	max-width: 52ch;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 1023px) {
	.ss-path--recipes .ss-path__card { flex: 1 1 calc(50% - 12px); }
	.ss-path--recipes .ss-path__part { font-size: 22px; }
}

@media (max-width: 767px) {
	.ss-path--recipes .ss-path__grid { gap: 20px; margin-top: 28px; }
	.ss-path--recipes .ss-path__card { flex: 1 1 100%; padding-top: 24px; }
	.ss-path--recipes .ss-path__part { font-size: 22px; }
}

/* ================= Preispakete ================= */

.ss-pakete__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 36px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 16px;
}

.ss-pakete__intro {
	font-size: 16.5px;
	line-height: 1.8;
	margin: 0 0 40px;
	max-width: none;
}

.ss-pakete__cards {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 1px;
	background: var(--ss-line);
	border: 1px solid var(--ss-line);
	margin-top: 16px;
	overflow: visible;
}

.ss-pakete__card {
	position: relative;
	background: var(--ss-bg);
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0;
	flex: 1 1 100%;
	min-height: 100%;
	align-self: stretch;
	box-sizing: border-box;
}

.ss-pakete__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1 1 auto;
}

.ss-pakete__badge {
	position: absolute;
	top: 0;
	left: 20px;
	z-index: 1;
	transform: translateY(-50%);
	margin: 0;
	padding: 7px 12px;
	background: var(--ss-gold);
	color: #fff;
	font-size: 10.5px;
	font-weight: 400;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	line-height: 1.3;
	white-space: nowrap;
}

.ss-pakete__cards--2 .ss-pakete__card { flex: 1 1 calc(50% - 1px); }
.ss-pakete__cards--3 .ss-pakete__card { flex: 1 1 calc(33.333% - 1px); }
.ss-pakete__cards--4 .ss-pakete__card { flex: 1 1 calc(25% - 1px); }

.ss-pakete__name {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 20px;
	line-height: 1.35;
	color: var(--ss-ink);
	margin: 0;
}

.ss-pakete__text {
	font-size: 14.5px;
	line-height: 1.7;
	margin: 0;
}

.ss-pakete__amount {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
	font-family: var(--ss-display);
	font-size: 22px;
	line-height: 1.25;
	color: var(--ss-gold-text);
	margin: 0;
	min-height: 36px;
}

.ss-pakete__amount--empty {
	visibility: hidden;
}

.ss-pakete__foot {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	flex: 0 0 auto;
	margin-top: auto;
	padding-top: 20px;
	min-height: 56px;
}

.ss-price-was {
	display: inline-block;
	font-family: var(--ss-sans);
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 0.02em;
	line-height: 1.25;
	color: var(--ss-mute);
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.ss-sec--dark .ss-price-was {
	color: rgba(255, 255, 255, 0.72);
}

.ss-price-now {
	display: inline-block;
}

.ss-price-extra {
	display: inline-block;
	font-family: var(--ss-sans);
	font-size: 13.5px;
	font-weight: 300;
	letter-spacing: 0.01em;
	line-height: 1.35;
	color: var(--ss-mute);
}

.ss-pakete__meta {
	font-size: 13.5px;
	color: var(--ss-mute);
	margin: 8px 0 0;
}

.ss-pakete__note {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--ss-mute);
	margin: 28px 0 0;
	max-width: none;
}

.ss-pakete__lines {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--ss-line);
}

.ss-pakete__line {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 18px 0;
	border-bottom: 1px solid var(--ss-line);
}

.ss-pakete__line-name {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ss-ink);
	flex: 1 1 60%;
}

.ss-pakete__line-price {
	font-family: var(--ss-display);
	font-size: 20px;
	color: var(--ss-gold-text);
}

.ss-pakete__kur {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.ss-pakete__kur-card {
	flex: 1 1 calc(50% - 16px);
	border: 1px solid var(--ss-line);
	background: var(--ss-bg);
	padding: 40px 36px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ss-pakete__kur-card--featured {
	border: 2px solid var(--ss-gold);
}

.ss-pakete__kur-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
}

.ss-pakete__kur-meta {
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ss-mute);
}

.ss-pakete__kur-prices {
	border-top: 1px solid var(--ss-line);
	padding-top: 18px;
	margin-top: 6px;
}

.ss-pakete__kur-row {
	font-size: 14px;
	line-height: 1.9;
	margin: 0;
	color: var(--ss-ink);
}

.ss-pakete__kur-row strong {
	font-weight: 500;
	color: var(--ss-gold-text);
}

.ss-pakete__was {
	display: none;
}

.ss-pakete__group {
	padding-top: 48px;
	margin-top: 48px;
	border-top: 1px solid var(--ss-line);
}

.ss-pakete__group:first-of-type {
	padding-top: 0;
	margin-top: 0;
	border-top: 0;
}

.ss-pakete__group-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 28px;
}

.ss-pakete__group-title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 28px;
	color: var(--ss-ink);
	margin: 0;
}

@media (max-width: 1024px) {
	.ss-pakete__cards--3 .ss-pakete__card,
	.ss-pakete__cards--4 .ss-pakete__card { flex: 1 1 calc(50% - 1px); }
	.ss-pakete__title { font-size: 30px; }
}

@media (max-width: 767px) {
	.ss-pakete__cards--2 .ss-pakete__card,
	.ss-pakete__cards--3 .ss-pakete__card,
	.ss-pakete__cards--4 .ss-pakete__card { flex: 1 1 100%; }
	.ss-pakete__kur-card { flex: 1 1 100%; }
	.ss-pakete__card { padding: 28px 24px; }
	.ss-pakete__kur-card { padding: 32px 24px; }
	.ss-pakete__title { font-size: 26px; }
	.ss-pakete__group-title { font-size: 24px; }
}


/* ---------- Kontakt + Formular ---------- */

.ss-kontakt__row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 48px 56px;
}

.ss-kontakt__copy {
	flex: 1 1 42%;
	min-width: 280px;
	max-width: 52ch;
}

.ss-kontakt__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.25;
	color: var(--ss-ink);
	margin: 0 0 24px;
}

.ss-kontakt__text {
	font-size: 16.5px;
	line-height: 1.8;
	color: var(--ss-body);
	margin: 0 0 18px;
}

.ss-kontakt__details {
	margin: 36px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid rgba(195, 161, 46, .22);
}

.ss-kontakt__detail {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(195, 161, 46, .18);
}

.ss-kontakt__detail dt {
	margin: 0;
	font-size: 11px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
}

.ss-kontakt__detail dd {
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--ss-ink);
}

.ss-kontakt__detail a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.ss-kontakt__detail a:hover,
.ss-kontakt__detail a:focus-visible {
	border-bottom-color: var(--ss-gold);
	outline: none;
}

.ss-kontakt__panel {
	position: relative;
	flex: 1 1 40%;
	min-width: 300px;
	padding: 36px 32px 32px;
	background: #FFFFFF;
	border: 1px solid var(--ss-line);
}

.ss-kontakt__panel-frame {
	position: absolute;
	top: 14px;
	right: 14px;
	bottom: 14px;
	left: 14px;
	border: 1px solid rgba(195, 161, 46, .28);
	pointer-events: none;
}

.ss-kontakt__panel-frame::before,
.ss-kontakt__panel-frame::after {
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	border-color: rgba(195, 161, 46, .55);
	border-style: solid;
}

.ss-kontakt__panel-frame::before {
	top: -1px;
	left: -1px;
	border-width: 1px 0 0 1px;
}

.ss-kontakt__panel-frame::after {
	right: -1px;
	bottom: -1px;
	border-width: 0 1px 1px 0;
}

.ss-kontakt__panel-kicker {
	position: relative;
	z-index: 1;
	margin: 0 0 12px;
}

.ss-kontakt__panel-title {
	position: relative;
	z-index: 1;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 28px;
}

.ss-form {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ss-form__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ss-form__row {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ss-form__label {
	font-size: 12px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
}

.ss-form__input {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	border: 1px solid var(--ss-line);
	border-radius: 0;
	background: #fff;
	color: var(--ss-ink);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	appearance: none;
}

.ss-form__input:focus {
	outline: 2px solid var(--ss-gold);
	outline-offset: 0;
	border-color: var(--ss-gold);
}

.ss-form__textarea {
	min-height: 120px;
	resize: vertical;
}

.ss-form__row--check {
	margin-top: 4px;
}

.ss-form__check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ss-body);
	cursor: pointer;
}

.ss-form__check input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--ss-gold);
}

.ss-form__privacy-link {
	color: var(--ss-gold-text);
	text-decoration: underline;
	text-underline-offset: 2px;
	margin-left: 4px;
}

.ss-form__actions {
	margin-top: 8px;
}

.ss-form__submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

.ss-form__status {
	margin: 4px 0 0;
	font-size: 14.5px;
	line-height: 1.5;
}

.ss-form__status--ok { color: var(--ss-ink); }
.ss-form__status--err { color: #8a2f2f; }

@media (max-width: 1023px) {
	.ss-kontakt__row { gap: 40px; }
	.ss-kontakt__copy {
		max-width: none;
		flex-basis: 100%;
	}
	.ss-kontakt__panel {
		flex-basis: 100%;
		width: 100%;
	}
	.ss-kontakt__title { max-width: none; }
}

@media (max-width: 767px) {
	.ss-kontakt__title { font-size: 26px; }
	.ss-kontakt__text { font-size: 15.5px; }
	.ss-kontakt__panel {
		padding: 28px 22px 24px;
	}
	.ss-kontakt__panel-frame {
		top: 10px;
		right: 10px;
		bottom: 10px;
		left: 10px;
	}
	.ss-kontakt__panel-title { font-size: 22px; margin-bottom: 22px; }
}

/* ---------- Seitenkopf Formular ---------- */

.ss-page-hero--form .ss-page-hero__copy {
	flex: 1 1 42%;
	max-width: 48ch;
}

.ss-page-hero__panel {
	position: relative;
	flex: 1 1 42%;
	min-width: 300px;
	scroll-margin-top: 120px;
	padding: 32px 28px 28px;
	background: #FFFFFF;
	border: 1px solid var(--ss-line);
}

.ss-page-hero__panel-frame {
	position: absolute;
	top: 12px;
	right: 12px;
	bottom: 12px;
	left: 12px;
	border: 1px solid rgba(195, 161, 46, .28);
	pointer-events: none;
}

.ss-page-hero__panel-frame::before,
.ss-page-hero__panel-frame::after {
	content: "";
	position: absolute;
	width: 32px;
	height: 32px;
	border-color: rgba(195, 161, 46, .55);
	border-style: solid;
}

.ss-page-hero__panel-frame::before {
	top: -1px;
	left: -1px;
	border-width: 1px 0 0 1px;
}

.ss-page-hero__panel-frame::after {
	right: -1px;
	bottom: -1px;
	border-width: 0 1px 1px 0;
}

.ss-page-hero__panel-kicker {
	position: relative;
	z-index: 1;
	margin: 0 0 10px;
}

.ss-page-hero__panel-title {
	position: relative;
	z-index: 1;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 26px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 22px;
}

.ss-page-hero__panel .ss-form {
	gap: 14px;
}

.ss-page-hero__panel .ss-form__textarea {
	min-height: 88px;
}

@media (max-width: 1023px) {
	.ss-page-hero--form .ss-page-hero__copy {
		max-width: none;
		flex-basis: 100%;
	}
	.ss-page-hero__panel {
		flex-basis: 100%;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.ss-page-hero__panel {
		padding: 26px 20px 22px;
		scroll-margin-top: 96px;
	}
	.ss-page-hero__panel-title { font-size: 22px; margin-bottom: 18px; }
}

/* ---------- Partner-Marken ---------- */

.ss-partners__inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: var(--ss-content);
	width: 100%;
	margin-inline: auto;
}

.ss-partners__head {
	max-width: none;
}

.ss-partners__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.25;
	color: var(--ss-ink);
	margin: 0 0 16px;
	max-width: none;
}

.ss-sec--dark .ss-partners__title { color: var(--ss-bg); }

.ss-partners__text {
	font-size: 16.5px;
	line-height: 1.75;
	color: var(--ss-body);
	margin: 0;
}

.ss-sec--dark .ss-partners__text { color: var(--ss-mute-dark); }

.ss-partners__viewport {
	overflow: hidden;
	width: 100%;
	mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent);
}

.ss-partners__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: max-content;
	animation: ss-partners-marquee 42s linear infinite;
}

.ss-partners__group {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 48px;
	flex: 0 0 auto;
}

.ss-partners__viewport:hover .ss-partners__track {
	animation-play-state: paused;
}

.ss-partners__item {
	margin: 0;
	padding: 18px 22px;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	min-height: 88px;
	border: 1px solid var(--ss-line);
	background: #FFFFFF;
}

.ss-sec--dark .ss-partners__item {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.12);
}

.ss-partners__item img {
	display: block;
	max-height: 48px;
	max-width: 140px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.ss-partners__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 16px;
	width: 100%;
}

@keyframes ss-partners-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.ss-partners__track {
		animation: none;
		flex-wrap: wrap;
		width: 100%;
		justify-content: flex-start;
	}
	.ss-partners__viewport {
		mask-image: none;
		-webkit-mask-image: none;
	}
	.ss-partners__track .ss-partners__group[aria-hidden="true"] {
		display: none;
	}
}

@media (max-width: 767px) {
	.ss-partners__title { font-size: 26px; }
	.ss-partners__text { font-size: 15.5px; }
	.ss-partners__group { gap: 28px; }
	.ss-partners__track { animation-duration: 32s; }
	.ss-partners__item {
		min-width: 120px;
		min-height: 76px;
		padding: 14px 16px;
	}
	.ss-partners__item img { max-height: 40px; max-width: 110px; }
}

/* ---------- Zitat-Banner ---------- */

.ss-quote-banner__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 28px;
	max-width: 1000px;
}

.ss-quote-banner__text {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.45;
	color: var(--ss-ink);
	margin: 0;
	max-width: none;
	border: 0;
	padding: 0;
}

.ss-sec--dark .ss-quote-banner__text {
	color: var(--ss-bg);
}

.ss-quote-banner__highlight {
	color: var(--ss-gold);
}

.ss-sec--dark .ss-quote-banner__highlight {
	color: #FFFFFF;
}

.ss-quote-banner__author {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0;
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--ss-gold);
}

.ss-quote-banner__attr {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.ss-quote-banner__role {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ss-mute);
	letter-spacing: 0;
	text-transform: none;
}

.ss-sec--dark .ss-quote-banner__role {
	color: var(--ss-mute-dark);
}

.ss-sec--dark .ss-quote-banner__author {
	color: #FFFFFF;
}

.ss-quote-banner__author::before,
.ss-quote-banner__author::after {
	content: "";
	flex: 0 0 auto;
	width: 36px;
	height: 1px;
	background: var(--ss-gold);
}

.ss-sec--dark .ss-quote-banner__author::before,
.ss-sec--dark .ss-quote-banner__author::after {
	background: #FFFFFF;
}

@media (max-width: 767px) {
	.ss-quote-banner__text { font-size: 26px; max-width: none; }
	.ss-quote-banner__inner { gap: 22px; }
}

/* ---------- Grundsätze ---------- */

.ss-principles__rows {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--ss-line);
}

.ss-sec--dark .ss-principles__rows {
	border-top-color: var(--ss-line-dark);
}

.ss-principles__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px 48px;
	padding: 36px 0;
	border-bottom: 1px solid var(--ss-line);
}

.ss-principles--plain .ss-principles__row {
	padding: 44px 0;
	gap: 16px 64px;
}

.ss-principles--plain .ss-principles__title {
	flex: 0 1 240px;
	color: var(--ss-gold-text);
}

.ss-principles--plain .ss-principles__text {
	flex: 1 1 420px;
	max-width: 62ch;
}

.ss-sec--dark .ss-principles__row {
	border-bottom-color: var(--ss-line-dark);
}

.ss-principles__num {
	flex: 0 0 40px;
	font-family: var(--ss-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1.6;
	color: var(--ss-gold-text);
}

.ss-sec--dark .ss-principles__num {
	color: #FFFFFF;
}

.ss-principles__title {
	flex: 0 0 240px;
	max-width: 240px;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.35;
	color: var(--ss-ink);
	margin: 0;
}

.ss-sec--dark .ss-principles__title {
	color: var(--ss-bg);
}

.ss-principles__text {
	flex: 1 1 320px;
	font-size: 16px;
	line-height: 1.75;
	color: var(--ss-body);
	margin: 0;
	max-width: 62ch;
}

.ss-sec--dark .ss-principles__text {
	color: var(--ss-mute-dark);
}

.ss-principles__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	padding-bottom: 8px;
	margin: 0 calc(-1 * var(--ss-gutter));
	padding-left: var(--ss-gutter);
	padding-right: var(--ss-gutter);
}

.ss-principles__track {
	display: flex;
	flex-wrap: nowrap;
	gap: 16px;
	width: max-content;
}

.ss-principles__card {
	flex: 0 0 320px;
	max-width: 320px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 32px 28px;
	background: #FFFFFF;
	border: 1px solid var(--ss-line);
	scroll-snap-align: start;
}

.ss-sec--dark .ss-principles__card {
	background: rgba(255, 255, 255, .04);
	border-color: #FFFFFF;
}

.ss-principles__card .ss-principles__title {
	flex: none;
	max-width: none;
	font-size: 20px;
}

.ss-principles__card .ss-principles__text {
	flex: 1 1 auto;
	max-width: none;
	font-size: 15.5px;
}

.ss-prose__panel-note {
	position: relative;
	z-index: 1;
	margin: 24px 0 0;
	padding-top: 20px;
	border-top: 1px solid rgba(195, 161, 46, .18);
	font-family: var(--ss-display);
	font-size: 16px;
	font-style: italic;
	line-height: 1.65;
	color: var(--ss-ink);
}

@media (max-width: 1023px) {
	.ss-principles__title {
		flex: 1 1 200px;
		max-width: none;
	}
	/*
	 * Kein padding-left: 88px mehr – wirkte mobil/tablet wie eine fehlende
	 * Infografik (große Weißfläche unter dem Titel).
	 */
	.ss-principles__text {
		flex: 1 1 100%;
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.ss-principles__row {
		flex-direction: column;
		gap: 12px;
		padding: 28px 0;
	}
	.ss-principles__text {
		padding-left: 0;
		font-size: 15.5px;
	}
	.ss-principles__title {
		flex: 1 1 auto;
		max-width: none;
		font-size: 20px;
	}
	.ss-principles--plain .ss-principles__title {
		flex: 1 1 auto;
	}
	.ss-principles__card { flex-basis: 280px; max-width: 280px; }
}

/* ---------- Header Nav Dropdown (Behandlungen) ---------- */

/* Dropdown darf die Kopfzeile nicht in die Breite sprengen (Burger-Breakpoint). */
.elementor-location-header .elementor-widget-nav-menu,
.elementor-location-header .elementor-nav-menu--main {
	position: static;
}

.elementor-location-header .elementor-nav-menu--main .menu-item-has-children {
	position: relative;
}

.elementor-location-header .elementor-nav-menu--dropdown:not(.elementor-nav-menu__container) {
	min-width: 240px;
	padding: 8px 0;
	margin: 0;
	border: 1px solid var(--ss-line);
	border-radius: 0;
	background: #FFFFFF;
	box-shadow: none;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
	padding: 12px 20px;
	font-family: var(--ss-sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--ss-ink);
	border-radius: 0;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item:focus,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active {
	background: transparent;
	color: var(--ss-gold-text);
}

.elementor-location-header .elementor-nav-menu--main .sub-arrow {
	margin-left: 6px;
}

@media (max-width: 1024px) {
	.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
		padding: 14px 24px;
		letter-spacing: 1px;
	}
}

/* ---------- Gutenberg-Rechtsseiten (Impressum / Datenschutz) ---------- */

/* Creme über die volle Viewportbreite – nicht nur auf dem Inhaltskasten,
   sonst entstehen weiße Seitenränder neben dem Header. */
body.ss-legal-page {
	background: var(--ss-bg);
}

body.ss-legal-page .site-main {
	max-width: var(--ss-content);
	margin-inline: auto;
	padding: var(--ss-section-y) var(--ss-gutter);
}

body.ss-legal-page .entry-title {
	font-family: var(--ss-display);
	font-size: 44px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--ss-ink);
	margin: 0 0 16px;
	max-width: none;
}

/* Volle Inhaltsspalte wie Header/Footer – kein schmaler Lesekasten. */
body.ss-legal-page .page-content {
	max-width: none;
	width: 100%;
}

body.ss-legal-page .page-content h2 {
	font-family: var(--ss-display);
	font-size: 28px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--ss-ink);
	margin: 48px 0 16px;
}

body.ss-legal-page .page-content p {
	font-family: var(--ss-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
	color: var(--ss-body);
	margin: 0 0 16px;
}

body.ss-legal-page .page-content a {
	color: var(--ss-gold-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.ss-legal-page .ss-legal__lead {
	font-size: 17px;
	color: var(--ss-mute);
	margin-bottom: 28px;
}

body.ss-legal-page .ss-legal__note {
	font-size: 14.5px;
	color: var(--ss-mute);
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid var(--ss-line);
}

@media (max-width: 1024px) {
	body.ss-legal-page .entry-title {
		font-size: 36px;
	}

	body.ss-legal-page .page-content h2 {
		font-size: 24px;
		margin-top: 40px;
	}
}

@media (max-width: 767px) {
	body.ss-legal-page .site-main {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	body.ss-legal-page .entry-title {
		font-size: 30px;
	}

	body.ss-legal-page .page-content h2 {
		font-size: 22px;
		margin-top: 32px;
	}

	body.ss-legal-page .page-content p {
		font-size: 15.5px;
	}
}

/* ================= Weichen-Karten + Vergleich ================= */

.ss-jump {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 24px 0 0;
}

.ss-jump a {
	font-size: 12px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--ss-gold-text);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.ss-jump a:hover,
.ss-jump a:focus-visible {
	border-bottom-color: var(--ss-gold);
}

.ss-path__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 36px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 16px;
	text-wrap: balance;
}

.ss-path__footer {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 23px;
	line-height: 1.55;
	color: var(--ss-ink);
	margin: 44px 0 0;
	max-width: none;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ss-path__footer p {
	margin: 0;
}

.ss-path__text {
	font-size: 16.5px;
	line-height: 1.8;
	margin: 0 0 40px;
	max-width: none;
}

.ss-path__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	background: var(--ss-line);
	border: 1px solid var(--ss-line);
}

.ss-path__card {
	background: var(--ss-bg);
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	color: inherit;
	text-decoration: none;
	flex: 1 1 100%;
}

.ss-path__grid--2 .ss-path__card { flex: 1 1 calc(50% - 1px); }
.ss-path__grid--3 .ss-path__card { flex: 1 1 calc(33.333% - 1px); }
.ss-path__grid--4 .ss-path__card { flex: 1 1 calc(25% - 1px); }
.ss-path__grid--5 .ss-path__card { flex: 1 1 calc(33.333% - 1px); }

a.ss-path__card:hover,
a.ss-path__card:focus-visible { background: #F6F4F1; }

.ss-path__card--featured {
	background: var(--ss-bg-alt);
}

.ss-path__badge--empty {
	visibility: hidden;
}

.ss-path__name {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.3;
	margin: 0;
	color: var(--ss-ink);
}

.ss-path__body {
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
	flex: 1;
	max-width: 38ch;
}

.ss-path__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.ss-path__points li {
	position: relative;
	padding-left: 26px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ss-body);
}

.ss-path__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 14px;
	height: 1px;
	background: var(--ss-gold);
}

.ss-path__meta {
	font-size: 14px;
	color: var(--ss-gold-text);
	margin: 0;
}

.ss-pakete__incl {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ss-pakete__incl li {
	position: relative;
	padding-left: 16px;
	font-size: 14px;
	line-height: 1.55;
}

.ss-pakete__incl li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 6px;
	height: 6px;
	background: var(--ss-gold);
}

.ss-pakete__fit {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ss-mute);
	margin: 0;
}

.ss-cmp__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.3;
	margin: 0 0 16px;
}

.ss-cmp__text {
	font-size: 16px;
	line-height: 1.75;
	margin: 0 0 32px;
	max-width: none;
}

.ss-cmp__table,
.ss-cmp__cols {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--ss-line);
}

.ss-cmp__head,
.ss-cmp__row,
.ss-cmp__colhead {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--ss-line);
}

.ss-cmp__head,
.ss-cmp__colhead:first-child {
	background: var(--ss-bg-alt);
}

.ss-cmp__head > span,
.ss-cmp__row > span,
.ss-cmp__colhead > span {
	flex: 1 1 160px;
	padding: 16px 20px;
	font-size: 14.5px;
	line-height: 1.5;
}

.ss-cmp__head > span {
	font-size: 11px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--ss-mute);
}

.ss-cmp__row > span:last-child,
.ss-cmp__colhead > span:not(:first-child) {
	color: var(--ss-ink);
	font-weight: 500;
}

.ss-cmp__row a {
	color: var(--ss-gold-text);
	text-decoration: none;
	border-bottom: 1px solid var(--ss-gold);
}

.ss-cmp__note {
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ss-mute);
	margin: 24px 0 0;
	max-width: none;
}

.ss-sec--dark .ss-path__title,
.ss-sec--dark .ss-path__name,
.ss-sec--dark .ss-cmp__title { color: #fff; }

.ss-sec--dark .ss-path__text,
.ss-sec--dark .ss-path__body { color: var(--ss-mute-dark); }

@media (max-width: 1023px) {
	.ss-path__grid--3 .ss-path__card,
	.ss-path__grid--4 .ss-path__card { flex: 1 1 calc(50% - 1px); }
	.ss-path__title { font-size: 30px; }
}

@media (max-width: 767px) {
	.ss-path__grid--2 .ss-path__card,
	.ss-path__grid--3 .ss-path__card,
	.ss-path__grid--4 .ss-path__card { flex: 1 1 100%; }
	.ss-path__card { padding: 28px 24px; }
	.ss-path__title { font-size: 26px; }
	.ss-path__badge--empty { display: none; }
	.ss-cmp__head { display: none; }
	.ss-cmp__row > span,
	.ss-cmp__colhead > span { flex: 1 1 100%; padding: 8px 16px; }
	.ss-cmp__row { padding-bottom: 12px; }
}

/* ---------- 404 ---------- */

.ss-404__inner {
	max-width: 720px;
	margin-inline: auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ss-404__code {
	margin: 8px 0 12px;
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 96px;
	line-height: 1;
	color: var(--ss-gold);
	letter-spacing: 0.04em;
}

.ss-404__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 40px;
	line-height: 1.25;
	color: var(--ss-ink);
	margin: 0 0 18px;
}

.ss-404__lead {
	margin: 0 0 36px;
	font-size: 17px;
	line-height: 1.75;
	color: var(--ss-body);
	max-width: 48ch;
}

.ss-404__actions {
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
}

.ss-404-links__title {
	font-family: var(--ss-display);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.3;
	color: var(--ss-ink);
	margin: 0 0 40px;
}

@media (max-width: 1023px) {
	.ss-404__code { font-size: 72px; }
	.ss-404__title { font-size: 32px; }
	.ss-404-links__title { font-size: 28px; }
}

@media (max-width: 767px) {
	.ss-404__code { font-size: 56px; }
	.ss-404__title { font-size: 28px; }
	.ss-404__lead { font-size: 16px; margin-bottom: 28px; }
	.ss-404-links__title { font-size: 24px; margin-bottom: 28px; }
	.ss-404__actions { flex-direction: column; align-items: stretch; width: 100%; }
	.ss-404__actions .ss-btn { justify-content: center; text-align: center; }
}
