/* ==========================================================================
   b2-fit 2026 – Design-System
   Tokens, Layout, Header/Footer und alle SP-Page-Builder-Module (Kategorie "b2-fit")
   ========================================================================== */

:root {
	--b2-green: #049075;
	--b2-green-dark: #06775e;
	--b2-green-tint: #e3f2ee;
	--b2-green-light: #6fd3bb;
	--b2-ink: #252525;
	--b2-muted: #5c5c5c;
	--b2-dark: #171717;
	--b2-dark-2: #232323;
	--b2-on-dark: #ededed;
	--b2-on-dark-muted: #bdbdbd;
	--b2-surface: #f3f6f5;
	--b2-surface-2: #e6ecea;
	--b2-line: #e6ecea;
	--b2-white: #fff;

	--b2-font: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	--b2-font-display: 'Plus Jakarta Sans', 'Helvetica Neue', sans-serif;

	--b2-wrap: 1320px;
	--b2-pad: 56px;
	--b2-radius-pill: 999px;

	/* Säulen-Farben (--c Haupt, --c-tint Fläche, --c-text Text auf Tint) */
	--insight: #0345bf; --insight-tint: #e6edfa; --insight-text: #0345bf;
	--boost: #049075;   --boost-tint: #e3f2ee;   --boost-text: #06775e;
	--power: #a67c00;   --power-tint: #fbf1da;   --power-text: #5e4700;
	--vital: #df243c;   --vital-tint: #fde9ec;   --vital-text: #b81d31;
}

@media (max-width: 991px) { :root { --b2-pad: 28px; } }
@media (max-width: 575px) { :root { --b2-pad: 18px; } }

/* ---------- Basis ---------- */
html { scroll-behavior: smooth; }
body.b2fit {
	margin: 0;
	background: var(--b2-white);
	color: var(--b2-ink);
	font-family: var(--b2-font);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body.b2fit *, body.b2fit *::before, body.b2fit *::after { box-sizing: border-box; }
body.b2fit a { color: inherit; text-decoration: none; }
body.b2fit img { max-width: 100%; display: block; }
body.b2fit h1, body.b2fit h2, body.b2fit h3, body.b2fit h4 {
	font-family: var(--b2-font);
	font-weight: 700;
	color: inherit;
	margin: 0;
}
body.b2fit p { margin: 0; }
body.b2fit :focus-visible { outline: 3px solid var(--b2-green); outline-offset: 3px; border-radius: 6px; }

/* SP Page Builder: Abstände neutralisieren, damit Module das Layout bestimmen */
body.b2fit .sppb-section { padding: 0 !important; }
body.b2fit .sppb-row-container { max-width: none; padding: 0; }
body.b2fit .sppb-row { margin: 0; }
body.b2fit .sppb-row > [class*="sppb-col-"] { padding: 0; }
body.b2fit .sppb-addon { margin: 0; }
body.b2fit .sppb-addon-wrapper { margin: 0; }

/* ---------- Wiederverwendbare Bausteine ---------- */
.b2-wrap { max-width: var(--b2-wrap); margin: 0 auto; padding-inline: var(--b2-pad); }
.b2-panel { max-width: 1400px; margin-inline: auto; border-radius: 40px; }
@media (max-width: 1440px) { .b2-panel { margin-inline: 12px; } }
.b2-panel--tint { background: var(--b2-surface); }
.b2-panel--dark { background: var(--b2-dark); color: var(--b2-on-dark); }
.b2-section-y { padding-block: clamp(56px, 7vw, 100px); }

.b2-h1 { font-size: clamp(40px, 5.2vw, 75px); line-height: 1.02; letter-spacing: -0.04em; font-weight: 800; }
.b2-h2 { font-size: clamp(30px, 3.1vw, 45px); line-height: 1.08; letter-spacing: -0.04em; }
.b2-h3 { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.1; letter-spacing: -0.03em; }
.b2-accent { color: var(--b2-green); }
.b2-lead { font-size: 19px; line-height: 1.6; color: var(--b2-muted); max-width: 500px; }
.b2-muted { color: var(--b2-muted); }
.b2-dark .b2-muted, .b2-panel--dark .b2-muted { color: var(--b2-on-dark-muted); }

/* Badge / Eyebrow */
.b2-badge {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 8px 16px; border-radius: var(--b2-radius-pill);
	background: var(--b2-green-tint); color: var(--b2-green-dark);
	font-size: 14px; font-weight: 600; line-height: 1.4;
	align-self: flex-start;
}
.b2-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--vital); flex: none; }
.b2-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px; border-radius: var(--b2-radius-pill);
	background: var(--c-tint, var(--b2-surface)); color: var(--c-text, var(--b2-green-dark));
	font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	align-self: flex-start;
}
.b2-eyebrow::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--b2-green)); }
.b2-eyebrow--solid { background: var(--c, var(--b2-green)); color: #fff; }
.b2-eyebrow--solid::before { background: #fff; }

/* Säulen-Farbklassen */
.b2-c-insight { --c: var(--insight); --c-tint: var(--insight-tint); --c-text: var(--insight-text); }
.b2-c-boost   { --c: var(--boost);   --c-tint: var(--boost-tint);   --c-text: var(--boost-text); }
.b2-c-power   { --c: var(--power);   --c-tint: var(--power-tint);   --c-text: var(--power-text); }
.b2-c-vital   { --c: var(--vital);   --c-tint: var(--vital-tint);   --c-text: var(--vital-text); }

/* Buttons */
.b2-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 56px; padding: 0 28px; border-radius: var(--b2-radius-pill);
	font: 600 16px/1 var(--b2-font); cursor: pointer; border: 2px solid transparent;
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.b2-btn--primary { background: var(--b2-green-dark); color: #fff !important; }
.b2-btn--primary:hover { background: #055f4b; transform: translateY(-2px); box-shadow: 0 10px 24px -10px rgba(6,119,94,.7); }
.b2-btn--ghost { color: var(--b2-green-dark) !important; border-color: var(--b2-green); background: transparent; }
.b2-btn--ghost:hover { background: var(--b2-green-tint); transform: translateY(-2px); }
.b2-btn--light { background: #fff; color: var(--b2-green-dark) !important; }
.b2-btn--sm { min-height: 48px; padding: 0 24px; }
.b2-btn--md { min-height: 50px; padding: 0 24px; }
.b2-btn svg { width: 18px; height: 18px; flex: none; }
.b2-btns { display: flex; flex-wrap: wrap; gap: 12px; }

.b2-link { display: inline-flex; align-items: center; gap: 8px; color: var(--b2-green-dark) !important; font-weight: 600; }
.b2-link svg { width: 16px; height: 16px; transition: transform .18s ease; }
.b2-link:hover svg { transform: translateX(4px); }

/* Bild-Platzhalter (wenn kein Foto gesetzt) */
.b2-ph {
	width: 100%; height: 100%; display: flex; align-items: flex-end; padding: 16px;
	background: repeating-linear-gradient(135deg, #e9eeec 0 14px, #e1e8e5 14px 28px);
	color: var(--b2-muted); font-size: 13px;
}
.b2-media { position: relative; overflow: hidden; background: var(--b2-surface-2); }
.b2-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.b2-media--chip { position: absolute; top: 16px; left: 16px; z-index: 2; }
.b2-chip {
	position: absolute; top: 16px; left: 16px; z-index: 2;
	background: var(--b2-green); color: #fff; font-size: 13px; font-weight: 600;
	padding: 6px 12px; border-radius: var(--b2-radius-pill);
}
/* Inline-Chip mit Säulen-Punkt (Blog, Video): im Textfluss, Säulen-Tint */
.b2-chip:has(> .b2-dot) {
	position: static; display: inline-flex; align-items: center; align-self: flex-start; gap: 8px;
	padding: 6px 14px; background: var(--c-tint, var(--b2-surface)); color: var(--c-text, var(--b2-green-dark));
	font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.b2-art__head .b2-chip { align-self: center; }

/* Section-Header (Titel links / Text rechts) */
.b2-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 20px; }
.b2-head--center { flex-direction: column; align-items: center; text-align: center; }
.b2-head .b2-h2 { max-width: 640px; }
.b2-head p { color: var(--b2-muted); max-width: 440px; }
.b2-head--center p { max-width: 560px; }

/* ==========================================================================
   Header (Topbar + sticky Navigation)
   ========================================================================== */
.b2-topbar { background: var(--b2-green); color: #fff; font-size: 14px; line-height: 1.65; }
.b2-topbar .b2-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding-block: 8px; }
.b2-topbar a { color: #fff; }
.b2-topbar__left { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.b2-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--b2-line); }
/* Blur auf Pseudo-Element: backdrop-filter am Header selbst würde das fixe Mobil-Overlay einsperren */
.b2-header::before {
	content: ''; position: absolute; inset: 0; z-index: -1;
	background: rgba(255,255,255,.92);
	-webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px);
}
.b2-header .b2-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-block: 14px; }
.b2-brand { display: flex; align-items: center; gap: 12px; }
.b2-brand img { width: 46px; height: 46px; object-fit: contain; }
.b2-brand span { font: 700 21px/1.6 var(--b2-font-display); letter-spacing: -0.01em; }

.b2-nav { font-weight: 500; font-size: 16px; }
.b2-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.b2-nav > ul > li { position: relative; }
.b2-nav > ul > li > a, .b2-nav > ul > li > span {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px;
	border-radius: var(--b2-radius-pill); font-weight: 600; cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
.b2-nav > ul > li:hover > a, .b2-nav > ul > li.active > a, .b2-nav > ul > li:hover > span { background: var(--b2-green-tint); color: var(--b2-green-dark); }
.b2-nav .b2-caret { width: 14px; height: 14px; transition: transform .18s ease; }
.b2-nav li.parent:hover .b2-caret, .b2-nav li.parent:focus-within .b2-caret { transform: rotate(180deg); }
.b2-nav li ul.b2-sub {
	position: absolute; top: 100%; left: 0; min-width: 240px; padding: 10px; display: block;
	background: #fff; border: 1px solid var(--b2-line); border-radius: 20px;
	box-shadow: 0 24px 48px -24px rgba(0,0,0,.25);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .18s ease;
}
.b2-nav li.parent:hover > ul.b2-sub, .b2-nav li.parent:focus-within > ul.b2-sub { opacity: 1; visibility: visible; transform: none; }
.b2-nav ul.b2-sub a { display: block; padding: 10px 14px; border-radius: 12px; font-weight: 500; }
.b2-nav ul.b2-sub a:hover { background: var(--b2-surface); color: var(--b2-green-dark); }
.b2-header__cta { min-height: 48px; padding: 0 24px; background: var(--b2-green-dark); color: #fff !important; border-radius: var(--b2-radius-pill); display: inline-flex; align-items: center; font-weight: 600; transition: background-color .18s ease, transform .18s ease; }
.b2-header__cta:hover { background: #055f4b; transform: translateY(-1px); }
.b2-burger { display: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--b2-line); background: #fff; cursor: pointer; align-items: center; justify-content: center; transition: background-color .3s ease, border-color .3s ease, transform .2s ease; }
.b2-burger:active { transform: scale(.94); }
.b2-burger span, .b2-burger span::before, .b2-burger span::after { display: block; width: 20px; height: 2px; background: var(--b2-ink); border-radius: 2px; position: relative; content: ''; transition: transform .35s cubic-bezier(.7,0,.2,1), background-color .2s ease; }
.b2-burger span::before { position: absolute; top: -6px; } .b2-burger span::after { position: absolute; top: 6px; }
.b2-nav__foot, .b2-subtoggle { display: none; }

/* ---------- Mobil/Tablet: Vollbild-Menü, das sich als Kreis aus dem Burger öffnet ---------- */
@media (max-width: 1100px) {
	.b2-burger { display: inline-flex; }
	.b2-header__cta { display: none; }
	.b2-brand, .b2-burger { position: relative; z-index: 2; }
	.b2-brand span { transition: color .3s ease; }

	.b2-nav {
		--ease: cubic-bezier(.7,0,.2,1);
		position: fixed; inset: 0; z-index: 1;
		display: flex; flex-direction: column;
		padding-top: var(--b2-hh, 92px); overflow-y: auto; overscroll-behavior: contain;
		background: radial-gradient(120% 70% at 100% 0%, rgba(4,144,117,.5), transparent 62%), radial-gradient(90% 50% at 0% 100%, rgba(111,211,187,.14), transparent 70%), #0d1714;
		color: #fff;
		clip-path: circle(0 at var(--b2-bx, calc(100% - 48px)) var(--b2-by, 60px));
		visibility: hidden;
		transition: clip-path .55s var(--ease), visibility 0s .55s;
	}
	.b2-header.is-open .b2-nav {
		clip-path: circle(150vmax at var(--b2-bx, calc(100% - 48px)) var(--b2-by, 60px));
		visibility: visible;
		transition: clip-path .7s var(--ease), visibility 0s;
	}
	.b2-header.is-open { border-bottom-color: transparent; }
	.b2-header.is-open .b2-brand span { color: #fff; }
	.b2-header.is-open .b2-burger { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); }
	.b2-header.is-open .b2-burger span { background: transparent; }
	.b2-header.is-open .b2-burger span::before { background: #fff; transform: translateY(6px) rotate(45deg); }
	.b2-header.is-open .b2-burger span::after { background: #fff; transform: translateY(-6px) rotate(-45deg); }
	html.b2-nav-open { overflow: hidden; }

	/* Einträge: groß, gestaffelt einblenden */
	.b2-nav > ul { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; padding: 12px var(--b2-pad) 8px; }
	.b2-nav > ul > li, .b2-nav__foot {
		opacity: 0; transform: translateY(26px);
		transition: opacity .25s ease, transform .25s ease;
	}
	.b2-header.is-open .b2-nav > ul > li, .b2-header.is-open .b2-nav__foot {
		opacity: 1; transform: none;
		transition: opacity .55s ease, transform .55s var(--ease);
		transition-delay: calc(.22s + var(--i, 0) * .06s);
	}
	.b2-nav > ul > li { display: grid; grid-template-columns: 1fr auto; align-items: center; border-bottom: 1px solid rgba(255,255,255,.1); }
	.b2-nav > ul > li > a, .b2-nav > ul > li > span {
		display: flex; align-items: center; gap: 14px; min-height: 0; padding: 16px 0; border-radius: 0; background: none !important;
		color: #fff !important; font: 700 clamp(28px, 6.4vw, 44px)/1.1 var(--b2-font-display); letter-spacing: -0.03em;
	}
	.b2-nav > ul > li > a::before, .b2-nav > ul > li > span::before {
		content: ''; flex: none; width: 10px; height: 10px; border-radius: 50%;
		background: var(--c, var(--b2-green-light)); box-shadow: 0 0 0 4px rgba(255,255,255,.06);
		transition: transform .25s ease;
	}
	.b2-nav > ul > li > a:hover::before, .b2-nav > ul > li.active > a::before { transform: scale(1.5); }
	.b2-nav > ul > li.active > a { color: var(--b2-green-light) !important; }
	.b2-nav > ul > li > a .b2-caret, .b2-nav > ul > li > span .b2-caret { display: none; }

	/* Untermenü als Akkordeon */
	.b2-subtoggle {
		display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%;
		border: 1px solid rgba(255,255,255,.2); background: none; color: #fff; cursor: pointer; transition: background-color .2s ease, transform .35s var(--ease);
	}
	.b2-subtoggle svg { width: 16px; height: 16px; }
	.b2-subtoggle[aria-expanded="true"] { background: rgba(255,255,255,.1); transform: rotate(180deg); }
	.b2-nav li ul.b2-sub {
		grid-column: 1 / -1; position: static; min-width: 0; opacity: 1; visibility: hidden; transform: none;
		display: flex; flex-direction: column; align-items: stretch; gap: 0;
		background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0;
		max-height: 0; overflow: hidden; transition: max-height .45s var(--ease), padding .45s var(--ease), visibility 0s .45s;
	}
	.b2-nav li.parent:not(.is-sub-open) > ul.b2-sub { visibility: hidden; }
	.b2-nav li.is-sub-open > ul.b2-sub { max-height: 32rem; padding: 0 0 18px; visibility: visible; transition-delay: 0s; }
	.b2-nav ul.b2-sub a {
		padding: 10px 0 10px 18px; margin-left: 4px; border-left: 2px solid var(--c, var(--b2-green-light)); border-radius: 0;
		color: rgba(255,255,255,.72); font-size: 17px;
	}
	.b2-nav ul.b2-sub a:hover, .b2-nav ul.b2-sub a[aria-current="page"] { background: none; color: #fff; }

	/* CTA + Kontakt unten */
	.b2-nav__foot { display: flex; flex-direction: column; gap: 18px; margin-top: auto; padding: 28px var(--b2-pad) max(28px, env(safe-area-inset-bottom)); }
	.b2-nav__cta {
		display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 24px; border-radius: var(--b2-radius-pill);
		background: var(--b2-green); color: #fff !important; font-weight: 600; font-size: 17px; transition: background-color .2s ease;
	}
	.b2-nav__cta:hover { background: var(--b2-green-dark); }
	.b2-nav__contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 24px; font-size: 15px; }
	.b2-nav__contact a { color: rgba(255,255,255,.7); }
	.b2-nav__contact a:hover { color: #fff; }
}
@media (min-width: 640px) and (max-width: 1100px) {
	.b2-nav__cta { align-self: flex-start; }
	.b2-nav__contact { justify-content: flex-start; }
}

/* ==========================================================================
   Footer
   ========================================================================== */
.b2-footer { background: var(--b2-dark); color: var(--b2-on-dark); margin-top: 24px; }
.b2-footer__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; padding: 64px var(--b2-pad) 40px; max-width: var(--b2-wrap); margin: 0 auto; }
.b2-footer__col { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.b2-footer__col h4, .b2-footer__title { color: #fff; font-size: 16px; font-weight: 700; }
.b2-footer__col a { color: var(--b2-on-dark-muted); transition: color .15s ease; }
.b2-footer__col a:hover { color: #fff; }
.b2-footer__col a.b2-footer__mail { color: var(--b2-green-light); }
.b2-footer__col .b2-hours { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.b2-footer__col .b2-hours span:first-child { color: var(--b2-on-dark-muted); }
.b2-footer__col .b2-hours span:last-child { color: #fff; text-align: right; }
.b2-footer__logo { justify-self: start; align-items: center; gap: 14px; text-align: center; }
.b2-footer__logo img { width: 92px; height: 92px; }
.b2-footer__claim { margin: 0; color: #fff; font: 700 13px/1.3 var(--b2-font); letter-spacing: .14em; text-transform: uppercase; }
.b2-footer__claim small { display: block; margin-top: 6px; color: #91B2A7; font-size: 10px; font-weight: 600; letter-spacing: .1em; }
.b2-footer__legal { border-top: 1px solid rgba(255,255,255,.08); max-width: var(--b2-wrap); margin: 0 auto; padding: 18px var(--b2-pad) 28px; font-size: 13px; color: #9a9a9a; }
@media (max-width: 991px) { .b2-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .b2-footer__grid { grid-template-columns: 1fr; } }

/* Breadcrumb */
.b2-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--b2-muted); padding-block: 22px 0; }
.b2-crumbs a:hover { color: var(--b2-green-dark); }

/* ==========================================================================
   MODUL: Hero (Startseite)
   ========================================================================== */
.b2-hero .b2-wrap { display: flex; flex-wrap: wrap; gap: 48px 56px; padding-block: 80px 100px; align-items: stretch; }
.b2-hero__text { flex: 1 1 480px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.b2-hero__block { display: flex; flex-direction: column; gap: 26px; }
.b2-hero__visual { flex: 1.15 1 480px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1.15fr 1fr; gap: 14px; min-height: 560px; }
.b2-hero__visual .b2-media { border-radius: 30px; }
.b2-hero__visual .b2-media:first-child { grid-column: 1 / -1; }
.b2-hero__visual .b2-media:hover img { transform: scale(1.04); }
@media (max-width: 767px) { .b2-hero .b2-wrap { padding-block: 40px 56px; } .b2-hero__visual { min-height: 420px; } }

/* ==========================================================================
   MODUL: Vier Säulen
   ========================================================================== */
.b2-pillars .b2-panel > .b2-wrap { display: flex; flex-direction: column; gap: 44px; padding-block: clamp(56px, 7vw, 100px); }
.b2-pillars__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.b2-pillar {
	display: flex; flex-direction: column; gap: 18px; min-height: 260px; padding: 26px;
	border-radius: 26px; background: #fff; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.b2-pillar:hover { transform: translateY(-4px); box-shadow: 0 18px 36px -22px rgba(0,0,0,.35); }
.b2-pillar__top { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 600; letter-spacing: .12em; color: var(--c-text); }
.b2-pillar__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 3px transparent; transition: box-shadow .2s ease; }
.b2-pillar__name { font: 700 30px/1.05 var(--b2-font-display); letter-spacing: -0.02em; }
.b2-pillar__tag { color: var(--b2-muted); font-size: 15px; line-height: 1.5; }
.b2-pillar__tags { margin-top: auto; font-size: 13px; font-weight: 600; color: var(--c-text); }
.b2-pillar.is-active { background: var(--c-text); color: #fff; }
.b2-pillar.is-active .b2-pillar__top, .b2-pillar.is-active .b2-pillar__tag, .b2-pillar.is-active .b2-pillar__tags { color: var(--c-tint); }
.b2-pillar.is-active .b2-pillar__dot { box-shadow: 0 0 0 3px #fff; }
@media (max-width: 991px) { .b2-pillars__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .b2-pillars__grid { grid-template-columns: 1fr; } .b2-pillar { min-height: 0; } }

/* Detail-Panel einer Säule */
.b2-detail { background: #fff; border-radius: 32px; padding: 48px; display: flex; flex-wrap: wrap; gap: 32px 56px; align-items: center; }
.b2-detail[hidden] { display: none; }
.b2-detail__text { flex: 1 1 420px; display: flex; flex-direction: column; gap: 18px; }
.b2-detail__quote { font: 600 19px/1.35 var(--b2-font-display); margin-top: 6px; }
.b2-detail__quote::before { content: '„'; } .b2-detail__quote::after { content: '“'; }
.b2-detail__items { flex: 1 1 440px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.b2-detail__item { background: var(--b2-surface); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.b2-detail__item b { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; }
.b2-detail__item b::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--c); flex: none; }
.b2-detail__item span { color: var(--b2-muted); font-size: 14px; line-height: 1.5; }
@media (max-width: 767px) { .b2-detail { padding: 28px 22px; } .b2-detail__items { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Technologie-Zeilen (Bild | Text | Kennzahl)
   ========================================================================== */
.b2-rows .b2-wrap { display: flex; flex-direction: column; gap: 40px; padding-block: clamp(56px, 7vw, 115px); }
.b2-rows__list { display: flex; flex-direction: column; gap: 14px; }
.b2-row { display: flex; flex-wrap: wrap; align-items: stretch; background: var(--b2-surface); border-radius: 26px; overflow: hidden; }
.b2-row .b2-media { flex: 1 1 320px; min-height: 220px; background: var(--b2-surface-2); }
.b2-row:hover .b2-media img { transform: scale(1.04); }
.b2-row__body { flex: 2.1 1 480px; display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; padding: 40px; }
.b2-row__text { flex: 1 1 320px; display: flex; flex-direction: column; gap: 8px; }
.b2-row__sub { color: var(--b2-green-dark); font-weight: 600; }
.b2-row__text p { color: var(--b2-muted); font-size: 15px; line-height: 1.65; }
.b2-row__stat { display: flex; flex-direction: column; gap: 2px; }
.b2-row__stat small { color: var(--b2-muted); font-size: 13px; }
.b2-row__stat strong { color: var(--b2-green); font: 600 44px/1 var(--b2-font-display); letter-spacing: -0.03em; }
@media (max-width: 767px) { .b2-row__body { padding: 26px 22px; } }

/* ==========================================================================
   MODUL: Kontakt / Beratung (dunkel, Zeiten + Formular)
   ========================================================================== */
.b2-contact .b2-panel > .b2-wrap { display: flex; flex-wrap: wrap; gap: 48px 72px; padding-block: clamp(56px, 7vw, 100px); }
.b2-contact__info { flex: 1 1 420px; display: flex; flex-direction: column; gap: 22px; }
.b2-contact__info .b2-h2 { color: #fff; }
.b2-contact__info > p { color: var(--b2-on-dark-muted); max-width: 440px; }
.b2-contact__lines { display: flex; flex-direction: column; gap: 2px; font: 700 24px/1.4 var(--b2-font-display); }
.b2-contact__lines a { color: #fff; } .b2-contact__lines a:last-child { color: var(--b2-green-light); font-size: 18px; font-family: var(--b2-font); font-weight: 600; }
.b2-hours-list { display: flex; flex-direction: column; gap: 8px; }
.b2-hours-list div { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; line-height: 1.65; }
.b2-hours-list span:first-child { color: var(--b2-on-dark-muted); }
.b2-hours-list span:last-child { color: #fff; text-align: right; }
.b2-form { flex: 1 1 460px; background: #fff; color: var(--b2-ink); border-radius: 30px; padding: 40px; display: flex; flex-direction: column; gap: 18px; align-self: flex-start; }
.b2-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.b2-field { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 500; }
.b2-field input, .b2-field select, .b2-field textarea {
	width: 100%; min-height: 52px; padding: 12px 16px; border: 2px solid transparent; border-radius: 14px;
	background: var(--b2-surface); font: 400 16px/1.65 var(--b2-font); color: var(--b2-ink);
	transition: border-color .15s ease, background-color .15s ease;
}
.b2-field textarea { min-height: 96px; resize: vertical; }
.b2-field input:focus, .b2-field select:focus, .b2-field textarea:focus { outline: 0; border-color: var(--b2-green); background: #fff; }
.b2-form .b2-btn { width: 100%; }
.b2-form small { color: var(--b2-muted); font-size: 13px; line-height: 1.65; }
.b2-form small a { color: var(--b2-green-dark); text-decoration: underline; }
.b2-form__slot { border: 2px dashed var(--b2-line); border-radius: 16px; padding: 16px; text-align: center; color: var(--b2-muted); font-size: 13px; min-height: 96px; display: flex; align-items: center; justify-content: center; }
.b2-form__msg { padding: 14px 16px; border-radius: 14px; font-size: 15px; font-weight: 500; }
.b2-form__msg--ok { background: var(--b2-green-tint); color: var(--b2-green-dark); }
.b2-form__msg--err { background: var(--vital-tint); color: var(--vital-text); }
.b2-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 575px) { .b2-form { padding: 26px 20px; } .b2-form__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Unterseiten-Hero
   ========================================================================== */
.b2-subhero .b2-wrap { display: flex; flex-wrap: wrap; gap: 40px 64px; align-items: center; padding-block: 36px 90px; }
.b2-subhero__text { flex: 1.3 1 480px; display: flex; flex-direction: column; gap: 24px; }
.b2-subhero__sub { font: 600 clamp(20px, 2.1vw, 30px)/1.25 var(--b2-font); color: var(--c, var(--b2-green)); letter-spacing: -0.02em; }
.b2-subhero__text > p.b2-lead { max-width: 640px; font-size: 18px; }
.b2-subhero__aside { flex: 1 1 340px; max-width: 460px; background: var(--b2-surface); border-radius: 30px; overflow: hidden; display: flex; flex-direction: column; }
.b2-subhero__aside .b2-media { aspect-ratio: 4 / 3.4; }
.b2-subhero__aside--img .b2-media { aspect-ratio: 4 / 4.4; }
.b2-subhero__aside-body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 8px; }
.b2-subhero__aside-body small { color: var(--b2-muted); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.b2-subhero__aside-body strong { font-size: 24px; line-height: 1.2; }
.b2-subhero__aside-body span { color: var(--b2-muted); font-size: 15px; }
.b2-subhero--full .b2-subhero__aside { max-width: 520px; flex: 1.1 1 380px; }

/* ==========================================================================
   MODUL: Intro (große Aussage + 3 Karten)
   ========================================================================== */
.b2-intro .b2-wrap { display: flex; flex-direction: column; gap: 36px; padding-block: clamp(56px, 7vw, 100px); }
.b2-intro__lead { font-size: clamp(22px, 2.1vw, 30px); font-weight: 500; letter-spacing: -0.01em; line-height: 1.35; max-width: 1000px; }
.b2-cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.b2-card { background: var(--b2-surface); border-radius: 26px; padding: 28px; display: flex; flex-direction: column; gap: 12px; transition: transform .2s ease, box-shadow .2s ease; }
.b2-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px -22px rgba(0,0,0,.35); }
.b2-card b { font-size: 22px; line-height: 1.25; }
.b2-card span { color: var(--b2-muted); font-size: 15px; line-height: 1.65; }
@media (max-width: 991px) { .b2-cards3 { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Format-Grid (Kategorie-Karten mit Bild)
   ========================================================================== */
.b2-formats .b2-panel > .b2-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: clamp(56px, 6vw, 86px); }
.b2-formats__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.b2-format { background: #fff; border-radius: 28px; overflow: hidden; display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.b2-format:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -26px rgba(0,0,0,.4); }
.b2-format:hover .b2-media img { transform: scale(1.05); }
.b2-format .b2-media { aspect-ratio: 4 / 3; }
.b2-format__body { padding: 26px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.b2-format__body h3 { font-size: 24px; line-height: 1.2; letter-spacing: -0.015em; }
.b2-format__body p { color: var(--b2-muted); font-size: 15px; }
.b2-format__note { background: var(--note-bg, #fbf1da); color: var(--note-text, #5e4700); font-size: 14px; font-weight: 600; padding: 12px 14px; border-radius: 14px; line-height: 1.5; }
.b2-format__body .b2-link { margin-top: auto; padding-top: 12px; }
@media (max-width: 991px) { .b2-formats__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .b2-formats__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Dunkle Kacheln ("trotz …")
   ========================================================================== */
.b2-tiles .b2-panel > .b2-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: clamp(56px, 6vw, 86px); }
.b2-tiles .b2-h2 { color: #fff; }
.b2-tiles__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.b2-tile { background: var(--b2-dark-2); border-radius: 24px; padding: 26px; display: flex; flex-direction: column; gap: 4px; transition: transform .2s ease, background-color .2s ease; }
.b2-tile:hover { transform: translateY(-3px); background: #2c2c2c; }
.b2-tile b { color: #fff; font-size: 24px; line-height: 1.25; }
.b2-tile span { color: var(--b2-green-light); font-size: 16px; }
.b2-tile span em { font-style: normal; color: var(--b2-on-dark-muted); }
.b2-tiles__note { color: var(--b2-on-dark-muted); max-width: 760px; }
@media (max-width: 991px) { .b2-tiles__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .b2-tiles__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Info-Raster (Punkt-Karten)
   ========================================================================== */
.b2-infogrid .b2-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: clamp(56px, 7vw, 100px); }
.b2-infogrid__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.b2-info { background: var(--b2-surface); border-radius: 22px; padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; transition: transform .2s ease, background-color .2s ease; }
.b2-info:hover { transform: translateY(-3px); background: var(--c-tint, var(--b2-green-tint)); }
.b2-info b { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 700; }
.b2-info b::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--b2-green)); flex: none; }
.b2-info span { color: var(--b2-muted); font-size: 15px; line-height: 1.55; }
.b2-infogrid__note { color: var(--b2-muted); font-size: 14px; }
@media (max-width: 991px) { .b2-infogrid__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .b2-infogrid__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Zielgruppen-Liste (Text links, Check-Liste rechts) + FAQ-Split
   ========================================================================== */
.b2-split .b2-panel > .b2-wrap { display: flex; flex-wrap: wrap; gap: 40px 64px; padding-block: clamp(56px, 6vw, 86px); align-items: flex-start; }
.b2-split__intro { flex: 1 1 340px; display: flex; flex-direction: column; gap: 16px; position: sticky; top: 110px; }
.b2-split__intro p { color: var(--b2-muted); }
.b2-checks { flex: 1.4 1 460px; list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.b2-checks li { background: #fff; border-radius: 20px; padding: 18px 20px; display: flex; align-items: flex-start; gap: 12px; font-size: 15px; transition: transform .2s ease; }
.b2-checks li:hover { transform: translateX(4px); }
.b2-checks li svg { width: 22px; height: 22px; flex: none; color: var(--b2-green); margin-top: 1px; }
@media (max-width: 991px) { .b2-split__intro { position: static; } }

/* FAQ */
.b2-faq { flex: 1.4 1 460px; display: flex; flex-direction: column; gap: 10px; }
.b2-faq__item { background: #fff; border-radius: 20px; overflow: hidden; }
.b2-faq__q {
	width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px;
	background: none; border: 0; text-align: left; font: 600 17px/1.4 var(--b2-font); color: inherit; cursor: pointer;
}
.b2-faq__icon { width: 32px; height: 32px; flex: none; border-radius: 50%; background: var(--b2-green-tint); color: var(--b2-green-dark); display: flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; transition: background-color .2s ease, color .2s ease, transform .25s ease; }
.b2-faq__item.is-open .b2-faq__icon { background: var(--b2-green-dark); color: #fff; transform: rotate(180deg); }
.b2-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.b2-faq__item.is-open .b2-faq__a { grid-template-rows: 1fr; }
.b2-faq__a > div { overflow: hidden; }
.b2-faq__a p { padding: 0 22px 20px; color: var(--b2-muted); font-size: 15px; line-height: 1.7; }

/* ==========================================================================
   MODUL: Ablauf-Schritte
   ========================================================================== */
.b2-steps .b2-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: clamp(56px, 7vw, 100px); }
.b2-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--cols, 6), 1fr); gap: 0; counter-reset: none; }
.b2-step { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 0 20px 0 0; }
.b2-step::before { content: ''; position: absolute; top: 24px; left: 56px; right: 8px; height: 2px; background: linear-gradient(90deg, var(--b2-green) 0, var(--b2-line) 100%); }
.b2-step:last-child::before { display: none; }
.b2-step__no { position: relative; z-index: 1; width: 48px; height: 48px; border-radius: 50%; background: var(--b2-green-tint); color: var(--b2-green); font: 700 18px/48px var(--b2-font-display); text-align: center; transition: background-color .2s ease, color .2s ease; }
.b2-step:hover .b2-step__no { background: var(--b2-green); color: #fff; }
.b2-step b { font-size: 16px; font-weight: 600; line-height: 1.35; margin-top: 6px; }
.b2-step span { color: var(--b2-muted); font-size: 14px; line-height: 1.55; }
@media (max-width: 991px) {
	.b2-steps__list { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
	.b2-step::before { display: none; }
}
@media (max-width: 575px) { .b2-steps__list { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Abschluss-CTA (Text + Kontaktkarte) und Statement
   ========================================================================== */
.b2-cta .b2-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 32px 64px; padding-block: clamp(56px, 7vw, 100px); }
.b2-cta__text { flex: 1.3 1 420px; display: flex; flex-direction: column; gap: 16px; }
.b2-cta__text p { color: var(--b2-muted); max-width: 520px; }
.b2-cta__card { flex: 1 1 340px; background: var(--b2-green-dark); color: #fff; border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.b2-cta__card strong { font-size: 20px; }
.b2-cta__card a { color: #fff; font-weight: 600; font-size: 18px; } .b2-cta__card a + a { color: #dff3ec; font-weight: 400; font-size: 16px; }
.b2-cta__card small { color: #dff3ec; font-size: 14px; }

.b2-statement .b2-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 32px 64px; padding-block: clamp(56px, 7vw, 100px); }
.b2-statement__text { flex: 2 1 460px; font-size: clamp(30px, 3.5vw, 50px); font-weight: 600; letter-spacing: -0.03em; line-height: 1.12; }
.b2-statement__side { flex: 1 1 280px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.b2-statement__side a.b2-link { font-weight: 500; }

/* ==========================================================================
   MODUL: Kursplan (Wochenübersicht)
   ========================================================================== */
.b2-schedule .b2-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: clamp(40px, 5vw, 70px) clamp(56px, 7vw, 100px); }
.b2-schedule__filters { display: flex; flex-wrap: wrap; gap: 8px; }
.b2-schedule__filters .b2-filter { min-height: 44px; padding: 0 18px; border-radius: var(--b2-radius-pill); border: 2px solid var(--b2-line); background: #fff; font: 600 15px/1 var(--b2-font); color: var(--b2-ink); cursor: pointer; transition: all .15s ease; }
.b2-schedule__filters .b2-filter:hover { border-color: var(--b2-green); }
.b2-schedule__filters .b2-filter.is-active { background: var(--b2-green-dark); border-color: var(--b2-green-dark); color: #fff; }
.b2-schedule__days { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; align-items: start; }
.b2-day { background: var(--b2-surface); border-radius: 24px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.b2-day h3 { font: 700 15px/1.2 var(--b2-font); letter-spacing: .06em; text-transform: uppercase; padding: 4px 6px 8px; color: var(--b2-muted); }
.b2-slot { background: #fff; border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 4px; border-left: 5px solid var(--c, var(--b2-green)); transition: transform .18s ease, box-shadow .18s ease; }
.b2-slot:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -16px rgba(0,0,0,.4); }
.b2-slot[hidden] { display: none; }
.b2-slot time { font: 700 14px/1.3 var(--b2-font-display); color: var(--c-text, var(--b2-green-dark)); }
.b2-slot b { font-size: 15px; line-height: 1.3; }
.b2-slot span { font-size: 13px; color: var(--b2-muted); }
.b2-day__empty { font-size: 13px; color: var(--b2-muted); padding: 6px; }
.b2-schedule__hint { color: var(--b2-muted); font-size: 14px; }
@media (max-width: 1100px) { .b2-schedule__days { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .b2-schedule__days { grid-template-columns: 1fr; } }

/* ==========================================================================
   MODUL: Vorteile / Kennzahlen-Leiste (Vorschlag)
   ========================================================================== */
.b2-stats .b2-wrap { padding-block: 0 clamp(40px, 5vw, 70px); }
.b2-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.b2-stat { border-radius: 26px; padding: 26px 28px; background: var(--c-tint, var(--b2-surface)); display: flex; flex-direction: column; gap: 4px; }
.b2-stat strong { font: 700 clamp(34px, 3.4vw, 48px)/1 var(--b2-font-display); letter-spacing: -0.03em; color: var(--c-text, var(--b2-green-dark)); }
.b2-stat span { color: var(--b2-muted); font-size: 15px; }
@media (max-width: 991px) { .b2-stats__grid { grid-template-columns: 1fr 1fr; } }

/* ==========================================================================
   MODUL: Team / Ansprechpartner (Vorschlag)
   ========================================================================== */
.b2-team .b2-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: clamp(56px, 7vw, 100px); }
.b2-team__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.b2-person { display: flex; flex-direction: column; gap: 14px; }
.b2-person .b2-media { aspect-ratio: 4 / 5; border-radius: 28px; }
.b2-person:hover .b2-media img { transform: scale(1.04); }
.b2-person b { font-size: 20px; line-height: 1.2; }
.b2-person span { color: var(--b2-muted); font-size: 15px; }
@media (max-width: 991px) { .b2-team__grid { grid-template-columns: 1fr 1fr; } }

/* ==========================================================================
   MODUL: Job-Liste (Vorschlag für Jobs-Seite)
   ========================================================================== */
.b2-jobs .b2-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: clamp(56px, 7vw, 100px); }
.b2-jobs__list { display: flex; flex-direction: column; gap: 12px; }
.b2-job { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: 26px 30px; background: var(--b2-surface); border-radius: 26px; transition: background-color .2s ease, transform .2s ease; }
.b2-job:hover { background: var(--b2-green-tint); transform: translateX(4px); }
.b2-job__main { display: flex; flex-direction: column; gap: 6px; flex: 1 1 360px; }
.b2-job__main b { font-size: 22px; line-height: 1.25; }
.b2-job__main span { color: var(--b2-muted); font-size: 15px; }
.b2-job__meta { display: flex; flex-wrap: wrap; gap: 8px; }
.b2-pill { padding: 6px 14px; border-radius: var(--b2-radius-pill); background: #fff; font-size: 13px; font-weight: 600; color: var(--b2-green-dark); }

/* ---------- Scroll-Reveal (dezent, respektiert reduced-motion) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.b2-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
	.b2-reveal.is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body.b2fit * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
.b2-embed{background:#fff;border-radius:24px;overflow:hidden}.b2-embed iframe{width:100%;border:0;min-height:640px}

/* ---------- Textabschnitt (b2_richtext) ---------- */
.b2-rich .b2-wrap { padding-block: clamp(40px, 5vw, 72px); }
.b2-rich__grid { display: flex; flex-wrap: wrap; gap: 32px 64px; align-items: center; }
.b2-rich__text { flex: 1.2 1 420px; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.b2-rich--narrow .b2-rich__text { max-width: 820px; }
.b2-rich--noimg .b2-rich__text { flex-basis: 100%; }
.b2-rich__media { flex: 1 1 340px; aspect-ratio: 4 / 3; border-radius: 30px; }
.b2-rich--left .b2-rich__grid { flex-direction: row-reverse; }
.b2-rich--top .b2-rich__grid { flex-direction: column-reverse; align-items: stretch; }
.b2-rich--top .b2-rich__media { flex-basis: auto; aspect-ratio: 16 / 7; }
.b2-rich__body { color: var(--b2-muted); font-size: 17px; line-height: 1.7; }
.b2-rich__body > *:first-child { margin-top: 0; }
.b2-rich__body p { margin: 0 0 1em; }
.b2-rich__body ul, .b2-rich__body ol { margin: 0 0 1em; padding-left: 1.2em; }
.b2-rich__body li { margin-bottom: .45em; }
.b2-rich__body li::marker { color: var(--c, var(--b2-green)); }
.b2-rich__body strong { color: var(--b2-ink); }
.b2-rich__body a { color: var(--c, var(--b2-green)); text-decoration: underline; text-underline-offset: 3px; }
.b2-rich__body h3, .b2-rich__body h4 { color: var(--b2-ink); margin: 1.4em 0 .5em; }
.b2-rich__body img { max-width: 100%; height: auto; border-radius: 20px; }
.b2-panel--dark .b2-rich__body, .b2-panel--dark .b2-rich__body strong { color: var(--b2-on-dark-muted); }
.b2-panel--dark .b2-rich__body strong { color: #fff; }

/* ---------- Kategorie-Hero (b2_cathero) ---------- */
.b2-cathero { padding-top: 12px; }
.b2-cathero__box { position: relative; display: flex; align-items: flex-end; min-height: 560px; max-width: 1400px; margin-inline: auto; border-radius: 40px; overflow: hidden; background: var(--b2-dark); color: #fff; }
.b2-cathero__bg { position: absolute; inset: 0; }
.b2-cathero__bg .b2-media, .b2-cathero__bg .b2-ph { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; }
.b2-cathero__shade { position: absolute; inset: 0; background: linear-gradient(rgba(23,23,23,0) 35%, rgba(23,23,23,.82) 100%); }
.b2-cathero__content { position: relative; z-index: 1; width: 100%; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 48px; padding: 56px; }
.b2-cathero__text { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: 960px; }
.b2-cathero .b2-crumbs { padding: 0; color: #e6e6e6; }
.b2-cathero .b2-crumbs span:last-child { color: #fff; font-weight: 600; }
.b2-cathero .b2-crumbs a:hover { color: #fff; }
.b2-cathero .b2-h1 { color: #fff; font-size: clamp(34px, 4.6vw, 62px); }
@media (max-width: 767px) { .b2-cathero__content { padding: 28px 22px; } .b2-cathero__box { min-height: 460px; border-radius: 28px; } }

/* ---------- Footer-Schnellnavigation ---------- */
.b2-footer__col .b2-menu { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; }
.b2-footer__col .b2-menu a { font-size: 15px; }
@media (max-width: 575px) { .b2-footer__col .b2-menu { grid-template-columns: 1fr; } }

/* ==========================================================================
   Elemente B1–B6 (Preiskarten, Galerie, Newsletter, Kundenstimmen, Vorteile, Zitat)
   aus design-templates/elemente.html – Container-Queries → Media-Queries
   ========================================================================== */
.b2-dot{width:8px;height:8px;border-radius:50%;background:var(--c,var(--b2-green));flex:0 0 auto}
.b2-ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.b2-icobadge{width:52px;height:52px;border-radius:50%;background:var(--c-tint,var(--b2-surface));color:var(--c-text,var(--b2-green-dark));display:grid;place-items:center;flex:0 0 auto}
.b2-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.b2-check li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}
.b2-check li::before{content:"";flex:0 0 18px;height:18px;margin-top:2px;background:var(--c-text,var(--b2-green-dark));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat}
.b2-input{width:100%;min-height:52px;padding:0 18px;border-radius:16px;border:1px solid #CFD8D5;background:#fff;color:var(--b2-ink);font:400 16px var(--b2-font)}
.b2-input:hover{border-color:#9FB0AA}
.b2-input:focus-visible{outline:3px solid var(--c,var(--b2-green));outline-offset:1px;border-color:var(--c,var(--b2-green))}
.b2-label{display:flex;flex-direction:column;gap:8px;font:600 14px var(--b2-font)}
.b2-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--b2-muted);line-height:1.5}
.b2-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--c-text,var(--b2-green-dark));flex:0 0 auto}
/* ---------- B1 Preiskarten ---------- */
.b2-price{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px;align-items:stretch}
.b2-price--2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));max-width:900px}
.b2-price__card{position:relative;display:flex;flex-direction:column;gap:16px;padding:34px 30px 30px;border-radius:28px;background:#fff;border:1px solid var(--b2-line);transition:transform .2s,box-shadow .2s}
.b2-price__card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(37,37,37,.12)}
.b2-price__card--rec{background:var(--c-text,var(--b2-green-dark));border-color:var(--c-text,var(--b2-green-dark));color:#fff;transform:scale(1.03);box-shadow:0 18px 50px rgba(37,37,37,.12)}
.b2-price__card--rec:hover{transform:scale(1.03) translateY(-4px)}
.b2-price__badge{position:absolute;top:-14px;left:30px;padding:6px 14px;border-radius:999px;background:#fff;color:var(--c-text,var(--b2-green-dark));font:700 12px var(--b2-font);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.b2-price__card:not(.b2-price__card--rec) .b2-price__badge{background:var(--c-tint,var(--b2-surface))}
.b2-price__name{font:700 14px var(--b2-font);letter-spacing:.08em;text-transform:uppercase;color:var(--b2-muted)}
.b2-price__amount{font:700 clamp(40px,4.4vw,58px)/1 var(--b2-font-display);letter-spacing:-.035em}
.b2-price__per{font-size:15px;color:var(--b2-muted);margin-top:-8px}
.b2-price__desc{margin:0;font-size:15px;color:var(--b2-muted)}
.b2-price__save{align-self:flex-start;padding:5px 12px;border-radius:999px;background:var(--c-tint,var(--b2-surface));color:var(--c-text,var(--b2-green-dark));font:700 13px var(--b2-font)}
.b2-price__card--rec .b2-price__name,.b2-price__card--rec .b2-price__per,.b2-price__card--rec .b2-price__desc{color:rgba(255,255,255,.88)}
.b2-price__card--rec .b2-price__save{background:#fff;color:var(--c-text,var(--b2-green-dark))}
.b2-price__card--rec .b2-check li::before{background:#fff}
.b2-price__card .b2-btn{margin-top:auto;align-self:flex-start}
.b2-price__group+.b2-price__group{margin-top:44px}
.b2-price__grouphead{display:flex;align-items:center;gap:12px;margin:0 0 22px;font:700 20px var(--b2-font-display)}
.b2-foot{margin:18px 0 0;font-size:13px;color:var(--b2-muted)}
@media (max-width:700px){
  .b2-price__card--rec,.b2-price__card--rec:hover{transform:none}
  .b2-price__card{padding:30px 24px 24px}
}

/* ---------- B2 Galerie ---------- */
.b2-masonry{columns:4 220px;column-gap:14px}
.b2-masonry figure{margin:0 0 14px;break-inside:avoid}
.b2-thumb{all:unset;box-sizing:border-box;display:block;width:100%;border-radius:26px;overflow:hidden;cursor:zoom-in;position:relative}
.b2-thumb .b2-ph{transition:transform .35s}
.b2-thumb:hover .b2-ph,.b2-thumb:focus-visible .b2-ph{transform:scale(1.04)}
.b2-thumb:focus-visible{outline:3px solid var(--c,var(--b2-green));outline-offset:3px}
.b2-masonry figcaption,.b2-strip figcaption,.b2-slide figcaption{margin-top:8px;font-size:14px;color:var(--b2-muted)}
.b2-lightbox{border:0;padding:0;border-radius:28px;max-width:min(920px,92vw);width:100%;background:#fff}
.b2-lightbox::backdrop{background:rgba(23,23,23,.82)}
.b2-lightbox .b2-ph{aspect-ratio:3/2;border-radius:0;font-size:15px}
.b2-lightbox__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px}
.b2-iconbtn{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #CFD8D5;background:#fff;color:var(--b2-ink);cursor:pointer;transition:background .2s,color .2s}
.b2-iconbtn:hover{background:var(--c-text,var(--b2-green-dark));border-color:var(--c-text,var(--b2-green-dark));color:#fff}
.b2-iconbtn[disabled]{opacity:.4;cursor:default;background:#fff;color:var(--b2-ink)}
.b2-slider{position:relative}
.b2-slider__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:none}
.b2-slider__track::-webkit-scrollbar{display:none}
.b2-slide{flex:0 0 calc((100% - 32px)/2.4);scroll-snap-align:start;margin:0}
.b2-slide .b2-ph{aspect-ratio:4/3;border-radius:26px}
.b2-slider__nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}
.b2-dots{display:flex;gap:8px}
.b2-dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:#CFD8D5;cursor:pointer;transition:width .25s,background .25s}
.b2-dots button[aria-current="true"]{width:28px;background:var(--c-text,var(--b2-green-dark))}
.b2-dots button:focus-visible{outline-offset:4px}
.b2-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.b2-strip figure{margin:0}
.b2-strip .b2-ph{aspect-ratio:4/5;border-radius:26px}
@media (max-width:700px){
  .b2-masonry{columns:2 140px;column-gap:10px}
  .b2-slide{flex-basis:84%}
  .b2-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory}
  .b2-strip figure{scroll-snap-align:start}
}

/* ---------- B3 Newsletter ---------- */
.b2-news{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 56px}
.b2-news__text{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:10px}
.b2-news__form{flex:1.2 1 460px;min-width:0;display:flex;flex-direction:column;gap:12px}
.b2-news__row{display:flex;gap:8px;padding:6px;border-radius:999px;background:#fff;border:1px solid #CFD8D5}
.b2-news__row:focus-within{outline:3px solid var(--c,var(--b2-green));outline-offset:2px}
.b2-news__row input{flex:1;min-width:0;border:0;background:transparent;padding:0 16px;font:400 16px var(--b2-font);color:var(--b2-ink);min-height:48px}
.b2-news__row input:focus{outline:none}
.b2-news__msg{display:none;align-items:center;gap:10px;font:600 14px var(--b2-font);padding:10px 14px;border-radius:14px}
.b2-news__msg.is-show{display:flex}
.b2-news__msg--err{background:#FDEDEF;color:#B81D31}
.b2-news__msg--ok{background:var(--c-tint,var(--b2-surface));color:var(--c-text,var(--b2-green-dark))}
.b2-news--dark .b2-news__row{border-color:#3A3A3A}
.b2-news--dark .b2-consent{color:#BDBDBD}
.b2-news--dark .b2-consent a{color:#6FD3BB}
.b2-news__done{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:22px;background:var(--c-tint,var(--b2-surface));color:var(--c-text,var(--b2-green-dark));font-weight:600}
@media (max-width:700px){
  .b2-news__row{flex-direction:column;border-radius:22px;padding:8px}
  .b2-news__row .b2-btn{width:100%}
}

/* ---------- B4 Kundenstimmen ---------- */
.b2-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.b2-quote{position:relative;display:flex;flex-direction:column;gap:18px;padding:30px;border-radius:28px;background:#fff;transition:transform .2s,box-shadow .2s}
.b2-quote:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(37,37,37,.12)}
.b2-quote__mark{width:40px;height:40px;color:var(--c,var(--b2-green))}
.b2-quote__text{margin:0;font:500 18px/1.55 var(--b2-font-display);letter-spacing:-.005em;color:var(--b2-ink)}
.b2-stars{display:flex;gap:3px;color:#C08A00}
.b2-stars svg{width:18px;height:18px;fill:currentColor;stroke:none}
.b2-stars svg.off{fill:#D9DEDC}
.b2-who{display:flex;align-items:center;gap:14px;margin-top:auto}
.b2-avatar{width:52px;height:52px;border-radius:50%;flex:0 0 auto;overflow:hidden}
.b2-avatar .b2-ph{width:100%;height:100%;padding:0;font-size:0}
.b2-who strong{display:block;font:700 16px var(--b2-font-display)}
.b2-who span{font-size:14px;color:var(--b2-muted)}
.b2-example{position:absolute;top:18px;right:18px;padding:3px 10px;border-radius:999px;background:#FFF4D6;color:#6B5200;font:700 11px var(--b2-font);letter-spacing:.06em;text-transform:uppercase}
.b2-bigquote{display:grid;grid-template-columns:auto 1fr;gap:24px 40px;align-items:start}
.b2-bigquote__mark{width:72px;height:72px;color:var(--c,var(--b2-green))}
.b2-bigquote__slides{display:grid}
.b2-bigquote__slide{grid-area:1/1;display:flex;flex-direction:column;gap:24px;opacity:0;visibility:hidden;transition:opacity .4s}
.b2-bigquote__slide.is-active{opacity:1;visibility:visible}
.b2-bigquote__slide p{margin:0;font:600 clamp(24px,2.8vw,38px)/1.3 var(--b2-font-display);letter-spacing:-.02em}
@media (max-width:700px){
  .b2-bigquote{grid-template-columns:1fr}
  .b2-bigquote__mark{width:48px;height:48px}
}

/* ---------- B5 Vorteile mit Icons ---------- */
.b2-ben{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.b2-ben__item{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:28px;background:#fff;transition:transform .2s,box-shadow .2s}
.b2-ben__item:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(37,37,37,.12)}
.b2-ben__item p{margin:0;font-size:15px;color:var(--b2-muted)}
.b2-ben--2{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}
.b2-ben--2 .b2-ben__item{padding:36px;flex-direction:row;gap:22px;align-items:flex-start}
.b2-ben--2 .b2-icobadge{width:64px;height:64px}
.b2-ben--2 .b2-h3{font-size:24px;margin:0 0 8px}
.b2-ben--2 .b2-icobadge .b2-ico{width:30px;height:30px}
.b2-ben--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.b2-ben--4 .b2-ben__item{padding:24px;gap:12px}
.b2-ben--4 .b2-h3{font-size:18px;margin:0 0 6px}
.b2-ben-list .b2-h3{font-size:21px;margin:0 0 4px}
@media (max-width:1100px){.b2-ben--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.b2-ben--4{grid-template-columns:1fr}}
.b2-ben-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:0 48px}
.b2-ben-list li{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-top:1px solid var(--b2-line)}
.b2-ben-list p{margin:4px 0 0;font-size:15px;color:var(--b2-muted)}
.b2-iconset{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.b2-iconset div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:18px;background:#fff;font-size:12px;color:var(--b2-muted);text-align:center}
.b2-iconset .b2-icobadge{width:48px;height:48px}
@media (max-width:700px){
  .b2-ben--2 .b2-ben__item{flex-direction:column;padding:26px}
  .b2-iconset{grid-template-columns:repeat(4,minmax(0,1fr))}
  .b2-iconset div{padding:12px 4px;font-size:11px}
}

/* ---------- B6 Zitat + Person ---------- */
.b2-founder{display:flex;flex-wrap:wrap;align-items:center;gap:40px 72px}
.b2-founder--rev{flex-direction:row-reverse}
.b2-founder__img{flex:1 1 360px;min-width:0;max-width:520px;aspect-ratio:4/5;border-radius:30px;overflow:hidden}
.b2-founder__img .b2-ph{height:100%}
.b2-founder__body{flex:1.3 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px}
.b2-founder__quote{margin:0;font:600 clamp(26px,3vw,42px)/1.22 var(--b2-font-display);letter-spacing:-.025em;text-wrap:pretty}
.b2-founder__quote::before{content:"„";color:var(--c,var(--b2-green))}
.b2-founder__quote::after{content:"“";color:var(--c,var(--b2-green))}
.b2-founder__meta{display:flex;flex-direction:column;gap:2px}
.b2-founder__meta strong{font:700 19px var(--b2-font-display)}
.b2-founder__meta span{font-size:15px;color:var(--b2-muted)}
.b2-founder__sign{font:italic 500 26px/1 'Plus Jakarta Sans',serif;color:var(--c-text,var(--b2-green-dark));letter-spacing:-.02em}
.b2-miniquote{max-width:860px;margin:0;padding:8px 0 8px 32px;border-left:6px solid var(--c,var(--b2-green));border-radius:3px}
.b2-miniquote p{margin:0 0 14px;font:600 clamp(22px,2.4vw,32px)/1.3 var(--b2-font-display);letter-spacing:-.02em}
.b2-miniquote cite{font-style:normal;font-size:15px;color:var(--b2-muted)}
.b2-miniquote cite strong{color:var(--b2-ink)}
@media (max-width:700px){
  .b2-founder,.b2-founder--rev{flex-direction:column;align-items:stretch}
  .b2-founder__img{max-width:none}
  .b2-miniquote{padding-left:20px}
}

/* --- Anpassung an Template/SP Page Builder --- */
.b2x { padding-block: clamp(40px, 5vw, 72px); font-family: var(--b2-font); }
.b2x .b2-panel > .b2-wrap { padding-block: clamp(48px, 6vw, 80px); }
.b2x .b2-btn--primary { background: var(--c-text, var(--b2-green-dark)); color: #fff !important; }
.b2x .b2-btn--ghost { border-color: var(--c, var(--b2-green)); color: var(--c-text, var(--b2-green-dark)) !important; background: transparent; }
.b2x .b2-btn--ghost:hover { background: var(--c-tint, var(--b2-surface)); }
.b2x .b2-btn--light { background: #fff; color: var(--c-text, var(--b2-green-dark)) !important; }
.b2x .b2-head { margin-bottom: 32px; }
.b2x .b2-lead { margin: 0; color: var(--b2-muted); max-width: 620px; font-size: 17px; }
.b2-panel--dark .b2-h2, .b2-panel--dark .b2-h3 { color: #fff; }
.b2-thumb img { width: 100%; display: block; transition: transform .35s; }
.b2-thumb:hover img, .b2-thumb:focus-visible img { transform: scale(1.04); }
.b2-slide img, .b2-strip img { width: 100%; display: block; object-fit: cover; border-radius: 26px; }
.b2-slide img { aspect-ratio: 4 / 3; }
.b2-strip img { aspect-ratio: 4 / 5; }
.b2-lightbox img { width: 100%; max-height: 72vh; object-fit: contain; background: #111; display: block; }
.b2-lightbox { margin: auto; }
.b2-founder__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.b2-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.b2-price__group + .b2-price__group { margin-top: 44px; }
.b2-news__done[hidden], .b2-news__form[hidden] { display: none; }
.b2-hp { position: absolute; left: -9999px; }
.b2-kicker{display:inline-flex;align-items:center;gap:8px;font:700 13px var(--b2-font);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text,var(--b2-green-dark))}

/* ==== Elemente B7–B16 (Teil 2) ==== */
/* ---------- B7 Hinweis & Banner ---------- */
.b2-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:14px}
.b2-note{display:flex;gap:16px;align-items:flex-start;padding:24px;border-radius:24px;background:var(--c-tint,var(--b2-surface))}
.b2-note .b2-icobadge{background:#fff;width:46px;height:46px}
.b2-note__type{display:block;font:700 12px var(--b2-font);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text,var(--b2-green-dark));margin-bottom:4px}
.b2-note h3{margin:0 0 6px;font:700 18px/1.3 var(--b2-font-display)}
.b2-note p{margin:0;font-size:15px;line-height:1.55;color:#3A3A3A}
.b2-banner{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;padding:22px 22px 22px 22px;border-radius:999px;background:var(--c-text,var(--b2-green-dark));color:#fff}
.b2-banner__date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:96px;height:96px;border-radius:50%;background:#fff;color:var(--c-text,var(--b2-green-dark));font:700 14px/1.15 var(--b2-font);text-align:center}
.b2-banner__date strong{font:700 26px/1 var(--b2-font-display)}
.b2-banner__text{flex:1 1 320px;min-width:0}
.b2-banner__text h3{margin:0 0 4px;font:700 clamp(20px,2vw,26px)/1.2 var(--b2-font-display);color:#fff}
.b2-banner__text p{margin:0;font-size:15px;color:rgba(255,255,255,.88)}
.b2-banner .b2-btn{margin-right:8px}
.b2-phone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:36px clamp(24px,4vw,56px);border-radius:40px;background:var(--c-tint,var(--b2-surface))}
.b2-phone__label{font:700 clamp(22px,2.4vw,32px)/1.2 var(--b2-font-display);letter-spacing:-.02em;margin:0}
.b2-phone__num{display:inline-flex;align-items:center;gap:16px;font:700 clamp(30px,4.2vw,56px)/1 var(--b2-font-display);letter-spacing:-.03em;color:var(--c-text,var(--b2-green-dark));text-decoration:none}
.b2-phone__num .b2-icobadge{width:64px;height:64px;background:var(--c-text,var(--b2-green-dark));color:#fff}
.b2-phone__num:hover{color:var(--c-text,var(--b2-green-dark));text-decoration:underline;text-underline-offset:6px}
@media (max-width:700px){
  .b2-banner{border-radius:30px;padding:24px}
  .b2-banner__date{min-width:80px;height:80px}
  .b2-banner .b2-btn{width:100%;margin:0}
}

/* ---------- B8 Tabs & Embed ---------- */
.b2-tabs__list{display:flex;gap:6px;padding:6px;border-radius:999px;background:var(--b2-surface);overflow-x:auto;scrollbar-width:none;max-width:max-content}
.b2-tabs__list::-webkit-scrollbar{display:none}
.b2-tab{flex:0 0 auto;min-height:46px;padding:0 20px;border:0;border-radius:999px;background:transparent;color:var(--b2-ink);font:600 15px var(--b2-font);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.b2-tab:hover{background:#fff}
.b2-tab[aria-selected="true"]{background:var(--c-text,var(--b2-green-dark));color:#fff}
.b2-tabs__panel{margin-top:18px}
.b2-tabs__panel[hidden]{display:none}
.b2-tabs__desc{margin:0 0 14px;font-size:15px;color:var(--b2-muted)}
.b2-embed{border-radius:30px;background:#fff;border:1px solid var(--b2-line);overflow:hidden}
.b2-embed__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 20px;border-bottom:1px solid var(--b2-line);font-size:14px}
.b2-embed__bar strong{font:700 15px var(--b2-font-display)}
.b2-embed__ext{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--b2-surface);font:600 12px var(--b2-font);color:var(--b2-muted)}
.b2-embed__body{min-height:360px;padding:24px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.b2-skel{border-radius:14px;background:linear-gradient(90deg,#EEF2F1 0%,#F7F9F8 40%,#EEF2F1 80%);background-size:300% 100%;animation:b2sk 1.3s linear infinite}
@keyframes b2sk{from{background-position:100% 0}to{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.b2-skel{animation:none}}
.b2-embed__ph{display:grid;place-items:center;min-height:312px;border-radius:18px;border:1px dashed #A9B7B2;color:var(--b2-muted);font-size:14px;text-align:center;padding:20px}
.b2-fallback{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px}
.b2-fallback .b2-icobadge{width:60px;height:60px}
.b2-consentbox{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:520px;margin:0 auto;text-align:center;font-size:15px;color:#3A3A3A}
@media (max-width:700px){
  .b2-tabs__list{max-width:100%;border-radius:22px}
  .b2-embed__body{min-height:300px;padding:16px}
}

/* ---------- B9 Video ---------- */
.b2-video{display:flex;flex-wrap:wrap;align-items:center;gap:32px 56px}
.b2-video__media{flex:1.4 1 520px;min-width:0;position:relative;aspect-ratio:16/9;border-radius:30px;overflow:hidden;background:var(--b2-dark)}
.b2-video__media .b2-ph{position:absolute;inset:0}
.b2-video__play{position:absolute;inset:0;margin:auto;width:96px;height:96px;border-radius:50%;border:0;background:#fff;color:var(--c-text,var(--b2-green-dark));display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.25);transition:transform .2s,background .2s,color .2s}
.b2-video__play svg{width:36px;height:36px;fill:currentColor;stroke:none;margin-left:5px}
.b2-video__play:hover{transform:scale(1.08);background:var(--c-text,var(--b2-green-dark));color:#fff}
.b2-video__dur{position:absolute;right:18px;bottom:18px;padding:6px 12px;border-radius:999px;background:rgba(23,23,23,.8);color:#fff;font:600 13px var(--b2-font)}
.b2-video__consent{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:rgba(23,23,23,.92);color:#EDEDED;text-align:center;font-size:15px}
.b2-video__consent p{margin:0;max-width:460px}
.b2-video__consent a{color:#6FD3BB}
.b2-video.is-consent .b2-video__consent{display:flex}
.b2-video__playing{position:absolute;inset:0;display:none;place-items:center;background:#000;color:#BDBDBD;font-size:14px;text-align:center;padding:20px}
.b2-video.is-playing .b2-video__playing{display:grid}
.b2-video__body{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}
@media (max-width:700px){
  .b2-video__play{width:72px;height:72px}
}

/* ---------- B10 Timeline ---------- */
.b2-tl{list-style:none;margin:0;padding:0;position:relative}
.b2-tl::before{content:"";position:absolute;left:calc(170px + 23px);top:12px;bottom:12px;width:2px;background:#CFD8D5}
.b2-tl__item{display:grid;grid-template-columns:170px 48px minmax(0,1fr);align-items:start;padding:0 0 18px}
.b2-tl__time{padding-top:20px;text-align:right;padding-right:6px;font:700 15px var(--b2-font);color:var(--c-text,var(--b2-green-dark))}
.b2-tl__dot{position:relative;z-index:1;justify-self:center;margin-top:20px;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #CFD8D5;transition:background .2s,border-color .2s}
.b2-tl__card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:22px;align-items:flex-start;width:100%;padding:22px 24px;border-radius:24px;background:#fff;border:2px solid transparent;transition:border-color .2s,box-shadow .2s}
.b2-tl__card:hover{box-shadow:0 18px 50px rgba(37,37,37,.12)}
.b2-tl__card:focus-visible{outline:3px solid var(--c,var(--b2-green));outline-offset:3px}
.b2-tl__card h3{margin:0 0 6px;font:700 20px/1.25 var(--b2-font-display)}
.b2-tl__card p{margin:0;font-size:15px;color:var(--b2-muted)}
.b2-tl__img{flex:0 0 150px;aspect-ratio:4/3;border-radius:18px;overflow:hidden}
.b2-tl__img .b2-ph{height:100%;font-size:11px;padding:10px}
.b2-tl__item.is-active .b2-tl__dot{background:var(--c,var(--b2-green));border-color:var(--c,var(--b2-green))}
.b2-tl__item.is-active .b2-tl__card{border-color:var(--c,var(--b2-green))}
.b2-tl__chip{display:inline-block;margin-bottom:8px}
.b2-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.b2-phase{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:0 0 4px}
.b2-phase__bar{height:10px;border-radius:999px;background:#CFD8D5;transition:background .2s}
.b2-phase__time{font:700 13px var(--b2-font);letter-spacing:.08em;text-transform:uppercase;color:var(--b2-muted)}
.b2-phase h3{margin:0;font:700 19px/1.25 var(--b2-font-display)}
.b2-phase p{margin:0;font-size:15px;color:var(--b2-muted)}
.b2-phase.is-active .b2-phase__bar,.b2-phase.is-done .b2-phase__bar{background:var(--c,var(--b2-green))}
.b2-phase.is-done .b2-phase__bar{opacity:.45}
.b2-phase.is-active .b2-phase__time{color:var(--c-text,var(--b2-green-dark))}
.b2-phase:focus-visible{outline:3px solid var(--c,var(--b2-green));outline-offset:6px;border-radius:12px}
@media (max-width:700px){
  .b2-tl::before{left:11px}
  .b2-tl__item{grid-template-columns:24px minmax(0,1fr);column-gap:12px}
  .b2-tl__time{grid-column:2;grid-row:1;text-align:left;padding:0 0 6px}
  .b2-tl__dot{grid-column:1;grid-row:1 / span 2;margin-top:2px}
  .b2-tl__card{grid-column:2;flex-direction:column;padding:18px}
  .b2-tl__img{flex-basis:auto;width:100%}
  .b2-phases{grid-template-columns:1fr;gap:18px}
}

/* ---------- B11 Drei Listen ---------- */
.b2-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.b2-col{border-radius:28px;background:#fff;overflow:hidden}
.b2-col summary{list-style:none;display:flex;align-items:center;gap:14px;padding:26px 26px 18px;cursor:default}
.b2-col summary::-webkit-details-marker{display:none}
.b2-col summary h3{margin:0;flex:1;font:700 21px/1.2 var(--b2-font-display)}
.b2-col__chev{display:none;width:34px;height:34px;border-radius:50%;background:#fff;place-items:center;transition:transform .2s}
.b2-col[open] .b2-col__chev{transform:rotate(180deg)}
.b2-col .b2-check{padding:0 26px 28px}
.b2-col--1{background:var(--c-text,var(--b2-green-dark));color:#fff}
.b2-col--1 .b2-check li::before{background:#fff}
.b2-col--1 .b2-icobadge{background:rgba(255,255,255,.16);color:#fff}
.b2-col--2{background:var(--c-tint,var(--b2-surface))}
.b2-col--2 .b2-icobadge{background:#fff}
.b2-col--3{background:#fff;border:2px solid var(--c-tint,var(--b2-surface))}
.b2-apply{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-top:24px;padding:26px 30px;border-radius:28px;background:var(--b2-dark);color:#EDEDED}
.b2-apply__who{display:flex;align-items:center;gap:16px}
.b2-apply__who .b2-avatar{width:60px;height:60px}
.b2-apply strong{display:block;font:700 19px var(--b2-font-display);color:#fff}
.b2-apply span{font-size:14px;color:#BDBDBD}
@media (max-width:700px){
  .b2-cols{grid-template-columns:1fr;gap:10px}
  .b2-col summary{cursor:pointer;padding:20px}
  .b2-col__chev{display:grid}
  .b2-col--1 .b2-col__chev{background:rgba(255,255,255,.16)}
  .b2-col .b2-check{padding:0 20px 22px}
  .b2-apply{padding:22px}
  .b2-apply .b2-btn{width:100%}
}

/* ---------- B12 Rechtstext ---------- */
.b2-subhero--legal{padding:56px 0 40px;border-bottom:1px solid var(--b2-line)}
.b2-subhero--legal h1{margin:8px 0 6px;font:600 clamp(36px,4.4vw,60px)/1.04 var(--b2-font-display);letter-spacing:-.035em}
.b2-subhero--legal p{margin:0;color:var(--b2-muted);font-size:15px}
.b2-legal{display:grid;grid-template-columns:280px minmax(0,760px);gap:64px;padding-top:48px;padding-bottom:72px}
.b2-toc{position:sticky;top:84px;align-self:start;border-radius:24px;background:var(--b2-surface);padding:6px 6px 10px}
.b2-toc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;font:700 14px var(--b2-font);letter-spacing:.06em;text-transform:uppercase;color:var(--b2-muted);cursor:default}
.b2-toc summary::-webkit-details-marker{display:none}
.b2-toc ol{list-style:none;margin:0;padding:0 6px;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow:auto}
.b2-toc a{display:block;padding:8px 10px;border-radius:12px;font-size:14px;line-height:1.4;color:var(--b2-ink);text-decoration:none}
.b2-toc a.lvl3{padding-left:24px;font-size:13px;color:var(--b2-muted)}
.b2-toc a:hover{background:#fff}
.b2-toc a[aria-current="true"]{background:var(--c-text,var(--b2-green-dark));color:#fff}
.b2-prose{font-size:16px;line-height:1.7;counter-reset:h2}
.b2-prose h2{counter-increment:h2;counter-reset:h3;margin:48px 0 14px;font:700 26px/1.25 var(--b2-font-display);letter-spacing:-.015em;scroll-margin-top:90px}
.b2-prose h2::before{content:counter(h2) ". ";color:var(--c-text,var(--b2-green-dark))}
.b2-prose h3{counter-increment:h3;margin:28px 0 10px;font:700 19px/1.3 var(--b2-font-display);scroll-margin-top:90px}
.b2-prose h3::before{content:counter(h2) "." counter(h3) " ";color:var(--c-text,var(--b2-green-dark))}
.b2-prose h2:first-child{margin-top:0}
.b2-prose p{margin:0 0 16px}
.b2-prose ul,.b2-prose ol{margin:0 0 16px;padding-left:22px}
.b2-prose li{margin-bottom:6px}
.b2-prose table{width:100%;border-collapse:collapse;margin:8px 0 20px;font-size:15px}
.b2-prose th,.b2-prose td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--b2-line)}
.b2-prose thead th{background:var(--b2-surface);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--b2-muted)}
.b2-prose address{font-style:normal;padding:18px 20px;border-radius:18px;background:var(--b2-surface);margin:0 0 16px}
.b2-totop{display:inline-flex;align-items:center;gap:8px;margin-top:32px;font:700 14px var(--b2-font);color:var(--c-text,var(--b2-green-dark));text-decoration:none}
.b2-totop svg{width:18px;height:18px}
@media (max-width:700px){
  .b2-legal{grid-template-columns:1fr;gap:24px;padding-top:24px}
  .b2-toc{position:static}
  .b2-toc summary{cursor:pointer}
  .b2-toc ol{max-height:none}
  .b2-prose h2{font-size:22px;margin-top:36px}
  .b2-prose table{display:block;overflow-x:auto}
}

/* ---------- B13 Blog ---------- */
.b2-art__head{max-width:900px;margin:0 auto;padding:0 var(--b2-pad);text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.b2-art__head h1{margin:0;font:600 clamp(34px,4.6vw,62px)/1.06 var(--b2-font-display);letter-spacing:-.035em;text-wrap:balance}
.b2-art__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:15px;color:var(--b2-muted)}
.b2-art__hero{max-width:1400px;margin:36px auto 0;padding:0 24px}
.b2-art__hero .b2-ph{aspect-ratio:21/9;border-radius:40px}
.b2-art__body{max-width:760px;margin:0 auto;padding:48px var(--b2-pad) 0;font-size:18px;line-height:1.75}
.b2fit .b2-art__body h2{margin:36px 0 12px;font:700 26px/1.25 var(--b2-font-display);letter-spacing:-.015em}
.b2fit .b2-art__body p{margin:0 0 18px}
.b2fit .b2-art__body ol,.b2fit .b2-art__body ul{margin:0 0 22px;padding-left:24px}
.b2-art__body li{margin-bottom:12px;padding-left:4px}
.b2-art__body li::marker{font-weight:700;color:var(--c-text,var(--b2-green-dark))}
.b2-art__body strong{font-weight:700;color:var(--b2-ink)}
.b2-fazit{margin:32px 0;padding:28px 30px;border-radius:26px;background:var(--c-tint,var(--b2-surface))}
.b2-fazit strong{display:block;margin-bottom:8px;font:700 13px var(--b2-font);letter-spacing:.1em;text-transform:uppercase;color:var(--c-text,var(--b2-green-dark))}
.b2fit .b2-fazit p{margin:0;font:600 19px/1.5 var(--b2-font-display);color:var(--b2-ink)}
.b2-author{display:flex;gap:18px;align-items:center;margin:40px 0 0;padding:22px;border-radius:24px;background:var(--b2-surface)}
.b2-author .b2-avatar{width:68px;height:68px}
.b2-author strong{display:block;font:700 17px var(--b2-font-display)}
.b2-author span{font-size:14px;color:var(--b2-muted)}
.b2-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.b2-post{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:#fff;text-decoration:none;color:var(--b2-ink);transition:transform .2s,box-shadow .2s}
.b2-post:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(37,37,37,.12);color:var(--b2-ink)}
.b2-post .b2-ph{aspect-ratio:16/10;border-radius:0}
.b2-post__body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 26px}
.b2-post__body h3{margin:0;font:700 20px/1.25 var(--b2-font-display)}
.b2-post__meta{font-size:13px;color:var(--b2-muted)}
.b2-post[hidden]{display:none}
.b2-postssec .b2-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.b2-postssec .b2-filter button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #CFD8D5;background:#fff;color:var(--b2-ink);font:600 14px var(--b2-font);cursor:pointer}
.b2-postssec .b2-filter button:hover{border-color:var(--c,var(--b2-green))}
.b2-postssec .b2-filter button[aria-pressed="true"]{background:var(--c-text,var(--b2-green-dark));border-color:var(--c-text,var(--b2-green-dark));color:#fff}
@media (max-width:700px){
  .b2-art__head{padding:0 22px}
  .b2-art__hero{padding:0 12px}
  .b2-art__hero .b2-ph{aspect-ratio:4/3;border-radius:28px}
  .b2-art__body{padding:32px 22px 0;font-size:17px}
  .b2-author{flex-direction:column;align-items:flex-start}
}

/* ---------- B14 Unterseiten-Übersicht ---------- */
.b2-overviewsec .b2-rows{display:flex;flex-direction:column;gap:16px}
.b2-overviewsec .b2-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;border-radius:40px;overflow:hidden;background:#fff;text-decoration:none;color:var(--b2-ink);transition:box-shadow .2s}
.b2-overviewsec .b2-row:hover{box-shadow:0 18px 50px rgba(37,37,37,.12);color:var(--b2-ink)}
.b2-overviewsec .b2-row:nth-child(even) .b2-row__img{order:2}
.b2-row__img{min-height:300px}
.b2-row__img .b2-ph{height:100%;border-radius:0;transition:transform .4s}
.b2-overviewsec .b2-row:hover .b2-row__img .b2-ph{transform:scale(1.03)}
.b2-row__img{overflow:hidden}
.b2-overviewsec .b2-row__body{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(28px,4vw,56px)}
.b2-row__num{font:700 clamp(40px,4vw,60px)/1 var(--b2-font-display);color:var(--c,var(--b2-green));letter-spacing:-.03em}
.b2-overviewsec .b2-row__body h3{margin:0;font:700 clamp(24px,2.4vw,34px)/1.15 var(--b2-font-display);letter-spacing:-.02em}
.b2-overviewsec .b2-row__body p{margin:0;color:var(--b2-muted);font-size:16px}
.b2-overviewsec .b2-row .b2-link{pointer-events:none}
.b2-grid22{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.b2-grid22 .b2-tile{display:flex;flex-direction:column;gap:14px;padding:32px;border-radius:28px;background:#fff;text-decoration:none;color:var(--b2-ink);transition:transform .2s,box-shadow .2s}
.b2-grid22 .b2-tile:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(37,37,37,.12);color:var(--b2-ink)}
.b2-grid22 .b2-tile__top{display:flex;justify-content:space-between;align-items:center}
.b2-grid22 .b2-tile__num{font:700 15px var(--b2-font);color:var(--c-text,var(--b2-green-dark));letter-spacing:.08em}
.b2-grid22 .b2-tile h3{margin:0;font:700 24px/1.2 var(--b2-font-display)}
.b2-grid22 .b2-tile p{margin:0;font-size:15px;color:var(--b2-muted)}
.b2-overviewsec .b2-statement{margin:48px 0 0;font:600 clamp(26px,3.2vw,44px)/1.18 var(--b2-font-display);letter-spacing:-.025em;text-wrap:balance}
.b2-overviewsec .b2-statement em{font-style:normal;color:var(--c-text,var(--b2-green-dark))}
@media (max-width:700px){
  .b2-overviewsec .b2-row{grid-template-columns:1fr;border-radius:28px}
  .b2-overviewsec .b2-row:nth-child(even) .b2-row__img{order:0}
  .b2-row__img{min-height:0;aspect-ratio:16/10}
  .b2-grid22{grid-template-columns:1fr}
  .b2-grid22 .b2-tile{padding:24px}
}

/* ---------- B15 Landingpage-Hero ---------- */
.b2-lphead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--b2-pad);border-bottom:1px solid var(--b2-line)}
.b2-lphead__logo{width:120px;height:46px;border-radius:12px}
.b2-lphead__logo .b2-ph{height:100%;padding:0 10px;align-items:center;font-size:12px}
.b2-lphead__tel{display:inline-flex;align-items:center;gap:10px;font:700 17px var(--b2-font-display);color:var(--b2-ink);text-decoration:none}
.b2-lphead__tel .b2-icobadge{width:44px;height:44px}
.b2-lp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px 64px;align-items:center}
.b2-lp__pitch{display:flex;flex-direction:column;gap:22px}
.b2-lp__pitch h1{margin:0;font:600 clamp(38px,5vw,70px)/1.02 var(--b2-font-display);letter-spacing:-.035em;text-wrap:balance}
.b2-lp__price{display:inline-flex;align-items:baseline;gap:12px;align-self:flex-start;padding:12px 22px;border-radius:999px;background:var(--c-tint,var(--b2-surface));color:var(--c-text,var(--b2-green-dark))}
.b2-lp__price strong{font:700 30px var(--b2-font-display);letter-spacing:-.02em}
.b2-lp__price span{font:600 15px var(--b2-font)}
.b2-lp .b2-check li{font-size:17px}
.b2-form{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3vw,36px);border-radius:30px;background:#fff;box-shadow:0 18px 50px rgba(37,37,37,.12)}
.b2-form h2{margin:0 0 4px;font:700 24px/1.2 var(--b2-font-display)}
.b2-form .b2-btn{width:100%}
.b2-trust{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--b2-muted)}
.b2-trust span{display:inline-flex;align-items:center;gap:6px}
.b2-trust svg{width:16px;height:16px;color:var(--c-text,var(--b2-green-dark))}
.b2-form__ok{display:none;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px 8px}
.b2-form.is-sent > :not(.b2-form__ok){display:none}
.b2-form.is-sent .b2-form__ok{display:flex}
@media (max-width:700px){
  .b2-lphead{padding:12px 22px}
  .b2-lphead__tel span:last-child{display:none}
  .b2-lp{grid-template-columns:1fr}
}

/* ---------- B16 IHHT-Diagramm ---------- */
.b2-ihht{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px 48px;align-items:center}
.b2-ihht__chart{padding:24px;border-radius:28px;background:#fff}
.b2-ihht__chart svg{width:100%;height:auto;display:block}
.b2-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:14px;color:var(--b2-muted)}
.b2-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:8px;vertical-align:-2px}
.b2-ihht__fx{display:flex;flex-direction:column;gap:12px}
.b2-fx{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:22px;background:#fff}
.b2-fx strong{display:block;font:700 18px var(--b2-font-display);margin-bottom:2px}
.b2-fx span{font-size:15px;color:var(--b2-muted)}
.b2-ihht__mobile{display:none;list-style:none;margin:0;padding:0;flex-direction:column;gap:8px}
.b2-ihht__mobile li{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-radius:16px;font-weight:600;font-size:15px}
.b2-ihht__mobile .hypo{background:#FDEDEF;color:#B81D31}
.b2-ihht__mobile .hyper{background:#E3F2EE;color:#06775E}
@media (max-width:700px){
  .b2-ihht{grid-template-columns:1fr}
  .b2-ihht__chart svg{display:none}
  .b2-ihht__mobile{display:flex}
  .b2-ihht__chart{padding:16px}
}

/* ---------- Korrektur: Text in Buttons (phrasing content) ---------- */
.b2-tl__card .tt{display:block;margin:0 0 6px;font:700 20px/1.25 var(--b2-font-display);color:var(--b2-ink)}
.b2-tl__card .dd{display:block;font-size:15px;color:var(--b2-muted)}
.b2-phase .tt{display:block;font:700 19px/1.25 var(--b2-font-display);color:var(--b2-ink)}
.b2-phase .dd{display:block;font-size:15px;color:var(--b2-muted)}

/* --- Anpassung Page Builder (B7–B16) --- */
.b2x.b2-flush{padding-block:0}
.b2-note__text{min-width:0}
.b2-tabs__list{flex-wrap:nowrap}
.b2-embed__body iframe{width:100%;border:0;min-height:360px}
.b2-embed__body{align-items:stretch}
.b2-video__media img,.b2-tl__img img,.b2-row__img img,.b2-post img,.b2-art__hero img{width:100%;height:100%;object-fit:cover;display:block}
.b2-video__media img{position:absolute;inset:0}
.b2-video__media iframe,.b2-video__media video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.b2-video.is-playing .b2-video__play,.b2-video.is-playing .b2-video__dur{display:none}
.b2-tl__img{display:block}
.b2-tl__card{text-align:left}
.b2-row__img{display:block}
.b2-row__img img{transition:transform .4s}
.b2-overviewsec .b2-row:hover .b2-row__img img{transform:scale(1.03)}
.b2-art__hero img{aspect-ratio:21/9;border-radius:40px}
.b2-post img{aspect-ratio:16/10;height:auto;flex:0 0 auto}
.b2-prose--para h2::before{content:"§ " counter(h2) " "}
.b2-prose--none h2::before,.b2-prose--none h3::before{content:none}
.b2-prose--para h3::before{content:none}
.b2-art__body .b2-prose-in img{max-width:100%;height:auto;border-radius:20px}
.b2-lphead__logo img{height:100%;width:auto;display:block}
.b2-form__err{display:none;padding:10px 14px;border-radius:14px;background:#FDEDEF;color:#B81D31;font:600 14px var(--b2-font)}
.b2-form__err.is-show{display:block}
.b2-form [aria-invalid="true"]{border-color:#B81D31}
.b2-form .b2-hp{position:absolute;left:-9999px}
body:has(.b2-lphead) .b2-header,body:has(.b2-lphead) .b2-footer{display:none}
.b2-video--below .b2-video__media{flex:1 1 100%}
.b2-video--below .b2-video__body{flex:1 1 100%}
.b2-legal--notoc{grid-template-columns:minmax(0,760px)}
.b2-tabs__panel .b2-embed__body > *{max-width:100%}
@media (max-width:700px){.b2-art__hero img{aspect-ratio:4/3;border-radius:28px}.b2-legal--notoc{grid-template-columns:1fr}}

/* ---------- Insite-Navigation (Bereich + Seiten derselben Menüebene) ---------- */
.b2-insitenav { border-bottom: 1px solid var(--b2-line); background: var(--b2-white); font-size: 14px; }
.b2-insitenav__in { display: flex; align-items: center; gap: 6px 18px; min-height: 56px; padding-block: 8px; }
.b2-insitenav__parent {
	display: inline-flex; align-items: center; gap: 8px; flex: none; padding-right: 18px;
	border-right: 1px solid var(--b2-line);
	color: var(--c-text, var(--b2-green-dark)); font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
}
a.b2-insitenav__parent:hover { text-decoration: underline; text-underline-offset: 4px; }
.b2-insitenav__list {
	position: relative; display: flex; gap: 4px; flex: 1 1 auto; min-width: 0;
	list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth;
}
.b2-insitenav__list::-webkit-scrollbar { display: none; }
.b2-insitenav__list a {
	display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; white-space: nowrap;
	border-radius: var(--b2-radius-pill); color: var(--b2-muted); font-weight: 500;
	transition: background-color .15s ease, color .15s ease;
}
.b2-insitenav__list a:hover { background: var(--b2-surface); color: var(--b2-ink); }
.b2-insitenav__list a[aria-current="page"] { background: var(--c-tint, var(--b2-green-tint)); color: var(--c-text, var(--b2-green-dark)); font-weight: 600; }
.b2-insitenav__next { display: inline-flex; align-items: center; gap: 6px; flex: none; color: var(--c-text, var(--b2-green-dark)); font-weight: 600; }
.b2-insitenav__next svg { width: 16px; height: 16px; transition: transform .18s ease; }
.b2-insitenav__next:hover svg { transform: translateX(3px); }
.b2-insitenav__hint { color: var(--b2-muted); }
.b2-insitenav.is-scroll .b2-insitenav__list { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); }
.b2-insitenav.is-scroll.is-end .b2-insitenav__list { -webkit-mask-image: none; mask-image: none; }
body:has(.b2-insitenav--nocrumbs) .b2-subhero .b2-crumbs { display: none; }
@media (max-width: 767px) {
	.b2-insitenav__in { min-height: 52px; gap: 12px; padding-inline-end: 0; }
	.b2-insitenav__parent { padding-right: 12px; }
	.b2-insitenav__next { display: none; }
}
