/* Stefan Logistics 2.0 – weicher Stil, Himmelblau hell
   Farben & Schrift kommen aus theme.json; hier die Kurzformen. */
:root {
	--sl-tinte: var(--wp--preset--color--tinte, #0B1D33);
	--sl-primaer: var(--wp--preset--color--primaer, #0B72D9);
	--sl-primaer-d: var(--wp--preset--color--primaer-dunkel, #0859AB);
	--sl-akzent: var(--wp--preset--color--akzent, #1E8BE8);
	--sl-grau: var(--wp--preset--color--text-grau, #4A5A70);
	--sl-linie: var(--wp--preset--color--linie, #DDE9F7);
	--sl-flaeche: var(--wp--preset--color--flaeche, #F5F9FF);
	--sl-hell: var(--wp--preset--color--hellblau, #E8F3FE);
	--sl-schrift: var(--wp--preset--font-family--text);
	--sl-schatten: 0 1px 2px rgba(11, 29, 51, .04), 0 10px 30px rgba(11, 114, 217, .07);
	--sl-schatten-hoch: 0 2px 4px rgba(11, 29, 51, .04), 0 24px 48px rgba(11, 114, 217, .15);
	--sl-verlauf: linear-gradient(145deg, #1E8BE8 0%, #0B72D9 55%, #0859AB 100%);
	--sl-weich: cubic-bezier(.2, .7, .2, 1);
	/* ältere Namen, damit nichts bricht */
	--sl-petrol: var(--sl-primaer);
	--sl-petrol-d: var(--sl-primaer-d);
	--sl-tuerkis: var(--sl-akzent);
}

body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
img { max-width: 100%; height: auto; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible, .wp-block-button__link:focus-visible {
	outline: 3px solid var(--sl-akzent); outline-offset: 3px;
}

/* ---------- Typo-Bausteine ---------- */
.sl-label {
	display: inline-flex; align-items: center; gap: 8px; width: fit-content;
	background: var(--sl-hell); color: var(--sl-primaer-d);
	font-size: 14px; font-weight: 600; line-height: 1.2;
	padding: 8px 16px; border-radius: 999px; margin: 0;
}
.sl-label::before {
	content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--sl-akzent); flex: none;
}
.sl-hero .sl-label::before { animation: sl-puls 2s infinite; }
@keyframes sl-puls {
	0% { box-shadow: 0 0 0 0 rgba(30, 139, 232, .55); }
	70% { box-shadow: 0 0 0 10px rgba(30, 139, 232, 0); }
	100% { box-shadow: 0 0 0 0 rgba(30, 139, 232, 0); }
}
.sl-akzent { color: var(--sl-akzent); }
.sl-grau { color: var(--sl-grau); }
.sl-lead { font-size: 20px; line-height: 1.6; color: var(--sl-grau); max-width: 600px; }
.sl-klein { font-size: 13px; color: var(--sl-grau); text-align: center; margin: 0; }

/* ---------- Buttons ---------- */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.sl-knopf {
	position: relative; overflow: hidden;
	background: linear-gradient(180deg, #2A8BEA 0%, var(--sl-primaer) 100%);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 10px 24px rgba(11, 114, 217, .30);
	transition: transform .2s ease, box-shadow .2s ease;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link::after,
.sl-knopf::after {
	content: "→"; display: inline-block; margin-left: 8px; transition: transform .2s ease;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link::before,
.sl-knopf::before {
	content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
	background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
	transform: skewX(-20deg); transition: left .6s ease; pointer-events: none;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.sl-knopf:hover {
	transform: translateY(-2px); color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 16px 32px rgba(11, 114, 217, .38);
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover::before,
.sl-knopf:hover::before { left: 120%; }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover::after,
.sl-knopf:hover::after { transform: translateX(4px); }

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: #fff; color: var(--sl-tinte);
	border: 1.5px solid #CCDDF0; padding: 15.5px 28.5px;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--sl-flaeche); border-color: var(--sl-akzent); color: var(--sl-tinte); transform: translateY(-2px);
}

/* ---------- Header ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 30; }
.admin-bar header.wp-block-template-part { top: 32px; }
.sl-header { background: rgba(255, 255, 255, .88); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); }
.sl-header__inner { padding-block: 16px; gap: 24px; }
.sl-logo img { height: 44px; width: auto; display: block; }
.sl-header .wp-block-navigation__container {
	background: rgba(255, 255, 255, .8); border: 1px solid var(--sl-linie);
	border-radius: 999px; padding: 6px; gap: 2px !important;
}
.sl-header .wp-block-navigation-item__content {
	color: var(--sl-tinte); text-decoration: none; font-weight: 600; font-size: 15px;
	padding: 10px 18px !important; border-radius: 999px; transition: background .2s ease, color .2s ease;
}
.sl-header .wp-block-navigation-item__content:hover { background: var(--sl-hell); color: var(--sl-primaer-d); }
.sl-header__tel { margin: 0; font-weight: 600; font-size: 15px; }
.sl-header__tel a { color: var(--sl-tinte); text-decoration: none; }
.sl-header .wp-block-button__link { padding: 13px 22px; font-size: 15px; }
@media (max-width: 1180px) { .sl-header__tel { display: none; } }
@media (max-width: 781px) {
	.sl-logo img { height: 34px; }
	.sl-header .sl-header__cta { display: none; }
	.sl-header .wp-block-navigation__container { background: none; border: 0; padding: 0; }
	.admin-bar header.wp-block-template-part { top: 0; }
}

/* ---------- Hero ---------- */
.sl-hero { position: relative; isolation: isolate; padding-block: clamp(48px, 6vw, 80px) clamp(40px, 5vw, 64px); overflow: visible; }
.sl-hero::before, .sl-hero::after {
	content: ""; position: absolute; border-radius: 50%; z-index: -1; pointer-events: none;
}
.sl-hero::before {
	width: 900px; height: 900px; top: -360px; right: -220px;
	background: radial-gradient(circle, rgba(30,139,232,.20) 0%, rgba(30,139,232,.06) 45%, rgba(30,139,232,0) 70%);
	animation: sl-schweben 14s ease-in-out infinite;
}
.sl-hero::after {
	width: 700px; height: 700px; top: 120px; left: -320px;
	background: radial-gradient(circle, rgba(11,114,217,.10) 0%, rgba(11,114,217,0) 65%);
	animation: sl-schweben 18s ease-in-out infinite reverse;
}
@keyframes sl-schweben { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-40px, 30px); } }
.sl-hero .wp-block-columns { gap: 56px; align-items: center; }
.sl-hero h1 { margin: 0; }
.sl-hero .wp-block-column:first-child > * { animation: sl-hoch .8s var(--sl-weich) both; }
.sl-hero .wp-block-column:first-child > *:nth-child(2) { animation-delay: .08s; }
.sl-hero .wp-block-column:first-child > *:nth-child(3) { animation-delay: .16s; }
.sl-hero .wp-block-column:first-child > *:nth-child(4) { animation-delay: .24s; }
.sl-hero .wp-block-column:first-child > *:nth-child(5) { animation-delay: .32s; }
.sl-hero .sl-rechner { animation: sl-hoch .9s .2s var(--sl-weich) both; }
@keyframes sl-hoch { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

.sl-checks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; color: var(--sl-grau); font-size: 15px; font-weight: 500; }
.sl-checks li { display: flex; align-items: center; gap: 8px; }
.sl-checks li::before {
	content: ""; width: 18px; height: 18px; flex: none;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B72D9' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
}

/* ---------- Rechner ---------- */
.sl-rechner {
	border-radius: 24px; padding: clamp(22px, 2.6vw, 30px);
	border: 1.5px solid transparent;
	background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #9CCBF7, #DDE9F7 40%, #1E8BE8) border-box;
	box-shadow: 0 30px 60px rgba(11, 114, 217, .14), 0 2px 6px rgba(11, 29, 51, .05);
}
.sl-rechner > .sl-label { display: none; }
.sl-rechner__titel { font-size: 24px !important; line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 16px; }
.sl-rechner form, .sl-anfrage form { display: flex; flex-direction: column; gap: 14px; }
.sl-feld { display: flex; flex-direction: column; gap: 6px; margin: 0; border: 0; padding: 0; min-width: 0; }
.sl-feld > label, .sl-feld > legend { font-size: 13px; font-weight: 600; color: var(--sl-grau); padding: 0; }
.sl-feld > legend { margin-bottom: 6px; }
.sl-feld input, .sl-feld textarea {
	font: inherit; font-size: 16px; color: var(--sl-tinte);
	border: 1px solid #CCDDF0; border-radius: 14px; background: var(--sl-flaeche);
	padding: 11px 14px; min-height: 48px; box-sizing: border-box; width: 100%;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.sl-feld input:focus, .sl-feld textarea:focus { border-color: var(--sl-akzent); background: #fff; box-shadow: 0 0 0 4px rgba(30, 139, 232, .15); outline: none; }
.sl-reihe { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 600px) { .sl-reihe { grid-template-columns: 1fr; } }
@media (min-width: 782px) and (max-width: 1100px) { .sl-rechner .sl-reihe { grid-template-columns: 1fr; } }

/* Auswahl als Segment-Schalter */
.sl-wahl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.sl-wahl--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sl-wahl--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sl-wahl legend { grid-column: 1 / -1; }
.sl-wahl label { position: relative; cursor: pointer; }
.sl-wahl input { position: absolute; opacity: 0; inset: 0; }
.sl-wahl span {
	display: flex; align-items: center; justify-content: center; min-height: 42px; text-align: center;
	border: 1px solid #CCDDF0; background: var(--sl-flaeche);
	border-radius: 12px; font-size: 14px; color: var(--sl-grau); transition: background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sl-anfrage .sl-wahl span { border: 1px solid #CCDDF0; background: #fff; min-height: 50px; border-radius: 14px; font-size: 15px; }
.sl-wahl input:checked + span { background: #fff; border-color: var(--sl-primaer); color: var(--sl-primaer-d); font-weight: 700; box-shadow: 0 0 0 3px rgba(30, 139, 232, .15); }
.sl-anfrage .sl-wahl input:checked + span { border-color: var(--sl-primaer); color: var(--sl-primaer-d); box-shadow: 0 0 0 3px rgba(30, 139, 232, .15); }
.sl-wahl input:focus-visible + span { outline: 3px solid var(--sl-akzent); outline-offset: 2px; }
@media (max-width: 420px) { .sl-wahl--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.sl-auf { border: 1px dashed #CCDDF0; border-radius: 14px; padding: 0 14px; }
.sl-auf > summary { cursor: pointer; list-style: none; padding: 12px 0; font-size: 14px; font-weight: 600; color: var(--sl-primaer); display: flex; align-items: center; }
.sl-auf > summary::-webkit-details-marker { display: none; }
.sl-auf > summary span { font-weight: 400; color: var(--sl-grau); margin-left: 4px; margin-right: auto; }
.sl-auf > summary::after { content: "+"; font-size: 20px; line-height: 1; margin-left: auto; transition: transform .2s ease; }
.sl-auf[open] > summary::after { transform: rotate(45deg); }
.sl-auf[open] { padding-bottom: 14px; }

.sl-ergebnis {
	background: linear-gradient(135deg, #E8F3FE 0%, #D4E9FD 100%);
	border-radius: 18px; padding: 18px 20px; display: flex; flex-direction: column; gap: 4px;
}
.sl-ergebnis__label { font-size: 13px; font-weight: 600; color: var(--sl-primaer-d); }
.sl-ergebnis__wert { font-weight: 800; font-size: 40px; line-height: 1.05; letter-spacing: -0.02em; color: var(--sl-primaer); }
.sl-ergebnis__hinweis { font-size: 12px; color: var(--sl-grau); margin-top: 4px; }
.sl-auf--ergebnis { border: 0; border-top: 1px solid rgba(11, 114, 217, .15); border-radius: 0; padding: 0; margin-top: 6px; }
.sl-auf--ergebnis > summary { font-size: 13px; padding: 10px 0 4px; }
.sl-auf--ergebnis[open] { padding-bottom: 2px; }
.sl-posten { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--sl-grau); }
.sl-posten li { display: flex; justify-content: space-between; gap: 12px; }
.sl-posten li span:last-child { font-variant-numeric: tabular-nums; color: var(--sl-tinte); font-weight: 600; }
.sl-ergebnis__mehr { border-top: 1px solid rgba(11, 114, 217, .15); padding-top: 8px; margin-top: 8px; }
.sl-ergebnis__mehr p { margin: 0 0 4px; font-size: 13px; line-height: 1.45; color: var(--sl-grau); }
.sl-ergebnis__zeit { margin: 8px 0 0; padding: 9px 12px; background: rgba(255, 255, 255, .8); border-radius: 12px; font-size: 14px; line-height: 1.45; font-weight: 600; color: var(--sl-tinte); }
.sl-ergebnis__zeit::before { content: "✓ "; color: var(--sl-primaer); font-weight: 800; }
.sl-ergebnis [hidden] { display: none !important; }

.sl-check { display: flex; gap: 10px; font-size: 13px; color: var(--sl-grau); line-height: 1.5; align-items: flex-start; }
.sl-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--sl-primaer); flex: none; }
.sl-knopf { font: inherit; font-weight: 700; font-size: 16px; cursor: pointer; border: 0; border-radius: 999px; padding: 16px 22px; min-height: 54px; }
.sl-rechner .sl-klein { display: none; }
.sl-honig { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sl-hinweis { border-radius: 14px; padding: 14px 16px; font-size: 15px; margin-bottom: 14px; }
.sl-hinweis--ok { background: var(--sl-hell); color: var(--sl-tinte); border: 1px solid var(--sl-akzent); }
.sl-hinweis--fehler { background: #FDECEA; color: #7A1D12; border: 1px solid #E3A59C; }

/* ---------- Kennzahlen & Lagerfoto ---------- */
.sl-foto,
.wp-block-image:has(+ .sl-zahlen) {
	float: none !important; width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1248px) !important;
	margin: 0 auto !important; display: block;
	border-radius: 28px; overflow: hidden;
	box-shadow: 0 30px 60px rgba(11, 29, 51, .10);
}
.sl-foto img,
.wp-block-image:has(+ .sl-zahlen) img {
	width: 100% !important; height: clamp(240px, 32vw, 460px) !important; aspect-ratio: auto !important;
	object-fit: cover !important; object-position: center 60%; border-radius: 0 !important; display: block;
	transition: transform .8s var(--sl-weich);
}
.sl-foto:hover img, .wp-block-image:has(+ .sl-zahlen):hover img { transform: scale(1.02); }

.sl-zahlen {
	max-width: var(--wp--style--global--wide-size, 1248px); margin: 24px auto 0 !important;
	gap: 20px !important; background: none; color: var(--sl-tinte);
}
.sl-zahlen > .wp-block-column {
	background: #fff; border: 1px solid #E6EFFA; border-radius: 20px; padding: 26px 28px;
	box-shadow: var(--sl-schatten); transition: transform .3s var(--sl-weich), box-shadow .3s ease;
}
.sl-zahlen > .wp-block-column:hover { transform: translateY(-4px); box-shadow: var(--sl-schatten-hoch); }
.sl-zahl {
	font-weight: 800; font-size: clamp(34px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -0.02em; margin: 0 0 6px;
	background: linear-gradient(135deg, #0859AB 0%, #1E8BE8 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sl-zahl-text { color: var(--sl-grau); font-size: 15px; margin: 0; }
@media (max-width: 781px) {
	.sl-zahlen { flex-wrap: wrap !important; gap: 12px !important; }
	.sl-zahlen > .wp-block-column { flex-basis: calc(50% - 6px) !important; padding: 20px; }
}
.sl-logos { padding-block: 40px 0; align-items: center; }
.sl-logos p { margin: 0; color: var(--sl-grau); font-size: 15px; }
.sl-logos strong { font-size: 20px; font-weight: 700; color: var(--sl-tinte); }

/* ---------- Abschnitte ---------- */
.sl-abschnitt { padding-block: clamp(64px, 8vw, 112px) clamp(40px, 5vw, 80px); }
.sl-kopf { gap: 16px; margin-bottom: 44px !important; }
.sl-kopf h2 { margin: 0; max-width: 820px; }

/* Leistungskarten */
.sl-karten { gap: 20px !important; }
.sl-karten + .sl-karten { margin-top: 20px !important; }
.sl-karte {
	position: relative; background: #fff; border: 1px solid var(--sl-linie); border-radius: 24px;
	padding: 30px !important; display: flex; flex-direction: column; gap: 12px;
	box-shadow: var(--sl-schatten);
	transition: transform .3s var(--sl-weich), box-shadow .3s ease, border-color .3s ease;
}
.sl-karte::before {
	content: ""; position: absolute; left: 24px; right: 24px; top: -1px; height: 3px; border-radius: 0 0 3px 3px;
	background: linear-gradient(90deg, #1E8BE8, #0B72D9); opacity: 0; transition: opacity .3s ease;
}
.sl-karte:hover { transform: translateY(-6px); border-color: #CCDDF0; box-shadow: var(--sl-schatten-hoch); }
.sl-karte:hover::before { opacity: 1; }
.sl-karte .sl-label { font-size: 13px; padding: 6px 12px; }
.sl-karte .sl-label::before { display: none; }
.sl-karte h3 { margin: 4px 0 0; }
.sl-karte p { margin: 0; color: var(--sl-grau); font-size: 16px; line-height: 1.6; }
.sl-karte .sl-mehr { margin-top: auto; padding-top: 4px; font-weight: 700; font-size: 15px; }
.sl-karte .sl-mehr a { text-decoration: none; }
.sl-karte .sl-mehr a::after { content: " →"; display: inline-block; transition: transform .2s ease; }
.sl-karte:hover .sl-mehr a::after { transform: translateX(4px); }

/* Ablauf */
.sl-schritt { position: relative; padding-top: 0; }
.sl-schritt .sl-label {
	width: 52px; height: 52px; padding: 0; justify-content: center; border-radius: 16px; font-size: 16px; font-weight: 800;
	background: linear-gradient(135deg, #E8F3FE 0%, #D4E9FD 100%); color: var(--sl-primaer);
}
.sl-schritt .sl-label::before { display: none; }
.sl-schritt h3 { margin: 18px 0 8px; }
.sl-schritt p { color: var(--sl-grau); font-size: 16px; margin: 0; line-height: 1.6; }

.sl-integrationen {
	background: var(--sl-flaeche); border: 1px solid var(--sl-linie); border-radius: 24px;
	padding: 32px 40px !important; align-items: center; gap: 32px; margin-top: 56px !important;
}
.sl-integrationen h3 { margin: 0 0 4px; }
.sl-integrationen p { margin: 0; font-weight: 700; }
.sl-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.sl-chips li {
	border: 1px solid var(--sl-linie); background: #fff; border-radius: 999px; padding: 10px 18px; font-weight: 600; font-size: 15px;
	box-shadow: 0 1px 2px rgba(11, 29, 51, .04); transition: transform .2s ease, box-shadow .2s ease;
}
.sl-chips li:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(11, 114, 217, .12); }
@media (max-width: 781px) { .sl-chips { justify-content: flex-start; } .sl-integrationen { padding: 26px 22px !important; } }

/* Zitate */
.sl-zitat { margin: 0; border: 0 !important; padding: 0 !important; }
.sl-zitat p { font-weight: 700; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.3; letter-spacing: -0.015em; margin: 16px 0 20px; }
.sl-zitat cite { display: block; font-style: normal; font-size: 15px; line-height: 1.5; color: var(--sl-grau); }
.sl-zitat--klein { background: #fff; border: 1px solid var(--sl-linie) !important; border-radius: 20px; padding: 22px !important; box-shadow: var(--sl-schatten); margin-bottom: 16px; }
.sl-zitat--klein p { font-weight: 400; font-size: 16px; line-height: 1.6; letter-spacing: 0; margin: 0 0 10px; }

/* Farbige Bänder (früher dunkel) */
.sl-dunkel { background: var(--sl-verlauf); color: #fff; }
.sl-dunkel h2, .sl-dunkel h3 { color: #fff; }
.sl-dunkel p { color: #DCEBFC; }
.sl-dunkel .sl-label { background: rgba(255, 255, 255, .16); color: #fff; }
.sl-dunkel .sl-label::before { background: #fff; }
.sl-dunkel a:not(.wp-block-button__link) { color: #fff; }
.sl-dunkel .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff; color: var(--sl-tinte); box-shadow: 0 10px 24px rgba(8, 89, 171, .35); }
.sl-dunkel .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { color: var(--sl-tinte); }
.sl-dunkel .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.sl-dunkel .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
.sl-preisband {
	position: relative; overflow: hidden; isolation: isolate;
	border-radius: 32px; padding: clamp(36px, 5vw, 72px) !important; gap: 48px;
	box-shadow: 0 30px 60px rgba(11, 114, 217, .28);
}
.sl-preisband::before {
	content: ""; position: absolute; width: 600px; height: 600px; right: -150px; top: -250px; border-radius: 50%; z-index: -1;
	background: radial-gradient(circle, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 65%);
}
.sl-preisliste { list-style: none; margin: 0; padding: 8px 24px; font-size: 15px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); border-radius: 20px; }
.sl-preisliste li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .16); color: #DCEBFC; }
.sl-preisliste li:last-child { border-bottom: 0; }
.sl-preisliste strong { color: #fff; font-weight: 700; }

/* Vergleich */
.sl-vergleich { background: var(--sl-flaeche); border-radius: 32px; padding: clamp(32px, 5vw, 72px) !important; }
.sl-vergleich .sl-kopf { align-items: center; text-align: center; }
.sl-vergleich .wp-block-columns { gap: 20px; }
.sl-vergleich-karte { border-radius: 24px; padding: 34px !important; }
.sl-vergleich-karte h3 { margin: 0 0 16px; }
.sl-vergleich-karte ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; font-size: 16px; line-height: 1.5; }
.sl-vergleich-karte li { display: flex; gap: 12px; }
.sl-vergleich-karte--selbst { background: #fff; border: 1px solid var(--sl-linie); color: var(--sl-grau); }
.sl-vergleich-karte--selbst li::before { content: "✕"; color: #9AA8BA; font-weight: 700; }
.sl-vergleich-karte--wir { background: var(--sl-verlauf); color: #fff; box-shadow: 0 30px 60px rgba(11, 114, 217, .30); transition: transform .3s var(--sl-weich); }
.sl-vergleich-karte--wir:hover { transform: translateY(-4px); }
.sl-vergleich-karte--wir h3 { color: #fff; }
.sl-vergleich-karte--wir li { color: #E4F0FD; }
.sl-vergleich-karte--wir li::before { content: "✓"; color: #fff; font-weight: 800; }

/* Ratgeber */
.sl-ratgeber .wp-block-post-template > li { transition: transform .3s var(--sl-weich); }
.sl-ratgeber .wp-block-post-template > li:hover { transform: translateY(-4px); }
.sl-ratgeber .wp-block-post-featured-image { margin-bottom: 16px; border-radius: 20px; overflow: hidden; box-shadow: var(--sl-schatten); }
.sl-ratgeber .wp-block-post-featured-image img { border-radius: 20px; }
.sl-ratgeber .wp-block-post-title { font-size: 22px; line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; margin: 0; }
.sl-ratgeber .wp-block-post-title a { color: var(--sl-tinte); text-decoration: none; }
.sl-ratgeber .wp-block-post-title a:hover { color: var(--sl-primaer); }

/* FAQ als Karten */
.sl-faq { display: flex; flex-direction: column; gap: 12px; }
.sl-faq .wp-block-details {
	margin: 0 !important; background: #fff; border: 1px solid var(--sl-linie) !important; border-radius: 18px;
	padding: 0 24px !important; box-shadow: 0 1px 2px rgba(11, 29, 51, .04); transition: box-shadow .3s ease, border-color .3s ease;
}
.sl-faq .wp-block-details:hover, .sl-faq .wp-block-details[open] { border-color: #CCDDF0 !important; box-shadow: var(--sl-schatten); }
.sl-faq summary { font-weight: 700; font-size: 18px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0; }
.sl-faq summary::-webkit-details-marker { display: none; }
.sl-faq summary::after {
	content: "+"; flex: none; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--sl-hell); color: var(--sl-primaer); font-size: 20px; font-weight: 600; transition: transform .25s ease;
}
.sl-faq details[open] summary::after { transform: rotate(45deg); }
.sl-faq details p { color: var(--sl-grau); margin: 0 0 20px; }

/* Kontakt */
.sl-kontakt {
	background: #fff; border: 1px solid var(--sl-linie); border-radius: 32px;
	padding: clamp(24px, 4vw, 64px) !important; gap: 48px; box-shadow: var(--sl-schatten);
}
.sl-kontaktwege { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sl-kontaktwege li { display: flex; gap: 12px; align-items: center; }
.sl-kontaktwege .sl-label { width: 96px; justify-content: center; font-size: 12px; padding: 6px 10px; flex: none; }
.sl-kontaktwege .sl-label::before { display: none; }
.sl-kontaktwege a { color: var(--sl-tinte); text-decoration: none; font-weight: 600; }
.sl-kontaktwege a:hover { color: var(--sl-primaer); }
.sl-anfrage { background: var(--sl-flaeche); border-radius: 24px; padding: clamp(20px, 3vw, 36px); }
.sl-anfrage .sl-feld input, .sl-anfrage .sl-feld textarea { background: #fff; }

.sl-transport {
	background: var(--sl-flaeche); border: 1px solid var(--sl-linie); border-radius: 20px;
	padding: 22px 30px !important; align-items: center; gap: 20px; margin-top: 24px !important;
	margin-bottom: clamp(48px, 6vw, 96px) !important;
}
.sl-transport p { margin: 0; }

/* ---------- Footer ---------- */
.sl-footer { background: var(--sl-tinte) !important; padding-block: 72px 36px; color: #B7C4D6; }
.sl-footer p { color: #B7C4D6; }
.sl-footer img { height: 40px; width: auto; }
.sl-footer h4 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #fff; font-weight: 700; margin: 0 0 12px; }
.sl-footer a { color: #B7C4D6 !important; text-decoration: none; transition: color .2s ease; }
.sl-footer a:hover { color: #fff !important; }
.sl-footer__unten { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 24px; margin-top: 48px !important; font-size: 14px; }

/* ---------- Seiten & Artikel ---------- */
.wp-block-post-content > .alignfull { margin-block-start: 0; }
.wp-block-post-content > .alignfull + .alignfull:not(.sl-abschnitt):not(.sl-hero) { margin-block-start: clamp(48px, 6vw, 96px); }
main.wp-block-group { margin-block-start: 0; }
.sl-inhalt { padding-block: clamp(48px, 6vw, 88px); }
.sl-seitenkopf { padding-top: clamp(40px, 6vw, 80px); }
.sl-seitenkopf .wp-block-post-title { font-size: clamp(36px, 5vw, 60px); margin: 0; }
.sl-seiteninhalt { padding-bottom: clamp(48px, 6vw, 96px); }
.sl-artikel h2 { font-size: clamp(28px, 3.4vw, 38px); margin-top: 1.6em; }
.sl-artikel h3 { font-size: 22px; margin-top: 1.4em; }
.sl-artikel p, .sl-artikel li { font-size: 18px; line-height: 1.75; }

/* ---------- Einblenden beim Scrollen (nur mit JS) ---------- */
.sl-js .sl-einblenden { opacity: 0; transform: translateY(28px); transition: opacity .7s var(--sl-weich), transform .7s var(--sl-weich); }
.sl-js .sl-einblenden.sl-sichtbar { opacity: 1; transform: none; }

/* ---------- Mobile Aktionsleiste ---------- */
.sl-mobilleiste { display: none; }
@media (max-width: 781px) {
	.sl-mobilleiste {
		display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
		background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
		border-top: 1px solid var(--sl-linie);
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
		box-shadow: 0 -8px 24px rgba(11, 29, 51, .08);
	}
	.sl-mobilleiste a { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; font-weight: 700; font-size: 15px; text-decoration: none; }
	.sl-mobilleiste a:first-child { border: 1.5px solid #CCDDF0; color: var(--sl-tinte); background: #fff; }
	.sl-mobilleiste a:last-child { background: linear-gradient(180deg, #2A8BEA 0%, var(--sl-primaer) 100%); color: #fff; box-shadow: 0 8px 18px rgba(11, 114, 217, .3); }
	body { padding-bottom: 76px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.sl-js .sl-einblenden { opacity: 1; transform: none; }
}

/* 2.0.1: Hero ausbalancieren */
.sl-hero .wp-block-columns > .wp-block-column { align-self: center; }
.sl-hero { padding-top: clamp(56px, 7vw, 96px); }
.sl-schritt2 { display: flex; flex-direction: column; gap: 12px; }
.sl-schritt2[hidden] { display: none !important; }
.sl-schritt2:not([hidden]) { animation: sl-hoch .4s var(--sl-weich) both; }
.sl-rechner__titel { margin-bottom: 12px; }
.sl-rechner form { gap: 12px; }
.sl-ergebnis { padding: 16px 18px; }
.sl-ergebnis__wert { font-size: 36px; }
.sl-ergebnis__zeit { margin-top: 6px; }

/* 2.1: Rechner mit Schiebereglern */
.sl-regler { gap: 4px; }
.sl-regler > label { font-size: 14px; font-weight: 600; color: var(--sl-tinte); }
.sl-regler__wert { font-weight: 800; font-size: 30px; line-height: 1.1; letter-spacing: -0.02em; color: var(--sl-primaer); }
.sl-regler--klein .sl-regler__wert { font-size: 22px; }
.sl-regler input[type="range"] {
	-webkit-appearance: none; appearance: none; width: 100%; height: 8px; margin: 10px 0 4px; padding: 0; min-height: 0;
	border: 0; border-radius: 999px; cursor: pointer;
	background: linear-gradient(90deg, var(--sl-akzent) 0%, var(--sl-primaer) var(--sl-fuell, 30%), #DDE9F7 var(--sl-fuell, 30%), #DDE9F7 100%);
}
.sl-regler input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none; appearance: none; width: 26px; height: 26px; border-radius: 50%;
	background: #fff; border: 3px solid var(--sl-primaer); box-shadow: 0 4px 12px rgba(11, 114, 217, .35);
	transition: transform .15s ease;
}
.sl-regler input[type="range"]::-moz-range-thumb {
	width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid var(--sl-primaer); box-shadow: 0 4px 12px rgba(11, 114, 217, .35);
}
.sl-regler input[type="range"]:active::-webkit-slider-thumb { transform: scale(1.15); }
.sl-regler input[type="range"]:focus-visible { outline: 3px solid var(--sl-akzent); outline-offset: 6px; }
.sl-regler__skala { display: flex; justify-content: space-between; font-size: 12px; color: var(--sl-grau); }
.sl-rechner .sl-wahl legend { font-size: 14px; font-weight: 600; color: var(--sl-tinte); margin-bottom: 8px; }
.sl-auf .sl-feld + .sl-feld { margin-top: 14px; }
.sl-auf .sl-wahl span { font-size: 13px; }
.sl-ergebnis__wert--text { font-size: 28px !important; }

/* 2.2: Hero zentriert, Rechner als breite Karte darunter */
.sl-hero .wp-block-columns { flex-direction: column !important; align-items: center !important; gap: clamp(36px, 4vw, 56px) !important; }
.sl-hero .wp-block-columns > .wp-block-column { flex-basis: auto !important; width: 100%; align-self: auto; }
.sl-hero .wp-block-columns > .wp-block-column:first-child {
	max-width: 1080px; margin: 0 auto; text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 22px;
}
.sl-hero .wp-block-columns > .wp-block-column:first-child > * { margin: 0 !important; }
.sl-hero .wp-block-column:first-child .sl-lead { max-width: 680px; margin-inline: auto !important; }
.sl-hero .wp-block-column:first-child .wp-block-buttons { justify-content: center; }
.sl-hero .sl-checks { justify-content: center; }
.sl-hero .wp-block-columns > .wp-block-column:last-child { max-width: 1100px; margin: 0 auto; }
.sl-hero { padding-top: clamp(48px, 6vw, 88px); }

.sl-rechner { container-type: inline-size; }
.sl-rechner__eingaben, .sl-rechner__ausgabe { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
@container (min-width: 760px) {
	.sl-rechner form { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 36px !important; align-items: start; }
	.sl-rechner__titel { text-align: left; }
	.sl-rechner .sl-ergebnis { padding: 24px 26px; }
	.sl-rechner .sl-ergebnis__wert { font-size: 48px; }
	.sl-rechner__ausgabe { position: sticky; top: 100px; }
}
.sl-rechner__titel { font-size: clamp(22px, 2.2vw, 28px) !important; }

/* 2.3: Integrationen als Laufband */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.sl-integrationen { flex-direction: column !important; align-items: stretch !important; text-align: center; gap: 22px !important; padding: 40px 0 34px !important; overflow: hidden; }
.sl-integrationen > .wp-block-column { flex-basis: auto !important; width: 100%; }
.sl-integrationen > .wp-block-column:first-child { padding: 0 24px; }
.sl-integrationen h3 { font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 4px; }
.sl-integ { display: flex; flex-direction: column; gap: 14px; }
.sl-integ__reihe {
	overflow: hidden; padding: 6px 0 10px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.sl-integ__band { display: flex; width: max-content; animation: sl-laufband 45s linear infinite; }
.sl-integ__reihe--rueck .sl-integ__band { animation-direction: reverse; animation-duration: 52s; }
.sl-integ__reihe:hover .sl-integ__band { animation-play-state: paused; }
.sl-integ__gruppe { display: flex; gap: 14px; padding-right: 14px; }
@keyframes sl-laufband { to { transform: translateX(-50%); } }
.sl-integ__item {
	display: inline-flex; align-items: center; gap: 12px; white-space: nowrap;
	background: #fff; border: 1px solid var(--sl-linie); border-radius: 18px;
	padding: 10px 22px 10px 10px; font-weight: 700; font-size: 16px; color: var(--sl-tinte);
	box-shadow: 0 1px 2px rgba(11, 29, 51, .04), 0 8px 20px rgba(11, 114, 217, .07);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sl-integ__item:hover { transform: translateY(-3px); border-color: #CCDDF0; box-shadow: 0 2px 4px rgba(11, 29, 51, .04), 0 14px 28px rgba(11, 114, 217, .14); }
.sl-integ__ini {
	width: 36px; height: 36px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, #E8F3FE 0%, #D4E9FD 100%); color: var(--sl-primaer); font-weight: 800; font-size: 16px;
}
.sl-integ__mehr { margin: 8px auto 0 !important; padding: 0 24px; max-width: 760px; font-size: 16px; line-height: 1.6; color: var(--sl-grau); }
.sl-integ__mehr strong { color: var(--sl-tinte); }
.sl-integ__mehr a { font-weight: 700; white-space: nowrap; }
.sl-integ__plus {
	display: inline-flex; width: 26px; height: 26px; border-radius: 50%; align-items: center; justify-content: center; vertical-align: -6px;
	background: var(--sl-primaer); color: #fff; font-weight: 800; margin-right: 4px;
}
@media (prefers-reduced-motion: reduce) {
	.sl-integ__band { width: auto; flex-wrap: wrap; justify-content: center; }
	.sl-integ__gruppe { flex-wrap: wrap; justify-content: center; }
	.sl-integ__gruppe[aria-hidden] { display: none; }
}

/* 2.4: Warum Stefan Logistics */
.sl-warum__spalten { gap: clamp(32px, 5vw, 72px) !important; align-items: center !important; }
.sl-warum__bild { position: relative; align-self: center; }
.sl-warum-foto { margin: 0 !important; border-radius: 28px; overflow: hidden; box-shadow: 0 30px 60px rgba(11, 29, 51, .12); }
.sl-warum-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .8s var(--sl-weich); }
.sl-warum-foto:hover img { transform: scale(1.03); }
.sl-warum__badge {
	position: absolute; left: -18px; bottom: 28px; margin: 0 !important;
	background: #fff; border: 1px solid var(--sl-linie); border-radius: 18px; padding: 14px 18px 14px 58px;
	font-size: 14px; line-height: 1.4; color: var(--sl-grau); box-shadow: var(--sl-schatten-hoch);
	animation: sl-schweben 8s ease-in-out infinite;
}
.sl-warum__badge::before {
	content: "✓"; position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
	width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
	background: var(--sl-verlauf); color: #fff; font-weight: 800;
}
.sl-warum__badge strong { color: var(--sl-tinte); font-size: 15px; }
.sl-warum h2 { margin: 16px 0 20px; }
.sl-zitat-chef { margin: 0 0 28px !important; padding: 0 0 0 22px !important; border: 0 !important; border-left: 3px solid var(--sl-akzent) !important; border-radius: 0; }
.sl-zitat-chef p { font-size: 19px; line-height: 1.6; font-weight: 500; color: var(--sl-tinte); margin: 0 0 10px; font-style: normal; }
.sl-zitat-chef cite { font-style: normal; font-size: 14px; font-weight: 700; color: var(--sl-primaer); }
.sl-versprechen { display: grid; gap: 12px; margin-bottom: 30px !important; }
.sl-versprechen__item {
	position: relative; background: var(--sl-flaeche); border: 1px solid var(--sl-linie); border-radius: 18px;
	padding: 16px 20px 16px 64px !important; margin: 0 !important; transition: transform .25s var(--sl-weich), box-shadow .25s ease, background .25s ease;
}
.sl-versprechen__item:hover { transform: translateX(4px); background: #fff; box-shadow: var(--sl-schatten); }
.sl-versprechen__item::before {
	content: "✓"; position: absolute; left: 18px; top: 18px; width: 30px; height: 30px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; background: #fff; color: var(--sl-primaer); font-weight: 800;
	box-shadow: 0 2px 8px rgba(11, 114, 217, .15);
}
.sl-versprechen__item h4 { margin: 0 0 2px; font-size: 17px; }
.sl-versprechen__item p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--sl-grau); }
.sl-warum__stimme {
	margin-top: clamp(40px, 5vw, 64px) !important; background: #fff; border: 1px solid var(--sl-linie); border-radius: 24px;
	padding: 26px 32px !important; gap: 28px !important; box-shadow: var(--sl-schatten);
}
.sl-warum__stimme-text { margin: 0; font-size: 18px; line-height: 1.55; font-weight: 600; color: var(--sl-tinte); flex: 1; }
.sl-warum__stimme { position: relative; padding-left: 92px !important; }
.sl-warum__stimme::before {
	content: "“"; position: absolute; left: 28px; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; padding-top: 14px; box-sizing: border-box;
	background: linear-gradient(135deg, #E8F3FE 0%, #D4E9FD 100%); color: var(--sl-primaer); font-size: 44px; font-weight: 800; line-height: 1;
}
.sl-warum__stimme-name { margin: 0; font-size: 14px; line-height: 1.4; color: var(--sl-grau); white-space: nowrap; padding-left: 28px; border-left: 1px solid var(--sl-linie); }
.sl-warum__stimme-name strong { color: var(--sl-tinte); font-size: 16px; }
@media (max-width: 781px) {
	.sl-warum__badge { left: 12px; bottom: 12px; }
	.sl-warum__stimme { flex-wrap: wrap !important; }
	.sl-warum__stimme-name { border-left: 0; padding-left: 0; }
}

/* 2.4.1: nur heller Modus */
:root { color-scheme: only light; }
html, body { background-color: #fff; color: var(--sl-tinte); }

/* 2.4.2: Mobile-Fixes */
/* Nichts darf seitlich aus der Seite ragen (verhindert das Rauszoomen) */
html, body { overflow-x: clip; }
.wp-site-blocks, .sl-hero, .sl-abschnitt, .sl-integrationen, .sl-preisband { overflow-x: clip; }
@supports not (overflow: clip) {
	html, body, .wp-site-blocks { overflow-x: hidden; }
}

@media (max-width: 781px) {
	/* Kein Unschärfe-Effekt: sonst öffnet sich das Menü nur innerhalb der Kopfzeile */
	.sl-header { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: 0 1px 0 var(--sl-linie); }
	.sl-header__inner { padding-block: 12px; gap: 12px; }
	/* Rechter Bereich (Telefon + Button) ist mobil ausgeblendet – ganz raus, damit der Burger nach rechts rutscht */
	.sl-header__inner > .wp-block-group:last-child { display: none !important; }
	.sl-header .wp-block-navigation { margin-left: auto; }

	/* Burger-Knopf größer und gut antippbar */
	.sl-header .wp-block-navigation__responsive-container-open {
		width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
		background: var(--sl-hell); color: var(--sl-primaer-d);
	}
	.sl-header .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }

	/* Aufgeklapptes Menü: ganzer Bildschirm, große Punkte */
	.sl-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed; inset: 0; z-index: 100000; background: #fff !important;
		padding: 20px 24px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
	}
	.admin-bar .sl-header .wp-block-navigation__responsive-container.is-menu-open { top: 46px; }
	.sl-header .is-menu-open .wp-block-navigation__responsive-container-close {
		width: 46px; height: 46px; border-radius: 14px; background: var(--sl-hell); color: var(--sl-primaer-d);
		display: flex; align-items: center; justify-content: center; top: 16px; right: 20px;
	}
	.sl-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px !important; align-items: stretch !important; }
	.sl-header .is-menu-open .wp-block-navigation__container {
		display: flex; flex-direction: column; align-items: stretch !important; gap: 8px !important;
		background: none; border: 0; padding: 0; width: 100%;
	}
	.sl-header .is-menu-open .wp-block-navigation-item { width: 100%; }
	.sl-header .is-menu-open .wp-block-navigation-item__content {
		display: block; width: 100%; box-sizing: border-box; font-size: 22px; font-weight: 700;
		padding: 16px 20px !important; border-radius: 16px; background: var(--sl-flaeche); color: var(--sl-tinte);
	}
	.sl-header .is-menu-open .wp-block-navigation-item__content:active,
	.sl-header .is-menu-open .wp-block-navigation-item__content:hover { background: var(--sl-hell); color: var(--sl-primaer-d); }

	/* Deko-Elemente, die über den Rand ragen würden */
	.sl-hero::before { width: 520px; height: 520px; top: -220px; right: -220px; }
	.sl-hero::after { width: 420px; height: 420px; left: -240px; }
	.sl-warum__badge { left: 12px; right: 12px; bottom: 12px; }
}

/* 2.5: Unterseiten */
.sl-seitenhero { position: relative; isolation: isolate; text-align: center; padding-block: clamp(56px, 7vw, 104px) clamp(24px, 3vw, 40px); overflow-x: clip; }
.sl-seitenhero::before {
	content: ""; position: absolute; z-index: -1; width: 760px; height: 760px; top: -380px; left: 50%; transform: translateX(-50%); border-radius: 50%;
	background: radial-gradient(circle, rgba(30,139,232,.16) 0%, rgba(30,139,232,.05) 45%, rgba(30,139,232,0) 70%);
}
.sl-seitenhero > * { margin-left: auto !important; margin-right: auto !important; }
.sl-seitenhero > * + * { margin-top: 22px !important; }
.sl-seitenhero h1 { font-size: clamp(38px, 5vw, 60px); }
.sl-seitenhero .sl-lead { max-width: 680px; }
.sl-seitenhero .wp-block-buttons, .sl-seitenhero .sl-checks { justify-content: center; }
.sl-seitenhero > * { animation: sl-hoch .8s var(--sl-weich) both; }
.sl-seitenhero > *:nth-child(2) { animation-delay: .08s; } .sl-seitenhero > *:nth-child(3) { animation-delay: .16s; } .sl-seitenhero > *:nth-child(4) { animation-delay: .24s; }

.sl-text { gap: clamp(32px, 5vw, 80px) !important; }
.sl-text h2 { margin: 16px 0 0; }
.sl-text p { font-size: 18px; line-height: 1.75; color: var(--sl-grau); margin: 0 0 18px; }
.sl-text p:first-child { color: var(--sl-tinte); font-size: 19px; }

.sl-rechner-abschnitt .sl-kopf { align-items: center; text-align: center; margin-bottom: 36px !important; }
.sl-rechner-abschnitt .sl-kopf p.sl-grau { max-width: 720px; font-size: 17px; line-height: 1.65; margin: 0; }
.sl-rechner-abschnitt .sl-rechner { max-width: 1100px; margin: 0 auto; }

.sl-versprechen--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 781px) { .sl-versprechen--2 { grid-template-columns: 1fr; } }
.sl-rechner-abschnitt .sl-rechner__titel { display: none; }

/* 2.6: Anker unter fester Kopfzeile + Integrationsseite */
#rechner, #anfrage, [id] { scroll-margin-top: 110px; }
html { scroll-behavior: smooth; }
.sl-integ-abschnitt { padding-top: 24px !important; }
.sl-integ-abschnitt .sl-integ { max-width: var(--wp--style--global--wide-size, 1248px); margin: 0 auto; }

/* 2.7: Über uns */
.sl-abschnitt--eng { padding-block: 8px 24px !important; }
.sl-abschnitt--eng .sl-zahlen { margin-top: 0 !important; }
.sl-zeitleiste { list-style: none; margin: 0; padding: 0; position: relative; }
.sl-zeitleiste::before { content: ""; position: absolute; left: 39px; top: 12px; bottom: 12px; width: 2px; background: linear-gradient(180deg, #1E8BE8, #DDE9F7); }
.sl-zeitleiste li { position: relative; display: flex; gap: 22px; padding-bottom: 28px; }
.sl-zeitleiste li:last-child { padding-bottom: 0; }
.sl-zeitleiste__jahr {
	flex: none; width: 80px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1;
	background: #fff; border: 2px solid var(--sl-akzent); color: var(--sl-primaer); font-weight: 800; font-size: 15px; box-shadow: 0 4px 12px rgba(11, 114, 217, .15);
}
.sl-zeitleiste li:last-child .sl-zeitleiste__jahr { background: var(--sl-verlauf); color: #fff; border-color: transparent; }
.sl-zeitleiste strong { display: block; font-size: 19px; font-weight: 700; color: var(--sl-tinte); margin: 6px 0 4px; }
.sl-zeitleiste p { margin: 0 !important; font-size: 17px !important; color: var(--sl-grau) !important; line-height: 1.65; }

.sl-team { gap: 20px !important; }
.sl-team__person { background: #fff; border: 1px solid var(--sl-linie); border-radius: 24px; padding: 16px 16px 24px !important; box-shadow: var(--sl-schatten); transition: transform .3s var(--sl-weich), box-shadow .3s ease; }
.sl-team__person:hover { transform: translateY(-6px); box-shadow: var(--sl-schatten-hoch); }
.sl-team__foto { margin: 0 0 18px !important; border-radius: 18px; overflow: hidden; }
.sl-team__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: 0 !important; }
.sl-team__person h3 { margin: 0 8px 2px; font-size: 20px; }
.sl-team__rolle { margin: 0 8px !important; color: var(--sl-grau); font-size: 15px; line-height: 1.55; }
.sl-team__rest { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 32px !important; background: var(--sl-verlauf); border: 0; }
.sl-team__rest h3, .sl-team__rest .sl-team__rolle { color: #fff; margin-left: 0; margin-right: 0; }
.sl-team__rest .sl-team__rolle { color: #DCEBFC; }
.sl-team__zahl { font-size: 64px; font-weight: 800; line-height: 1; letter-spacing: -0.03em; color: #fff; margin: 0 0 12px !important; }

.sl-einladung { background: var(--sl-flaeche); border: 1px solid var(--sl-linie); border-radius: 32px; padding: clamp(36px, 5vw, 64px) 24px !important; text-align: center; }
.sl-einladung h2 { margin: 0 0 12px; }
.sl-einladung p { color: var(--sl-grau); font-size: 18px; margin: 0 auto 24px; }
.sl-team__rest .sl-team__rolle { margin: 0 !important; } .sl-einladung h2 { text-align: center; }
