:root {
	--bsh-navy: #071725;
	--bsh-navy-2: #0e2436;
	--bsh-blue: #22b8ff;
	--bsh-blue-dark: #087eb5;
	--bsh-lime: #b7f33d;
	--bsh-white: #f5f8fb;
	--bsh-paper: #ffffff;
	--bsh-ink: #10243a;
	--bsh-muted: #5d6f80;
	--bsh-border: #dce6ee;
	--bsh-radius: 24px;
	--bsh-shadow: 0 24px 70px rgba(7, 23, 37, 0.12);
	--bsh-container: min(1220px, calc(100vw - 40px));
	--bsh-header-height: 100px;
	--bsh-topbar-height: 31px;
	--bsh-header-total: calc(var(--bsh-header-height) + var(--bsh-topbar-height));
	--bsh-hero-max-height: 80vh;
	--bsh-hero-max-height: 80dvh;
}

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

html {
	scroll-behavior: smooth;
	/* Away from the page top, the compact sticky header no longer contains the topbar. */
	scroll-padding-top: calc(var(--bsh-header-height) + 16px);
}

body {
	margin: 0;
	background: var(--bsh-white);
	color: var(--bsh-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

body.nav-open {
	overflow: hidden;
}

img,
svg {
	display: block;
	max-width: 100%;
}

a {
	color: var(--bsh-blue-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

button,
input,
textarea,
select {
	font: inherit;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 0.7em;
	color: var(--bsh-navy);
	font-weight: 760;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

h1 {
	font-size: clamp(2.7rem, 5.8vw, 5.8rem);
}

h2 {
	font-size: clamp(2.2rem, 4vw, 4rem);
}

h3 {
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

main :is(h1, h2, h3) {
	max-inline-size: 100%;
	text-wrap: balance;
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
}

p {
	margin: 0 0 1.25rem;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.bsh-skip-link {
	position: fixed;
	z-index: 9999;
	top: 10px;
	left: 10px;
	padding: 0.7rem 1rem;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
	transform: translateY(-150%);
}

.bsh-skip-link:focus {
	transform: none;
}

.bsh-container {
	width: var(--bsh-container);
	margin-inline: auto;
}

.bsh-section {
	position: relative;
	padding: clamp(5rem, 9vw, 9rem) 0;
}

.bsh-section--white {
	background: var(--bsh-paper);
}

.bsh-section--soft {
	background:
		radial-gradient(circle at 8% 5%, rgba(34, 184, 255, 0.1), transparent 28rem),
		var(--bsh-white);
}

.bsh-section--ink {
	overflow: hidden;
	background:
		radial-gradient(circle at 75% 25%, rgba(34, 184, 255, 0.14), transparent 33rem),
		var(--bsh-navy);
	color: #c7d4df;
}

.bsh-section--ink h2,
.bsh-section--ink h3,
.bsh-section--blue h2,
.bsh-section--blue h3 {
	color: #fff;
}

.bsh-section--blue {
	background:
		linear-gradient(135deg, rgba(34, 184, 255, 0.14), transparent 58%),
		#0c314d;
	color: #d7e9f4;
}

.bsh-kicker,
.bsh-eyebrow {
	margin: 0 0 1.2rem;
	color: var(--bsh-lime);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bsh-kicker--dark {
	color: var(--bsh-blue-dark);
}

.bsh-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
	align-items: end;
	gap: clamp(2rem, 5vw, 6rem);
	margin-bottom: clamp(3rem, 6vw, 5.5rem);
}

.bsh-section-heading h2 {
	max-width: 820px;
	margin-bottom: 0;
}

.bsh-section-heading > p {
	max-width: 520px;
	margin-bottom: 0.4rem;
	color: var(--bsh-muted);
	font-size: 1.08rem;
}

.bsh-section--blue .bsh-section-heading > p {
	color: #c5dce9;
}

.bsh-section-heading--center {
	display: block;
	max-width: 850px;
	margin-inline: auto;
	text-align: center;
}

.bsh-section-heading--center > p {
	margin-inline: auto;
}

.bsh-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	min-height: 52px;
	padding: 0.85rem 1.4rem;
	border: 1px solid var(--bsh-navy);
	border-radius: 999px;
	background: var(--bsh-navy);
	box-shadow: none;
	color: #fff;
	font-size: 0.94rem;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.bsh-button:hover,
.bsh-button:focus-visible {
	box-shadow: 0 12px 32px rgba(7, 23, 37, 0.2);
	transform: translateY(-2px);
}

.bsh-button .bsh-icon,
.bsh-text-link .bsh-icon {
	width: 21px;
	height: 21px;
	transition: transform 180ms ease;
}

.bsh-button:hover .bsh-icon,
.bsh-text-link:hover .bsh-icon {
	transform: translateX(4px);
}

.bsh-button--lime {
	border-color: var(--bsh-lime);
	background: var(--bsh-lime);
	color: var(--bsh-navy);
}

.bsh-button--ghost {
	border-color: rgba(255, 255, 255, 0.42);
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(12px);
}

.bsh-button--compact {
	min-height: 44px;
	padding: 0.72rem 1.15rem;
	font-size: 0.85rem;
}

.bsh-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	color: var(--bsh-navy);
	font-weight: 750;
	text-decoration: none;
}

.bsh-text-link--light {
	color: var(--bsh-lime);
}

.bsh-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin: 2rem 0;
}

.bsh-actions--center {
	justify-content: center;
}

.bsh-center {
	margin-top: 3rem;
	text-align: center;
}

/* Header */
.bsh-site-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	background: #fff;
	box-shadow: 0 1px 0 rgba(7, 23, 37, 0.08);
	transition: box-shadow 180ms ease;
}

.bsh-site-header.is-scrolled {
	box-shadow: 0 12px 36px rgba(7, 23, 37, 0.1);
}

.bsh-topbar {
	background: var(--bsh-navy);
	color: #bfd0db;
	font-size: 0.76rem;
}

.bsh-topbar,
.bsh-site-header {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.bsh-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.5rem;
	min-height: 31px;
}

.bsh-topbar a {
	color: #fff;
	text-decoration: none;
}

.bsh-nav-shell {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 1.6vw, 1.8rem);
	min-height: var(--bsh-header-height);
}

.bsh-brand {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.9rem;
	color: var(--bsh-navy);
	line-height: 1;
	text-decoration: none;
}

.bsh-brand__mark {
	display: block;
	flex: 0 0 auto;
	width: 78px;
	height: 78px;
	overflow: hidden;
	border-radius: 10px;
}

.bsh-brand__mark img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
}

.bsh-brand__copy {
	display: grid;
	min-width: 0;
	gap: 0.34rem;
}

.bsh-brand__copy strong {
	font-size: 1.7rem;
	font-weight: 780;
	letter-spacing: -0.045em;
}

.bsh-brand__copy small {
	color: #4b6073;
	font-size: 0.79rem;
	font-weight: 720;
	letter-spacing: 0.015em;
	line-height: 1.2;
}

.bsh-site-header .bsh-brand__copy strong {
	font-size: 1.84rem;
}

.bsh-site-header .bsh-brand__copy small {
	font-size: 0.86rem;
}

.bsh-primary-nav {
	margin-left: auto;
}

.bsh-menu,
.bsh-menu ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bsh-menu {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.bsh-menu > li {
	position: relative;
}

.bsh-menu a {
	display: block;
	padding: 0.75rem 0.72rem;
	border-radius: 12px;
	color: var(--bsh-ink);
	font-size: 0.87rem;
	font-weight: 700;
	text-decoration: none;
}

.bsh-menu > li > a:hover,
.bsh-menu > li.current-menu-item > a,
.bsh-menu > li.current-menu-ancestor > a {
	background: #eef5f8;
	color: var(--bsh-navy);
}

.bsh-service-section--it {
	--bsh-menu-accent: #22b8ff;
	--bsh-menu-tint: #edf9ff;
	--bsh-menu-border: #cceefd;
}

.bsh-service-section--phone {
	--bsh-menu-accent: #4f83ff;
	--bsh-menu-tint: #f0f5ff;
	--bsh-menu-border: #d4e1ff;
}

.bsh-service-section--security {
	--bsh-menu-accent: #ff6468;
	--bsh-menu-tint: #fff2f2;
	--bsh-menu-border: #ffd7d8;
}

.bsh-service-section--fiber {
	--bsh-menu-accent: #826dff;
	--bsh-menu-tint: #f4f2ff;
	--bsh-menu-border: #dfd9ff;
}

.bsh-service-section--electric {
	--bsh-menu-accent: #f5a623;
	--bsh-menu-tint: #fff8eb;
	--bsh-menu-border: #fbe3b8;
}

.bsh-service-section--privacy {
	--bsh-menu-accent: #00b98b;
	--bsh-menu-tint: #edfaf6;
	--bsh-menu-border: #c9eee4;
}

@media (min-width: 1180px) and (min-height: 720px) {
	.bsh-menu .sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	width: 260px;
	padding: 0.7rem;
	border: 1px solid var(--bsh-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--bsh-shadow);
	opacity: 0;
	pointer-events: none;
	transform: translate(calc(-50% + var(--bsh-menu-shift, 0px)), 8px);
	transition: opacity 160ms ease, transform 160ms ease;
}

.bsh-menu li:hover > .sub-menu,
.bsh-menu li:focus-within > .sub-menu,
.bsh-menu > li.is-open > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translate(calc(-50% + var(--bsh-menu-shift, 0px)), 0);
}

.bsh-menu .sub-menu a {
	padding: 0.62rem 0.75rem;
	font-size: 0.82rem;
}

.bsh-menu .sub-menu a:hover {
	background: var(--bsh-white);
}

.bsh-menu .bsh-mega > .sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	display: grid;
	grid-template-columns: minmax(430px, 1.52fr) repeat(2, minmax(210px, 1fr));
	grid-template-rows: auto auto auto;
	gap: 0.72rem;
	width: min(1120px, calc(100vw - 40px));
	max-height: none;
	overflow: visible;
	padding: 0.85rem;
	background: #f6f9fb;
	transform: translate(calc(-50% + var(--bsh-menu-shift, 0px)), 8px);
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section,
.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview {
	position: relative;
	min-width: 0;
	border: 1px solid var(--bsh-menu-border, var(--bsh-border));
	border-radius: 15px;
	background: linear-gradient(145deg, #fff 52%, var(--bsh-menu-tint, #f4f8fa));
	box-shadow: 0 9px 24px rgba(7, 23, 37, 0.045);
	overflow: hidden;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section::before {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: var(--bsh-menu-accent);
	content: "";
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--it {
	grid-column: 1;
	grid-row: 1 / 4;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--phone {
	grid-column: 2;
	grid-row: 1;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--security {
	grid-column: 3;
	grid-row: 1;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--fiber {
	grid-column: 2;
	grid-row: 2;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--electric {
	grid-column: 3;
	grid-row: 2;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--privacy {
	grid-column: 2;
	grid-row: 3;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview {
	grid-column: 3;
	grid-row: 3;
	border-color: #18364c;
	background:
		radial-gradient(circle at 90% 12%, rgba(34, 184, 255, 0.2), transparent 7rem),
		var(--bsh-navy);
}

.bsh-menu .bsh-mega:hover > .sub-menu,
.bsh-menu .bsh-mega:focus-within > .sub-menu,
.bsh-menu .bsh-mega.is-open > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translate(calc(-50% + var(--bsh-menu-shift, 0px)), 0);
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section > a {
	position: relative;
	z-index: 2;
	padding: 0.7rem 0.78rem 0.62rem;
	border-bottom: 1px solid var(--bsh-menu-border);
	border-radius: 0;
	color: var(--bsh-menu-accent);
	font-size: 0.78rem;
	font-weight: 820;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section > a:hover {
	background: var(--bsh-menu-tint);
}

.bsh-menu .bsh-mega .sub-menu .sub-menu {
	position: static;
	width: auto;
	padding: 0.26rem 0.44rem 0.5rem;
	border: 0;
	background: transparent;
	box-shadow: none;
	opacity: 1;
	pointer-events: none;
	transform: none;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--it > .sub-menu {
	display: block;
	padding-inline: 0.5rem;
	column-count: 2;
	column-gap: 0.55rem;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--it > .sub-menu > li {
	margin-bottom: 0.02rem;
	break-inside: avoid;
	page-break-inside: avoid;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--it > .sub-menu > .bsh-it-column-break {
	break-before: column;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--it > .sub-menu a {
	padding: 0.43rem 0.55rem;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--it > .sub-menu > .bsh-it-column-start::before {
	display: block;
	padding: 0.42rem 0.55rem 0.15rem;
	color: var(--bsh-menu-accent);
	content: "Infrastruktur & Cloud";
	font-size: 0.62rem;
	font-weight: 820;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section--it > .sub-menu > .bsh-it-column-start--operations::before {
	content: "Betrieb & Sicherheit";
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section:not(.bsh-service-section--it) > .sub-menu a {
	padding: 0.43rem 0.58rem;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section .sub-menu a:hover {
	background: var(--bsh-menu-tint);
	color: var(--bsh-navy);
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview > a {
	display: flex;
	height: 100%;
	min-height: 126px;
	flex-direction: column;
	justify-content: center;
	padding: 1rem 1.1rem;
	border-radius: 0;
	color: #fff;
	font-size: 1rem;
	line-height: 1.2;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview > a::before {
	margin-bottom: 0.55rem;
	color: var(--bsh-lime);
	content: "Übersicht";
	font-size: 0.62rem;
	font-weight: 820;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview > a::after {
	margin-top: 0.75rem;
	color: var(--bsh-lime);
	content: "Sechs Bereiche entdecken  →";
	font-size: 0.7rem;
	font-weight: 760;
}

.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview > a:hover {
	background: rgba(255, 255, 255, 0.06);
}

	.bsh-menu .bsh-mega:hover > .sub-menu .sub-menu,
	.bsh-menu .bsh-mega:focus-within > .sub-menu .sub-menu,
	.bsh-menu .bsh-mega.is-open > .sub-menu .sub-menu {
		pointer-events: auto;
	}
}

.bsh-nav-toggle {
	display: none;
	width: 46px;
	height: 46px;
	padding: 10px;
	border: 0;
	border-radius: 12px;
	background: var(--bsh-white);
}

.bsh-mobile-nav__head,
.bsh-mobile-nav__actions,
.bsh-mobile-nav__close,
.bsh-mobile-submenu-toggle,
.bsh-mobile-overview {
	display: none;
}

.bsh-nav-toggle > span:not(.screen-reader-text) {
	display: block;
	height: 2px;
	margin: 5px 0;
	background: var(--bsh-navy);
	transition: transform 180ms ease, opacity 180ms ease;
}

/* Hero */
.bsh-hero {
	position: relative;
	display: grid;
	height: auto;
	/*
	 * The homepage hero follows a natural, content-safe height. The visual target
	 * stays well below a full viewport, while long copy, browser zoom and larger
	 * system fonts are allowed to expand the section instead of being clipped.
	 */
	min-height: clamp(480px, 67svh, 840px);
	min-height: clamp(480px, 67dvh, 840px);
	overflow: clip;
	background: var(--bsh-navy);
	color: #d9e5ed;
	isolation: isolate;
}

.bsh-hero::after {
	position: absolute;
	z-index: -1;
	inset: auto 0 0;
	height: 180px;
	background: linear-gradient(transparent, rgba(7, 23, 37, 0.65));
	content: "";
}

.bsh-hero__media {
	position: absolute;
	z-index: -3;
	inset: 0;
	overflow: hidden;
	background: var(--bsh-navy);
	transform: none;
}

.bsh-hero__media picture,
.bsh-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.bsh-hero__media img {
	object-fit: cover;
	object-position: center;
}

.bsh-hero__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(7, 23, 37, 0.94) 0%, rgba(7, 23, 37, 0.76) 37%, rgba(7, 23, 37, 0.06) 73%);
	content: "";
}

.bsh-hero__glow {
	position: absolute;
	z-index: -2;
	top: 13%;
	left: -12%;
	width: 44rem;
	height: 44rem;
	border-radius: 50%;
	background: rgba(34, 184, 255, 0.09);
	filter: blur(100px);
}

.bsh-hero__inner {
	display: flex;
	min-height: inherit;
	align-items: center;
	padding-block: clamp(5rem, 10vw, 8rem);
}

.bsh-hero__copy {
	max-width: 830px;
	animation: bsh-hero-in 420ms ease-out both;
}

.bsh-hero h1 {
	max-width: 900px;
	margin-bottom: 1.5rem;
	color: #fff;
	text-wrap: balance;
}

.bsh-hero h1 span {
	color: var(--bsh-blue);
}

.bsh-hero__lead {
	max-width: 700px;
	color: #c2d1db;
	font-size: clamp(1.08rem, 1.8vw, 1.35rem);
	line-height: 1.65;
}

.bsh-trust-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.6rem;
	padding: 0;
	margin: 2rem 0 0;
	list-style: none;
	color: #e3edf3;
	font-size: 0.88rem;
	font-weight: 650;
}

.bsh-trust-list li {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.bsh-trust-list .bsh-icon {
	width: 18px;
	color: var(--bsh-lime);
}

.bsh-scroll-cue {
	position: absolute;
	right: 2.5rem;
	bottom: 2rem;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.bsh-scroll-cue span {
	width: 34px;
	height: 1px;
	background: var(--bsh-lime);
}

.bsh-scroll-arrow {
	position: absolute;
	z-index: 2;
	top: 1.35rem;
	left: 50%;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--bsh-border);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(12px);
	box-shadow: 0 12px 32px rgba(7, 23, 37, 0.1);
	color: var(--bsh-blue-dark);
	text-decoration: none;
	transform: translateX(-50%);
}

.bsh-scroll-arrow svg {
	width: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	animation: bsh-scroll-hint 2.4s ease-in-out infinite;
}

@keyframes bsh-scroll-hint {
	0%, 18%, 100% { transform: translateY(0); }
	8% { transform: translateY(6px); }
}

/* Service system */
.bsh-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-service-card {
	--accent: var(--bsh-blue);
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 370px;
	padding: clamp(1.7rem, 3vw, 2.4rem);
	overflow: hidden;
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: #fff;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bsh-service-card::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 130px;
	height: 130px;
	border-radius: 0 0 0 100%;
	background: color-mix(in srgb, var(--accent) 9%, transparent);
	content: "";
}

.bsh-service-card:hover {
	border-color: color-mix(in srgb, var(--accent) 55%, var(--bsh-border));
	box-shadow: var(--bsh-shadow);
	transform: translateY(-6px);
}

.bsh-service-card--phone { --accent: #3788ff; }
.bsh-service-card--security { --accent: #f26767; }
.bsh-service-card--fiber { --accent: #8f7cff; }
.bsh-service-card--electric { --accent: #f4b642; }
.bsh-service-card--privacy { --accent: #24bd8d; }

.bsh-service-card__icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 2.2rem;
	border-radius: 17px;
	background: color-mix(in srgb, var(--accent) 14%, #fff);
	color: var(--accent);
}

.bsh-service-card__icon .bsh-icon {
	width: 31px;
	height: 31px;
}

.bsh-service-card .bsh-eyebrow {
	color: var(--accent);
}

.bsh-service-card h3 {
	font-size: 1.55rem;
}

.bsh-service-card > p:not(.bsh-eyebrow) {
	color: var(--bsh-muted);
}

.bsh-service-card .bsh-text-link {
	margin-top: auto;
}

.bsh-proof-band {
	padding: 1.5rem 0;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
}

.bsh-proof-band__inner {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.bsh-proof-band p {
	flex: 0 0 auto;
	margin: 0;
	font-weight: 800;
}

.bsh-proof-band__inner > div {
	display: flex;
	flex: 1;
	justify-content: space-between;
	gap: 1rem;
	font-size: 0.82rem;
	font-weight: 750;
	text-transform: uppercase;
}

.bsh-proof-band__inner span::before {
	margin-right: 0.8rem;
	content: "●";
	font-size: 0.45em;
	vertical-align: middle;
}

/* Connected system map */
.bsh-system-map {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 56%, rgba(27, 146, 205, 0.13), transparent 34%),
		linear-gradient(180deg, #071a29 0%, #04111c 100%);
	color: #b8cad5;
	isolation: isolate;
}

.bsh-system-map__ambient {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 52px 52px;
	mask-image: radial-gradient(circle at center, #000 10%, transparent 75%);
}

.bsh-system-map__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	align-items: end;
	gap: clamp(2rem, 7vw, 8rem);
	margin-bottom: 3.5rem;
}

.bsh-system-map__heading h2 {
	max-width: 900px;
	margin: 0;
	color: #fff;
	font-size: clamp(2.5rem, 5vw, 5.4rem);
	letter-spacing: -0.055em;
}

.bsh-system-map__heading h2 span {
	color: var(--bsh-lime);
}

.bsh-system-map__heading > p {
	margin: 0 0 0.55rem;
	color: #9eb3c0;
	font-size: 1.02rem;
}

.bsh-system-map__stage {
	position: relative;
	min-height: 810px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 34px;
	background:
		radial-gradient(circle at 50% 40%, rgba(33, 159, 218, 0.14), transparent 30%),
		rgba(3, 18, 29, 0.72);
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.05), 0 40px 100px rgba(0, 0, 0, 0.22);
}

.bsh-system-map__stage::before,
.bsh-system-map__stage::after {
	position: absolute;
	border: 1px solid rgba(83, 185, 231, 0.08);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.bsh-system-map__stage::before {
	inset: 5% 19% 20%;
}

.bsh-system-map__stage::after {
	inset: 14% 28% 29%;
}

.bsh-system-map__connections {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 640px;
	overflow: visible;
}

.bsh-system-map__connections path {
	fill: none;
	stroke: url(#bsh-map-line);
	stroke-dasharray: 8 12;
	stroke-linecap: round;
	stroke-width: 1.6;
	vector-effect: non-scaling-stroke;
	animation: bsh-map-flow 12s linear infinite;
}

.bsh-system-map__connections circle {
	fill: var(--bsh-lime);
	filter: drop-shadow(0 0 9px rgba(185, 239, 67, 0.85));
}

@keyframes bsh-map-flow {
	to { stroke-dashoffset: -160; }
}

.bsh-system-map__core {
	position: absolute;
	z-index: 3;
	top: 320px;
	left: 50%;
	display: grid;
	width: 238px;
	height: 238px;
	place-items: center;
	transform: translate(-50%, -50%);
}

.bsh-system-map__orbit,
.bsh-system-map__orbit i {
	position: absolute;
	inset: 0;
	border: 1px solid rgba(95, 193, 235, 0.26);
	border-radius: 50%;
}

.bsh-system-map__orbit {
	animation: bsh-map-spin 18s linear infinite;
}

.bsh-system-map__orbit::before,
.bsh-system-map__orbit::after,
.bsh-system-map__orbit i::before {
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--bsh-lime);
	box-shadow: 0 0 18px rgba(185, 239, 67, 0.8);
	content: "";
}

.bsh-system-map__orbit::before { top: 16%; right: 10%; }
.bsh-system-map__orbit::after { bottom: 10%; left: 24%; }
.bsh-system-map__orbit i:first-child { inset: 15px; border-color: rgba(185, 239, 67, 0.12); }
.bsh-system-map__orbit i:nth-child(2) { inset: 29px; border-style: dashed; }
.bsh-system-map__orbit i:nth-child(3) { inset: -16px; border-color: rgba(95, 193, 235, 0.08); }
.bsh-system-map__orbit i::before { top: 50%; left: -4px; }

@keyframes bsh-map-spin {
	to { transform: rotate(360deg); }
}

.bsh-system-map__core-inner {
	position: relative;
	z-index: 2;
	display: grid;
	width: 164px;
	height: 164px;
	place-items: center;
	align-content: center;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 50%;
	background: linear-gradient(145deg, rgba(19, 63, 88, 0.96), rgba(5, 23, 36, 0.98));
	box-shadow: 0 0 65px rgba(37, 163, 219, 0.26), inset 0 1px rgba(255, 255, 255, 0.08);
	text-align: center;
}

.bsh-system-map__logo {
	display: block;
	width: 58px;
	height: 58px;
	margin-bottom: 0.35rem;
	overflow: hidden;
	border-radius: 9px;
}

.bsh-system-map__logo img {
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: contain;
}

.bsh-system-map__core-inner small {
	color: #91a8b7;
	font-size: 0.64rem;
	font-weight: 750;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.bsh-system-map__core-inner strong {
	min-height: 2.2em;
	margin-top: 0.2rem;
	color: #fff;
	font-size: 0.93rem;
	line-height: 1.1;
}

.bsh-system-map__core-inner > span {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.45rem;
	color: var(--bsh-lime);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bsh-system-map__core-inner > span i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 10px currentColor;
	animation: bsh-live 1.8s ease infinite;
}

.bsh-system-map__node {
	position: absolute;
	z-index: 4;
	display: grid;
	grid-template-columns: 48px 1fr;
	grid-template-rows: auto auto;
	align-items: center;
	width: 188px;
	min-height: 82px;
	padding: 0.9rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 18px;
	background: rgba(9, 34, 52, 0.9);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);
	color: #fff;
	text-decoration: none;
	transform: translate(-50%, -50%);
	transition: border-color 220ms ease, background 220ms ease, box-shadow 220ms ease, transform 220ms ease;
	backdrop-filter: blur(12px);
}

.bsh-system-map__node > span {
	display: grid;
	grid-row: 1 / 3;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 12px;
	background: rgba(67, 178, 229, 0.11);
	color: #60c8f4;
}

.bsh-system-map__node .bsh-icon {
	width: 22px;
	height: 22px;
}

.bsh-system-map__node strong {
	font-size: 0.92rem;
}

.bsh-system-map__node small {
	color: #849eae;
	font-size: 0.67rem;
}

.bsh-system-map__node:hover,
.bsh-system-map__node:focus-visible,
.bsh-system-map__node.is-active {
	border-color: rgba(185, 239, 67, 0.58);
	background: rgba(15, 49, 70, 0.97);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.3), 0 0 32px rgba(185, 239, 67, 0.09);
	transform: translate(-50%, -50%) scale(1.045);
}

.bsh-system-map__node.is-active > span {
	background: var(--bsh-lime);
	color: var(--bsh-navy);
}

.bsh-system-map__node--north { top: 86px; left: 50%; }
.bsh-system-map__node--north-east { top: 190px; left: 82.2%; }
.bsh-system-map__node--south-east { top: 450px; left: 82.2%; }
.bsh-system-map__node--south { top: 554px; left: 50%; }
.bsh-system-map__node--south-west { top: 450px; left: 17.8%; }
.bsh-system-map__node--north-west { top: 190px; left: 17.8%; }

.bsh-system-map__promise {
	position: absolute;
	z-index: 5;
	right: 1.4rem;
	bottom: 1.4rem;
	left: 1.4rem;
	display: grid;
	grid-template-columns: auto 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 0.75rem 1rem;
	padding: 1rem 1.2rem;
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 18px;
	background: rgba(2, 14, 23, 0.82);
	backdrop-filter: blur(12px);
}

.bsh-system-map__promise > span {
	color: var(--bsh-lime);
	font-size: 0.84rem;
	font-weight: 900;
}

.bsh-system-map__promise p {
	margin: 0;
}

.bsh-system-map__promise strong,
.bsh-system-map__promise small {
	display: block;
}

.bsh-system-map__promise strong {
	color: #fff;
	font-size: 0.78rem;
}

.bsh-system-map__promise small {
	color: #7893a4;
	font-size: 0.66rem;
}

/* Managed section */
.bsh-split {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
	align-items: center;
	gap: clamp(3rem, 7vw, 8rem);
}

.bsh-split__copy > p:not(.bsh-kicker) {
	max-width: 640px;
	font-size: 1.08rem;
}

.bsh-feature-list {
	display: grid;
	gap: 1.1rem;
	padding: 0;
	margin: 2rem 0 2.5rem;
	list-style: none;
}

.bsh-feature-list li {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 0.8rem;
}

.bsh-feature-list .bsh-icon {
	width: 23px;
	color: var(--bsh-lime);
}

.bsh-feature-list strong,
.bsh-feature-list span {
	display: block;
}

.bsh-feature-list strong {
	margin-bottom: 0.1rem;
	color: #fff;
}

.bsh-ops-card {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.055);
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(16px);
}

.bsh-ops-card__top {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.83rem;
}

.bsh-ops-card__top small {
	margin-left: auto;
	color: var(--bsh-lime);
	font-weight: 800;
}

.bsh-live-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bsh-lime);
	box-shadow: 0 0 0 7px rgba(183, 243, 61, 0.1);
}

.bsh-ops-metric {
	display: grid;
	gap: 0.55rem;
	padding: 2rem 0;
}

.bsh-ops-metric span {
	font-size: 0.76rem;
	text-transform: uppercase;
}

.bsh-ops-metric strong {
	color: #fff;
	font-size: 1.4rem;
}

.bsh-ops-metric i {
	position: relative;
	height: 6px;
	overflow: hidden;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.1);
}

.bsh-ops-metric i::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--value);
	border-radius: inherit;
	background: linear-gradient(90deg, var(--bsh-blue), var(--bsh-lime));
	content: "";
}

.bsh-ops-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
}

.bsh-ops-grid > div {
	display: grid;
	grid-template-columns: 34px 1fr;
	align-items: center;
	gap: 0.2rem 0.8rem;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	background: rgba(2, 12, 21, 0.25);
}

.bsh-ops-grid .bsh-icon {
	grid-row: span 2;
	width: 27px;
	color: var(--bsh-blue);
}

.bsh-ops-grid span {
	font-size: 0.72rem;
}

.bsh-ops-grid strong {
	color: #fff;
	font-size: 0.88rem;
}

.bsh-ops-event {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 1rem;
	margin-top: 0.7rem;
	border-radius: 16px;
	background: rgba(183, 243, 61, 0.08);
}

.bsh-ops-event > span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bsh-lime);
}

.bsh-ops-event p,
.bsh-ops-event strong,
.bsh-ops-event small {
	display: block;
	margin: 0;
}

.bsh-ops-event strong {
	color: #fff;
	font-size: 0.85rem;
}

/* Security flow */
.bsh-security-flow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: #fff;
	box-shadow: 0 18px 60px rgba(7, 23, 37, 0.07);
}

.bsh-security-flow > div {
	position: relative;
	min-height: 300px;
	padding: 2rem;
	border-right: 1px solid var(--bsh-border);
}

.bsh-security-flow > div:last-child {
	border: 0;
}

.bsh-security-flow span {
	display: block;
	margin-bottom: 2.2rem;
	color: var(--bsh-blue-dark);
	font-size: 0.75rem;
	font-weight: 800;
}

.bsh-security-flow .bsh-icon {
	width: 42px;
	height: 42px;
	margin-bottom: 2rem;
	color: var(--bsh-blue-dark);
}

.bsh-security-flow strong {
	display: block;
	margin-bottom: 0.8rem;
	color: var(--bsh-navy);
	font-size: 1.1rem;
}

.bsh-security-flow p {
	margin: 0;
	color: var(--bsh-muted);
	font-size: 0.92rem;
}

/* Stats */
.bsh-stats {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: var(--bsh-navy);
	color: #fff;
	text-align: center;
}

.bsh-stats__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.bsh-stats__grid > div {
	padding: 1rem 2rem;
	border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.bsh-stats__grid > div:last-child {
	border: 0;
}

.bsh-stats strong {
	display: block;
	color: var(--bsh-lime);
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	letter-spacing: -0.06em;
	line-height: 1;
}

.bsh-stats p {
	margin: 0.9rem 0 0;
	color: #cbd8e0;
}

/* Process */
.bsh-process {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: clamp(3rem, 8vw, 9rem);
}

.bsh-process__intro {
	position: sticky;
	top: 160px;
	align-self: start;
}

.bsh-process__intro > p:not(.bsh-kicker) {
	color: var(--bsh-muted);
}

.bsh-process__steps {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bsh-process__steps li {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 1.5rem;
	padding: 2rem 0;
	border-bottom: 1px solid var(--bsh-border);
}

.bsh-process__steps li > span {
	color: var(--bsh-blue-dark);
	font-size: 0.8rem;
	font-weight: 800;
}

.bsh-process__steps h3 {
	margin-bottom: 0.45rem;
}

.bsh-process__steps p {
	margin: 0;
	color: var(--bsh-muted);
}

/* Industries */
.bsh-industry-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-industry-card {
	position: relative;
	min-height: 290px;
	padding: 2rem;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--bsh-radius);
	background: rgba(255, 255, 255, 0.055);
	color: #d8e8f1;
	text-decoration: none;
	transition: transform 180ms ease, background 180ms ease;
}

.bsh-industry-card:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-5px);
}

.bsh-industry-card > span {
	display: block;
	margin-bottom: 2.8rem;
	color: var(--bsh-lime);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bsh-industry-card h3 {
	max-width: 280px;
}

.bsh-industry-card p {
	max-width: 330px;
	color: #bcd1dd;
}

.bsh-industry-card .bsh-icon {
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	width: 26px;
	color: var(--bsh-lime);
}

/* Testimonials and tech */
.bsh-testimonial-section {
	position: relative;
	overflow: hidden;
}

.bsh-testimonial-section::before {
	position: absolute;
	top: 12%;
	right: -12rem;
	width: 34rem;
	height: 34rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(34, 184, 255, 0.09), transparent 68%);
	pointer-events: none;
	content: "";
}

.bsh-testimonial-section .bsh-container {
	position: relative;
}

.bsh-testimonial-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(330px, 0.82fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-testimonial {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 245px;
	padding: clamp(1.65rem, 2.8vw, 2.35rem);
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: linear-gradient(145deg, #fff, #f5f9fc);
}

.bsh-testimonial::after {
	position: absolute;
	top: 0;
	right: 0;
	width: 7rem;
	height: 7rem;
	border-radius: 0 0 0 100%;
	background: rgba(34, 184, 255, 0.08);
	pointer-events: none;
	content: "";
}

.bsh-testimonial:nth-child(3)::after {
	background: rgba(183, 243, 61, 0.12);
}

.bsh-testimonial--featured {
	grid-row: 1 / -1;
	min-height: 506px;
	border-color: rgba(255, 255, 255, 0.14);
	background:
		radial-gradient(circle at 92% 8%, rgba(34, 184, 255, 0.18), transparent 18rem),
		linear-gradient(145deg, #071a2a, #0b2a3c);
	box-shadow: 0 26px 60px rgba(7, 23, 37, 0.14);
}

.bsh-testimonial--featured::after {
	width: 12rem;
	height: 12rem;
	background: rgba(183, 243, 61, 0.08);
}

.bsh-testimonial__topline {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.3rem;
}

.bsh-testimonial__topline > span:first-child {
	color: var(--bsh-blue-dark);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.bsh-testimonial--featured .bsh-testimonial__topline > span:first-child {
	color: var(--bsh-lime);
}

.bsh-testimonial__quote {
	color: rgba(7, 23, 37, 0.13);
	font-family: Georgia, serif;
	font-size: 4.4rem;
	font-weight: 700;
	line-height: 0.72;
}

.bsh-testimonial--featured .bsh-testimonial__quote {
	color: rgba(255, 255, 255, 0.16);
	font-size: 6rem;
}

.bsh-testimonial__body {
	position: relative;
	z-index: 1;
}

.bsh-testimonial__body p {
	margin: 0;
	color: #344c60;
	font-size: clamp(1rem, 1.15vw, 1.1rem);
	line-height: 1.72;
}

.bsh-testimonial--featured .bsh-testimonial__body {
	max-width: 42rem;
	margin-block: auto;
}

.bsh-testimonial--featured .bsh-testimonial__body p {
	color: #eef6fa;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	font-weight: 520;
	line-height: 1.5;
}

.bsh-testimonial footer {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 1.25rem;
	border-top: 1px solid var(--bsh-border);
}

.bsh-testimonial footer strong {
	color: var(--bsh-navy);
	font-size: 0.96rem;
}

.bsh-testimonial footer span {
	color: var(--bsh-muted);
	font-size: 0.8rem;
	line-height: 1.5;
}

.bsh-testimonial--featured footer {
	border-color: rgba(255, 255, 255, 0.16);
}

.bsh-testimonial--featured footer strong {
	color: #fff;
}

.bsh-testimonial--featured footer span {
	color: #a9c1cf;
}

.bsh-testimonial-privacy {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	margin-top: 1rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid #d7e5ee;
	border-radius: 18px;
	background: #f4f9fc;
}

.bsh-testimonial-privacy__icon {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 13px;
	background: var(--bsh-navy);
	color: var(--bsh-lime);
}

.bsh-testimonial-privacy__icon .bsh-icon {
	width: 23px;
}

.bsh-testimonial-privacy p {
	margin: 0;
	color: #526b7c;
	font-size: 0.84rem;
	line-height: 1.65;
}

.bsh-testimonial-privacy strong {
	color: var(--bsh-navy);
}

.bsh-tech-stack {
	position: relative;
	overflow: hidden;
	padding: clamp(5rem, 8vw, 7.5rem) 0;
	border-block: 1px solid var(--bsh-border);
	background:
		radial-gradient(circle at 8% 0%, rgba(34, 184, 255, 0.12), transparent 28rem),
		radial-gradient(circle at 95% 100%, rgba(183, 243, 61, 0.1), transparent 26rem),
		#f7fafc;
}

.bsh-tech-stack::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(7, 23, 37, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(7, 23, 37, 0.025) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
	pointer-events: none;
	content: "";
}

.bsh-tech-stack .bsh-container {
	position: relative;
}

.bsh-tech-stack .bsh-eyebrow {
	color: var(--bsh-blue-dark);
}

.bsh-tech-stack__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.65fr);
	align-items: end;
	gap: clamp(2rem, 7vw, 7rem);
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.bsh-tech-stack__heading h2 {
	max-width: 790px;
	margin: 0;
	font-size: clamp(2.45rem, 4vw, 4rem);
}

.bsh-tech-stack__heading > p {
	max-width: 520px;
	margin: 0 0 0.35rem;
	color: var(--bsh-muted);
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.7;
}

.bsh-tech-stack__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-tech-group {
	--bsh-tech-accent: var(--bsh-blue);
	--bsh-tech-soft: rgba(34, 184, 255, 0.09);
	position: relative;
	overflow: hidden;
	min-height: 220px;
	padding: clamp(1.35rem, 2.2vw, 1.8rem);
	border: 1px solid var(--bsh-border);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 16px 42px rgba(7, 23, 37, 0.055);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bsh-tech-group::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	background: var(--bsh-tech-accent);
	content: "";
}

.bsh-tech-group::after {
	position: absolute;
	top: -86px;
	right: -72px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: var(--bsh-tech-soft);
	pointer-events: none;
	content: "";
}

.bsh-tech-group:hover {
	border-color: color-mix(in srgb, var(--bsh-tech-accent) 38%, var(--bsh-border));
	box-shadow: 0 22px 54px rgba(7, 23, 37, 0.09);
	transform: translateY(-3px);
}

.bsh-tech-group header {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: baseline;
	gap: 0.85rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--bsh-border);
}

.bsh-tech-group header span {
	color: var(--bsh-tech-accent);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.15em;
}

.bsh-tech-group h3 {
	margin: 0;
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	letter-spacing: -0.02em;
}

.bsh-tech-group ul {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	padding: 0;
	margin: 1.35rem 0 0;
	list-style: none;
}

.bsh-tech-group li {
	padding: 0.52rem 0.72rem;
	border: 1px solid #e1eaf0;
	border-radius: 999px;
	background: #f6f9fb;
	color: #32495c;
	font-size: 0.8rem;
	font-weight: 760;
	line-height: 1.2;
}

.bsh-tech-group--cloud {
	--bsh-tech-accent: #5478ff;
	--bsh-tech-soft: rgba(84, 120, 255, 0.1);
}

.bsh-tech-group--network {
	--bsh-tech-accent: #ff6268;
	--bsh-tech-soft: rgba(255, 98, 104, 0.1);
}

.bsh-tech-group--communication {
	--bsh-tech-accent: #8877ff;
	--bsh-tech-soft: rgba(136, 119, 255, 0.1);
}

.bsh-tech-group--building {
	--bsh-tech-accent: #f5a623;
	--bsh-tech-soft: rgba(245, 166, 35, 0.11);
}

.bsh-tech-group--power {
	--bsh-tech-accent: #08ad82;
	--bsh-tech-soft: rgba(8, 173, 130, 0.1);
}

@media (max-width: 1080px) {
	.bsh-tech-stack__heading {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.bsh-tech-stack__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.bsh-tech-stack {
		padding-block: 4.5rem;
	}

	.bsh-tech-stack__heading h2 br {
		display: none;
	}

	.bsh-tech-stack__grid {
		grid-template-columns: 1fr;
	}

	.bsh-tech-group {
		min-height: 0;
	}
}

.bsh-final-cta {
	position: relative;
	overflow: hidden;
	padding: clamp(6rem, 10vw, 10rem) 0;
	background: var(--bsh-navy);
	color: #cad8e1;
	text-align: center;
}

.bsh-final-cta__glow {
	position: absolute;
	top: -25rem;
	left: 50%;
	width: 70rem;
	height: 50rem;
	border-radius: 50%;
	background: rgba(34, 184, 255, 0.15);
	filter: blur(120px);
	transform: translateX(-50%);
}

.bsh-final-cta__inner {
	position: relative;
	max-width: 900px;
}

.bsh-final-cta h2 {
	color: #fff;
}

.bsh-final-cta p:not(.bsh-kicker) {
	max-width: 700px;
	margin-inline: auto;
	font-size: 1.08rem;
}

/* Inner pages */
.bsh-page-hero {
	position: relative;
	padding: clamp(4rem, 8vw, 7.5rem) 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 20%, rgba(34, 184, 255, 0.2), transparent 27rem),
		linear-gradient(135deg, var(--bsh-navy), #0d2d44);
	color: #c8d7e1;
}

.bsh-page-hero::after {
	position: absolute;
	right: -9rem;
	bottom: -15rem;
	width: 36rem;
	height: 36rem;
	border: 1px solid rgba(183, 243, 61, 0.15);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(34, 184, 255, 0.03), 0 0 0 140px rgba(34, 184, 255, 0.02);
	content: "";
}

.bsh-page-hero--compact {
	padding-block: 4rem;
}

.bsh-page-hero h1 {
	position: relative;
	z-index: 1;
	max-width: 980px;
	margin-bottom: 1rem;
	color: #fff;
}

.bsh-page-hero__lead {
	position: relative;
	z-index: 1;
	max-width: 760px;
	margin: 0;
	font-size: 1.18rem;
}

.bsh-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2.5rem;
	color: #8ea4b3;
	font-size: 0.76rem;
}

.bsh-breadcrumbs a {
	color: #cbdbe4;
	text-decoration: none;
}

.bsh-page-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	align-items: start;
	gap: clamp(3rem, 7vw, 7rem);
	padding-block: clamp(4rem, 8vw, 8rem);
}

.bsh-prose {
	max-width: 820px;
	font-size: 1.05rem;
}

.bsh-prose > :first-child {
	margin-top: 0;
}

.bsh-prose h2 {
	margin: 2.4em 0 0.7em;
	font-size: clamp(1.9rem, 3vw, 2.8rem);
}

.bsh-prose h3 {
	margin: 2em 0 0.65em;
	font-size: 1.45rem;
}

.bsh-prose p,
.bsh-prose li {
	color: #40576a;
}

.bsh-prose ul,
.bsh-prose ol {
	padding-left: 1.3rem;
}

.bsh-prose li {
	padding-left: 0.25rem;
	margin-bottom: 0.6rem;
}

.bsh-prose blockquote {
	padding: 1.4rem 1.8rem;
	margin: 2rem 0;
	border-left: 4px solid var(--bsh-blue);
	border-radius: 0 var(--bsh-radius) var(--bsh-radius) 0;
	background: #edf6fa;
	color: var(--bsh-navy);
	font-size: 1.15rem;
	font-weight: 650;
}

.bsh-related-pages {
	margin-top: 4rem;
}

.bsh-related-pages > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
}

.bsh-related-pages a {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 250px;
	padding: 1.5rem;
	border: 1px solid var(--bsh-border);
	border-radius: 18px;
	background: var(--bsh-white);
	color: var(--bsh-ink);
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bsh-related-pages a:hover {
	border-color: var(--bsh-blue);
	box-shadow: 0 18px 50px rgba(7, 23, 37, 0.1);
	transform: translateY(-3px);
}

.bsh-related-pages a > span {
	margin-bottom: 1.2rem;
	color: var(--bsh-blue-dark);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bsh-related-pages a > strong {
	color: var(--bsh-navy);
	font-size: 1.12rem;
}

.bsh-related-pages a > p {
	margin: 0.6rem 0 2rem;
	color: var(--bsh-muted);
	font-size: 0.86rem;
}

.bsh-related-pages a > .bsh-icon {
	width: 22px;
	margin-top: auto;
	color: var(--bsh-blue-dark);
}

.bsh-prose .wp-block-button__link,
.bsh-prose input[type="submit"] {
	border-radius: 999px;
	background: var(--bsh-navy);
}

.bsh-prose--single {
	padding-block: clamp(3rem, 7vw, 7rem);
}

.bsh-featured-image {
	margin-bottom: 3rem;
	overflow: hidden;
	border-radius: var(--bsh-radius);
}

.bsh-page-aside {
	position: sticky;
	top: 150px;
	display: grid;
	gap: 1rem;
}

.bsh-aside-card {
	padding: 2rem;
	border-radius: var(--bsh-radius);
	background: var(--bsh-navy);
	color: #c9d6df;
}

.bsh-aside-card h2 {
	color: #fff;
	font-size: 1.75rem;
}

.bsh-aside-card .bsh-button {
	border-color: var(--bsh-lime);
	background: var(--bsh-lime);
	color: var(--bsh-navy);
}

.bsh-aside-check {
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 1rem;
	padding: 1.4rem;
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: #fff;
	color: var(--bsh-ink);
	text-decoration: none;
}

.bsh-aside-check .bsh-icon {
	width: 36px;
	color: var(--bsh-blue-dark);
}

.bsh-aside-check strong,
.bsh-aside-check span {
	display: block;
}

.bsh-aside-check span {
	color: var(--bsh-muted);
	font-size: 0.83rem;
}

.bsh-aside-check strong {
	margin-bottom: 0.25rem;
	color: var(--bsh-navy);
	font-size: 0.95rem;
}

/* Premium service pages */
.bsh-page-hero--visual {
	display: grid;
	height: auto;
	min-height: min(760px, var(--bsh-hero-max-height));
	max-height: var(--bsh-hero-max-height);
	padding: 0;
	isolation: isolate;
	background: var(--bsh-navy);
}

.bsh-page-hero--visual::after {
	display: none;
}

.bsh-page-hero__media,
.bsh-page-hero__shade {
	position: absolute;
	inset: 0;
}

.bsh-page-hero__media {
	z-index: -3;
}

.bsh-page-hero__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.bsh-page-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	animation: none;
	transform: none;
}

.bsh-page-hero__shade {
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(3, 13, 23, 0.98) 0%, rgba(5, 22, 35, 0.93) 37%, rgba(7, 23, 37, 0.48) 68%, rgba(7, 23, 37, 0.18) 100%),
		linear-gradient(0deg, rgba(3, 13, 23, 0.8), transparent 46%);
}

.bsh-page-hero__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: end;
	gap: clamp(3rem, 7vw, 8rem);
	padding-block: clamp(4.5rem, 8vw, 7rem);
}

.bsh-page-hero__copy {
	min-width: 0;
	max-width: 830px;
	container-type: inline-size;
}

.bsh-page-hero--visual .bsh-breadcrumbs {
	margin-bottom: clamp(2rem, 4vw, 3.4rem);
}

.bsh-page-hero--visual h1 {
	max-width: 820px;
	font-size: clamp(4rem, 5.2vw, 5rem);
	font-size: clamp(4rem, 9cqi, 5rem);
	text-wrap: balance;
}

.bsh-title-line {
	display: block;
}

.bsh-page-hero__content > *,
.bsh-section-heading > *,
.bsh-area-story > *,
.bsh-page-faq__layout > *,
.bsh-page-cta__inner > *,
.bsh-page-shell > * {
	min-width: 0;
}

.bsh-hero.is-content-compact .bsh-hero__inner,
.bsh-page-hero--visual.is-content-compact .bsh-page-hero__content {
	padding-block: clamp(2.25rem, 5dvh, 3.75rem);
}

.bsh-page-hero--visual.is-content-compact .bsh-breadcrumbs {
	margin-bottom: clamp(1rem, 2dvh, 1.6rem);
}

.bsh-hero.is-content-compact .bsh-actions,
.bsh-page-hero--visual.is-content-compact .bsh-actions {
	margin-block: 1.2rem;
}

.bsh-hero.is-content-compact .bsh-trust-list,
.bsh-page-hero--visual.is-content-compact .bsh-page-signals {
	margin-top: 1.25rem;
}

.bsh-page-hero--visual.is-content-compact .bsh-page-hero__badge > span {
	margin-bottom: 1rem;
}

.bsh-page-hero--visual.is-content-dense .bsh-page-hero__content {
	grid-template-columns: minmax(0, 1fr);
}

.bsh-page-hero--visual.is-content-dense .bsh-page-hero__badge {
	display: none;
}

.bsh-page-hero--visual .bsh-page-hero__lead {
	max-width: 720px;
	color: #d6e2e9;
	font-size: clamp(1.08rem, 1.7vw, 1.28rem);
}

.bsh-page-overview .bsh-section-heading h2,
.bsh-page-process .bsh-section-heading h2,
.bsh-area-solutions .bsh-section-heading h2 {
	font-size: clamp(2.5rem, 3.4vw, 3.5rem);
}

.bsh-page-signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1.3rem;
	padding: 0;
	margin: 2.2rem 0 0;
	list-style: none;
}

.bsh-page-signals li {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: #e4edf2;
	font-size: 0.82rem;
	font-weight: 700;
}

.bsh-page-signals .bsh-icon {
	width: 17px;
	height: 17px;
	color: var(--bsh-lime);
}

.bsh-page-hero__badge {
	padding: 1.6rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--bsh-radius);
	background: rgba(6, 23, 36, 0.64);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(18px);
}

.bsh-page-hero__badge > span {
	display: grid;
	width: 54px;
	height: 54px;
	margin-bottom: 2rem;
	border-radius: 16px;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
	place-items: center;
}

.bsh-page-hero__badge .bsh-icon {
	width: 29px;
	height: 29px;
}

.bsh-page-hero__badge p {
	margin-bottom: 0.55rem;
	color: #93adbd;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bsh-page-hero__badge strong {
	display: block;
	color: #fff;
	font-size: 1rem;
	line-height: 1.45;
}

.bsh-page-jump {
	position: sticky;
	z-index: 90;
	top: var(--bsh-header-height);
	border-bottom: 1px solid var(--bsh-border);
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(14px);
}

.bsh-page-jump .bsh-container {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 3vw, 2.5rem);
	min-height: 60px;
	overflow-x: auto;
	scrollbar-width: none;
}

.bsh-page-jump .bsh-container::-webkit-scrollbar {
	display: none;
}

.bsh-page-jump span,
.bsh-page-jump a {
	flex: 0 0 auto;
	font-size: 0.76rem;
	font-weight: 760;
}

.bsh-page-jump span {
	color: var(--bsh-muted);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bsh-page-jump a {
	padding: 1.15rem 0;
	color: var(--bsh-navy);
	text-decoration: none;
}

.bsh-page-jump a:hover,
.bsh-page-jump a:focus-visible {
	color: var(--bsh-blue-dark);
}

.bsh-page-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-page-benefit {
	min-height: 320px;
	padding: clamp(1.6rem, 3vw, 2.2rem);
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: var(--bsh-white);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.bsh-page-benefit:hover {
	border-color: rgba(34, 184, 255, 0.55);
	box-shadow: 0 22px 65px rgba(7, 23, 37, 0.1);
	transform: translateY(-5px);
}

.bsh-page-benefit__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: clamp(3rem, 5vw, 5rem);
}

.bsh-page-benefit__top > span {
	display: grid;
	width: 54px;
	height: 54px;
	border-radius: 16px;
	background: var(--bsh-navy);
	color: var(--bsh-lime);
	place-items: center;
}

.bsh-page-benefit__top .bsh-icon {
	width: 29px;
	height: 29px;
}

.bsh-page-benefit__top small {
	color: #9aabb7;
	font-size: 0.75rem;
	font-weight: 800;
}

.bsh-page-benefit h3 {
	margin-bottom: 0.6rem;
}

.bsh-page-benefit p {
	margin: 0;
	color: var(--bsh-muted);
	font-size: 0.94rem;
}

.bsh-page-details .bsh-page-shell {
	padding-block: 0;
}

.bsh-page-prose {
	max-width: 860px;
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 1px solid var(--bsh-border);
	border-radius: calc(var(--bsh-radius) + 4px);
	background: #fff;
	box-shadow: 0 22px 70px rgba(7, 23, 37, 0.07);
}

.bsh-page-prose__heading {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--bsh-border);
}

.bsh-page-prose__heading h2 {
	margin: 0;
	font-size: clamp(2rem, 3.2vw, 3.25rem);
	text-wrap: balance;
}

.bsh-page-prose__heading + p {
	color: var(--bsh-navy);
	font-size: 1.14rem;
	font-weight: 600;
}

.bsh-page-prose > h2 {
	padding-top: 2.3rem;
	border-top: 1px solid var(--bsh-border);
}

.bsh-imported-list {
	display: grid;
	gap: 0.65rem;
	padding: 0;
	margin: 1.4rem 0 2rem;
	list-style: none;
}

.bsh-imported-list li {
	position: relative;
	padding: 0.85rem 1rem 0.85rem 2.6rem;
	margin: 0;
	border-radius: 13px;
	background: #f2f7f9;
}

.bsh-imported-list li::before {
	position: absolute;
	top: 1.12rem;
	left: 1rem;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bsh-blue);
	box-shadow: 0 0 0 4px rgba(34, 184, 255, 0.12);
	content: "";
}

.bsh-page-details .bsh-aside-card {
	background:
		radial-gradient(circle at 90% 10%, rgba(34, 184, 255, 0.18), transparent 13rem),
		var(--bsh-navy);
}

/* Editorial landing pages for the six service hubs */
.bsh-area-story {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
	align-items: start;
	gap: clamp(3rem, 8vw, 8rem);
}

.bsh-area-story__copy {
	max-width: 760px;
}

.bsh-area-story__copy h2 {
	margin-bottom: 1.1em;
	font-size: clamp(2.55rem, 3.8vw, 3.75rem);
	text-wrap: balance;
}

.bsh-area-story__copy p:not(.bsh-kicker) {
	color: #3d5669;
	font-size: 1.08rem;
}

.bsh-area-story__copy .bsh-kicker + h2 + p {
	color: var(--bsh-navy);
	font-size: 1.18rem;
	font-weight: 620;
}

.bsh-area-challenges {
	position: sticky;
	top: calc(var(--bsh-header-height) + 115px);
	padding: clamp(1.7rem, 4vw, 2.6rem);
	border-radius: calc(var(--bsh-radius) + 4px);
	background:
		radial-gradient(circle at 92% 8%, rgba(34, 184, 255, 0.18), transparent 16rem),
		var(--bsh-navy);
	box-shadow: 0 25px 75px rgba(7, 23, 37, 0.16);
}

.bsh-area-challenges h3 {
	margin-bottom: 1.6rem;
	color: #fff;
	font-size: clamp(1.55rem, 2.5vw, 2.15rem);
}

.bsh-area-challenges ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bsh-area-challenges li {
	display: grid;
	gap: 0.3rem;
	padding: 1.15rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.bsh-area-challenges strong {
	color: #fff;
	font-size: 0.95rem;
}

.bsh-area-challenges span {
	color: #a9bdc9;
	font-size: 0.84rem;
	line-height: 1.55;
}

.bsh-area-solutions {
	padding-top: clamp(6rem, 10vw, 10rem);
}

.bsh-area-solution-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-area-solution-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 330px;
	padding: clamp(1.6rem, 3vw, 2.2rem);
	overflow: hidden;
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: #fff;
	color: var(--bsh-ink);
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bsh-area-solution-card::after {
	position: absolute;
	right: -5rem;
	bottom: -6rem;
	width: 13rem;
	height: 13rem;
	border-radius: 50%;
	background: rgba(34, 184, 255, 0.07);
	content: "";
}

.bsh-area-solution-card:hover,
.bsh-area-solution-card:focus-visible {
	border-color: var(--bsh-blue);
	box-shadow: 0 22px 65px rgba(7, 23, 37, 0.11);
	transform: translateY(-5px);
}

.bsh-area-solution-card > span {
	display: block;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
	color: var(--bsh-blue-dark);
	font-size: 0.74rem;
	font-weight: 800;
}

.bsh-area-solution-card h3 {
	font-size: clamp(1.35rem, 2.1vw, 1.8rem);
}

.bsh-area-solution-card p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	margin-bottom: 2rem;
	color: var(--bsh-muted);
	font-size: 0.9rem;
}

.bsh-area-solution-card > strong {
	display: inline-flex;
	z-index: 1;
	align-items: center;
	gap: 0.6rem;
	margin-top: auto;
	color: var(--bsh-navy);
	font-size: 0.82rem;
}

.bsh-area-solution-card > strong .bsh-icon {
	width: 19px;
	height: 19px;
	color: var(--bsh-blue-dark);
	transition: transform 180ms ease;
}

.bsh-area-solution-card:hover > strong .bsh-icon {
	transform: translateX(4px);
}

.bsh-area-more {
	margin-top: 1.2rem;
}

.bsh-area-more > summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: max-content;
	max-width: 100%;
	min-height: 50px;
	padding: 0.8rem 1.25rem;
	margin-inline: auto;
	border: 1px solid var(--bsh-border);
	border-radius: 999px;
	background: #fff;
	color: var(--bsh-navy);
	cursor: pointer;
	font-size: 0.86rem;
	font-weight: 750;
	list-style: none;
}

.bsh-area-more > summary::-webkit-details-marker {
	display: none;
}

.bsh-area-more > summary .bsh-icon {
	width: 18px;
	height: 18px;
	transform: rotate(90deg);
	transition: transform 180ms ease;
}

.bsh-area-more[open] > summary .bsh-icon {
	transform: rotate(-90deg);
}

.bsh-area-solution-grid--more {
	padding-top: 1.2rem;
}

.bsh-area-scenarios {
	display: grid;
	grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(3rem, 7vw, 7rem);
	padding: clamp(2rem, 5vw, 4rem);
	margin-top: clamp(6rem, 10vw, 10rem);
	border: 1px solid var(--bsh-border);
	border-radius: calc(var(--bsh-radius) + 6px);
	background: #fff;
	box-shadow: 0 24px 75px rgba(7, 23, 37, 0.07);
}

.bsh-area-scenarios__intro h2 {
	font-size: clamp(2rem, 3.8vw, 3.4rem);
	text-wrap: balance;
}

.bsh-area-scenarios__grid {
	display: grid;
	gap: 0;
}

.bsh-area-scenarios__grid article,
.bsh-area-scenarios__grid > .bsh-area-scenario {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 0 1rem;
	padding: 1.5rem 0;
	border-top: 1px solid var(--bsh-border);
}

.bsh-area-scenarios__grid article:first-child,
.bsh-area-scenarios__grid > .bsh-area-scenario:first-child {
	padding-top: 0;
	border-top: 0;
}

.bsh-area-scenarios__grid article:last-child,
.bsh-area-scenarios__grid > .bsh-area-scenario:last-child {
	padding-bottom: 0;
}

.bsh-area-scenarios__grid article > span,
.bsh-area-scenario__check {
	display: grid;
	grid-row: span 2;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
	place-items: center;
}

.bsh-area-scenario__check {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 900;
}

.bsh-area-scenarios__grid .bsh-icon {
	width: 18px;
	height: 18px;
}

.bsh-area-scenarios__grid h3 {
	margin-bottom: 0.35rem;
	font-size: 1.25rem;
}

.bsh-area-scenarios__grid p {
	margin: 0;
	color: var(--bsh-muted);
	font-size: 0.9rem;
}

.bsh-page-process {
	overflow: hidden;
}

.bsh-page-process .bsh-section-heading > p {
	color: #b5cad6;
}

.bsh-page-process__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 0;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--bsh-radius);
	list-style: none;
}

.bsh-page-process__grid li {
	min-height: 330px;
	padding: clamp(1.6rem, 3vw, 2.2rem);
	border-right: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.025);
}

.bsh-page-process__grid li:last-child {
	border-right: 0;
}

.bsh-page-process__grid span {
	display: block;
	margin-bottom: clamp(4rem, 7vw, 7rem);
	color: var(--bsh-lime);
	font-size: 0.76rem;
	font-weight: 800;
}

.bsh-page-process__grid h3 {
	margin-bottom: 0.7rem;
	color: #fff;
}

.bsh-page-process__grid p {
	margin: 0;
	color: #adbfca;
	font-size: 0.9rem;
}

.bsh-page-faq__layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.65fr) minmax(0, 1.35fr);
	gap: clamp(3rem, 8vw, 9rem);
}

.bsh-page-faq__intro {
	align-self: start;
}

.bsh-page-faq__intro h2 {
	font-size: clamp(2.2rem, 3.4vw, 3.25rem);
}

.bsh-page-faq__intro > p:not(.bsh-kicker) {
	color: var(--bsh-muted);
}

.bsh-page-faq__items {
	display: grid;
	gap: 0.75rem;
	overflow-anchor: none;
	counter-reset: bsh-faq;
}

.bsh-faq-item {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--bsh-border);
	border-radius: 18px;
	background: #fff;
	counter-increment: bsh-faq;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bsh-faq-item::after {
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(180deg, var(--bsh-lime), var(--bsh-blue));
	content: "";
	opacity: 0;
	transform: scaleY(0.25);
	transform-origin: center;
	transition: opacity 180ms ease, transform 240ms ease;
}

.bsh-faq-item:hover {
	border-color: color-mix(in srgb, var(--bsh-blue) 28%, var(--bsh-border));
	transform: translateY(-2px);
}

.bsh-faq-item[open] {
	border-color: color-mix(in srgb, var(--bsh-blue) 34%, var(--bsh-border));
	background: linear-gradient(135deg, #fff 0%, #f5fbfd 100%);
	box-shadow: 0 18px 44px rgba(7, 34, 52, 0.09);
}

.bsh-faq-item[open]::after {
	opacity: 1;
	transform: scaleY(1);
}

.bsh-faq-item summary {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 1.35rem 1.4rem;
	color: var(--bsh-navy);
	cursor: pointer;
	font-size: 1.05rem;
	font-weight: 750;
	list-style: none;
}

.bsh-faq-item summary::before {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 12px;
	background: var(--bsh-white);
	color: var(--bsh-blue-dark);
	content: counter(bsh-faq, decimal-leading-zero);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.04em;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.bsh-faq-item summary > span {
	flex: 1;
}

.bsh-faq-item[open] summary::before {
	background: var(--bsh-lime);
	color: var(--bsh-navy);
	transform: rotate(-4deg) scale(1.04);
}

.bsh-faq-item summary::-webkit-details-marker {
	display: none;
}

.bsh-faq-item summary .bsh-icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	color: var(--bsh-blue-dark);
	transform: rotate(90deg);
	transition: transform 180ms ease;
}

.bsh-faq-item[open] summary .bsh-icon {
	transform: rotate(-90deg);
}

.bsh-faq-item > p {
	max-width: 720px;
	padding: 0 4rem 1.5rem 5rem;
	margin: 0;
	color: var(--bsh-muted);
}

.bsh-page-cta {
	position: relative;
	overflow: hidden;
	padding: clamp(4rem, 8vw, 7rem) 0;
	background: #0b2b42;
	color: #c5d8e4;
}

.bsh-page-cta__glow {
	position: absolute;
	top: -18rem;
	right: 4%;
	width: 42rem;
	height: 42rem;
	border-radius: 50%;
	background: rgba(34, 184, 255, 0.17);
	filter: blur(90px);
}

.bsh-page-cta__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}

.bsh-page-cta__inner > div {
	max-width: 760px;
}

.bsh-page-cta h2 {
	color: #fff;
	font-size: clamp(2.3rem, 3.8vw, 3.9rem);
}

.bsh-page-cta p:not(.bsh-kicker) {
	margin-bottom: 0;
}

/* Contact form */
.bsh-contact-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	padding: clamp(1.4rem, 4vw, 2.5rem);
	margin-top: 2rem;
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: #fff;
}

.bsh-contact-form__full {
	grid-column: 1 / -1;
}

.bsh-contact-form label {
	display: grid;
	gap: 0.45rem;
	color: var(--bsh-navy);
	font-size: 0.85rem;
	font-weight: 720;
}

.bsh-contact-form input,
.bsh-contact-form textarea,
.bsh-contact-form select {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid #cbd9e2;
	border-radius: 12px;
	background: #fff;
	color: var(--bsh-ink);
}

.bsh-contact-form input:focus,
.bsh-contact-form textarea:focus,
.bsh-contact-form select:focus {
	border-color: var(--bsh-blue);
	box-shadow: 0 0 0 3px rgba(34, 184, 255, 0.13);
	outline: none;
}

.bsh-contact-form__consent {
	display: flex !important;
	grid-column: 1 / -1;
	grid-template-columns: auto 1fr !important;
	align-items: start;
}

.bsh-contact-form__consent input {
	width: auto;
	margin-top: 0.35rem;
}

.bsh-form-notice {
	padding: 1rem 1.2rem;
	margin-bottom: 1rem;
	border-radius: 12px;
	background: #e9f8d0;
	color: #294508;
}

.bsh-form-notice--error {
	background: #ffeded;
	color: #771c1c;
}

.bsh-hp-field {
	position: absolute;
	left: -9999px;
}

/* Premium contact experience and Contact Form 7 */
.bsh-contact-content {
	display: grid;
	gap: clamp(3rem, 7vw, 6rem);
}

.bsh-contact-stage {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
	align-items: start;
	gap: clamp(2.5rem, 6vw, 6rem);
}

.bsh-contact-intro {
	position: sticky;
	top: calc(var(--bsh-header-height) + 5rem);
}

.bsh-contact-intro h2,
.bsh-contact-panel h2,
.bsh-contact-next h2 {
	margin: 0 0 1.25rem;
	color: var(--bsh-navy);
	font-size: clamp(2.25rem, 4vw, 4.5rem);
	line-height: 1.02;
	letter-spacing: -0.055em;
}

.bsh-contact-panel h2 {
	font-size: clamp(2rem, 3vw, 3.25rem);
}

.bsh-contact-intro > p:not(.bsh-kicker),
.bsh-contact-panel > p:not(.bsh-kicker),
.bsh-contact-next > p:not(.bsh-kicker) {
	color: var(--bsh-muted);
	font-size: 1.05rem;
}

.bsh-contact-promises {
	display: grid;
	gap: 0;
	padding: 0;
	margin: 2rem 0;
	list-style: none;
}

.bsh-contact-promises li {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.2rem;
	padding: 1.1rem 0;
	border-top: 1px solid var(--bsh-border);
}

.bsh-contact-promises li:last-child {
	border-bottom: 1px solid var(--bsh-border);
}

.bsh-contact-promises strong {
	color: var(--bsh-navy);
	font-size: 0.98rem;
}

.bsh-contact-promises span {
	color: var(--bsh-muted);
	font-size: 0.91rem;
}

.bsh-contact-routes {
	display: grid;
	gap: 0.7rem;
}

.bsh-contact-routes > * {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.9rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--bsh-border);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.72);
	color: var(--bsh-navy);
	text-decoration: none;
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.bsh-contact-routes a:hover {
	transform: translateX(4px);
	border-color: rgba(34, 184, 255, 0.55);
	background: #fff;
}

.bsh-contact-routes span {
	grid-row: 1 / 4;
	display: grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	border-radius: 12px;
	background: var(--bsh-navy);
	color: var(--bsh-lime);
	font-size: 0.75rem;
	font-weight: 850;
}

.bsh-contact-routes small {
	color: var(--bsh-blue-dark);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bsh-contact-routes strong {
	font-size: 0.94rem;
	line-height: 1.35;
}

.bsh-contact-routes em {
	color: var(--bsh-muted);
	font-size: 0.78rem;
	font-style: normal;
}

.bsh-contact-panel {
	position: relative;
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid var(--bsh-border);
	border-radius: calc(var(--bsh-radius) + 8px);
	background:
		radial-gradient(circle at 100% 0, rgba(34, 184, 255, 0.12), transparent 28%),
		#fff;
	box-shadow: var(--bsh-shadow);
}

.bsh-contact-panel::before {
	position: absolute;
	top: 0;
	left: clamp(1.5rem, 4vw, 3rem);
	width: 5.5rem;
	height: 4px;
	border-radius: 0 0 4px 4px;
	background: linear-gradient(90deg, var(--bsh-lime), var(--bsh-blue));
	content: "";
}

.bsh-cf7-shell {
	margin-top: 1.5rem;
}

.bsh-cf7-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1rem;
	row-gap: 1.15rem;
}

/* Contact Form 7 adds paragraphs and line breaks during auto-formatting. */
.bsh-cf7-form p,
.bsh-cf7-form .wpcf7-form-control-wrap {
	margin: 0;
}

.bsh-cf7-form br {
	display: none;
}

.bsh-cf7-form .wpcf7-form-control-wrap {
	display: block;
}

.bsh-cf7-field {
	min-width: 0;
	margin: 0;
}

.bsh-cf7-field--full,
.bsh-cf7-topic,
.bsh-cf7-consents,
.bsh-cf7-submit-row {
	grid-column: 1 / -1;
}

.bsh-cf7-field label {
	display: grid;
	gap: 0.38rem;
	margin: 0;
	color: var(--bsh-navy);
	font-size: 0.83rem;
	font-weight: 780;
}

.bsh-cf7-field label > span:first-child {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.bsh-cf7-field label > span:first-child small {
	color: var(--bsh-muted);
	font-size: 0.7rem;
	font-weight: 650;
}

.bsh-cf7-form input:not([type="checkbox"]):not([type="submit"]),
.bsh-cf7-form select,
.bsh-cf7-form textarea {
	width: 100%;
	padding: 0.95rem 1rem;
	border: 1px solid #cbd9e2;
	border-radius: 13px;
	background: #f9fbfd;
	color: var(--bsh-navy);
	font: inherit;
	line-height: 1.45;
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.bsh-cf7-form textarea {
	min-height: 10rem;
	resize: vertical;
}

.bsh-cf7-form input:not([type="checkbox"]):not([type="submit"]):focus,
.bsh-cf7-form select:focus,
.bsh-cf7-form textarea:focus {
	border-color: var(--bsh-blue);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(34, 184, 255, 0.12);
	outline: none;
}

.bsh-cf7-form ::placeholder {
	color: #8293a2;
}

.bsh-cf7-consents {
	display: grid;
	gap: 0.75rem;
	padding-top: 0.25rem;
}

.bsh-cf7-consent .wpcf7-list-item {
	margin: 0;
}

.bsh-cf7-consent .wpcf7-list-item label {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 0.8rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--bsh-border);
	border-radius: 13px;
	background: #f8fbfd;
	color: var(--bsh-muted);
	font-size: 0.8rem;
	font-weight: 550;
	line-height: 1.55;
	cursor: pointer;
}

.bsh-cf7-consent input[type="checkbox"] {
	width: 1.2rem;
	height: 1.2rem;
	margin-top: 0.08rem;
	accent-color: var(--bsh-blue-dark);
}

.bsh-cf7-submit-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.5rem;
}

.bsh-cf7-submit-row p {
	max-width: 19rem;
	margin: 0;
	color: var(--bsh-muted);
	font-size: 0.74rem;
	line-height: 1.5;
}

.bsh-cf7-submit {
	min-width: 13rem;
	padding: 1rem 1.35rem;
	border: 0;
	border-radius: 999px;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 850;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.bsh-cf7-submit:hover {
	transform: translateY(-2px);
	background: #c5ff4c;
	box-shadow: 0 14px 28px rgba(91, 145, 20, 0.2);
}

.bsh-cf7-form .wpcf7-not-valid-tip {
	margin-top: 0.35rem;
	color: #b42318;
	font-size: 0.74rem;
}

.bsh-cf7-form .wpcf7-response-output {
	padding: 1rem 1.1rem !important;
	margin: 1.25rem 0 0 !important;
	border: 0 !important;
	border-radius: 13px;
	background: #eaf8d7;
	color: #294508;
	font-size: 0.84rem;
}

.bsh-cf7-form.invalid .wpcf7-response-output,
.bsh-cf7-form.failed .wpcf7-response-output,
.bsh-cf7-form.spam .wpcf7-response-output {
	background: #ffeded;
	color: #771c1c;
}

.bsh-contact-privacy {
	padding-top: 1rem;
	margin: 1.25rem 0 0;
	border-top: 1px solid var(--bsh-border);
	color: var(--bsh-muted);
	font-size: 0.75rem;
}

.bsh-contact-next {
	position: relative;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 4.5rem);
	border-radius: calc(var(--bsh-radius) + 8px);
	background: var(--bsh-navy);
}

.bsh-contact-next::after {
	position: absolute;
	right: -6rem;
	bottom: -9rem;
	width: 24rem;
	height: 24rem;
	border-radius: 50%;
	background: rgba(34, 184, 255, 0.14);
	filter: blur(12px);
	content: "";
}

.bsh-contact-next .bsh-kicker,
.bsh-contact-next h2,
.bsh-contact-next > p {
	position: relative;
	z-index: 1;
	max-width: 840px;
	color: #fff;
}

.bsh-contact-next > p {
	color: #b8c8d5 !important;
}

@media (max-width: 980px) {
	.bsh-contact-stage {
		grid-template-columns: 1fr;
	}

	.bsh-contact-intro {
		position: static;
	}
}

@media (max-width: 640px) {
	.bsh-cf7-grid {
		grid-template-columns: 1fr;
	}

	.bsh-cf7-field,
	.bsh-cf7-topic,
	.bsh-cf7-consents,
	.bsh-cf7-submit-row {
		grid-column: 1;
	}

	.bsh-cf7-submit-row {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.bsh-cf7-submit {
		width: 100%;
	}
}

/* Blog and error */
.bsh-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem;
	padding-block: clamp(4rem, 8vw, 8rem);
}

.bsh-post-card {
	overflow: hidden;
	border: 1px solid var(--bsh-border);
	border-radius: var(--bsh-radius);
	background: #fff;
}

.bsh-post-card img {
	width: 100%;
	aspect-ratio: 4 / 2.7;
	object-fit: cover;
}

.bsh-post-card > div {
	padding: 1.6rem;
}

.bsh-post-card time {
	color: var(--bsh-blue-dark);
	font-size: 0.76rem;
	font-weight: 750;
}

.bsh-post-card h2 {
	margin-top: 0.8rem;
	font-size: 1.45rem;
}

.bsh-post-card h2 a {
	color: inherit;
	text-decoration: none;
}

.bsh-error-page {
	display: grid;
	min-height: 65vh;
	place-items: center;
	padding: 5rem 0;
	background: var(--bsh-navy);
	color: #cbd9e1;
	text-align: center;
}

.bsh-error-page h1 {
	color: #fff;
}

.bsh-error-page p:not(.bsh-kicker) {
	max-width: 650px;
	margin-inline: auto;
}

/* Footer */
.bsh-site-footer {
	padding: 5rem 0 1.5rem;
	background: #04111c;
	color: #9fb2bf;
}

.bsh-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr 0.8fr;
	gap: 4rem;
}

.bsh-brand--footer {
	margin-bottom: 1.4rem;
	color: #fff;
}

.bsh-brand--footer .bsh-brand__mark {
	width: 112px;
	height: 112px;
	border-radius: 16px;
}

.bsh-brand--footer .bsh-brand__copy small {
	color: #9fb2bf;
}

.bsh-footer-grid h2 {
	color: #fff;
	font-size: 0.83rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bsh-footer-grid ul,
.bsh-footer-menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bsh-footer-grid li {
	margin: 0.45rem 0;
}

.bsh-footer-grid a,
.bsh-footer-bottom a {
	color: #cbd8e0;
	text-decoration: none;
}

.bsh-footer-grid address {
	margin-bottom: 1.4rem;
	font-style: normal;
}

.bsh-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding-top: 1.5rem;
	margin-top: 4rem;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
	font-size: 0.76rem;
}

.bsh-footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
}

/* Motion */
.bsh-reveal {
	opacity: 1;
	transform: none;
}

.bsh-reveal.is-reveal-pending {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 440ms ease, transform 440ms ease;
}

.bsh-reveal.is-reveal-pending.is-visible {
	opacity: 1;
	transform: none;
}

main {
	animation: bsh-page-enter 140ms ease-out both;
}

@keyframes bsh-page-enter {
	from { opacity: 0.96; }
	to { opacity: 1; }
}

@keyframes bsh-hero-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

@media (min-width: 1180px) and (max-width: 1480px) and (min-height: 720px) {
	.bsh-nav-cta {
		display: none;
	}

	.bsh-hero__inner,
	.bsh-page-hero__content {
		padding-block: clamp(3rem, 8dvh, 5rem);
	}

	.bsh-menu a {
		padding-inline: 0.58rem;
	}
}

/*
 * Full-HD displays with Windows scaling or browser zoom expose substantially
 * less vertical CSS space. Compact only the homepage hero in that situation;
 * all service-page headers keep their existing, proven layout.
 */
@media (min-width: 681px) and (max-height: 980px) {
	.bsh-hero {
		min-height: clamp(480px, 67dvh, 700px);
	}

	.bsh-hero__inner {
		padding-block: clamp(2rem, 5dvh, 3.5rem);
	}

	.bsh-hero .bsh-kicker {
		margin-bottom: clamp(0.7rem, 1.6dvh, 1rem);
	}

	.bsh-hero h1 {
		margin-bottom: clamp(0.9rem, 2dvh, 1.25rem);
		font-size: clamp(3.15rem, min(5vw, 7.4dvh), 4.8rem);
		line-height: 1.03;
	}

	.bsh-hero__lead {
		margin-bottom: 0;
		font-size: clamp(1rem, min(1.45vw, 2.4dvh), 1.22rem);
		line-height: 1.5;
	}

	.bsh-hero .bsh-actions {
		margin-block: clamp(1rem, 2.4dvh, 1.5rem);
	}

	.bsh-hero .bsh-trust-list {
		margin-top: clamp(0.9rem, 2dvh, 1.25rem);
	}

	.bsh-hero .bsh-scroll-cue {
		bottom: clamp(1rem, 2.2dvh, 1.6rem);
	}
}

@media (max-width: 1080px) {
	.bsh-nav-cta {
		display: none;
	}

	.bsh-service-grid,
	.bsh-industry-grid,
	.bsh-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bsh-split {
		grid-template-columns: 1fr 1fr;
		gap: 3rem;
	}

	.bsh-security-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bsh-security-flow > div:nth-child(2) {
		border-right: 0;
	}

	.bsh-security-flow > div:nth-child(-n + 2) {
		border-bottom: 1px solid var(--bsh-border);
	}

	.bsh-page-hero__content {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 2.5rem;
	}

	.bsh-page-benefits {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bsh-page-process__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bsh-page-process__grid li:nth-child(2) {
		border-right: 0;
	}

	.bsh-page-process__grid li:nth-child(-n + 2) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.bsh-area-solution-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1179px), (max-height: 719px) {
	:root {
		--bsh-header-height: 88px;
		--bsh-topbar-height: 0px;
	}

	.bsh-topbar {
		display: none;
	}

	.bsh-site-header {
		backdrop-filter: none;
	}

	.bsh-brand__mark {
		width: 66px;
		height: 66px;
		border-radius: 9px;
	}

	.bsh-brand__copy {
		gap: 0.24rem;
	}

	.bsh-brand__copy strong {
		font-size: 1.48rem;
	}

	.bsh-brand__copy small {
		font-size: 0.74rem;
	}

	.bsh-site-header .bsh-brand__copy strong {
		font-size: 1.58rem;
	}

	.bsh-site-header .bsh-brand__copy small {
		font-size: 0.79rem;
	}

	.bsh-brand--footer .bsh-brand__mark {
		width: 96px;
		height: 96px;
	}

	.bsh-nav-toggle {
		display: block;
		margin-left: auto;
		cursor: pointer;
	}

	.bsh-nav-toggle[aria-expanded="true"] > span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.bsh-nav-toggle[aria-expanded="true"] > span:nth-child(2) {
		opacity: 0;
	}

	.bsh-nav-toggle[aria-expanded="true"] > span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.bsh-primary-nav {
		position: fixed;
		z-index: 1200;
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
		display: grid;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		grid-template-rows: auto minmax(0, 1fr) auto;
		overflow: hidden;
		padding: 0;
		background:
			radial-gradient(circle at 92% 5%, rgba(34, 184, 255, 0.1), transparent 21rem),
			#f7fafc;
		opacity: 0;
		pointer-events: none;
		transform: translateX(22px);
		visibility: hidden;
		transition: opacity 180ms ease, transform 220ms ease, visibility 220ms;
	}

	.bsh-primary-nav.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.bsh-mobile-nav__head {
		display: grid;
		grid-template-columns: 46px minmax(0, 1fr) 46px;
		align-items: center;
		gap: 0.7rem;
		width: min(680px, calc(100% - 32px));
		padding: 1.2rem 0 1rem;
		padding-top: max(1.2rem, env(safe-area-inset-top));
		margin-inline: auto;
		border-bottom: 1px solid var(--bsh-border);
	}

	.bsh-mobile-nav__close {
		display: grid;
		grid-column: 3;
		grid-row: 1;
		width: 46px;
		height: 46px;
		padding: 0;
		place-items: center;
		border: 1px solid var(--bsh-border);
		border-radius: 14px;
		background: #fff;
		color: var(--bsh-navy);
		cursor: pointer;
	}

	.bsh-mobile-nav__head > div {
		grid-column: 2;
		display: grid;
		min-width: 0;
		gap: 0.1rem;
		text-align: center;
	}

	.bsh-mobile-nav__head small {
		color: var(--bsh-blue-dark);
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.13em;
		text-transform: uppercase;
	}

	.bsh-mobile-nav__head strong {
		color: var(--bsh-navy);
		font-size: 1.35rem;
		letter-spacing: -0.025em;
	}

	.bsh-mobile-nav__back {
		display: grid;
		grid-column: 1;
		grid-row: 1;
		width: 46px;
		height: 46px;
		padding: 0;
		place-items: center;
		border: 1px solid var(--bsh-border);
		border-radius: 14px;
		background: #fff;
		color: var(--bsh-navy);
		cursor: pointer;
	}

	.bsh-mobile-nav__back[hidden] {
		display: none;
	}

	.bsh-mobile-nav__back svg,
	.bsh-mobile-nav__close svg,
	.bsh-mobile-submenu-toggle svg {
		width: 22px;
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 2;
	}

	.bsh-menu {
		display: block;
		min-width: 0;
		width: min(680px, calc(100% - 32px));
		padding: 1rem 0 2rem;
		margin-inline: auto;
		overflow-x: hidden;
		overflow-x: clip;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
		touch-action: pan-y;
	}

	.bsh-primary-nav .bsh-menu,
	.bsh-primary-nav .bsh-menu ul,
	.bsh-primary-nav .bsh-menu li {
		max-width: 100%;
	}

	.bsh-menu > li > a {
		position: relative;
		padding: 1rem 3rem 1rem 1rem;
		font-size: 1.08rem;
	}

	.bsh-menu > li {
		margin-bottom: 0.55rem;
		border: 1px solid var(--bsh-border);
		border-radius: 17px;
		background: rgba(255, 255, 255, 0.9);
		overflow: hidden;
	}

	.bsh-menu > li.menu-item-has-children > a::after {
		position: absolute;
		top: 50%;
		right: 1rem;
		color: var(--bsh-blue-dark);
		content: "›";
		font-size: 1.6rem;
		font-weight: 400;
		transform: translateY(-52%);
	}

	.bsh-menu .sub-menu,
	.bsh-menu .bsh-mega > .sub-menu,
	.bsh-menu .bsh-mega .sub-menu .sub-menu {
		position: static;
		display: none;
		width: auto;
		max-height: none;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		overflow: visible;
		pointer-events: auto;
		transform: none;
		transition: none;
	}

	.bsh-primary-nav .bsh-menu .bsh-mega > .sub-menu > li > .sub-menu {
		display: none;
		width: 100%;
		min-width: 0;
		grid-template-columns: 1fr;
	}

	.bsh-menu.is-in-subview > li:not(.is-mobile-section) {
		display: none;
	}

	.bsh-menu > li.is-mobile-section {
		width: 100%;
		min-width: 0;
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.bsh-menu > li.is-mobile-section > a {
		display: none;
	}

	.bsh-menu > li.is-mobile-section > .sub-menu {
		display: grid;
		width: 100%;
		min-width: 0;
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}

	.bsh-menu .bsh-mega > .sub-menu > li {
		display: grid;
		grid-column: auto !important;
		grid-row: auto !important;
		grid-template-columns: minmax(0, 1fr) 48px;
		align-items: center;
		border: 1px solid var(--bsh-border);
		border-radius: 17px;
		background: #fff;
		overflow: hidden;
	}

	.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section {
		border-color: var(--bsh-menu-border);
		background: linear-gradient(145deg, #fff 60%, var(--bsh-menu-tint));
		box-shadow: inset 3px 0 0 var(--bsh-menu-accent);
	}

	.bsh-menu .bsh-mega > .sub-menu > li > a {
		padding: 1rem 0.3rem 1rem 1rem;
		border: 0;
		color: var(--bsh-navy);
		font-size: 0.94rem;
		letter-spacing: 0;
		text-transform: none;
	}

	.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section > a {
		color: var(--bsh-menu-accent);
		font-weight: 820;
	}

	.bsh-mobile-submenu-toggle {
		display: grid;
		width: 42px;
		height: 42px;
		padding: 0;
		place-items: center;
		border: 0;
		border-radius: 12px;
		background: var(--bsh-white);
		color: var(--bsh-blue-dark);
		cursor: pointer;
	}

	.bsh-service-section .bsh-mobile-submenu-toggle {
		background: var(--bsh-menu-tint);
		color: var(--bsh-menu-accent);
	}

	.bsh-mobile-submenu-toggle svg {
		transition: transform 180ms ease;
	}

	.bsh-mobile-accordion.is-mobile-open > .bsh-mobile-submenu-toggle svg {
		transform: rotate(90deg);
	}

	.bsh-menu .bsh-mega > .sub-menu > li.is-mobile-open > .sub-menu {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 0.25rem 0.55rem 0.65rem;
		border-top: 1px solid var(--bsh-border);
		background: rgba(255, 255, 255, 0.72);
	}

	.bsh-menu .bsh-mega > .sub-menu > .bsh-service-section.is-mobile-open > .sub-menu {
		border-top-color: var(--bsh-menu-border);
	}

	.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview {
		display: block;
		grid-template-columns: minmax(0, 1fr);
		border-color: #18364c;
		background:
			radial-gradient(circle at 94% 16%, rgba(34, 184, 255, 0.2), transparent 8rem),
			var(--bsh-navy);
	}

	.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview > a {
		padding: 1rem;
		color: #fff;
		font-weight: 820;
	}

	.bsh-menu .bsh-mega > .sub-menu > .bsh-service-overview > a::after {
		float: right;
		color: var(--bsh-lime);
		content: "→";
	}

	.bsh-menu .sub-menu .sub-menu a {
		padding: 0.78rem 0.75rem;
		border-radius: 11px;
		font-size: 0.86rem;
	}

	.bsh-mobile-overview {
		display: block;
	}

	.bsh-mobile-overview a {
		background: #eaf5fa;
		color: var(--bsh-blue-dark) !important;
		font-weight: 800;
	}

	.bsh-menu > li.is-mobile-section:not(.bsh-mega) > .sub-menu > li {
		border: 1px solid var(--bsh-border);
		border-radius: 15px;
		background: #fff;
	}

	.bsh-menu > li.is-mobile-section:not(.bsh-mega) > .sub-menu a {
		padding: 1rem;
		font-size: 0.92rem;
	}

	.bsh-mobile-nav__actions {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.55rem;
		padding: 0.8rem max(16px, calc((100% - 680px) / 2));
		padding-bottom: max(0.8rem, env(safe-area-inset-bottom));
		border-top: 1px solid var(--bsh-border);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 -12px 32px rgba(7, 23, 37, 0.06);
	}

	.bsh-mobile-nav__actions a {
		display: grid;
		min-height: 48px;
		place-items: center;
		padding: 0.5rem;
		border-radius: 13px;
		background: var(--bsh-navy);
		color: #fff;
		font-size: 0.75rem;
		font-weight: 750;
		text-align: center;
		text-decoration: none;
	}

	.bsh-nav-cta {
		display: none;
	}

	.bsh-hero__media {
		opacity: 0.82;
	}

	.bsh-section-heading,
	.bsh-split,
	.bsh-process,
	.bsh-page-shell {
		grid-template-columns: 1fr;
	}

	.bsh-process__intro,
	.bsh-page-aside {
		position: static;
	}

	.bsh-testimonial-layout {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}

	.bsh-testimonial--featured {
		grid-row: auto;
		min-height: 420px;
	}

	.bsh-page-hero__media img {
		object-position: 66% center;
	}

	.bsh-page-hero__shade {
		background:
			linear-gradient(90deg, rgba(3, 13, 23, 0.97), rgba(5, 22, 35, 0.82)),
			linear-gradient(0deg, rgba(3, 13, 23, 0.82), transparent 50%);
	}

	.bsh-page-hero__content {
		grid-template-columns: 1fr;
		align-content: end;
		gap: 2rem;
	}

	.bsh-page-hero__badge {
		display: none;
	}

	.bsh-page-jump {
		top: var(--bsh-header-height);
	}

	.bsh-page-benefits {
		grid-template-columns: 1fr;
	}

	.bsh-page-benefit {
		min-height: 0;
	}

	.bsh-page-benefit__top {
		margin-bottom: 2.5rem;
	}

	.bsh-page-faq__layout {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.bsh-page-cta__inner {
		display: block;
	}

	.bsh-page-cta__inner .bsh-button {
		margin-top: 2rem;
	}

	.bsh-area-story,
	.bsh-area-scenarios {
		grid-template-columns: 1fr;
	}

	.bsh-area-challenges {
		position: static;
	}

	.bsh-area-scenarios {
		gap: 2.5rem;
	}

	.bsh-system-map__heading {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.bsh-system-map__stage {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.85rem;
		min-height: 0;
		padding: 1.25rem;
	}

	.bsh-system-map__stage::before,
	.bsh-system-map__stage::after,
	.bsh-system-map__connections {
		display: none;
	}

	.bsh-system-map__core {
		position: relative;
		top: auto;
		left: auto;
		grid-column: 1 / -1;
		margin: 1rem auto 2rem;
		transform: none;
	}

	.bsh-system-map__node {
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		transform: none;
	}

	.bsh-system-map__node:hover,
	.bsh-system-map__node:focus-visible,
	.bsh-system-map__node.is-active {
		transform: translateY(-3px);
	}

	.bsh-system-map__promise {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		grid-column: 1 / -1;
		margin-top: 0.5rem;
	}
}

@media (max-width: 680px) {
	:root {
		--bsh-container: min(100% - 28px, 1220px);
		--bsh-radius: 19px;
		--bsh-header-height: 82px;
	}

	.bsh-brand__copy strong {
		font-size: 1.32rem;
	}

	.bsh-brand__copy small {
		max-width: 186px;
		font-size: 0.67rem;
		line-height: 1.2;
	}

	.bsh-site-header .bsh-brand__copy strong {
		font-size: 1.42rem;
	}

	.bsh-site-header .bsh-brand__copy small {
		font-size: 0.72rem;
	}

	.bsh-brand {
		gap: 0.65rem;
	}

	.bsh-brand__mark {
		width: 60px;
		height: 60px;
	}

	.bsh-hero__media img {
		object-position: center;
	}

	.bsh-hero__inner {
		align-items: end;
		padding-block: clamp(2.5rem, 6dvh, 4rem);
	}

	.bsh-hero h1 {
		font-size: clamp(2.45rem, 12vw, 4rem);
	}

	.bsh-scroll-cue {
		display: none;
	}

	.bsh-testimonial {
		min-height: 0;
		padding: 1.45rem;
	}

	.bsh-testimonial--featured {
		min-height: 390px;
	}

	.bsh-testimonial--featured .bsh-testimonial__body p {
		font-size: clamp(1.22rem, 5.7vw, 1.5rem);
	}

	.bsh-testimonial-privacy {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.bsh-service-grid,
	.bsh-industry-grid,
	.bsh-post-grid,
	.bsh-security-flow,
	.bsh-ops-grid,
	.bsh-stats__grid,
	.bsh-footer-grid,
	.bsh-contact-form {
		grid-template-columns: 1fr;
	}

	.bsh-service-card {
		min-height: 330px;
	}

	.bsh-proof-band__inner {
		display: block;
	}

	.bsh-proof-band__inner > div {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 1rem;
	}

	.bsh-system-map__heading h2 {
		font-size: clamp(2.35rem, 11vw, 3.7rem);
	}

	.bsh-system-map__stage {
		grid-template-columns: 1fr;
		padding: 0.85rem;
		border-radius: 24px;
	}

	.bsh-system-map__core,
	.bsh-system-map__promise {
		grid-column: auto;
	}

	.bsh-system-map__core {
		width: 214px;
		height: 214px;
	}

	.bsh-system-map__promise {
		grid-template-columns: auto 1fr;
		padding: 1rem;
	}

	.bsh-security-flow > div,
	.bsh-security-flow > div:nth-child(2),
	.bsh-security-flow > div:nth-child(-n + 2) {
		min-height: 0;
		border: 0;
		border-bottom: 1px solid var(--bsh-border);
	}

	.bsh-security-flow > div:last-child {
		border: 0;
	}

	.bsh-stats__grid > div {
		padding-block: 2rem;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	}

	.bsh-process__steps li {
		grid-template-columns: 44px 1fr;
	}

	.bsh-footer-grid {
		gap: 2.5rem;
	}

	.bsh-footer-bottom {
		display: block;
	}

	.bsh-footer-menu {
		margin-top: 1rem;
	}

	.bsh-contact-form__full,
	.bsh-contact-form__consent {
		grid-column: auto;
	}

	.bsh-related-pages > div {
		grid-template-columns: 1fr;
	}

	.bsh-page-hero__content {
		padding-block: 3.5rem;
	}

	/* Inner-page heroes use their natural compact height on phones. This keeps
	 * every trust signal visible without clipping content to a viewport cap. */
	.bsh-page-hero--visual {
		min-height: 0;
		max-height: none;
	}

	.bsh-page-hero--visual .bsh-page-hero__content {
		padding-block: clamp(1.6rem, 4svh, 2.5rem);
	}

	.bsh-page-hero--visual h1 {
		margin-bottom: 0.75rem;
		font-size: clamp(2.05rem, 10.3vw, 3.1rem);
		line-height: 1.03;
	}

	.bsh-page-hero--visual .bsh-breadcrumbs {
		display: none;
	}

	.bsh-page-hero--visual .bsh-kicker {
		margin-bottom: 0.65rem;
		font-size: 0.68rem;
	}

	.bsh-page-hero--visual .bsh-page-hero__lead {
		font-size: clamp(0.94rem, 4.2vw, 1.02rem);
		line-height: 1.45;
	}

	.bsh-page-hero__copy .bsh-actions {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(145px, 100%), 1fr));
		gap: 0.65rem;
		margin-block: 1rem;
	}

	.bsh-page-hero__copy .bsh-button {
		width: 100%;
		min-height: 44px;
		padding: 0.72rem 0.9rem;
		font-size: 0.8rem;
	}

	.bsh-page-signals {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.45rem 0.75rem;
		margin-top: 0.85rem;
	}

	.bsh-page-signals li {
		align-items: flex-start;
		font-size: 0.72rem;
		line-height: 1.35;
	}

	.bsh-page-signals .bsh-icon {
		width: 14px;
		height: 14px;
		flex: 0 0 auto;
	}

	.bsh-page-signals li:last-child {
		grid-column: 1 / -1;
	}

	.bsh-page-jump span {
		display: none;
	}

	.bsh-page-jump .bsh-container {
		gap: 1.5rem;
	}

	.bsh-page-prose {
		padding: 1.4rem;
	}

	.bsh-page-process__grid {
		grid-template-columns: 1fr;
	}

	.bsh-page-process__grid li,
	.bsh-page-process__grid li:nth-child(2) {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.bsh-page-process__grid li:last-child {
		border-bottom: 0;
	}

	.bsh-page-process__grid span {
		margin-bottom: 3rem;
	}

	.bsh-faq-item summary {
		font-size: 0.98rem;
		gap: 0.8rem;
		padding: 1.1rem;
	}

	.bsh-faq-item > p {
		padding: 0 1.2rem 1.3rem 4.3rem;
	}

	.bsh-area-solution-grid {
		grid-template-columns: 1fr;
	}

	.bsh-area-solution-card {
		min-height: 290px;
	}

	.bsh-area-scenarios {
		padding: 1.5rem;
	}
}

@media (max-width: 519px) {
	.bsh-menu .bsh-mega > .sub-menu > li.is-mobile-open > .sub-menu {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 380px) {
	:root {
		--bsh-header-height: 78px;
	}

	.bsh-nav-shell {
		gap: 0.65rem;
	}

	.bsh-brand {
		gap: 0.55rem;
	}

	.bsh-brand__mark {
		width: 55px;
		height: 55px;
	}

	.bsh-brand__copy strong {
		font-size: 1.22rem;
	}

	.bsh-brand__copy small {
		max-width: 162px;
		font-size: 0.62rem;
	}

	.bsh-site-header .bsh-brand__copy strong {
		font-size: 1.3rem;
	}

	.bsh-site-header .bsh-brand__copy small {
		font-size: 0.66rem;
	}
}

/* Calm policy pages: imprint and privacy */
.bsh-policy-hero {
	position: relative;
	display: grid;
	min-height: min(500px, 58dvh);
	overflow: hidden;
	isolation: isolate;
	background:
		linear-gradient(115deg, rgba(4, 18, 30, 0.99), rgba(8, 42, 61, 0.96)),
		var(--bsh-navy);
	color: #fff;
}

.bsh-policy-hero::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	background-size: 54px 54px;
	mask-image: linear-gradient(90deg, #000, transparent 78%);
	pointer-events: none;
	content: "";
}

.bsh-policy-hero__glow {
	position: absolute;
	z-index: -1;
	top: -18rem;
	right: -8rem;
	width: 40rem;
	height: 40rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(34, 184, 255, 0.24), transparent 68%);
	pointer-events: none;
}

.bsh-policy-hero__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: clamp(3.2rem, 7dvh, 5rem);
}

.bsh-policy-hero .bsh-breadcrumbs {
	margin-bottom: clamp(1.5rem, 3dvh, 2.4rem);
	color: #b8cbd6;
}

.bsh-policy-hero .bsh-breadcrumbs a {
	color: #e7f1f6;
}

.bsh-policy-hero h1 {
	max-width: 900px;
	margin: 0;
	color: #fff;
	font-size: clamp(3.35rem, 5.2vw, 5rem);
	line-height: 1.02;
}

.bsh-policy-hero__inner > p:last-child {
	max-width: 760px;
	margin: 1.35rem 0 0;
	color: #d4e1e8;
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	line-height: 1.65;
}

.bsh-policy-page {
	padding-top: clamp(3.5rem, 7vw, 6rem);
}

.bsh-policy-content {
	max-width: 980px;
	margin-inline: auto;
}

.bsh-policy-summary,
.bsh-policy-card,
.bsh-policy-toc {
	border: 1px solid var(--bsh-border);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 50px rgba(7, 23, 37, 0.07);
}

.bsh-policy-summary,
.bsh-policy-card {
	padding: clamp(1.6rem, 4vw, 3rem);
}

.bsh-policy-summary {
	margin-bottom: 1.5rem;
	background:
		radial-gradient(circle at 100% 0%, rgba(34, 184, 255, 0.13), transparent 36%),
		#fff;
}

.bsh-policy-summary h2,
.bsh-policy-card h2 {
	margin-bottom: 0.55rem;
	font-size: clamp(1.9rem, 3vw, 2.75rem);
}

.bsh-policy-summary > :last-child,
.bsh-policy-card > :last-child {
	margin-bottom: 0;
}

.bsh-policy-toc {
	margin-bottom: clamp(3rem, 6vw, 5.5rem);
	padding: clamp(1.4rem, 3vw, 2rem);
}

.bsh-policy-toc h2 {
	margin-bottom: 1rem;
	font-size: 1.15rem;
}

.bsh-policy-toc ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem 1.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bsh-policy-toc a {
	display: block;
	padding: 0.7rem 0.85rem;
	border-radius: 10px;
	color: var(--bsh-ink);
	font-size: 0.9rem;
	font-weight: 720;
	text-decoration: none;
}

.bsh-policy-toc a:hover,
.bsh-policy-toc a:focus-visible {
	background: #eaf5fa;
	color: var(--bsh-blue-dark);
}

.bsh-policy-columns {
	gap: 1.2rem;
	margin-block: 1.2rem;
}

.bsh-policy-columns .bsh-policy-card {
	height: 100%;
}

.bsh-policy-card--identity {
	background:
		radial-gradient(circle at 100% 0%, rgba(183, 243, 61, 0.18), transparent 34%),
		#fff;
}

.bsh-policy-value {
	color: var(--bsh-blue-dark);
	font-size: 1.25rem;
}

.bsh-policy-section {
	position: relative;
	padding: clamp(2.2rem, 5vw, 4rem) 0;
	border-bottom: 1px solid var(--bsh-border);
	scroll-margin-top: calc(var(--bsh-header-height) + 32px);
}

.bsh-policy-section h2 {
	max-width: 760px;
	font-size: clamp(2rem, 3.2vw, 3rem);
}

.bsh-policy-section h3 {
	margin-top: 2.3rem;
	font-size: clamp(1.35rem, 2vw, 1.65rem);
}

.bsh-policy-section p,
.bsh-policy-section li {
	max-width: 830px;
	color: #3f5668;
	font-size: 1rem;
	line-height: 1.78;
}

.bsh-policy-number {
	margin-bottom: 0.45rem !important;
	color: var(--bsh-blue-dark) !important;
	font-size: 0.72rem !important;
	font-weight: 850;
	letter-spacing: 0.16em;
}

.bsh-policy-updated {
	margin: 2.5rem 0 0;
	color: var(--bsh-muted);
	font-size: 0.82rem;
	font-weight: 700;
}

.bsh-policy-content .CookieDeclaration {
	margin-top: 1.25rem;
	padding: 1.25rem;
	border: 1px solid var(--bsh-border);
	border-radius: 16px;
	background: #f6f9fb;
}

.bsh-policy-cookie-fallback {
	margin-top: 1.25rem;
	padding: 1rem 1.15rem;
	border: 1px dashed #aac2cf;
	border-radius: 14px;
	background: #f6f9fb;
	color: var(--bsh-muted);
	font-size: 0.88rem;
}

@media (max-width: 680px) {
	.bsh-policy-hero {
		min-height: min(430px, 64dvh);
	}

	.bsh-policy-hero h1 {
		font-size: clamp(2.6rem, 13vw, 4rem);
	}

	.bsh-policy-toc ul {
		grid-template-columns: 1fr;
	}

	.bsh-policy-columns {
		display: grid;
		grid-template-columns: 1fr;
	}
}

/* Contract and legal documents hub */
.bsh-legal-hero {
	position: relative;
	display: grid;
	height: auto;
	min-height: min(760px, var(--bsh-hero-max-height));
	max-height: var(--bsh-hero-max-height);
	overflow: hidden;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	background:
		linear-gradient(115deg, rgba(4, 18, 30, 0.98), rgba(8, 42, 61, 0.96)),
		var(--bsh-navy);
	color: #fff;
}

.bsh-legal-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 54px 54px;
	mask-image: linear-gradient(90deg, #000, transparent 76%);
	pointer-events: none;
	content: "";
}

.bsh-legal-hero__glow {
	position: absolute;
	top: -14rem;
	right: -7rem;
	width: 37rem;
	height: 37rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(34, 184, 255, 0.26), transparent 68%);
	pointer-events: none;
}

.bsh-legal-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: end;
	gap: clamp(3rem, 7vw, 8rem);
	padding-block: clamp(4.5rem, 8vw, 7rem);
}

.bsh-legal-hero .bsh-breadcrumbs {
	margin-bottom: clamp(2rem, 4vw, 3.4rem);
	color: #b8cbd6;
}

.bsh-legal-hero .bsh-breadcrumbs a {
	color: #e7f1f6;
}

.bsh-legal-hero h1 {
	max-width: 820px;
	margin: 0;
	color: #fff;
	font-size: clamp(4rem, 5.2vw, 5rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.bsh-legal-hero__copy > p:last-child {
	max-width: 720px;
	margin: 1.35rem 0 0;
	color: #d6e2e9;
	font-size: clamp(1.08rem, 1.7vw, 1.28rem);
	line-height: 1.65;
}

.bsh-legal-hero__status {
	padding: clamp(1.5rem, 2.5vw, 2.15rem);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 24px;
	background: rgba(3, 16, 27, 0.68);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}

.bsh-legal-hero__status > div {
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	margin-bottom: 2.6rem;
	border-radius: 15px;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
}

.bsh-legal-hero__status .bsh-icon {
	width: 27px;
}

.bsh-legal-hero__status p {
	margin: 0 0 0.55rem;
	color: #8fa9b8;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bsh-legal-hero__status strong {
	display: block;
	color: #fff;
	font-size: 1.02rem;
	line-height: 1.55;
}

.bsh-legal-toolbar {
	position: sticky;
	z-index: 85;
	top: var(--bsh-header-height);
	border-bottom: 1px solid var(--bsh-border);
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 8px 24px rgba(7, 23, 37, 0.05);
}

.bsh-legal-toolbar .bsh-container {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 62px;
	overflow-x: auto;
	scrollbar-width: none;
}

.bsh-legal-toolbar .bsh-container::-webkit-scrollbar {
	display: none;
}

.bsh-legal-toolbar span {
	margin-right: auto;
	color: var(--bsh-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
}

.bsh-legal-toolbar button {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 38px;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--bsh-border);
	border-radius: 11px;
	background: #fff;
	color: var(--bsh-navy);
	font: inherit;
	font-size: 0.78rem;
	font-weight: 760;
	white-space: nowrap;
	cursor: pointer;
}

.bsh-legal-toolbar button:last-child {
	border-color: var(--bsh-navy);
	background: var(--bsh-navy);
	color: #fff;
}

.bsh-legal-toolbar button .bsh-icon {
	width: 16px;
	transform: rotate(90deg);
}

.bsh-legal-toolbar button:hover,
.bsh-legal-toolbar button:focus-visible {
	border-color: var(--bsh-blue-dark);
	color: var(--bsh-blue-dark);
}

.bsh-legal-toolbar button:last-child:hover,
.bsh-legal-toolbar button:last-child:focus-visible {
	color: var(--bsh-lime);
}

.bsh-legal-page {
	background:
		radial-gradient(circle at 5% 5%, rgba(34, 184, 255, 0.08), transparent 25rem),
		#f5f8fa;
}

.bsh-legal-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
	align-items: end;
	gap: clamp(2rem, 8vw, 8rem);
	margin-bottom: 2.25rem;
}

.bsh-legal-intro h2 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(2.55rem, 4.8vw, 5rem);
	line-height: 1;
	letter-spacing: -0.05em;
}

.bsh-legal-intro > p {
	margin: 0;
	color: var(--bsh-muted);
	font-size: 1.03rem;
	line-height: 1.7;
}

.bsh-legal-index {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin-bottom: clamp(4rem, 8vw, 7rem);
}

.bsh-legal-index > a {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 225px;
	padding: 1.45rem;
	overflow: hidden;
	border: 1px solid var(--bsh-border);
	border-radius: 20px;
	background: #fff;
	color: var(--bsh-navy);
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bsh-legal-index > a:nth-child(1),
.bsh-legal-index > a:nth-child(3),
.bsh-legal-index > a:nth-child(7) {
	background: linear-gradient(145deg, #fff 65%, rgba(34, 184, 255, 0.08));
}

.bsh-legal-index > a:hover,
.bsh-legal-index > a:focus-visible {
	border-color: rgba(0, 143, 207, 0.42);
	box-shadow: 0 18px 40px rgba(7, 23, 37, 0.09);
	transform: translateY(-3px);
}

.bsh-legal-index > a > span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2.5rem;
}

.bsh-legal-index small {
	color: #9aafbc;
	font-size: 0.72rem;
	font-weight: 800;
}

.bsh-legal-index em {
	padding: 0.38rem 0.58rem;
	border-radius: 999px;
	background: #eaf6fc;
	color: var(--bsh-blue-dark);
	font-size: 0.67rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.bsh-legal-index strong {
	max-width: 260px;
	font-size: 1.2rem;
	line-height: 1.25;
}

.bsh-legal-index p {
	margin: 0.55rem 2rem 0 0;
	color: var(--bsh-muted);
	font-size: 0.85rem;
	line-height: 1.55;
}

.bsh-legal-index .bsh-icon {
	position: absolute;
	right: 1.35rem;
	bottom: 1.35rem;
	width: 19px;
	color: var(--bsh-blue-dark);
}

.bsh-legal-content {
	max-width: 1100px;
	margin-inline: auto;
}

.bsh-legal-download-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 1rem 3rem;
	margin-bottom: 1rem;
	padding: clamp(1.6rem, 4vw, 2.5rem);
	border-radius: 24px;
	background: var(--bsh-navy);
	color: #fff;
}

.bsh-legal-download-panel .bsh-kicker,
.bsh-legal-download-panel h2,
.bsh-legal-download-panel p {
	grid-column: 1;
}

.bsh-legal-download-panel h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.75rem, 3vw, 2.8rem);
}

.bsh-legal-download-panel > p:not(.bsh-kicker) {
	max-width: 740px;
	margin: 0;
	color: #afc5d1;
	line-height: 1.65;
}

.bsh-legal-download-panel .wp-block-buttons {
	grid-row: 1 / 4;
	grid-column: 2;
}

.bsh-legal-download-panel .wp-block-button__link {
	padding: 0.9rem 1.1rem;
	border-radius: 12px;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
	font-weight: 800;
}

.bsh-legal-document {
	scroll-margin-top: calc(var(--bsh-header-height) + 82px);
	margin: 0 0 0.85rem;
	overflow: clip;
	border: 1px solid var(--bsh-border);
	border-radius: 22px;
	background: #fff;
}

.bsh-legal-document > summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 88px;
	padding: 1.3rem 5rem 1.3rem 1.65rem;
	color: var(--bsh-navy);
	font-size: clamp(1.08rem, 2vw, 1.42rem);
	font-weight: 800;
	line-height: 1.3;
	list-style: none;
	cursor: pointer;
}

.bsh-legal-document > summary::-webkit-details-marker {
	display: none;
}

.bsh-legal-document > summary::after {
	position: absolute;
	right: 1.35rem;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 12px;
	background: #edf6fa;
	color: var(--bsh-blue-dark);
	font-size: 1.55rem;
	font-weight: 500;
	content: "+";
}

.bsh-legal-document[open] > summary {
	border-bottom: 1px solid var(--bsh-border);
	background: linear-gradient(90deg, #f7fbfd, #fff);
}

.bsh-legal-document[open] > summary::after {
	background: var(--bsh-navy);
	color: var(--bsh-lime);
	content: "−";
}

.bsh-legal-document > :not(summary) {
	max-width: 890px;
	margin-right: clamp(1.35rem, 6vw, 5rem);
	margin-left: clamp(1.35rem, 6vw, 5rem);
}

.bsh-legal-document__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: none !important;
	margin: 0 !important;
	padding: 1rem clamp(1.35rem, 6vw, 5rem);
	border-bottom: 1px solid var(--bsh-border);
	background: #fbfdfe;
}

.bsh-legal-document__meta p {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	color: var(--bsh-muted);
	font-size: 0.78rem;
}

.bsh-legal-document__meta span {
	padding: 0.34rem 0.52rem;
	border-radius: 999px;
	background: #e6f5fc;
	color: var(--bsh-blue-dark);
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.bsh-legal-document__meta strong {
	color: #526a79;
}

.bsh-legal-document__meta a {
	color: var(--bsh-blue-dark);
	font-weight: 800;
}

.bsh-legal-document > h3 {
	margin-top: 2.8rem;
	margin-bottom: 1rem;
	color: var(--bsh-navy);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.bsh-legal-document > h4 {
	margin-top: 2rem;
	margin-bottom: 0.7rem;
	color: var(--bsh-navy);
	font-size: 1.08rem;
}

.bsh-legal-document > p,
.bsh-legal-document > ul,
.bsh-legal-document > blockquote {
	color: #344e60;
	font-size: 0.98rem;
	line-height: 1.78;
}

.bsh-legal-document > p {
	margin-top: 0;
	margin-bottom: 1rem;
}

.bsh-legal-document > ul {
	padding-left: 1.4rem;
}

.bsh-legal-document > blockquote {
	padding: 1.1rem 1.25rem;
	border-left: 3px solid var(--bsh-blue);
	border-radius: 0 14px 14px 0;
	background: #f1f8fb;
}

.bsh-legal-table {
	max-width: none !important;
	overflow-x: auto;
	margin-block: 1.5rem 2rem !important;
	padding-inline: clamp(1.35rem, 6vw, 5rem);
}

.bsh-legal-table table {
	min-width: 850px;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--bsh-border);
	border-radius: 14px;
}

.bsh-legal-table th,
.bsh-legal-table td {
	padding: 0.85rem;
	border-right: 1px solid var(--bsh-border);
	border-bottom: 1px solid var(--bsh-border);
	color: #344e60;
	font-size: 0.78rem;
	line-height: 1.5;
	text-align: left;
	vertical-align: top;
}

.bsh-legal-table th {
	background: var(--bsh-navy);
	color: #fff;
}

.bsh-legal-table tr:last-child td {
	border-bottom: 0;
}

.bsh-legal-table th:last-child,
.bsh-legal-table td:last-child {
	border-right: 0;
}

.bsh-legal-document > :last-child {
	margin-bottom: 3.4rem;
}

.bsh-legal-closing {
	margin-top: 1rem;
	padding: 1.5rem;
	border: 1px solid #cae0eb;
	border-radius: 18px;
	background: #eaf5fa;
}

.bsh-legal-closing h3 {
	margin: 0 0 0.55rem;
	font-size: 1.05rem;
}

.bsh-legal-closing p {
	margin: 0;
	color: #456173;
	font-size: 0.88rem;
	line-height: 1.65;
}

@media (max-width: 1179px), (max-height: 719px) {
	.bsh-legal-hero__inner {
		grid-template-columns: 1fr;
	}

	.bsh-legal-hero__status {
		display: none;
	}
}

@media (max-width: 980px) {
	.bsh-legal-intro {
		grid-template-columns: 1fr;
	}

	.bsh-legal-index {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bsh-legal-download-panel {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.bsh-legal-download-panel .wp-block-buttons {
		grid-row: auto;
		grid-column: 1;
	}
}

@media (max-width: 680px) {
	.bsh-legal-hero__inner {
		padding-block: 3.5rem;
	}

	.bsh-legal-hero .bsh-breadcrumbs {
		margin-bottom: 2.4rem;
	}

	.bsh-legal-hero h1 {
		font-size: clamp(2.55rem, 13vw, 4.2rem);
	}

	.bsh-legal-hero__status > div {
		margin-bottom: 1.4rem;
	}

	.bsh-legal-toolbar span {
		display: none;
	}

	.bsh-legal-toolbar .bsh-container {
		padding-block: 0.55rem;
	}

	.bsh-legal-index {
		grid-template-columns: 1fr;
	}

	.bsh-legal-index > a {
		min-height: 195px;
	}

	.bsh-legal-document > summary {
		min-height: 78px;
		padding: 1.1rem 4.4rem 1.1rem 1.2rem;
		font-size: 1rem;
	}

	.bsh-legal-document > summary::after {
		right: 1rem;
		width: 38px;
		height: 38px;
	}

	.bsh-legal-document__meta {
		display: grid;
		padding: 1rem 1.2rem;
	}

	.bsh-legal-document__meta p:first-child {
		display: grid;
		justify-items: start;
	}

	.bsh-legal-document > :not(summary) {
		margin-right: 1.2rem;
		margin-left: 1.2rem;
	}

	.bsh-legal-document__meta,
	.bsh-legal-table {
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding-right: 1.2rem;
		padding-left: 1.2rem;
	}

	.bsh-legal-document > h3 {
		margin-top: 2.2rem;
		font-size: 1.35rem;
	}
}

/* Careers and job pages */
.bsh-career-hero {
	position: relative;
	display: grid;
	min-height: clamp(580px, 68vh, 760px);
	overflow: hidden;
	background: var(--bsh-navy);
	color: #fff;
}

.bsh-career-hero__media,
.bsh-career-hero__shade {
	position: absolute;
	inset: 0;
}

.bsh-career-hero__media picture,
.bsh-career-hero__media img {
	width: 100%;
	height: 100%;
}

.bsh-career-hero__media img {
	object-fit: cover;
	object-position: center 52%;
}

.bsh-career-hero__shade {
	background:
		linear-gradient(90deg, rgba(2, 18, 31, 0.98) 0%, rgba(2, 18, 31, 0.9) 45%, rgba(2, 18, 31, 0.36) 75%, rgba(2, 18, 31, 0.2) 100%),
		linear-gradient(0deg, rgba(2, 18, 31, 0.72), transparent 50%);
}

.bsh-career-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
	padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.bsh-career-hero .bsh-breadcrumbs,
.bsh-career-hero .bsh-breadcrumbs a {
	color: rgba(232, 242, 250, 0.72);
}

.bsh-career-hero h1 {
	max-width: 900px;
	margin-bottom: 1.35rem;
	color: #fff;
	font-size: clamp(3rem, 5.3vw, 5.5rem);
}

.bsh-career-hero--job h1 {
	font-size: clamp(2.9rem, 4.9vw, 5rem);
}

.bsh-career-hero__lead {
	max-width: 770px;
	margin-bottom: 2rem;
	color: #c7d6e1;
	font-size: clamp(1.08rem, 1.5vw, 1.35rem);
	line-height: 1.55;
}

.bsh-career-hero__signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	padding: 0;
	margin: 1.8rem 0 0;
	list-style: none;
}

.bsh-career-hero__signals li {
	display: inline-flex;
	gap: 0.48rem;
	align-items: center;
	color: #dbe7ef;
	font-size: 0.86rem;
	font-weight: 700;
}

.bsh-career-hero__signals .bsh-icon {
	width: 17px;
	color: var(--bsh-lime);
}

.bsh-career-hero__panel {
	padding: clamp(1.6rem, 3vw, 2.4rem);
	border: 1px solid rgba(189, 216, 232, 0.3);
	border-radius: 28px;
	background: rgba(5, 28, 44, 0.88);
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(16px);
}

.bsh-career-hero__panel-icon {
	display: grid;
	width: 58px;
	height: 58px;
	margin-bottom: 2rem;
	place-items: center;
	border-radius: 18px;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
}

.bsh-career-hero__panel-icon .bsh-icon {
	width: 30px;
}

.bsh-career-hero__panel > p {
	margin-bottom: 0.65rem;
	color: #8ea8ba;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.bsh-career-hero__panel > strong {
	display: block;
	color: #fff;
	font-size: clamp(1.15rem, 1.6vw, 1.4rem);
	line-height: 1.45;
}

.bsh-career-hero__panel-rule {
	height: 1px;
	margin: 1.6rem 0;
	background: rgba(182, 211, 229, 0.2);
}

.bsh-career-hero__panel > span {
	color: #a9bdca;
	font-size: 0.88rem;
}

.bsh-career-jump {
	position: relative;
	z-index: 4;
	border-bottom: 1px solid var(--bsh-border);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 12px 36px rgba(7, 23, 37, 0.04);
}

.bsh-career-jump .bsh-container {
	display: flex;
	gap: clamp(1.2rem, 3vw, 2.7rem);
	align-items: center;
	min-height: 70px;
	overflow-x: auto;
	scrollbar-width: none;
}

.bsh-career-jump .bsh-container::-webkit-scrollbar {
	display: none;
}

.bsh-career-jump strong,
.bsh-career-jump a {
	flex: 0 0 auto;
	font-size: 0.84rem;
}

.bsh-career-jump strong {
	color: #8191a0;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bsh-career-jump a {
	color: var(--bsh-ink);
	font-weight: 750;
	text-decoration: none;
}

.bsh-career-content {
	padding: clamp(5rem, 8vw, 8rem) 0;
	background: #fff;
}

.bsh-career-content .bsh-career-section,
.bsh-career-content .bsh-job-section,
.bsh-career-content .bsh-career-final {
	scroll-margin-top: calc(var(--bsh-header-height) + 82px);
}

.bsh-career-content .bsh-career-section,
.bsh-career-content .bsh-job-section {
	margin: 0 0 clamp(6rem, 10vw, 10rem);
}

.bsh-career-content .bsh-career-section:last-child,
.bsh-career-content .bsh-job-section:last-child {
	margin-bottom: 0;
}

.bsh-career-content h2 {
	font-size: clamp(2.35rem, 4.4vw, 4.5rem);
}

.bsh-career-content h3 {
	font-size: clamp(1.25rem, 2vw, 1.7rem);
}

/* WordPress block-gap margins must not influence items inside our grids. */
.bsh-career-value-grid > *,
.bsh-career-domain-grid > *,
.bsh-career-principles > *,
.bsh-career-steps > *,
.bsh-job-benefit-grid > *,
.bsh-job-checklist > *,
.bsh-job-teaser > *,
.bsh-job-intro > *,
.bsh-job-profile > *,
.bsh-job-workmode > *,
.bsh-career-section-head > *,
.bsh-job-section-head > * {
	margin-block-start: 0 !important;
}

.bsh-career-value-card h3,
.bsh-career-steps h3,
.bsh-job-benefit-grid strong,
.bsh-career-principles strong,
.bsh-career-domain strong {
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

.bsh-career-lead {
	max-width: 900px;
	color: var(--bsh-muted);
	font-size: clamp(1.12rem, 1.6vw, 1.35rem);
}

.bsh-career-intro > h2,
.bsh-career-intro > .bsh-career-lead {
	max-width: 930px;
}

.bsh-career-value-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.bsh-career-value-card {
	display: grid;
	grid-template-rows: auto auto 1fr;
	min-height: 285px;
	padding: clamp(1.5rem, 2.6vw, 2.25rem);
	border: 1px solid var(--bsh-border);
	border-radius: 24px;
	background:
		linear-gradient(150deg, rgba(34, 184, 255, 0.08), transparent 45%),
		#f8fbfd;
}

.bsh-career-value-card .bsh-career-card-number {
	margin: 0 0 clamp(2rem, 3vw, 3rem);
	color: var(--bsh-blue-dark);
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.bsh-career-value-card h3 {
	margin: 0 0 0.8rem;
}

.bsh-career-value-card > p:last-child {
	margin-bottom: 0;
	color: var(--bsh-muted);
}

.bsh-career-section-head,
.bsh-job-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.bsh-career-section-head > p {
	margin: 0;
	color: var(--bsh-muted);
	font-size: 1.05rem;
}

.bsh-career-domains {
	padding: clamp(3rem, 6vw, 5.5rem);
	border-radius: 32px;
	background:
		radial-gradient(circle at 90% 10%, rgba(34, 184, 255, 0.16), transparent 32rem),
		var(--bsh-navy);
	color: #c8d7e2;
}

.bsh-career-domains h2,
.bsh-career-domains .bsh-career-section-head > p {
	color: #fff;
}

.bsh-career-domain-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-career-domain {
	--domain-color: var(--bsh-blue);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.25rem 1rem;
	align-items: center;
	padding: 1.4rem;
	border: 1px solid rgba(185, 211, 227, 0.18);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.055);
	min-height: 124px;
}

.bsh-career-domain::before {
	grid-row: 1 / 3;
	width: 5px;
	height: 100%;
	min-height: 48px;
	border-radius: 5px;
	background: var(--domain-color);
	content: "";
}

.bsh-career-domain > span {
	grid-column: 2;
	color: var(--domain-color);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.bsh-career-domain > strong,
.bsh-career-domain > small {
	grid-column: 2;
}

.bsh-career-domain > strong {
	color: #fff;
	font-size: 1.05rem;
}

.bsh-career-domain > small {
	color: #9eb2c1;
}

.bsh-career-domain--phone { --domain-color: #5a8cff; }
.bsh-career-domain--security { --domain-color: #ff6b6b; }
.bsh-career-domain--fiber { --domain-color: #8b74ff; }
.bsh-career-domain--electric { --domain-color: #f6a623; }
.bsh-career-domain--privacy { --domain-color: #16c89b; }

.bsh-job-teaser {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
	padding: clamp(2rem, 4vw, 3.5rem);
	border: 1px solid #b9d5e6;
	border-radius: 28px;
	background:
		linear-gradient(110deg, rgba(34, 184, 255, 0.12), transparent 52%),
		#f5fafd;
	box-shadow: 0 24px 60px rgba(7, 23, 37, 0.08);
}

.bsh-job-status {
	display: inline-flex;
	gap: 0.55rem;
	align-items: center;
	margin-bottom: 1rem;
	color: #197451;
	font-size: 0.76rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bsh-job-status span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #24c77a;
	box-shadow: 0 0 0 6px rgba(36, 199, 122, 0.12);
}

.bsh-job-teaser h3 {
	margin-bottom: 0.7rem;
	font-size: clamp(1.8rem, 3.2vw, 3rem);
}

.bsh-job-teaser__main > p:not(.bsh-job-status) {
	max-width: 760px;
	color: var(--bsh-muted);
}

.bsh-job-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.bsh-job-meta span {
	padding: 0.42rem 0.72rem;
	border: 1px solid #cfe0ea;
	border-radius: 999px;
	background: #fff;
	font-size: 0.78rem;
	font-weight: 720;
}

.bsh-job-teaser__action {
	display: grid;
	gap: 0.8rem;
	justify-items: start;
}

.bsh-job-teaser__action small {
	max-width: 220px;
	color: #718493;
}

.bsh-career-principles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin-top: 3rem;
	overflow: hidden;
	border: 1px solid var(--bsh-border);
	border-radius: 28px;
	background: var(--bsh-border);
}

.bsh-career-principles > div {
	min-height: 190px;
	padding: clamp(2rem, 4vw, 3.5rem);
	background: #fff;
}

.bsh-career-principles strong {
	display: block;
	margin: 0 0 0.7rem;
	color: var(--bsh-navy);
	font-size: 1.25rem;
}

.bsh-career-principles p {
	margin-bottom: 0;
	color: var(--bsh-muted);
}

.bsh-career-process {
	padding: clamp(3rem, 6vw, 5rem);
	border-radius: 32px;
	background: #f2f7fa;
}

.bsh-career-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.bsh-career-steps > div {
	min-height: 250px;
	padding: 1.7rem;
	border: 1px solid var(--bsh-border);
	border-radius: 20px;
	background: #fff;
}

.bsh-career-steps span,
.bsh-job-benefit-grid span {
	display: block;
	margin-bottom: 2.5rem;
	color: var(--bsh-blue-dark);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.bsh-career-steps h3 {
	margin: 0 0 0.65rem;
}

.bsh-career-steps p {
	margin: 0;
	color: var(--bsh-muted);
}

.bsh-career-faq {
	max-width: 980px;
	margin-inline: auto !important;
}

.bsh-career-faq > h2 {
	max-width: 850px;
}

.bsh-career-final,
.bsh-job-apply {
	padding: clamp(3rem, 7vw, 6rem);
	border-radius: 32px;
	background:
		radial-gradient(circle at 90% 20%, rgba(34, 184, 255, 0.2), transparent 30rem),
		var(--bsh-navy);
	color: #c5d5e0;
	text-align: center;
}

.bsh-career-final h2,
.bsh-job-apply h2 {
	max-width: 900px;
	margin-inline: auto;
	color: #fff;
}

.bsh-career-final > p:not(.bsh-kicker),
.bsh-job-apply > p:not(.bsh-kicker) {
	max-width: 760px;
	margin: 0 auto 2rem;
	font-size: 1.08rem;
}

.bsh-career-final .bsh-kicker,
.bsh-job-apply .bsh-kicker {
	color: var(--bsh-lime);
}

.bsh-job-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: start;
}

.bsh-job-intro__copy > p:not(.bsh-kicker) {
	max-width: 760px;
	color: var(--bsh-muted);
	font-size: 1.08rem;
}

.bsh-job-facts {
	padding: clamp(1.8rem, 4vw, 3rem);
	border-radius: 28px;
	background: var(--bsh-navy);
	box-shadow: var(--bsh-shadow);
}

.bsh-job-facts > div {
	display: grid;
	gap: 0.25rem;
	padding: 1.1rem 0;
	border-top: 1px solid rgba(180, 207, 223, 0.18);
}

.bsh-job-facts span {
	color: #8ea7b8;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bsh-job-facts strong {
	color: #fff;
}

.bsh-job-section-head {
	grid-template-columns: minmax(0, 900px);
}

.bsh-job-section-head h2 {
	margin-bottom: 0;
}

.bsh-job-checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	padding: 0;
	list-style: none;
}

.bsh-job-checklist li {
	position: relative;
	min-height: 170px;
	padding: 2rem 2rem 2rem 4.6rem;
	border: 1px solid var(--bsh-border);
	border-radius: 22px;
	background: #f8fbfd;
}

.bsh-job-checklist li::before {
	position: absolute;
	top: 2rem;
	left: 1.8rem;
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 11px;
	background: var(--bsh-lime);
	color: var(--bsh-navy);
	font-weight: 900;
	content: "✓";
}

.bsh-job-checklist strong,
.bsh-job-checklist span {
	display: block;
}

.bsh-job-checklist strong {
	margin-bottom: 0.55rem;
	color: var(--bsh-navy);
	font-size: 1.12rem;
}

.bsh-job-checklist span {
	color: var(--bsh-muted);
}

.bsh-job-profile {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 7vw, 7rem);
	padding: clamp(3rem, 6vw, 5.5rem);
	border-radius: 32px;
	background: var(--bsh-navy);
}

.bsh-job-profile h2,
.bsh-job-profile__headline > p:not(.bsh-kicker) {
	color: #fff;
}

.bsh-job-profile__headline > p:not(.bsh-kicker) {
	opacity: 0.72;
}

.bsh-job-profile__list {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bsh-job-profile__list li {
	position: relative;
	padding: 1rem 0 1rem 2rem;
	border-bottom: 1px solid rgba(185, 211, 226, 0.18);
	color: #d8e4ec;
}

.bsh-job-profile__list li::before {
	position: absolute;
	left: 0;
	color: var(--bsh-lime);
	content: "→";
}

.bsh-job-benefits > h2 {
	max-width: 900px;
}

.bsh-job-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 3rem;
}

.bsh-job-benefit-grid > div {
	min-height: 250px;
	padding: 1.7rem;
	border: 1px solid var(--bsh-border);
	border-radius: 22px;
	background: #f7fafc;
}

.bsh-job-benefit-grid strong {
	display: block;
	margin-bottom: 0.7rem;
	color: var(--bsh-navy);
	font-size: 1.12rem;
}

.bsh-job-benefit-grid p {
	margin: 0;
	color: var(--bsh-muted);
}

.bsh-job-workmode {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	padding: clamp(3rem, 6vw, 5rem);
	border: 1px solid #bdd6e5;
	border-radius: 30px;
	background:
		linear-gradient(115deg, rgba(34, 184, 255, 0.11), transparent 60%),
		#f5fafd;
}

.bsh-job-workmode h2,
.bsh-job-workmode > p {
	margin-bottom: 0;
}

.bsh-job-workmode > p {
	color: var(--bsh-muted);
	font-size: 1.06rem;
}

.bsh-job-apply small {
	display: block;
	max-width: 680px;
	margin: 1.1rem auto 0;
	color: #91a9ba;
}

.bsh-footer-career-link {
	margin-top: 1rem;
}

@media (max-width: 1100px) {
	.bsh-career-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
		gap: 2rem;
	}

	.bsh-career-value-grid,
	.bsh-job-benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bsh-career-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.bsh-career-hero {
		min-height: auto;
	}

	.bsh-career-hero__shade {
		background: linear-gradient(90deg, rgba(2, 18, 31, 0.98), rgba(2, 18, 31, 0.72));
	}

	.bsh-career-hero__inner,
	.bsh-career-section-head,
	.bsh-job-intro,
	.bsh-job-profile,
	.bsh-job-workmode {
		grid-template-columns: 1fr;
	}

	.bsh-career-hero__panel {
		display: none;
	}

	.bsh-career-domain-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bsh-job-teaser {
		grid-template-columns: 1fr;
	}

	.bsh-job-checklist {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.bsh-career-hero__inner {
		padding-block: 3.5rem 4rem;
	}

	.bsh-career-hero h1,
	.bsh-career-hero--job h1 {
		font-size: clamp(2.45rem, 12.5vw, 3.7rem);
	}

	.bsh-career-hero__signals {
		display: grid;
		gap: 0.7rem;
	}

	.bsh-career-jump .bsh-container {
		min-height: 62px;
	}

	.bsh-career-content {
		padding-top: 4rem;
	}

	.bsh-career-content .bsh-career-section,
	.bsh-career-content .bsh-job-section {
		margin-bottom: 5rem;
	}

	.bsh-career-content h2 {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.bsh-career-value-grid,
	.bsh-career-domain-grid,
	.bsh-career-principles,
	.bsh-career-steps,
	.bsh-job-benefit-grid {
		grid-template-columns: 1fr;
	}

	.bsh-career-value-card {
		min-height: 0;
	}

	.bsh-career-principles > div,
	.bsh-career-steps > div,
	.bsh-career-domain {
		min-height: 0;
	}

	.bsh-career-value-card .bsh-career-card-number,
	.bsh-career-steps span,
	.bsh-job-benefit-grid span {
		margin-bottom: 1.5rem;
	}

	.bsh-career-domains,
	.bsh-career-process,
	.bsh-job-profile,
	.bsh-job-workmode,
	.bsh-career-final,
	.bsh-job-apply {
		padding: 2rem 1.35rem;
		border-radius: 24px;
	}

	.bsh-job-checklist li {
		padding: 1.55rem 1.35rem 1.55rem 4rem;
	}

	.bsh-job-checklist li::before {
		top: 1.55rem;
		left: 1.25rem;
	}

	.bsh-job-benefit-grid > div {
		min-height: 0;
	}
}

@media print {
	.bsh-topbar,
	.bsh-site-header,
	.bsh-legal-toolbar,
	.bsh-legal-index,
	.bsh-site-footer,
	.bsh-legal-hero__status,
		.bsh-legal-download-panel .wp-block-buttons {
		display: none !important;
	}

	.bsh-policy-hero {
		min-height: 0;
		border: 0;
		background: #fff;
		color: #000;
	}

	.bsh-policy-hero::before,
	.bsh-policy-hero__glow,
	.bsh-policy-hero .bsh-breadcrumbs,
	.bsh-policy-hero .bsh-kicker,
	.bsh-policy-toc {
		display: none !important;
	}

	.bsh-policy-hero__inner {
		display: block;
		padding: 0 0 10mm;
	}

	.bsh-policy-hero h1,
	.bsh-policy-hero__inner > p:last-child {
		color: #000;
	}

	.bsh-policy-page {
		padding: 0;
		background: #fff;
	}

	.bsh-policy-content {
		max-width: none;
	}

	.bsh-policy-summary,
	.bsh-policy-card,
	.bsh-policy-section {
		break-inside: avoid;
		border-color: #bbb;
		box-shadow: none;
	}

	.bsh-legal-hero {
		border: 0;
		background: #fff;
		color: #000;
	}

	.bsh-legal-hero::before,
	.bsh-legal-hero__glow {
		display: none;
	}

	.bsh-legal-hero__inner {
		display: block;
		padding: 0 0 12mm;
	}

	.bsh-legal-hero .bsh-breadcrumbs,
	.bsh-legal-hero .bsh-kicker {
		display: none;
	}

	.bsh-legal-hero h1,
	.bsh-legal-hero h1 span,
	.bsh-legal-hero__copy > p:last-child {
		color: #000;
	}

	.bsh-legal-page {
		padding: 0;
		background: #fff;
	}

	.bsh-legal-intro {
		display: block;
		margin-bottom: 10mm;
	}

	.bsh-legal-document {
		overflow: visible;
		break-inside: auto;
		border: 0;
		border-radius: 0;
	}

	.bsh-legal-document > summary {
		padding: 8mm 0 4mm;
		border-bottom: 1px solid #999;
		font-size: 18pt;
	}

	.bsh-legal-document > summary::after {
		display: none;
	}

	.bsh-legal-document > * {
		display: block !important;
		max-width: none;
		margin-right: 0;
		margin-left: 0;
	}

	.bsh-legal-document__meta,
	.bsh-legal-table {
		padding-inline: 0;
	}

	.bsh-legal-document__meta p:last-child,
	.bsh-legal-closing {
		display: none !important;
	}

	.bsh-legal-table {
		overflow: visible;
	}

	.bsh-legal-table table {
		min-width: 0;
	}

	.bsh-legal-document h3,
	.bsh-legal-document h4 {
		break-after: avoid;
	}

	.bsh-legal-document p,
	.bsh-legal-document li {
		font-size: 9.5pt;
		line-height: 1.45;
	}

	@page {
		margin: 18mm;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.bsh-reveal {
		opacity: 1;
		transform: none;
	}

	main {
		animation: none;
	}

}
