.vn-hero--inset {
	background: var(--dark-bg);
}
.vn-hero--inset .bw-hero__photo,
.vn-hero--inset > .vn-hero__photo {
	inset: var(--hero-inset);
	border-radius: var(--radius-hero);
}
.bw-hero {
	position: relative;
	min-height: clamp(36rem, 88vh, 52rem);
	display: flex;
	align-items: flex-end;
}
.bw-hero__photo {
	position: absolute;
	inset: var(--hero-inset);
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-hero);
}
.bw-hero__photo::after {
	border-radius: inherit;
}
.bw-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bw-hero__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			to right,
			color-mix(in srgb, var(--bw-blue-950) 72%, transparent) 0%,
			color-mix(in srgb, var(--bw-blue-950) 30%, transparent) 34%,
			transparent 60%
		),
		linear-gradient(
			to top,
			color-mix(in srgb, var(--bw-blue-950) 90%, transparent) 0%,
			color-mix(in srgb, var(--bw-blue-950) 55%, transparent) 26%,
			color-mix(in srgb, var(--bw-blue-950) 14%, transparent) 55%,
			transparent 82%
		);
}
.bw-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	padding-bottom: clamp(11rem, 19vh, 15.5rem);
	color: var(--on-dark-strong);
}
.bw-hero__headline {
	font-size: var(--fs-hero);
	line-height: 1.28;
	color: var(--on-dark-strong);
	margin-bottom: 1.9rem;
}
.bw-hero__line {
	display: block;
	text-wrap: balance;
}
.bw-hero__rotator {
	display: inline-grid;
}
.bw-hero__word {
	grid-area: 1 / 1;
	opacity: 0;
	transform: translateY(0.35em);
	transition: opacity 0.5s ease, transform 0.5s ease;
	color: var(--accent-on-dark);
	white-space: nowrap;
}
.bw-hero__word.is-active {
	opacity: 1;
	transform: none;
}
.bw-hero__headline em.vn-italic {
	color: var(--accent-on-dark);
}
.bw-hero__body {
	max-width: 56ch;
	color: var(--on-dark-strong);
	margin-bottom: 2.4rem;
}
.bw-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 1.4rem;
}
.bw-about {
	background: var(--paper);
	padding-block: clamp(3.5rem, 6vw, 5.5rem) var(--space-section);
}
.bw-about__banner {
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	aspect-ratio: 21 / 8;
}
.bw-about__banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bw-about__statement {
	font-size: clamp(1.75rem, 3.7vw, 3rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
	max-width: none;
}
.bw-headline-accent {
	color: var(--accent);
}
.bw-about__lead {
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	max-width: 64ch;
	font-size: var(--fs-body);
	line-height: 1.6;
	color: var(--ink-muted);
}
.bw-about__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
	border-top: 1px solid var(--hairline);
}
.bw-about__stat-value {
	font-family: var(--font-display);
	font-size: clamp(2.6rem, 5vw, 4rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--ink);
}
.bw-about__stat-label {
	margin: 0.6rem 0 0;
	font-size: var(--fs-small);
	color: var(--ink-muted);
	max-width: 22ch;
}

.bw-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: var(--space-block) 0 0;
	border-top: 1px solid var(--hairline);
}
.bw-stats__item {
	padding: 1.75rem clamp(1rem, 2.5vw, 2.25rem) 0.5rem;
	border-left: 1px solid var(--hairline);
}
.bw-stats__item:first-child {
	border-left: none;
	padding-left: 0;
}
.bw-stats__label {
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--ink-faint);
	font-family: var(--font-display);
	font-weight: 600;
	margin-bottom: 0.75rem;
}
.bw-stats__value {
	margin: 0 0 0.5rem;
	font-family: var(--font-display);
	font-size: var(--fs-stat);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--ink);
}
.bw-stats__desc {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--ink-muted);
	max-width: 30ch;
}
.bw-stats__source {
	margin-top: 1.5rem;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
}

.bw-collage {
	padding-block: 0 var(--space-section);
	background: var(--paper-soft);
}
.bw-collage__strip {
	display: flex;
	gap: clamp(0.6rem, 1.2vw, 1rem);
	list-style: none;
	margin: 0;
	padding: 0 clamp(0.75rem, 1.8vw, 1.5rem);
	height: clamp(16rem, 32vw, 26rem);
}
.bw-collage__cell {
	overflow: hidden;
}
.bw-collage__cell--wide {
	flex: 3 1 0;
}
.bw-collage__cell--tall {
	flex: 2 1 0;
}
.bw-collage__photo {
	margin: 0;
	height: 100%;
}
.bw-collage__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 767px) {
	.bw-hero {
		min-height: auto;
		padding-top: clamp(14rem, 50vw, 20rem);
	}
	.bw-hero__body {
		font-size: 1rem;
	}
	.bw-hero__photo img {
		object-position: 76% center;
	}
	.bw-hero__photo::after {
		background:
			linear-gradient(
				to top,
				color-mix(in srgb, var(--bw-blue-950) 90%, transparent) 0%,
				color-mix(in srgb, var(--bw-blue-950) 74%, transparent) 32%,
				color-mix(in srgb, var(--bw-blue-950) 46%, transparent) 56%,
				color-mix(in srgb, var(--bw-blue-950) 16%, transparent) 78%,
				transparent 93%
			),
			linear-gradient(
				to right,
				color-mix(in srgb, var(--bw-blue-950) 42%, transparent) 0%,
				color-mix(in srgb, var(--bw-blue-950) 10%, transparent) 48%,
				transparent 74%
			);
	}
	.bw-hero__headline,
	.bw-hero__body {
		text-shadow:
			0 1px 18px color-mix(in srgb, var(--bw-blue-950) 55%, transparent),
			0 1px 3px color-mix(in srgb, var(--bw-blue-950) 45%, transparent);
	}
	.bw-hero__inner {
		padding-inline: calc(var(--hero-inset) + var(--hero-content-gap));
	}
	.bw-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.85rem;
	}
	.bw-hero__actions .bw-cta {
		width: 100%;
	}
	.bw-hero__actions .bw-cta__label {
		flex: 1 1 auto;
		justify-content: center;
	}
	.bw-about__banner {
		aspect-ratio: 16 / 10;
	}
	.bw-about__stats {
		grid-template-columns: 1fr 1fr;
		gap: 1.75rem 1.25rem;
	}
	.bw-stats {
		grid-template-columns: 1fr;
		border-top: none;
	}
	.bw-stats__item {
		border-left: none;
		border-top: 1px solid var(--hairline);
		padding-left: 0;
	}
	.bw-collage__strip {
		flex-wrap: wrap;
		height: auto;
	}
	.bw-collage__cell {
		flex: 1 1 45%;
		aspect-ratio: 4 / 3;
	}
	.bw-collage__cell--tall {
		aspect-ratio: 3 / 4;
	}
}

.bw-services {
	padding-block: var(--space-section);
}
.bw-services__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1.5rem;
	margin-bottom: var(--space-block);
}
.bw-services__title {
	font-size: var(--fs-h2);
	max-width: 20ch;
	margin: 1rem 0 0;
}
.bw-services__header .bw-link {
	flex: 0 0 auto;
}
.bw-services__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	list-style: none;
	margin: 0;
	padding: 0;
}
.bw-svc-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--white);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	overflow: hidden;
	text-decoration: none;
	color: var(--ink);
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.25s ease;
}
.bw-svc-card:hover {
	transform: translateY(-4px);
	border-color: var(--hairline-strong);
}
.bw-svc-card__photo {
	margin: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.bw-svc-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.bw-svc-card:hover .bw-svc-card__photo img {
	transform: scale(1.05);
}
.bw-svc-card__body {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	flex: 1;
	padding: clamp(1.15rem, 2vw, 1.6rem);
}
.bw-svc-card__name {
	font-size: var(--fs-h3);
	margin: 0 0 0.35rem;
	color: var(--ink);
}
.bw-svc-card__desc {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--ink-muted);
	max-width: 28ch;
}

.bw-process {
	padding-block: var(--space-section);
}
.bw-process__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}
.bw-process__sticky {
	position: sticky;
	top: var(--sticky-top);
}
.bw-process__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
}
.bw-process__lead {
	color: var(--ink-muted);
	max-width: 42ch;
}
.bw-process__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(0.9rem, 1.8vw, 1.4rem);
	counter-reset: step;
}
.bw-process__step {
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	padding: clamp(1.4rem, 2.5vw, 2rem);
	background: var(--white);
}
.bw-process__step-label {
	font-family: var(--font-display);
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--ink-faint);
	font-weight: 600;
}
.bw-process__step-title {
	font-size: 1.4rem;
	margin: 0.5rem 0 0.6rem;
}
.bw-process__step-text {
	color: var(--ink-muted);
	margin: 0;
	max-width: 54ch;
}

.bw-rechner {
	padding-block: var(--space-section);
	position: relative;
	overflow: hidden;
}
.bw-rechner::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, color-mix(in srgb, var(--on-dark-strong) 14%, transparent) 1px, transparent 1.5px);
	background-size: 26px 26px;
	mask-image: radial-gradient(ellipse 70% 80% at 80% 30%, #000 0%, transparent 70%);
	opacity: 0.5;
}
.bw-rechner__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.bw-rechner__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
	max-width: 20ch;
}
.bw-rechner__body {
	color: var(--on-dark);
	max-width: 52ch;
}
.bw-rechner__note {
	color: var(--on-dark-muted);
	font-size: var(--fs-small);
	margin-bottom: 1.5rem;
}
.bw-rechner__panel {
	display: grid;
	gap: 0.9rem;
}
.bw-rechner__bento {
	position: relative;
	overflow: hidden;
	height: 29.5rem;
	background: var(--paper);
	border-radius: var(--radius-md);
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding-top: clamp(1.6rem, 3.5vw, 2.4rem);
}
.bw-rechner__phone {
	position: relative;
	flex: none;
	width: clamp(13.5rem, 88%, 16.5rem);
	aspect-ratio: 9 / 19.5;
	background: var(--ink);
	border-radius: calc(var(--radius-md) + 1rem);
	padding: 0.5rem;
}
.bw-rechner__notch {
	position: absolute;
	z-index: 2;
	top: 0.85rem;
	left: 50%;
	transform: translateX(-50%);
	width: 4.4rem;
	height: 1.05rem;
	border-radius: var(--radius-chip);
	background: var(--ink);
}
.bw-rechner__screen {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--white);
	border-radius: calc(var(--radius-md) + 0.55rem);
	overflow: hidden;
	padding: 2.3rem 1.15rem 1.2rem;
}
.bw-rechner__appbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	margin-bottom: 1.3rem;
}
.bw-rechner__appname {
	min-width: 0;
	font-family: var(--font-display);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bw-rechner__flag {
	flex: none;
	font-family: var(--font-display);
	font-size: var(--fs-fine);
	font-weight: 600;
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--accent);
	background: color-mix(in srgb, var(--accent) 10%, transparent);
	border-radius: var(--radius-chip);
	padding: 0.2rem 0.55rem;
}
.bw-rechner__result {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding-bottom: 1.2rem;
	margin-bottom: 1.2rem;
	border-bottom: 1px solid var(--hairline);
}
.bw-rechner__result-label {
	font-size: var(--fs-small);
	color: var(--ink-muted);
}
.bw-rechner__result-value {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.9rem, 7vw, 2.4rem);
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--accent);
}
.bw-rechner__rows {
	display: grid;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.bw-rechner__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.bw-rechner__row-label {
	font-size: var(--fs-small);
	color: var(--ink-muted);
}
.bw-rechner__chip {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-fine);
	color: var(--ink);
	background: var(--paper-soft);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	padding: 0.3rem 0.75rem;
}
.bw-rechner__action {
	position: relative;
}
.bw-rechner__button {
	display: block;
	text-align: center;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--fs-small);
	color: var(--white);
	background: var(--accent);
	border-radius: var(--radius-sm);
	padding: 0.85rem 1rem;
}
.bw-rechner__cursor {
	position: absolute;
	right: 1.1rem;
	bottom: -0.5rem;
	width: 1.35rem;
	height: 1.65rem;
	fill: var(--white);
	stroke: var(--ink);
	stroke-width: 1.6;
}
.bw-rechner__panel-note {
	display: block;
	margin-top: 0.3rem;
	text-align: center;
	font-size: var(--fs-fine);
	color: var(--on-dark-muted);
}

.bw-rechner__panel.vn-reveal {
	transform: none;
}
.bw-rechner__phone {
	transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
	will-change: transform;
}
.bw-rechner__panel:not(.is-revealed) .bw-rechner__phone {
	transform: translateY(60px);
}
.bw-rechner__row {
	transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.bw-rechner__panel:not(.is-revealed) .bw-rechner__row {
	opacity: 0;
	transform: translateY(8px);
}
.bw-rechner__panel.is-revealed .bw-rechner__row:nth-child(1) {
	transition-delay: 0.46s;
}
.bw-rechner__panel.is-revealed .bw-rechner__row:nth-child(2) {
	transition-delay: 0.56s;
}
.bw-rechner__panel.is-revealed .bw-rechner__row:nth-child(3) {
	transition-delay: 0.66s;
}
.bw-rechner__panel:not(.is-revealed) .bw-rechner__cursor {
	opacity: 0;
}
.bw-rechner__panel.is-revealed .bw-rechner__cursor {
	animation: bw-rechner-cursor 0.9s cubic-bezier(0.23, 1, 0.32, 1) 1.05s 1 both;
}
.bw-rechner__panel.is-revealed .bw-rechner__button {
	animation: bw-rechner-press 0.45s ease 1.6s 1;
}
.bw-rechner__panel.is-revealed .bw-rechner__result-value {
	animation: bw-rechner-pop 0.4s cubic-bezier(0.23, 1, 0.32, 1) 1.62s 1;
}
@keyframes bw-rechner-cursor {
	0% {
		opacity: 0;
		transform: translateY(-3px);
	}
	35% {
		opacity: 1;
		transform: translateY(0);
	}
	62% {
		transform: translateY(4px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes bw-rechner-press {
	0%,
	100% {
		transform: none;
	}
	35% {
		transform: scale(0.97);
	}
}
@keyframes bw-rechner-pop {
	0%,
	100% {
		transform: none;
	}
	45% {
		transform: scale(1.05);
	}
}
@media (prefers-reduced-motion: reduce) {
	.bw-rechner__phone,
	.bw-rechner__row {
		transition: none;
	}
	.bw-rechner__panel:not(.is-revealed) .bw-rechner__phone {
		transform: none;
	}
	.bw-rechner__panel:not(.is-revealed) .bw-rechner__row {
		opacity: 1;
		transform: none;
	}
	.bw-rechner__panel:not(.is-revealed) .bw-rechner__cursor {
		opacity: 1;
	}
	.bw-rechner__panel.is-revealed .bw-rechner__cursor,
	.bw-rechner__panel.is-revealed .bw-rechner__button,
	.bw-rechner__panel.is-revealed .bw-rechner__result-value {
		animation: none;
	}
}

.bw-foerderung {
	padding-block: var(--space-section);
	position: relative;
	overflow: hidden;
}
.bw-foerderung::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle, color-mix(in srgb, var(--on-dark-strong) 14%, transparent) 1px, transparent 1.5px);
	background-size: 26px 26px;
	mask-image: radial-gradient(ellipse 70% 80% at 80% 30%, #000 0%, transparent 70%);
	opacity: 0.5;
}
.bw-foerderung__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.bw-foerderung__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
	max-width: 18ch;
}
.bw-foerderung__body {
	color: var(--on-dark);
	max-width: 52ch;
}
.bw-foerderung__note {
	color: var(--on-dark-muted);
	font-size: var(--fs-small);
	margin-bottom: 1.5rem;
}
.bw-foerderung__figures {
	margin: 0;
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
}
.bw-foerderung__figure {
	background: var(--dark-bg-raised);
	border: 1px solid var(--divider-on-dark);
	border-radius: var(--radius-md);
	padding: clamp(1.5rem, 2.5vw, 2rem);
}
.bw-foerderung__figure-value {
	font-family: var(--font-display);
	font-size: var(--fs-stat);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--on-dark-strong);
}
.bw-foerderung__figure-label {
	margin: 0.4rem 0 0;
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--on-dark);
}
.bw-foerderung__figure-desc {
	margin: 0.2rem 0 0;
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
}

.bw-spotlight {
	padding-block: var(--space-section);
}
.bw-spotlight__grid {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 4fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.bw-spotlight__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
}
.bw-spotlight__body {
	color: var(--ink-muted);
	max-width: 54ch;
	margin-bottom: 1.5rem;
}
.bw-spotlight__photo {
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.bw-spotlight__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bw-werte {
	padding-block: var(--space-section);
}
.bw-werte__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.bw-werte__photo {
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.bw-werte__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 3 / 4;
}
.bw-werte__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
	margin-bottom: var(--space-block);
}
.bw-werte__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
}
.bw-werte__item {
	background: var(--dark-bg-raised);
	border: 1px solid var(--divider-on-dark);
	border-radius: var(--radius-md);
	padding: clamp(1.5rem, 2.5vw, 2rem);
}
.bw-werte__item-title {
	font-size: 1.35rem;
	margin: 0 0 0.4rem;
	color: var(--on-dark-strong);
}
.bw-werte__item-text {
	margin: 0;
	color: var(--on-dark);
	max-width: 56ch;
}

.bw-region {
	padding-block: var(--space-section);
}
.bw-region__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}
.bw-region__stats {
	display: flex;
	margin: clamp(1.5rem, 3vw, 2rem) 0;
	padding-top: clamp(1.25rem, 2.5vw, 1.5rem);
	border-top: 1px solid var(--hairline);
}
.bw-region__stat {
	flex: 1;
	min-width: 0;
}
.bw-region__stat + .bw-region__stat {
	padding-left: clamp(0.85rem, 2vw, 1.5rem);
	margin-left: clamp(0.85rem, 2vw, 1.5rem);
	border-left: 1px solid var(--hairline);
}
.bw-region__stat-value {
	font-family: var(--font-display);
	font-size: clamp(1.2rem, 1.7vw, 1.45rem);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.15;
	color: var(--ink);
	text-wrap: balance;
}
.bw-region__stat-label {
	margin: 0.35rem 0 0;
	font-size: var(--fs-fine);
	color: var(--ink-muted);
}
.bw-region__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
	max-width: 20ch;
}
.bw-region__body {
	color: var(--ink-muted);
	max-width: 50ch;
	margin-bottom: 1.5rem;
}
.bw-region__map {
	position: relative;
	isolation: isolate;
	background: var(--paper-soft);
	border-radius: var(--radius-md);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	overflow: hidden;
}
.bw-region__map.is-interactive {
	padding: 0;
	aspect-ratio: 4 / 3;
}
.bw-region__fallback {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.6rem 1.5rem;
}
.bw-region__fallback a {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--ink);
	text-decoration: none;
}
.bw-region__fallback a:hover {
	color: var(--accent);
}
.is-interactive .bw-region__fallback {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.bw-region__map-canvas {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}
.is-interactive .bw-region__map-canvas {
	opacity: 1;
	pointer-events: auto;
}

.bw-region__map .leaflet-container {
	background: var(--paper-soft);
	font-family: var(--font-body);
	outline: none;
}
.bw-region__map .leaflet-bar {
	border: none;
}
.bw-region__map .leaflet-control-zoom a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	color: var(--ink);
	background: var(--white);
	border: 1px solid var(--hairline);
}
.bw-region__map .leaflet-control-zoom a:hover {
	background: var(--paper-soft);
	color: var(--accent);
}
.bw-region__map .leaflet-control-zoom-in {
	border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}
.bw-region__map .leaflet-control-zoom-out {
	border-top: none;
	border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
.bw-region__map .leaflet-control-attribution {
	background: color-mix(in srgb, var(--white) 78%, transparent);
	color: var(--ink-faint);
	font-size: 0.65rem;
}
.bw-region__map .leaflet-control-attribution a {
	color: var(--ink-muted);
}
.bw-region__map .leaflet-marker-icon:focus {
	outline: none;
}
.bw-region__map .leaflet-marker-icon:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
	border-radius: 50%;
}
.bw-region__map .bw-region__legend {
	display: grid;
	gap: 0.35rem;
	margin: 0 0 0.6rem 0.6rem;
	padding: 0.55rem 0.75rem;
	background: color-mix(in srgb, var(--white) 90%, transparent);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-sm);
	font-family: var(--font-display);
	font-size: var(--fs-fine);
	font-weight: 600;
	color: var(--ink-muted);
	line-height: 1.1;
}
.bw-region__legend-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	white-space: nowrap;
}
.bw-region__legend-key {
	flex: 0 0 auto;
	width: 0.95rem;
	height: 0.95rem;
}
.bw-region__legend-key--zone {
	border-radius: 0.2rem;
	background: color-mix(in srgb, var(--accent) 16%, var(--paper));
	border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
}
.bw-region__legend-key--radius {
	border-radius: 50%;
	background: transparent;
	border: 1.5px dashed color-mix(in srgb, var(--accent) 55%, transparent);
}
.bw-region__map .bw-region__distance {
	gap: 0.2rem;
}
.bw-region__distance-route {
	color: var(--ink);
	font-weight: 700;
	font-size: var(--fs-small);
	white-space: nowrap;
}
.bw-region__distance-meta {
	color: var(--accent);
	font-weight: 600;
	white-space: nowrap;
}
.bw-region__route {
	stroke-dasharray: 4 9;
	animation: bw-route-flow 0.9s linear infinite;
}
@keyframes bw-route-flow {
	to {
		stroke-dashoffset: -13;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bw-region__route {
		animation: none;
	}
}

.bw-pin-wrap {
	background: transparent;
	border: none;
}
.bw-pin {
	position: relative;
	width: 100%;
	height: 100%;
	--name-gap: 0.6rem;
}
.bw-pin__mark {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: grid;
	place-items: center;
}
.bw-pin__dot,
.bw-pin__pulse {
	grid-area: 1 / 1;
	width: 0.72rem;
	height: 0.72rem;
	border-radius: 50%;
	background: var(--slate-600);
}
.bw-pin__pulse {
	opacity: 0;
	animation: bw-region-pulse 2.8s ease-out infinite;
}
.bw-pin__logo {
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 50%;
	background: var(--accent);
}
.bw-pin__logo-img {
	display: block;
	width: 1.32rem;
	height: 1.32rem;
}
.bw-pin--primary {
	--name-gap: 1.4rem;
}
.bw-pin--primary .bw-pin__pulse {
	width: 2.15rem;
	height: 2.15rem;
	background: var(--accent);
}
.bw-pin__name {
	position: absolute;
	top: 50%;
	left: calc(50% + var(--name-gap));
	transform: translateY(-50%);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-fine);
	color: var(--ink-muted);
	white-space: nowrap;
}
.bw-pin--left .bw-pin__name {
	left: auto;
	right: calc(50% + var(--name-gap));
}
.bw-pin--bottom .bw-pin__name {
	left: 50%;
	right: auto;
	top: calc(50% + var(--name-gap));
	transform: translateX(-50%);
}
.bw-pin--top .bw-pin__name {
	left: 50%;
	right: auto;
	top: auto;
	bottom: calc(50% + var(--name-gap));
	transform: translateX(-50%);
}
.bw-pin--primary .bw-pin__name {
	color: var(--ink);
	font-weight: 700;
	font-size: var(--fs-small);
}
.bw-pin--active {
	--name-gap: 1.1rem;
}
.bw-pin--active .bw-pin__dot {
	width: 1.05rem;
	height: 1.05rem;
	background: var(--accent);
	border: 2px solid var(--paper);
}
.bw-pin--active .bw-pin__pulse {
	width: 1.7rem;
	height: 1.7rem;
	background: var(--accent);
}
.bw-pin--active .bw-pin__name {
	color: var(--ink);
	font-weight: 700;
	font-size: var(--fs-small);
}

@keyframes bw-region-pulse {
	0% {
		transform: scale(1);
		opacity: 0.4;
	}
	75%,
	100% {
		transform: scale(3.6);
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bw-pin__pulse {
		animation: none;
	}
}

.bw-faq {
	padding-block: var(--space-section);
}
.bw-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}
.bw-faq__header {
	position: sticky;
	top: var(--sticky-top);
}
.bw-faq__title {
	font-size: var(--fs-h2);
	margin: 1rem 0 1.5rem;
}
.bw-faq__list {
	display: grid;
}
.bw-faq__item {
	border-top: 1px solid var(--hairline);
	padding: 1.25rem 0;
}
.bw-faq__item:last-child {
	border-bottom: 1px solid var(--hairline);
}
.bw-faq__q {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	cursor: pointer;
	list-style: none;
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--ink);
}
.bw-faq__q::-webkit-details-marker {
	display: none;
}
.bw-faq__icon {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}
.bw-faq__icon::before,
.bw-faq__icon::after {
	content: '';
	position: absolute;
	background: var(--slate-500);
	transition: transform 0.25s ease;
}
.bw-faq__icon::before {
	top: 8px;
	left: 0;
	width: 18px;
	height: 2px;
}
.bw-faq__icon::after {
	top: 0;
	left: 8px;
	width: 2px;
	height: 18px;
}
.bw-faq__item[open] .bw-faq__icon::after {
	transform: scaleY(0);
}
.bw-faq__a {
	margin: 0.9rem 0 0;
	color: var(--ink-muted);
	max-width: 64ch;
}

.bw-final {
	padding-block: var(--space-section);
}
.bw-final__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: clamp(2rem, 6vw, 5rem);
	align-items: end;
}
.bw-final__lead {
	max-width: 46ch;
}
.bw-final__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
	margin-bottom: 1.25rem;
}
.bw-final__body {
	color: var(--on-dark);
}
.bw-final__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	justify-self: end;
}
.bw-final__person {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 0.35rem;
}
.bw-final__avatar {
	flex: 0 0 auto;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid var(--divider-on-dark);
}
.bw-final__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bw-final__person-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}
.bw-final__person-name {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	color: var(--on-dark-strong);
}
.bw-final__person-role {
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
}


@media (max-width: 767px) {
	.bw-process__grid,
	.bw-rechner__inner,
	.bw-foerderung__inner,
	.bw-spotlight__grid,
	.bw-werte__grid,
	.bw-region__grid,
	.bw-faq__grid,
	.bw-final__grid {
		grid-template-columns: 1fr;
	}
	.bw-final__actions {
		justify-self: stretch;
	}
	.bw-process__sticky,
	.bw-faq__header {
		position: static;
	}
	.bw-spotlight__grid {
		direction: ltr;
	}
	.bw-spotlight__photo {
		order: -1;
	}
	.bw-werte__photo {
		max-width: 100%;
	}
	.bw-region__map {
		max-width: 28rem;
		margin-inline: auto;
		width: 100%;
	}
}

.bw-kpi {
	background: var(--paper);
	padding-bottom: clamp(3.5rem, 7vw, 6rem);
}
.bw-kpi__grid {
	display: grid;
	grid-template-columns: 1.55fr 1fr 1.05fr;
	gap: clamp(1rem, 2vw, 1.5rem);
	margin: -6rem 0 0;
	position: relative;
	z-index: 3;
	align-items: stretch;
}
.bw-kpi__card {
	display: flex;
	flex-direction: column;
	background: var(--white);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	padding: clamp(1.5rem, 3vw, 2rem);
	min-height: 14rem;
}
.bw-kpi__card--composite {
	flex-direction: row;
	align-items: stretch;
	gap: clamp(1rem, 1.8vw, 1.4rem);
	background: linear-gradient(135deg, var(--white) 0%, var(--paper) 100%);
	padding: clamp(1.1rem, 2vw, 1.5rem);
}
.bw-kpi__composite-lead {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 0.6rem 0.35rem;
	min-width: 0;
}
.bw-kpi__composite-lead .bw-kpi__cta {
	margin-top: auto;
}
.bw-kpi__title {
	font-size: clamp(1.4rem, 2vw, 1.75rem);
	font-weight: 500;
	margin: 0;
	color: var(--ink);
}
.bw-kpi__text {
	margin: 0;
	font-size: var(--fs-small);
	line-height: 1.6;
	color: var(--ink-muted);
	max-width: 34ch;
}
.bw-kpi__tile {
	flex: 0 0 clamp(6.5rem, 9vw, 8.5rem);
	width: clamp(6.5rem, 9vw, 8.5rem);
	height: auto;
	object-fit: cover;
	border-radius: calc(var(--radius-md) - 0.5rem);
}
.bw-kpi__icon {
	display: inline-grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	color: var(--ink);
	margin-bottom: auto;
}
.bw-kpi__icon svg {
	width: 100%;
	height: 100%;
}
.bw-kpi__label {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--ink-muted);
	margin: 1.1rem 0 0.3rem;
}
.bw-kpi__stars {
	display: inline-flex;
	gap: 0.2rem;
	color: var(--accent);
	margin: 0.15rem 0 0.5rem;
}
.bw-kpi__stars svg {
	width: 0.95rem;
	height: 0.95rem;
}
.bw-kpi__value {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2.1rem, 3.6vw, 3.1rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--ink);
}
.bw-kpi__value-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	min-width: 0;
}
.bw-kpi__value-row .bw-kpi__value {
	font-size: clamp(1.9rem, 2.4vw, 2.6rem);
}
.bw-kpi__avatars {
	display: inline-flex;
}
.bw-kpi__avatars img {
	width: 2.25rem;
	height: 2.25rem;
	object-fit: cover;
	border-radius: var(--radius-chip);
	border: 2px solid var(--white);
}
.bw-kpi__avatars img + img {
	margin-left: -0.6rem;
}
.bw-kpi__card--photo {
	position: relative;
	overflow: hidden;
	padding: clamp(0.9rem, 1.6vw, 1.1rem);
	justify-content: flex-end;
	background: radial-gradient(125% 120% at 32% 18%, var(--dark-bg-raised), var(--dark-bg) 72%);
}
.bw-kpi__map {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.bw-kpi__map-area {
	fill: color-mix(in srgb, var(--white) 4%, transparent);
	stroke: color-mix(in srgb, var(--white) 9%, transparent);
	stroke-width: 1.1;
	vector-effect: non-scaling-stroke;
}
.bw-kpi__map-area--served {
	fill: color-mix(in srgb, var(--accent-on-dark) 17%, transparent);
	stroke: color-mix(in srgb, var(--accent-on-dark) 44%, transparent);
	stroke-width: 1.3;
}
.bw-kpi__map-ring {
	fill: none;
	stroke: color-mix(in srgb, var(--accent-on-dark) 58%, transparent);
	stroke-width: 1.5;
	stroke-dasharray: 6 7;
	vector-effect: non-scaling-stroke;
	animation: bw-kpi-ring-march 4s linear infinite;
}
.bw-kpi__map-dot {
	fill: color-mix(in srgb, var(--accent-on-dark) 70%, transparent);
	transform-box: fill-box;
	transform-origin: center;
	animation: bw-kpi-dot-blink 3.2s ease-in-out infinite;
}
.bw-kpi__map-dot:nth-of-type(2) {
	animation-delay: 1.1s;
}
.bw-kpi__map-dot:nth-of-type(3) {
	animation-delay: 2.2s;
}
.bw-kpi__map-hub-halo {
	fill: color-mix(in srgb, var(--accent-on-dark) 24%, transparent);
	transform-box: fill-box;
	transform-origin: center;
	animation: bw-kpi-hub-pulse 2.8s ease-in-out infinite;
}
@keyframes bw-kpi-ring-march {
	to {
		stroke-dashoffset: -26;
	}
}
@keyframes bw-kpi-hub-pulse {
	0%, 100% {
		opacity: 0.55;
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.32);
	}
}
@keyframes bw-kpi-dot-blink {
	0%, 100% {
		opacity: 0.35;
	}
	50% {
		opacity: 1;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bw-kpi__map-ring,
	.bw-kpi__map-hub-halo,
	.bw-kpi__map-dot {
		animation: none;
	}
}
.bw-kpi__map-hub {
	fill: var(--accent-on-dark);
	stroke: var(--dark-bg);
	stroke-width: 2.5;
}
.bw-kpi__glass {
	position: relative;
	width: fit-content;
	max-width: 100%;
	background: color-mix(in srgb, var(--paper) 84%, transparent);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-radius: calc(var(--radius-md) - 0.5rem);
	padding: 1.1rem 1.4rem 1.2rem 1.25rem;
}
.bw-kpi__glass .bw-kpi__label {
	color: var(--slate-600);
}
.bw-kpi__glass .bw-kpi__icon {
	margin-bottom: 0.6rem;
}
.bw-kpi__glass .bw-kpi__label {
	margin-top: 0;
}
.bw-kpi__source {
	margin: 1.75rem 0 0;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
}

@media (max-width: 991px) {
	.bw-kpi__grid {
		grid-template-columns: 1fr 1fr;
	}
	.bw-kpi__card--composite {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.bw-kpi__grid {
		grid-template-columns: 1fr;
		margin-top: -4rem;
	}
	.bw-kpi__card--composite {
		flex-direction: column;
	}
	.bw-kpi__tile {
		width: 100%;
		flex: none;
		height: 13rem;
	}
}

.bw-kpi__glass .bw-kpi__value {
	font-size: clamp(1.9rem, 2.6vw, 2.5rem);
	white-space: nowrap;
}

@media (max-width: 991px) {
	.bw-services__grid {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 600px) {
	.bw-services__header {
		flex-direction: column;
		align-items: flex-start;
	}
	.bw-services__grid {
		grid-template-columns: 1fr;
	}
}

.vn-breadcrumb {
	margin-bottom: 1.4rem;
}
.vn-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--font-display);
	font-size: var(--fs-fine);
	font-weight: 500;
}
.vn-breadcrumb__item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.vn-breadcrumb__link {
	color: var(--ink-muted);
	text-decoration: none;
	transition: color var(--btn-dur) var(--btn-ease);
}
a.vn-breadcrumb__link:hover {
	color: var(--accent);
}
.vn-breadcrumb__link--inert {
	cursor: default;
}
.vn-breadcrumb__current {
	color: var(--ink);
}
.vn-breadcrumb__sep {
	display: inline-flex;
	color: var(--hairline-strong);
}
.vn-breadcrumb__sep svg {
	width: 0.7rem;
	height: 0.7rem;
}
.vn-breadcrumb--on-dark .vn-breadcrumb__link {
	color: color-mix(in srgb, var(--on-dark-muted) 45%, var(--on-dark));
}
.vn-breadcrumb--on-dark a.vn-breadcrumb__link:hover {
	color: var(--on-dark-strong);
}
.vn-breadcrumb--on-dark .vn-breadcrumb__current {
	color: var(--on-dark-strong);
}
.vn-breadcrumb--on-dark .vn-breadcrumb__sep {
	color: color-mix(in srgb, var(--on-dark-muted) 70%, transparent);
}

.bw-page-hero {
	position: relative;
	background: var(--dark-bg);
	min-height: clamp(36rem, 88vh, 52rem);
	display: flex;
	align-items: center;
	overflow: hidden;
}
.bw-page-hero__photo {
	position: absolute;
	inset: var(--hero-inset);
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-hero);
}
.bw-page-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 70% center;
	display: block;
}
.bw-page-hero__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		linear-gradient(to top,
			color-mix(in srgb, var(--bw-blue-950) 90%, transparent) 0%,
			color-mix(in srgb, var(--bw-blue-950) 52%, transparent) 28%,
			transparent 68%),
		linear-gradient(to right,
			color-mix(in srgb, var(--bw-blue-950) 80%, transparent) 0%,
			color-mix(in srgb, var(--bw-blue-950) 36%, transparent) 38%,
			transparent 66%);
}
.bw-page-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
}
.bw-page-hero__content {
	max-width: 44rem;
}
.bw-page-hero__eyebrow {
	margin-bottom: 1.2rem;
}
.bw-page-hero__title {
	font-family: var(--font-display);
	font-size: var(--fs-h1);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--on-dark-strong);
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
}
.bw-page-hero__lead {
	margin-top: 1.4rem;
	max-width: 46ch;
	color: var(--on-dark-strong);
	font-size: var(--fs-body);
	line-height: 1.6;
}
.bw-page-hero__actions {
	margin-top: 2.1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}
.bw-page-hero--text {
	min-height: 0;
	display: block;
	padding-block: calc(var(--nav-clearance) + clamp(1.5rem, 4vw, 3rem)) var(--space-section);
}
.bw-page-hero--text .bw-page-hero__inner {
	padding-bottom: 0;
}
.bw-page-hero--text .bw-page-hero__content {
	max-width: 52rem;
}
@media (max-width: 768px) {
	.bw-page-hero {
		min-height: 0;
		padding-top: clamp(6.75rem, 17vw, 8.5rem);
		padding-bottom: clamp(3.25rem, 9vw, 4.25rem);
	}
	.bw-page-hero__photo img {
		object-position: 72% center;
	}
	.bw-page-hero__photo::after {
		background:
			linear-gradient(to top,
				color-mix(in srgb, var(--bw-blue-950) 88%, transparent) 0%,
				color-mix(in srgb, var(--bw-blue-950) 45%, transparent) 42%,
				transparent 82%),
			linear-gradient(to right,
				color-mix(in srgb, var(--bw-blue-950) 80%, transparent) 0%,
				color-mix(in srgb, var(--bw-blue-950) 30%, transparent) 55%,
				transparent 80%);
	}
	.bw-page-hero__inner {
		padding-inline: calc(var(--hero-inset) + var(--hero-content-gap));
	}
	.bw-page-hero__content {
		max-width: none;
	}
	.bw-page-hero .vn-breadcrumb {
		margin-bottom: 1.1rem;
	}
	.bw-page-hero__title {
		font-size: clamp(1.95rem, 8vw, 2.4rem);
		line-height: 1.12;
	}
	.bw-page-hero__lead {
		margin-top: 1.05rem;
		font-size: 1rem;
		line-height: 1.55;
		max-width: 34ch;
	}
	.bw-page-hero__actions {
		margin-top: 1.85rem;
	}
	.bw-page-hero__title,
	.bw-page-hero__lead {
		text-shadow: 0 1px 16px color-mix(in srgb, var(--bw-blue-950) 55%, transparent);
	}
}

.bw-scope {
	padding-block: var(--space-section);
}
.bw-scope__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}
.bw-scope__title {
	font-size: var(--fs-h2);
	margin-top: 1rem;
	text-wrap: balance;
}
.bw-scope__lead {
	margin-top: 1.25rem;
	max-width: 40ch;
	color: var(--ink-muted);
}
.bw-scope__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 2rem;
}
.bw-scope__item {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding-block: 0.95rem;
	border-top: 1px solid var(--hairline);
	font-size: var(--fs-small);
	line-height: 1.45;
	color: var(--ink);
}
.bw-scope__check {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
}
.bw-scope__check svg {
	width: 0.95rem;
	height: 0.95rem;
}
@media (max-width: 900px) {
	.bw-scope__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 560px) {
	.bw-scope__list {
		grid-template-columns: 1fr;
	}
}

.bw-method {
	padding-block: var(--space-section);
}
.bw-method__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}
.bw-method__intro {
	position: sticky;
	top: var(--nav-clearance);
}
.bw-method__title {
	margin-top: 1rem;
	font-size: var(--fs-h2);
	text-wrap: balance;
}
.bw-method__lead {
	margin-top: 1.25rem;
	margin-bottom: 1.75rem;
	max-width: 36ch;
	color: var(--ink-muted);
}
.bw-method__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.bw-method__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: baseline;
	padding-block: clamp(1.3rem, 2.5vw, 1.8rem);
	border-top: 1px solid var(--hairline);
}
.bw-method__item:last-child {
	border-bottom: 1px solid var(--hairline);
}
.bw-method__num {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--accent);
	font-variant-numeric: tabular-nums;
}
.bw-method__item-title {
	margin: 0 0 0.4rem;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-h3);
	line-height: 1.2;
	color: var(--ink);
}
.bw-method__item-text {
	margin: 0;
	color: var(--ink-muted);
	font-size: var(--fs-small);
	line-height: 1.6;
}
@media (max-width: 860px) {
	.bw-method__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(1.75rem, 6vw, 2.5rem);
	}
	.bw-method__intro {
		position: static;
	}
}
.bw-prose {
	padding-block: var(--space-section);
}
.bw-prose__inner {
	max-width: 48rem;
}
.bw-prose__inner > * + * {
	margin-top: 1.25rem;
}
.bw-prose__inner h2 {
	font-size: var(--fs-h3);
	margin-top: 2.5rem;
}
.bw-prose__inner h3 {
	font-size: var(--fs-h3);
	margin-top: 2rem;
}
.bw-prose__inner p,
.bw-prose__inner li {
	color: var(--ink-muted);
	line-height: 1.7;
}
.bw-prose__inner a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.bw-prose__inner ul,
.bw-prose__inner ol {
	padding-left: 1.4rem;
}
.bw-prose__inner li + li {
	margin-top: 0.5rem;
}

.bw-whyus {
	position: relative;
	isolation: isolate;
}
.bw-whyus__media {
	margin: 0;
	height: clamp(28rem, 46vw, 40rem);
	overflow: hidden;
}
.bw-whyus__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 70% center;
	display: block;
}
.bw-whyus__inner {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding-block: clamp(1.5rem, 4vw, 3rem);
	pointer-events: none;
}
.bw-whyus__card {
	pointer-events: auto;
	width: min(34rem, 100%);
	padding: clamp(1.6rem, 3vw, 2.4rem);
	border-radius: var(--radius-md);
	border: 1px solid color-mix(in srgb, var(--white) 60%, transparent);
	background: linear-gradient(135deg, color-mix(in srgb, var(--paper) 92%, transparent), color-mix(in srgb, var(--paper-soft) 80%, transparent));
	-webkit-backdrop-filter: blur(16px) saturate(1.2);
	backdrop-filter: blur(16px) saturate(1.2);
}
.bw-whyus__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}
.bw-whyus__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: var(--radius-chip);
	background: var(--accent);
	color: var(--paper);
}
.bw-whyus__mark svg {
	width: 1.5rem;
	height: 1.5rem;
}
.bw-whyus__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4em;
	font-family: var(--font-display);
	font-size: var(--fs-h2);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--ink);
}
.bw-whyus__static {
	display: block;
}
.bw-whyus__rotator {
	display: inline-grid;
}
.bw-whyus__word {
	grid-area: 1 / 1;
	justify-self: start;
	padding: 0.06em 0.34em;
	border-radius: 0.45rem;
	background: var(--accent);
	color: var(--paper);
	white-space: nowrap;
	opacity: 0;
	transform: translateY(0.3em);
	transition: opacity 0.45s var(--btn-ease), transform 0.45s var(--btn-ease);
}
.bw-whyus__word.is-active {
	opacity: 1;
	transform: none;
}
.bw-whyus__sub {
	margin-top: clamp(1.25rem, 3vw, 1.6rem);
	max-width: 40ch;
	color: var(--ink-muted);
	font-size: var(--fs-small);
	line-height: 1.55;
}
.bw-whyus__card .bw-cta {
	margin-top: 1.6rem;
}
@media (prefers-reduced-motion: reduce) {
	.bw-whyus__word {
		transition: none;
	}
}
@media (max-width: 768px) {
	.bw-whyus__media {
		height: auto;
		aspect-ratio: 4 / 3;
	}
	.bw-whyus__inner {
		position: static;
		padding-block: 0;
	}
	.bw-whyus__card {
		position: relative;
		z-index: 2;
		width: 100%;
		margin-top: -3rem;
	}
}

.bw-duo {
	padding-block: var(--space-section);
	background: var(--paper);
}
.bw-duo__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: stretch;
}
.bw-duo__media {
	position: relative;
	margin: 0;
	border-radius: var(--radius-hero);
	overflow: hidden;
	min-height: clamp(22rem, 40vw, 32rem);
}
.bw-duo__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bw-duo__chip {
	position: absolute;
	right: clamp(1rem, 2vw, 1.5rem);
	bottom: clamp(1rem, 2vw, 1.5rem);
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.65rem 1.05rem;
	background: var(--paper);
	border-radius: var(--radius-md);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--ink);
}
.bw-duo__chip svg {
	width: 1.1rem;
	height: 1.1rem;
	color: var(--accent);
	flex: 0 0 auto;
}
.bw-duo__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: clamp(2rem, 5vw, 4rem);
	border-radius: var(--radius-hero);
	padding: clamp(1.75rem, 3.5vw, 3rem);
}
.bw-duo__card--dark {
	background: var(--dark-bg);
	color: var(--on-dark);
}
.bw-duo__card--light {
	background: var(--paper-soft);
	border: 1px solid var(--hairline);
	color: var(--ink);
}
.bw-duo__card .vn-badge {
	align-self: flex-start;
}
.bw-duo__card--dark .vn-badge {
	border-color: var(--divider-on-dark);
	color: var(--on-dark-muted);
}
.bw-duo__title {
	font-size: var(--fs-h2);
	line-height: 1.14;
	margin-top: 1.1rem;
	text-wrap: balance;
}
.bw-duo__card--dark .bw-duo__title {
	color: var(--on-dark-strong);
}
.bw-duo__card--dark em.vn-italic {
	color: var(--accent-on-dark);
}
.bw-duo__body {
	margin: 0 0 1.5rem;
	max-width: 44ch;
	font-size: var(--fs-small);
	line-height: 1.6;
}
.bw-duo__card--dark .bw-duo__body {
	color: var(--on-dark);
}
.bw-duo__card--light .bw-duo__body {
	color: var(--ink-muted);
}
.bw-duo--v3 .bw-duo__split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-radius: var(--radius-hero);
	overflow: hidden;
}
.bw-duo--v3 .bw-duo__media,
.bw-duo--v3 .bw-duo__card {
	border-radius: 0;
}
.bw-duo--v3 .bw-duo__media {
	min-height: clamp(22rem, 40vw, 34rem);
}
@media (max-width: 900px) {
	.bw-duo__grid,
	.bw-duo--v3 .bw-duo__split {
		grid-template-columns: 1fr;
	}
	.bw-duo__media {
		min-height: clamp(16rem, 62vw, 24rem);
	}
}

.bw-reviews {
	padding-block: var(--space-section);
}
.bw-reviews__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-bottom: var(--space-block);
}
.bw-reviews__title {
	font-size: var(--fs-h2);
	max-width: 18ch;
	margin: 1rem 0 0;
}
.bw-reviews__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	flex: 0 0 auto;
	padding: 0.65rem 0.9rem 0.65rem 1.1rem;
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	background: var(--white);
	text-decoration: none;
	color: var(--ink);
	transition: border-color var(--btn-dur) var(--btn-ease), transform var(--btn-dur) var(--btn-ease);
}
.bw-reviews__rating:hover {
	border-color: var(--hairline-strong);
	transform: translateY(-2px);
}
.bw-reviews__rating-g {
	display: inline-flex;
	color: var(--accent);
}
.bw-reviews__rating-g svg {
	width: 1.05rem;
	height: 1.05rem;
}
.bw-reviews__rating-stars {
	display: inline-flex;
	color: var(--accent);
}
.bw-reviews__rating-stars svg {
	width: 1rem;
	height: 1rem;
}
.bw-reviews__rating-score {
	font-size: var(--fs-small);
	font-weight: 600;
	color: var(--ink);
}
.bw-reviews__rating-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.bw-reviews__rating-count {
	font-size: var(--fs-small);
	color: var(--ink-muted);
	white-space: nowrap;
}
.bw-reviews__rating-chip {
	display: inline-flex;
	color: var(--ink-faint);
}
.bw-reviews__rating-chip svg {
	width: 0.9rem;
	height: 0.9rem;
}
.bw-reviews__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 3;
	column-gap: clamp(1rem, 2vw, 1.5rem);
}
.bw-reviews__item {
	break-inside: avoid;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
	background: var(--white);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	padding: clamp(1.4rem, 2.5vw, 1.9rem);
}
.bw-reviews__stars {
	display: inline-flex;
	gap: 0.12rem;
	color: var(--accent);
	margin-bottom: 0.9rem;
}
.bw-reviews__stars svg {
	width: 1.05rem;
	height: 1.05rem;
}
.bw-reviews__text {
	margin: 0 0 1.15rem;
	color: var(--ink);
	font-size: var(--fs-small);
	line-height: 1.6;
}
.bw-reviews__author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.bw-reviews__avatar {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	letter-spacing: 0.02em;
}
.bw-reviews__author-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}
.bw-reviews__name {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--ink);
}
.bw-reviews__src {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
}
.bw-reviews__src-mark {
	display: inline-flex;
	color: var(--accent);
}
.bw-reviews__src-mark svg {
	width: 0.8rem;
	height: 0.8rem;
}
@media (max-width: 980px) {
	.bw-reviews__grid {
		columns: 2;
	}
}
@media (max-width: 620px) {
	.bw-reviews__grid {
		columns: 1;
	}
	.bw-reviews__header {
		flex-direction: column;
		align-items: flex-start;
	}
	.bw-reviews__rating {
		flex-wrap: wrap;
		gap: 0.5rem;
	}
}

.bw-calc {
	padding-block: var(--space-section);
}
.bw-calc__grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: start;
}
.bw-calc__panel {
	background: var(--white);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.bw-calc__field {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.bw-calc__label {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--ink);
}
.bw-calc__seg {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.4rem;
}
.bw-calc__seg--mode {
	grid-template-columns: 1fr 1fr;
}
.bw-calc__seg-btn {
	appearance: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	border: 1px solid var(--hairline);
	background: var(--paper);
	color: var(--ink-muted);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	padding: 0.7rem 0.5rem;
	border-radius: var(--radius-chip);
	cursor: pointer;
	transition: border-color var(--btn-dur) var(--btn-ease), background var(--btn-dur) var(--btn-ease), color var(--btn-dur) var(--btn-ease);
}
.bw-calc__seg-ic {
	display: inline-flex;
	color: var(--accent);
	transition: color var(--btn-dur) var(--btn-ease);
}
.bw-calc__seg-ic svg {
	width: 1.3rem;
	height: 1.3rem;
}
.bw-calc__seg-btn.is-active .bw-calc__seg-ic {
	color: var(--white);
}
.bw-calc__seg--mode .bw-calc__seg-btn {
	flex-direction: row;
}
.bw-calc__seg-btn:hover {
	border-color: var(--hairline-strong);
}
.bw-calc__seg-btn.is-active {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--white);
}
.bw-calc__input-row {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}
.bw-calc__range {
	flex: 1;
	accent-color: var(--accent);
	height: 0.4rem;
}
.bw-calc__output {
	flex: 0 0 auto;
	min-width: 4.5rem;
	text-align: right;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-body);
	color: var(--ink);
}
.bw-calc__number {
	flex: 1;
	appearance: none;
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	background: var(--paper);
	padding: 0.65rem 0.85rem;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-body);
	color: var(--ink);
}
.bw-calc__number:focus-visible,
.bw-calc__select:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 1px;
}
.bw-calc__unit {
	flex: 0 0 auto;
	font-size: var(--fs-small);
	color: var(--ink-muted);
	min-width: 5.5rem;
}
.bw-calc__select {
	appearance: none;
	width: 100%;
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	background: var(--paper);
	padding: 0.65rem 0.85rem;
	font-size: var(--fs-small);
	color: var(--ink);
	cursor: pointer;
}
.bw-calc__adv {
	border-top: 1px solid var(--hairline);
	padding-top: 1.1rem;
}
.bw-calc__adv-summary {
	font-size: var(--fs-small);
	color: var(--ink-muted);
	cursor: pointer;
	font-family: var(--font-display);
	font-weight: 600;
}
.bw-calc__adv .bw-calc__field {
	margin-top: 1rem;
}
.bw-calc__hint {
	margin: 0;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
	line-height: 1.5;
}
.bw-calc__result {
	background: var(--dark-bg);
	color: var(--on-dark);
	border-radius: var(--radius-md);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	min-width: 0;
	position: sticky;
	top: 6rem;
}
.bw-calc__result-eyebrow {
	margin: 0 0 1.25rem;
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--on-dark-muted);
	font-family: var(--font-display);
	font-weight: 600;
}
.bw-calc__compare {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin-bottom: 1.5rem;
}
.bw-calc__bar {
	display: grid;
	grid-template-columns: 6.5rem 1fr auto;
	align-items: center;
	gap: 0.75rem;
}
.bw-calc__bar-label {
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
}
.bw-calc__bar-fill {
	height: 0.85rem;
	border-radius: 100px;
	background: color-mix(in srgb, var(--on-dark) 14%, transparent);
	overflow: hidden;
}
.bw-calc__bar-inner {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 100px;
	transition: width 0.45s cubic-bezier(0.23, 1, 0.32, 1);
}
.bw-calc__bar--now .bw-calc__bar-inner {
	background: var(--on-dark-muted);
}
.bw-calc__bar--wp .bw-calc__bar-inner {
	background: var(--accent-on-dark);
}
.bw-calc__bar-value {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--on-dark-strong);
	min-width: 4.5rem;
	text-align: right;
}
.bw-calc__headline {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1.25rem 0;
	border-top: 1px solid var(--divider-on-dark);
	border-bottom: 1px solid var(--divider-on-dark);
	margin-bottom: 1.4rem;
}
.bw-calc__headline-label {
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
}
.bw-calc__headline-value {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(2rem, 4.5vw, 3rem);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--accent-on-dark);
}
.bw-calc__result.is-loss .bw-calc__headline-value {
	font-size: clamp(1.4rem, 3vw, 1.9rem);
	color: var(--on-dark-strong);
}
.bw-calc__facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin: 0 0 1.6rem;
}
.bw-calc__fact dt {
	font-size: var(--fs-fine);
	color: var(--on-dark-muted);
	margin-bottom: 0.3rem;
}
.bw-calc__fact dd {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--on-dark-strong);
}
.bw-calc__disclaimer {
	margin: 1.4rem 0 0;
	font-size: var(--fs-fine);
	color: var(--on-dark-muted);
	line-height: 1.55;
}
.bw-prose__inner {
	max-width: 62ch;
}
@media (max-width: 900px) {
	.bw-calc__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.bw-calc__result {
		position: static;
	}
	.bw-calc__facts {
		gap: 0.75rem;
	}
}
@media (max-width: 540px) {
	.bw-calc__seg {
		grid-template-columns: 1fr 1fr;
	}
}

.bw-calc__sentinel {
	height: 1px;
}
.bw-calc__sticky {
	display: none;
}
@media (max-width: 900px) {
	:root {
		--bw-calc-bar-h: 5rem;
	}
	html {
		scroll-padding-bottom: calc(var(--bw-calc-bar-h) + env(safe-area-inset-bottom, 0px));
	}
	.bw-calc {
		padding-bottom: calc(var(--space-section) + var(--bw-calc-bar-h) + env(safe-area-inset-bottom, 0px));
	}
	.bw-calc__sticky {
		display: flex;
		flex-direction: column;
		gap: 0.6rem;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 40;
		background: var(--dark-bg);
		color: var(--on-dark);
		border-top: 1px solid var(--divider-on-dark);
		padding: 0.7rem var(--container-pad) calc(0.7rem + env(safe-area-inset-bottom, 0px));
		transform: translateY(0);
		transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s ease;
		will-change: transform;
	}
	.bw-calc__sticky.is-hidden,
	body.vn-nav-open .bw-calc__sticky {
		transform: translateY(160%);
		opacity: 0;
		pointer-events: none;
	}
	.bw-calc__sticky-grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1.15fr;
		align-items: center;
		gap: 0.85rem;
	}
	.bw-calc__sticky-cell {
		display: flex;
		flex-direction: column;
		gap: 0.2rem;
		min-width: 0;
	}
	.bw-calc__sticky-cell--save {
		padding-left: 0.85rem;
		border-left: 1px solid var(--divider-on-dark);
	}
	.bw-calc__sticky-k {
		font-size: var(--fs-fine);
		color: var(--on-dark-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.bw-calc__sticky-v {
		font-family: var(--font-display);
		font-weight: 600;
		font-size: 1.05rem;
		line-height: 1.05;
		color: var(--on-dark-strong);
		white-space: nowrap;
	}
	.bw-calc__sticky-v--save {
		font-weight: 700;
		font-size: 1.3rem;
		letter-spacing: -0.01em;
		color: var(--accent-on-dark);
	}
	.bw-calc__sticky.is-loss .bw-calc__sticky-v--save {
		font-size: 1.05rem;
		color: var(--on-dark-strong);
	}
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
	.bw-calc__sticky {
		transition: opacity 0.15s ease;
	}
}
.bw-page-hero--tool {
	min-height: clamp(46rem, 92vh, 58rem);
	padding-bottom: clamp(2rem, 4vw, 3.5rem);
}
.bw-calc--overlap {
	padding-top: 0;
}
.bw-calc--overlap .bw-calc__grid {
	margin-top: clamp(-9rem, -11vw, -6rem);
	position: relative;
	z-index: 2;
}
@media (max-width: 768px) {
	.bw-page-hero--tool {
		padding-bottom: clamp(3.5rem, 10vw, 5rem);
	}
	.bw-calc--overlap .bw-calc__grid {
		margin-top: clamp(-8rem, -30vw, -4.5rem);
	}
}

.bw-contact {
	padding-block: var(--space-section);
}
.bw-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}
.bw-contact__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--fs-h2);
	color: var(--ink);
}
.bw-contact__intro {
	margin: 0.9rem 0 1.8rem;
	max-width: 48ch;
	color: var(--ink-muted);
	font-size: var(--fs-body);
	line-height: 1.6;
}
.bw-contact__notice {
	border-radius: var(--radius-md);
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	font-size: var(--fs-small);
	line-height: 1.5;
	color: var(--ink);
}
.bw-contact__notice--ok {
	background: color-mix(in srgb, var(--accent) 12%, var(--paper));
	border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
}
.bw-contact__notice--error {
	background: var(--paper-soft);
	border: 1px solid var(--hairline-strong);
}
.bw-contact__form {
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
}
.bw-contact__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.bw-contact__field {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.bw-contact__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.15rem;
}
.bw-contact__label {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--ink);
}
.bw-contact__input,
.bw-contact__select,
.bw-contact__textarea {
	width: 100%;
	appearance: none;
	border: 1px solid var(--hairline-strong);
	border-radius: var(--radius-sm);
	background: var(--white);
	padding: 0.8rem 1rem;
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--ink);
}
.bw-contact__textarea {
	border-radius: var(--radius-sm);
	resize: vertical;
	min-height: 7rem;
	line-height: 1.5;
}
.bw-contact__input:focus-visible,
.bw-contact__select:focus-visible,
.bw-contact__textarea:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 1px;
	border-color: var(--accent);
}
.bw-contact__consent {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.7rem;
	align-items: start;
	font-size: var(--fs-small);
	line-height: 1.5;
	color: var(--ink-muted);
}
.bw-contact__consent input {
	margin-top: 0.2rem;
	width: 1.1rem;
	height: 1.1rem;
	accent-color: var(--accent);
}
.bw-contact__consent a {
	color: var(--accent);
	text-underline-offset: 0.2em;
}
.bw-contact__submit {
	align-self: flex-start;
	margin-top: 0.4rem;
	appearance: none;
	border: none;
	cursor: pointer;
	background: var(--accent);
	color: var(--white);
	font-family: var(--font-display);
	font-weight: var(--btn-font-weight);
	font-size: var(--btn-font-size);
	padding: var(--btn-pad-y) calc(var(--btn-pad-x) * 1.4);
	border-radius: var(--btn-radius);
	min-height: var(--btn-min-tap);
	transition: background var(--btn-dur) var(--btn-ease), transform var(--btn-dur) var(--btn-ease);
}
.bw-contact__submit:hover {
	background: var(--accent-hover);
}
.bw-contact__submit:active {
	transform: scale(0.97);
}
.bw-contact__direct {
	position: sticky;
	top: var(--nav-clearance);
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	background: var(--dark-bg);
	color: var(--on-dark);
	border-radius: var(--radius-md);
	padding: clamp(1.6rem, 3vw, 2.25rem);
}
.bw-contact__direct-block {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.bw-contact__direct-label {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--on-dark-muted);
}
.bw-contact__direct-phone {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.4rem, 2.4vw, 1.85rem);
	letter-spacing: -0.01em;
	color: var(--on-dark-strong);
	text-decoration: none;
}
.bw-contact__direct-phone:hover {
	color: var(--accent-on-dark);
}
.bw-contact__direct-meta {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
}
.bw-contact__direct-link {
	font-size: var(--fs-body);
	color: var(--on-dark-strong);
	text-decoration: none;
	word-break: break-word;
}
.bw-contact__direct-link:hover {
	color: var(--accent-on-dark);
}
.bw-contact__direct-addr {
	margin: 0;
	font-size: var(--fs-body);
	line-height: 1.55;
	color: var(--on-dark);
}
.bw-contact__direct-note {
	margin: 0;
	padding-top: 1.4rem;
	border-top: 1px solid var(--divider-on-dark);
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
	line-height: 1.5;
}
@media (max-width: 900px) {
	.bw-contact__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.bw-contact__direct {
		position: static;
	}
}
@media (max-width: 540px) {
	.bw-contact__row {
		grid-template-columns: 1fr;
	}
}

.bw-contact__person {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--divider-on-dark);
}
.bw-contact__avatar {
	flex: 0 0 auto;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid var(--divider-on-dark);
}
.bw-contact__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bw-contact__person-meta {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.bw-contact__person-name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--fs-body);
	color: var(--on-dark-strong);
}
.bw-contact__person-role {
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
}

.bw-contact__choice {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}
.bw-contact__choice .bw-contact__label {
	display: block;
}
.bw-contact__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
	gap: 0.6rem;
	margin-top: 0.6rem;
}
.bw-contact__card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 3.25rem;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--hairline-strong);
	border-radius: var(--radius-sm);
	background: var(--white);
	cursor: pointer;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--ink-muted);
	transition: border-color var(--btn-dur) var(--btn-ease), color var(--btn-dur) var(--btn-ease), background var(--btn-dur) var(--btn-ease);
}
.bw-contact__card input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
.bw-contact__card:hover {
	color: var(--ink);
}
.bw-contact__card:has(input:checked) {
	border-color: var(--accent);
	background: color-mix(in srgb, var(--accent) 8%, var(--white));
	color: var(--accent);
}
.bw-contact__card:has(input:focus-visible) {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}
.bw-contact__hint {
	margin: 0;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
	line-height: 1.5;
}
.bw-contact__hint.is-error {
	color: var(--accent);
	font-weight: 600;
}
.bw-contact__submit-row {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 0.4rem;
}
.bw-contact__trust {
	margin: 0;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
}

.bw-usp {
	padding-block: var(--space-section);
}
.bw-usp__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 3rem);
}
.bw-usp__head {
	max-width: 38ch;
}
.bw-usp__title {
	margin-top: 1rem;
	font-size: var(--fs-h2);
	color: var(--on-dark-strong);
	text-wrap: balance;
}
.bw-usp__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
.bw-usp__item {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--divider-on-dark);
}
.bw-usp__num {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--accent-on-dark);
	font-variant-numeric: tabular-nums;
}
.bw-usp__item-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-h3);
	color: var(--on-dark-strong);
}
.bw-usp__item-text {
	margin: 0;
	color: var(--on-dark-muted);
	font-size: var(--fs-small);
	line-height: 1.6;
}
@media (max-width: 768px) {
	.bw-usp__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.bw-usp__item {
		padding-block: 1.4rem;
		padding-top: 1.4rem;
	}
}

.bw-faq__page {
	max-width: 52rem;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
}
.bw-faq__group-title {
	margin: 0 0 1.25rem;
	padding-bottom: 0.85rem;
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	color: var(--ink);
	border-bottom: 1px solid var(--hairline-strong);
}
.bw-topics {
	padding-block: var(--space-section);
}
.bw-topics__header {
	margin-bottom: clamp(2rem, 4vw, 3rem);
	max-width: 40ch;
}
.bw-topics__title {
	margin-top: 1rem;
	font-size: var(--fs-h2);
	color: var(--ink);
	text-wrap: balance;
}
.bw-topics__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
}
.bw-topics__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.7rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--white);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
}
.bw-topics__item-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-h3);
	color: var(--ink);
}
.bw-topics__item-text {
	margin: 0;
	color: var(--ink-muted);
	font-size: var(--fs-small);
	line-height: 1.6;
}
.bw-topics__author {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(1.5rem, 3vw, 2rem);
	border-top: 1px solid var(--hairline);
}
.bw-topics__author-avatar {
	flex: 0 0 auto;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	overflow: hidden;
}
.bw-topics__author-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bw-topics__author-text {
	margin: 0;
	max-width: 60ch;
	color: var(--ink-muted);
	font-size: var(--fs-small);
	line-height: 1.6;
}
@media (max-width: 640px) {
	.bw-topics__grid {
		grid-template-columns: 1fr;
	}
}

.bw-blog {
	padding-block: var(--space-section);
}
.bw-blog__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: var(--space-block);
}
.bw-blog__cat {
	font-family: var(--font-display);
	font-size: var(--fs-small);
	font-weight: 600;
	color: var(--ink-muted);
	text-decoration: none;
	padding: 0.5rem 1.1rem;
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	transition: color var(--btn-dur) var(--btn-ease), border-color var(--btn-dur) var(--btn-ease), background var(--btn-dur) var(--btn-ease);
}
.bw-blog__cat:hover {
	color: var(--ink);
	border-color: var(--hairline-strong);
}
.bw-blog__cat.is-active {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--white);
}

.bw-feature {
	margin-bottom: var(--space-block);
}
.bw-feature__link {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: clamp(1.5rem, 3.5vw, 3.25rem);
	align-items: center;
	text-decoration: none;
	color: inherit;
}
.bw-feature__photo {
	margin: 0;
	border-radius: var(--radius-hero);
	overflow: hidden;
	aspect-ratio: 16 / 10;
}
.bw-feature__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bw-feature__tag {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1.1rem;
}
.bw-feature__cat {
	font-family: var(--font-display);
	font-size: var(--fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--accent);
}
.bw-feature__lead-label {
	font-size: var(--fs-fine);
	color: var(--ink-faint);
}
.bw-feature__title {
	font-size: var(--fs-h2);
	margin: 0 0 0.7rem;
	transition: color var(--btn-dur) var(--btn-ease);
}
.bw-feature__link:hover .bw-feature__title {
	color: var(--accent);
}
.bw-feature__excerpt {
	color: var(--ink-muted);
	margin: 0 0 1.6rem;
}
.bw-feature__foot {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	align-items: center;
	justify-content: space-between;
}
.bw-feature__meta {
	font-size: var(--fs-small);
	color: var(--ink-faint);
}
.bw-feature__more {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--accent);
}
.bw-feature__more svg {
	width: 1em;
	height: 1em;
	transition: transform var(--btn-dur) var(--btn-ease);
}
.bw-feature__link:hover .bw-feature__more svg {
	transform: translate(2px, -2px);
}

.bw-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 2.5vw, 2.25rem);
}
.bw-postcard {
	display: flex;
}
.bw-postcard__link {
	display: flex;
	flex-direction: column;
	width: 100%;
	text-decoration: none;
	color: inherit;
}
.bw-postcard__photo {
	margin: 0 0 1.25rem;
	border-radius: var(--radius-md);
	overflow: hidden;
	aspect-ratio: 3 / 2;
}
.bw-postcard__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bw-postcard__cat {
	display: inline-block;
	font-family: var(--font-display);
	font-size: var(--fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 0.6rem;
}
.bw-postcard__title {
	font-size: 1.3rem;
	line-height: 1.3;
	margin: 0 0 0.6rem;
	transition: color var(--btn-dur) var(--btn-ease);
}
.bw-postcard__link:hover .bw-postcard__title {
	color: var(--accent);
}
.bw-postcard__excerpt {
	color: var(--ink-muted);
	font-size: var(--fs-small);
	margin: 0 0 1rem;
}
.bw-postcard__meta {
	margin-top: auto;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
}

.bw-blog__empty {
	color: var(--ink-muted);
	font-size: 1.2rem;
	max-width: 42rem;
}
.bw-blog__empty a {
	color: var(--accent);
}

.bw-authorband {
	padding-block: var(--space-block);
}
.bw-author {
	display: flex;
	gap: clamp(1rem, 2.5vw, 1.6rem);
	align-items: flex-start;
	max-width: 54rem;
}
.bw-author__avatar {
	flex: none;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: var(--radius-chip);
	overflow: hidden;
	border: 1px solid var(--divider-on-dark);
}
.bw-author__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bw-author__label {
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--on-dark-muted);
	margin: 0 0 0.3rem;
}
.bw-author__name {
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-weight: 600;
	color: var(--on-dark-strong);
	margin: 0 0 0.2rem;
}
.bw-author__role {
	font-size: var(--fs-small);
	color: var(--on-dark);
	margin: 0 0 0.8rem;
}
.bw-author__bio {
	color: var(--on-dark);
	margin: 0;
}

.bw-article__head {
	padding-top: calc(var(--nav-clearance) + clamp(1.5rem, 5vw, 3.25rem));
	padding-bottom: clamp(3rem, 7vw, 5.5rem);
}
.bw-article__head-inner {
	max-width: 52rem;
}
.bw-article__cat {
	display: inline-block;
	margin-bottom: 1.25rem;
	text-decoration: none;
}
.bw-article__title {
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	color: var(--on-dark-strong);
	margin: 0 0 1.25rem;
}
.bw-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--fs-small);
	color: var(--on-dark-muted);
	margin: 0;
}
.bw-article__by {
	color: var(--on-dark);
}
.bw-article__dot {
	color: var(--divider-on-dark);
}
.bw-article__cover {
	margin: clamp(-4.5rem, -6vw, -2.5rem) auto 0;
	max-width: min(64rem, calc(100% - 2 * var(--container-pad)));
	border-radius: var(--radius-hero);
	overflow: hidden;
	aspect-ratio: 16 / 9;
	position: relative;
	z-index: 2;
}
.bw-article__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bw-article__body {
	padding-top: clamp(2.5rem, 5vw, 4rem);
	padding-bottom: var(--space-section);
}
.bw-article__prose {
	margin-inline: auto;
}
.bw-article__prose > p:first-of-type {
	font-size: 1.25rem;
	line-height: 1.6;
	color: var(--ink);
}
.bw-article__prose h2 {
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	color: var(--ink);
	margin-top: 2.75rem;
}
.bw-article__prose h3 {
	color: var(--ink);
}
.bw-article__prose strong {
	color: var(--ink);
	font-weight: 600;
}
.bw-article__prose blockquote {
	margin: 2.25rem 0;
	padding: 0.4rem 0 0.4rem 1.6rem;
	border-left: 3px solid var(--accent);
	font-family: var(--font-display);
	font-size: 1.35rem;
	line-height: 1.5;
	color: var(--ink);
}
.bw-article__prose blockquote p {
	color: var(--ink);
	margin: 0;
}
.bw-article__prose ul {
	list-style: none;
	padding-left: 0;
}
.bw-article__prose ul li {
	position: relative;
	padding-left: 1.6rem;
}
.bw-article__prose ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: var(--radius-chip);
	background: var(--accent);
}

.bw-article__tags {
	max-width: 48rem;
	margin: 2.5rem auto 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.bw-article__tag {
	font-size: var(--fs-fine);
	color: var(--ink-muted);
	text-decoration: none;
	padding: 0.35rem 0.85rem;
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	transition: color var(--btn-dur) var(--btn-ease), border-color var(--btn-dur) var(--btn-ease);
}
.bw-article__tag:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.bw-related__header {
	text-align: left;
}

.bw-pagination {
	margin-top: var(--space-block);
}
.bw-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
}
.bw-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.9rem;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--ink-muted);
	text-decoration: none;
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	transition: color var(--btn-dur) var(--btn-ease), border-color var(--btn-dur) var(--btn-ease), background var(--btn-dur) var(--btn-ease);
}
.bw-pagination .page-numbers:hover {
	color: var(--ink);
	border-color: var(--hairline-strong);
}
.bw-pagination .page-numbers.current {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--white);
}
.bw-pagination .page-numbers.dots {
	border-color: transparent;
}

@media (max-width: 900px) {
	.bw-feature__link {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.bw-blog__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.bw-article__cover {
		margin-top: clamp(-3rem, -5vw, -1.5rem);
		aspect-ratio: 3 / 2;
	}
}
@media (max-width: 540px) {
	.bw-blog__grid {
		grid-template-columns: 1fr;
	}
	.bw-author {
		gap: 1rem;
	}
	.bw-author__avatar {
		width: 3.5rem;
		height: 3.5rem;
	}
}

.bw-related--rail {
	padding-block: var(--space-section);
}
.bw-related__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.bw-related__heading {
	max-width: 40ch;
}
.bw-related--rail .vn-section-header__title {
	margin-top: 0.75rem;
}
.bw-related__nav {
	display: flex;
	gap: 0.5rem;
	flex-shrink: 0;
}
.bw-related__nav[hidden],
.bw-related__progress[hidden] {
	display: none;
}
.bw-related__arrow {
	inline-size: 2.75rem;
	block-size: 2.75rem;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid var(--hairline-strong);
	border-radius: var(--radius-chip);
	background: var(--white);
	color: var(--accent);
	cursor: pointer;
	transition: background var(--btn-dur) var(--btn-ease), border-color var(--btn-dur) var(--btn-ease), color var(--btn-dur) var(--btn-ease), transform var(--btn-dur) var(--btn-ease);
}
.bw-related__arrow svg {
	width: 1.1rem;
	height: 1.1rem;
}
.bw-related__arrow:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--white);
}
.bw-related__arrow:active {
	transform: scale(0.97);
}
.bw-related__arrow[aria-disabled="true"] {
	color: var(--ink-faint);
	border-color: var(--hairline);
	background: var(--white);
	cursor: default;
}
.bw-related__arrow:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}
.bw-related__arrow[data-rail-prev] svg {
	transform: scaleX(-1);
}
.bw-related__track {
	list-style: none;
	margin: 0;
	padding: 0 0 0.25rem;
	display: flex;
	gap: clamp(1.25rem, 2.5vw, 2rem);
	overflow-x: auto;
	overflow-y: visible;
	scroll-snap-type: x proximity;
	scroll-padding-left: 0;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.bw-related__track::-webkit-scrollbar {
	display: none;
}
.bw-related__slide {
	position: relative;
	flex: 0 0 auto;
	width: clamp(17rem, 80vw, 21rem);
	scroll-snap-align: start;
}
.bw-related__slide .bw-postcard {
	position: relative;
	z-index: 1;
}
.bw-related__slide .bw-postcard__link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
	border-radius: var(--radius-md);
}
.bw-related__track .vn-reveal,
.bw-related__track .vn-reveal-mask {
	opacity: 1;
	transform: none;
}
.bw-related__track .vn-reveal-mask img {
	transform: none;
}
.bw-related__progress {
	height: 2px;
	margin-top: 1.5rem;
	background: color-mix(in srgb, var(--ink) 10%, transparent);
	border-radius: var(--radius-chip);
	overflow: hidden;
}
.bw-related__progress-bar {
	display: block;
	height: 100%;
	width: 30%;
	background: var(--accent);
	transition: width var(--btn-dur) var(--btn-ease);
}
@media (prefers-reduced-motion: reduce) {
	.bw-related__arrow {
		transition: none;
	}
	.bw-related__track {
		scroll-behavior: auto;
	}
	.bw-related__progress-bar {
		transition: none;
	}
}

.bw-figure {
	margin: 2.5rem 0;
}
.bw-figure img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-md);
}
.bw-figure__caption {
	margin-top: 0.6rem;
	font-size: var(--fs-fine);
	line-height: 1.5;
	color: var(--ink-faint);
}

.bw-incta {
	margin: 2.75rem 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid var(--hairline-strong);
	border-radius: var(--radius-md);
	background: color-mix(in srgb, var(--accent) 5%, var(--paper-soft));
}
.bw-incta__text {
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--ink);
	margin: 0 0 1.25rem;
}
.bw-incta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	align-items: center;
}

.bw-authorbio {
	display: flex;
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: flex-start;
	max-width: 48rem;
	margin: 3rem auto 0;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	background: var(--paper-soft);
}
.bw-authorbio__avatar {
	flex: none;
	width: 4rem;
	height: 4rem;
	border-radius: var(--radius-chip);
	overflow: hidden;
	border: 1px solid var(--hairline);
}
.bw-authorbio__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bw-authorbio__label {
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--ink-faint);
	margin: 0 0 0.25rem;
}
.bw-authorbio__name {
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-weight: 600;
	color: var(--ink);
	margin: 0 0 0.4rem;
}
.bw-authorbio__bio {
	font-size: var(--fs-small);
	line-height: 1.65;
	color: var(--ink-muted);
	margin: 0;
}

.bw-blog__spoke {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.9rem;
	margin: -0.5rem 0 var(--space-block);
	font-size: var(--fs-small);
	color: var(--ink-muted);
}

.bw-region-areas {
	margin-top: var(--space-block);
	padding-top: 1.5rem;
	border-top: 1px solid var(--hairline);
}
.bw-region-areas__label {
	display: block;
	font-family: var(--font-display);
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	font-weight: 600;
	color: var(--ink-faint);
	margin-bottom: 0.9rem;
}
.bw-region-areas__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.bw-region-areas__chip {
	font-size: var(--fs-small);
	font-weight: 500;
	color: var(--ink-muted);
	background: var(--paper-soft);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-chip);
	padding: 0.4rem 0.95rem;
}

.bw-ortintro {
	padding-block: var(--space-section);
}
.bw-ortintro__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}
.bw-ortintro__head {
	position: sticky;
	top: var(--sticky-top);
	align-self: start;
}
.bw-ortintro__title {
	margin: 1rem 0 0;
	font-size: var(--fs-h2);
	text-wrap: balance;
}
.bw-ortintro__head .bw-region-areas {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}
.bw-ortintro__figure {
	margin: clamp(1.75rem, 3.5vw, 2.75rem) 0 0;
}
.bw-ortintro__figure img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--radius-md);
}
.bw-ortintro__body > * + * {
	margin-top: 1.25rem;
}
.bw-ortintro__text {
	margin: 0;
	color: var(--ink-muted);
	line-height: 1.7;
}
.bw-ortintro__text--lede {
	font-size: clamp(1.15rem, 1.55vw, 1.35rem);
	line-height: 1.6;
	color: var(--ink);
}
@media (max-width: 860px) {
	.bw-ortintro__grid {
		grid-template-columns: 1fr;
		gap: clamp(1.5rem, 4vw, 2.25rem);
	}
	.bw-ortintro__head {
		position: static;
	}
}

.bw-region-services {
	padding-block: var(--space-section);
}
.bw-region-services__header {
	margin-bottom: var(--space-block);
}
.bw-region-services__title {
	margin: 1rem 0 0;
	font-size: var(--fs-h2);
	max-width: 22ch;
	text-wrap: balance;
}

.bw-region-jobs {
	padding-block: var(--space-section);
}
.bw-region-jobs__header {
	margin-bottom: var(--space-block);
}
.bw-region-jobs__title {
	margin: 1rem 0 0;
	font-size: var(--fs-h2);
	max-width: 24ch;
	text-wrap: balance;
}
.bw-region-jobs__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2.2vw, 1.75rem);
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: none;
}
.bw-region-job {
	padding: clamp(1.6rem, 2.6vw, 2.1rem);
	background: var(--paper-soft);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
}
.bw-region-job__num {
	display: block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--accent);
	margin-bottom: 1.1rem;
}
.bw-region-job__title {
	margin: 0 0 0.6rem;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-h3);
	line-height: 1.25;
	color: var(--ink);
}
.bw-region-job__text {
	margin: 0;
	color: var(--ink-muted);
	font-size: var(--fs-small);
	line-height: 1.65;
}

.bw-region-grid {
	padding-block: var(--space-section);
}
.bw-region-grid__header {
	margin-bottom: var(--space-block);
}
.bw-region-grid__title {
	margin: 1rem 0 0;
	font-size: var(--fs-h2);
	max-width: 22ch;
	text-wrap: balance;
}
.bw-region-grid__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2.2vw, 1.5rem);
	list-style: none;
	margin: 0;
	padding: 0;
}
.bw-region-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(1.5rem, 2.6vw, 2rem);
	background: var(--paper);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: border-color var(--btn-dur) var(--btn-ease), transform var(--btn-dur) var(--btn-ease);
}
.bw-region-card__link:hover {
	border-color: var(--hairline-strong);
	transform: translateY(-2px);
}
.bw-region-card__name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--fs-h3);
	letter-spacing: -0.01em;
	color: var(--ink);
}
.bw-region-card__focus {
	margin-top: 0.6rem;
	font-size: var(--fs-small);
	line-height: 1.6;
	color: var(--ink-muted);
}
.bw-region-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: auto;
	padding-top: 1.4rem;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--accent);
}
.bw-region-card__cta svg {
	width: 1.05em;
	height: 1.05em;
	transition: transform var(--btn-dur) var(--btn-ease);
}
.bw-region-card__link:hover .bw-region-card__cta svg {
	transform: translateX(4px);
}

@media (max-width: 900px) {
	.bw-region-jobs__grid,
	.bw-region-grid__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.bw-region-jobs__grid,
	.bw-region-grid__list {
		grid-template-columns: 1fr;
	}
}

.bw-chefstory {
	padding-block: var(--space-section);
}
.bw-chefstory__top {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}
.bw-chefstory__headline {
	margin: 0;
	font-size: clamp(2rem, 4.4vw, 3.4rem);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--ink);
}
.bw-chefstory__body {
	padding-top: 0.4rem;
}
.bw-chefstory__body p {
	margin: 0 0 1.1rem;
	font-size: var(--fs-body);
	line-height: 1.7;
	color: var(--ink-muted);
}
.bw-chefstory__body p:last-child {
	margin-bottom: 0;
}
.bw-chefstory__statnote {
	margin: 1rem 0 0;
	font-size: var(--fs-fine);
	color: var(--ink-faint);
}

.bw-werdegang {
	padding-block: var(--space-section);
}
.bw-werdegang__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(2rem, 6vw, 5.5rem);
	align-items: start;
}
.bw-werdegang__aside {
	position: sticky;
	top: clamp(6rem, 14vh, 9rem);
}
.bw-werdegang__title {
	margin: 1rem 0 var(--space-block);
	font-size: var(--fs-h2);
}
.bw-werdegang__lead {
	margin: 0;
	max-width: 36ch;
	font-size: var(--fs-body);
	line-height: 1.65;
	color: var(--ink-muted);
}
.bw-werdegang__track {
	list-style: none;
	margin: 0;
	padding: 0;
}
.bw-werdegang__step {
	position: relative;
	padding-left: clamp(1.75rem, 3vw, 2.75rem);
	padding-bottom: clamp(2.25rem, 4vw, 3.5rem);
	border-left: 1px solid var(--hairline);
}
.bw-werdegang__step:last-child {
	padding-bottom: 0;
	border-left-color: transparent;
}
.bw-werdegang__step::before {
	content: "";
	position: absolute;
	left: -5px;
	top: 0.4rem;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--accent);
}
.bw-werdegang__era {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3vw, 2.3rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--accent);
	margin-bottom: 0.5rem;
}
.bw-werdegang__step-title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.2rem, 2.1vw, 1.55rem);
	color: var(--ink);
}
.bw-werdegang__step-text {
	margin: 0;
	max-width: 56ch;
	font-size: var(--fs-body);
	line-height: 1.65;
	color: var(--ink-muted);
}

.bw-credentials {
	padding-block: clamp(2rem, 4vw, 3rem);
}
.bw-credentials__row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	margin: 0;
}
.bw-credentials__item {
	padding-left: clamp(1rem, 2vw, 1.75rem);
	border-left: 1px solid var(--hairline);
}
.bw-credentials__item:first-child {
	padding-left: 0;
	border-left: none;
}
.bw-credentials__k {
	font-family: var(--font-display);
	font-size: var(--fs-eyebrow);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	font-weight: 600;
	color: var(--ink-faint);
}
.bw-credentials__v {
	margin: 0.5rem 0 0;
	font-size: var(--fs-body);
	line-height: 1.4;
	color: var(--ink);
}

@media (max-width: 900px) {
	.bw-chefstory__top {
		grid-template-columns: 1fr;
		gap: clamp(1.25rem, 4vw, 2rem);
	}
	.bw-werdegang__grid {
		grid-template-columns: 1fr;
		gap: clamp(1.5rem, 5vw, 2.5rem);
	}
	.bw-werdegang__aside {
		position: static;
	}
	.bw-credentials__row {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem 1.25rem;
	}
	.bw-credentials__item:nth-child(odd) {
		padding-left: 0;
		border-left: none;
	}
}

@media (max-width: 540px) {
	.bw-credentials__row {
		grid-template-columns: 1fr;
	}
	.bw-credentials__item {
		padding-left: 0;
		padding-top: 1rem;
		border-left: none;
		border-top: 1px solid var(--hairline);
	}
	.bw-credentials__item:first-child {
		padding-top: 0;
		border-top: none;
	}
}

.bw-contact__turnstile {
	margin: 0 0 0.75rem;
}
.bw-contact__turnstile-note {
	margin: 0 0 1.25rem;
	font-size: var(--fs-fine);
	line-height: 1.5;
	color: var(--ink-faint);
}

.bw-anfahrt {
	padding-block: var(--space-section);
	background: var(--white);
}
.bw-anfahrt__head {
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}
.bw-anfahrt__title {
	margin: 1rem 0 0;
	font-size: var(--fs-h2);
}
.bw-anfahrt__map {
	position: relative;
	min-height: clamp(360px, 50vh, 540px);
	border-radius: var(--radius-md);
	border: 1px solid var(--hairline);
	overflow: hidden;
	background: var(--paper-soft);
}
.bw-anfahrt__map-canvas {
	position: absolute;
	inset: 0;
	height: 100%;
	width: 100%;
}
.bw-anfahrt__map-consent {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.1rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	text-align: center;
	background: var(--paper-soft);
}
.bw-anfahrt__map.is-loaded .bw-anfahrt__map-consent {
	display: none;
}
.bw-anfahrt__map-note {
	margin: 0;
	max-width: 40ch;
	font-size: var(--fs-small);
	line-height: 1.5;
	color: var(--ink-muted);
}
.bw-anfahrt__map-btn {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--fs-small);
	color: var(--white);
	background: var(--accent);
	border: none;
	border-radius: var(--radius-chip);
	padding: 0.75rem 1.5rem;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s cubic-bezier(0.23, 1, 0.32, 1);
}
.bw-anfahrt__map-btn:hover {
	background: color-mix(in srgb, var(--accent) 88%, #000);
}
.bw-anfahrt__map-btn:active {
	transform: scale(0.97);
}
.bw-anfahrt__map-btn:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}
.bw-anfahrt__map-hint {
	display: none;
	margin: 0.75rem 0 0;
	font-size: var(--fs-small);
	line-height: 1.4;
	color: var(--accent);
}
.bw-anfahrt__map.is-consent-needed .bw-anfahrt__map-hint {
	display: block;
}

.cmplz-cookiebanner {
	background: var(--dark-bg) !important;
	color: var(--on-dark) !important;
	font-family: var(--font-body) !important;
	border: 1px solid var(--divider-on-dark) !important;
	border-radius: var(--radius-md) !important;
}
.cmplz-cookiebanner .cmplz-title {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	color: var(--on-dark-strong) !important;
}
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-body,
.cmplz-cookiebanner .cmplz-categories,
.cmplz-cookiebanner .cmplz-category {
	color: var(--on-dark) !important;
}
.cmplz-cookiebanner a {
	color: var(--accent-on-dark) !important;
}
.cmplz-cookiebanner .cmplz-category {
	background: var(--dark-bg-raised) !important;
	border: 1px solid var(--divider-on-dark) !important;
	border-radius: var(--radius-sm) !important;
}
.cmplz-cookiebanner .cmplz-btn {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	border-radius: var(--radius-sm) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background: var(--white) !important;
	color: var(--ink) !important;
	border: 1px solid var(--white) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background: transparent !important;
	color: var(--on-dark-strong) !important;
	border: 1px solid var(--divider-on-dark) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options {
	background: transparent !important;
	color: var(--on-dark-muted) !important;
	border: none !important;
	text-decoration: underline !important;
}
.cmplz-cookiebanner .cmplz-category-title {
	color: var(--on-dark-strong) !important;
}
.cmplz-cookiebanner .cmplz-description,
.cmplz-cookiebanner .cmplz-category .cmplz-description {
	color: var(--on-dark) !important;
}
.cmplz-cookiebanner .cmplz-always-active {
	color: var(--accent-on-dark) !important;
}
.cmplz-cookiebanner .cmplz-category-toggle,
.cmplz-cookiebanner .cmplz-icon,
.cmplz-cookiebanner .cmplz-close,
.cmplz-cookiebanner .cmplz-header .cmplz-title {
	color: var(--on-dark-strong) !important;
}
.cmplz-cookiebanner .cmplz-consent-checkbox:checked + .cmplz-label {
	background: var(--accent-on-dark) !important;
}

.bw-danke {
	padding-block: clamp(4rem, 10vw, 8rem);
}
.bw-danke__inner {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}
.bw-danke__check {
	display: flex;
	justify-content: center;
	color: var(--accent);
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}
.bw-danke__check svg {
	width: clamp(56px, 9vw, 76px);
	height: clamp(56px, 9vw, 76px);
}
.bw-danke__title {
	margin: 1rem 0 1.25rem;
	font-size: clamp(2rem, 4.5vw, 3.2rem);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--ink);
}
.bw-danke__lead {
	margin: 0 auto clamp(1.75rem, 4vw, 2.5rem);
	max-width: 52ch;
	font-size: var(--fs-body);
	line-height: 1.65;
	color: var(--ink-muted);
}
.bw-danke__actions {
	display: flex;
	gap: clamp(1rem, 2.5vw, 1.75rem);
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.bw-contact__input::placeholder,
.bw-contact__textarea::placeholder {
	color: color-mix(in srgb, var(--ink) 42%, transparent);
	opacity: 1;
}

.bw-404 {
	display: flex;
	align-items: center;
	min-height: clamp(56vh, 66vh, 80vh);
	padding-block: calc(var(--nav-clearance) + clamp(2rem, 5vw, 3.5rem)) var(--space-section);
}
.bw-404__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.75rem, 5vw, 4.5rem);
}
.bw-404__code {
	font-family: var(--font-display);
	font-size: clamp(7rem, 19vw, 15rem);
	font-weight: 700;
	line-height: 0.84;
	letter-spacing: -0.045em;
	color: color-mix(in srgb, var(--on-dark-strong) 17%, transparent);
}
.bw-404__content {
	max-width: 42rem;
}
.bw-404__title {
	margin-top: 1.1rem;
	font-family: var(--font-display);
	font-size: var(--fs-h1);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--on-dark-strong);
	text-wrap: balance;
}
.bw-404__body {
	margin-top: 1.35rem;
	max-width: 50ch;
	color: var(--on-dark);
	font-size: var(--fs-body);
	line-height: 1.6;
}
.bw-404__actions {
	margin-top: 2.1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}
.bw-404__nav {
	margin-top: 2.4rem;
	padding-top: 1.7rem;
	border-top: 1px solid var(--divider-on-dark);
}
.bw-404__nav-label {
	margin-bottom: 0.95rem;
	font-size: var(--fs-eyebrow);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--on-dark-muted);
}
.bw-404__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1.7rem;
}
.bw-404__links a {
	color: var(--on-dark-strong);
	font-weight: 500;
	text-decoration: none;
	padding-bottom: 2px;
	border-bottom: 1px solid color-mix(in srgb, var(--on-dark-strong) 32%, transparent);
	transition: border-color 0.2s cubic-bezier(0.23, 1, 0.32, 1);
}
.bw-404__links a:hover,
.bw-404__links a:focus-visible {
	border-bottom-color: var(--accent-on-dark);
}
@media (max-width: 768px) {
	.bw-404__inner {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 0.35rem;
	}
	.bw-404__code {
		font-size: clamp(5.5rem, 31vw, 9rem);
	}
	.bw-404__title {
		font-size: clamp(1.95rem, 8vw, 2.4rem);
		margin-top: 0.6rem;
	}
}

.bw-article-cta {
	padding-block: var(--space-block);
	padding-inline: var(--container-pad);
	background: var(--paper);
}
.bw-article-cta__inner {
	max-width: 54rem;
	margin-inline: auto;
	padding: clamp(1.6rem, 4vw, 2.6rem);
	border: 1px solid var(--hairline);
	border-radius: var(--radius-md);
	background: var(--paper-soft);
}
.bw-article-cta__title {
	margin-top: 0.9rem;
	font-size: var(--fs-h3);
	line-height: 1.2;
	color: var(--ink);
}
.bw-article-cta__text {
	margin-top: 0.85rem;
	max-width: 48ch;
	color: var(--ink-muted);
	font-size: var(--fs-body);
	line-height: 1.6;
}
.bw-article-cta__links {
	margin-top: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.8rem;
}

