/*
Theme Name: BusyBodies Child v2
Theme URI: https://busybodiesmethod.com/
Description: Clean, production-oriented child theme for the BusyBodies Method Elementor website.
Author: BusyBodies Method
Template: hello-elementor
Version: 2.0.6
Text Domain: busybodies-child-v2
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

:root {
	--bb-ink-950: #030508;
	--bb-ink-900: #060a10;
	--bb-midnight-850: #0a111c;
	--bb-navy-800: #0d1a2a;
	--bb-line-700: #1d3148;
	--bb-blue-500: #347fda;
	--bb-blue-400: #66a7ee;
	--bb-blue-300: #91c5ff;
	--bb-white: #ffffff;
	--bb-text-300: #d6dfeb;
	--bb-text-500: #9cabbc;
	--bb-focus: #91c5ff;
	--bb-content-width: 1200px;
	--bb-gutter-desktop: 40px;
	--bb-gutter-tablet: 32px;
	--bb-gutter-mobile: 20px;
	--bb-radius-card: 16px;
	--bb-radius-control: 10px;
}

/* Staging interior-page previews */
.bb-v2-page {
	--bb-section-space: clamp(72px, 8vw, 112px);
	background: var(--bb-ink-950);
	color: var(--bb-text-300);
	overflow: hidden;
}

.bb-v2-page *,
.bb-v2-page *::before,
.bb-v2-page *::after {
	box-sizing: border-box;
}

.bb-v2-page .bb-v2-shell {
	margin-inline: auto;
	max-width: var(--bb-content-width);
	padding-inline: var(--bb-gutter-desktop);
}

.bb-v2-page section {
	padding-block: var(--bb-section-space);
}

.bb-v2-page h1,
.bb-v2-page h2,
.bb-v2-page h3 {
	color: var(--bb-white);
	font-family: "Manrope", Arial, sans-serif;
	letter-spacing: -0.035em;
	line-height: 1.06;
	margin-top: 0;
	text-wrap: balance;
}

.bb-v2-page h1 {
	font-size: clamp(3rem, 6vw, 5.8rem);
	margin-bottom: 26px;
}

.bb-v2-page h2 {
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	margin-bottom: 22px;
}

.bb-v2-page h3 {
	font-size: 1.3rem;
	margin-bottom: 12px;
}

.bb-v2-page p {
	margin-top: 0;
}

.bb-v2-page-hero {
	background:
		radial-gradient(circle at 78% 20%, rgba(52, 127, 218, 0.2), transparent 30rem),
		linear-gradient(135deg, var(--bb-ink-950), var(--bb-midnight-850));
	border-bottom: 1px solid var(--bb-line-700);
	padding-block: clamp(150px, 14vw, 210px) clamp(82px, 9vw, 128px) !important;
}

.bb-v2-page-hero__copy {
	max-width: 850px;
}

.bb-v2-page-lede {
	font-size: clamp(1.08rem, 1.6vw, 1.3rem);
	max-width: 730px;
}

.bb-v2-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 44px;
}

.bb-v2-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bb-v2-panel {
	background: linear-gradient(145deg, rgba(13, 26, 42, 0.92), rgba(6, 10, 16, 0.96));
	border: 1px solid var(--bb-line-700);
	border-radius: var(--bb-radius-card);
	min-height: 220px;
	padding: clamp(26px, 3vw, 38px);
}

.bb-v2-panel__index {
	color: var(--bb-blue-400);
	display: block;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-bottom: 28px;
}

.bb-v2-section--tint {
	background: var(--bb-midnight-850);
	border-block: 1px solid var(--bb-line-700);
}

.bb-v2-split-copy {
	align-items: center;
	display: grid;
	gap: clamp(42px, 7vw, 90px);
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
}

.bb-v2-list {
	display: grid;
	gap: 16px;
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
}

.bb-v2-list li {
	border-top: 1px solid var(--bb-line-700);
	padding-top: 16px;
}

.bb-v2-callout {
	background: linear-gradient(135deg, var(--bb-navy-800), var(--bb-ink-900));
	border: 1px solid var(--bb-line-700);
	border-radius: var(--bb-radius-card);
	padding: clamp(30px, 5vw, 64px);
}

.bb-v2-faq {
	display: grid;
	gap: 14px;
	margin-top: 42px;
}

.bb-v2-faq details {
	background: var(--bb-midnight-850);
	border: 1px solid var(--bb-line-700);
	border-radius: 12px;
}

.bb-v2-faq summary {
	color: var(--bb-white);
	cursor: pointer;
	font-weight: 800;
	list-style-position: inside;
	padding: 24px;
}

.bb-v2-faq details p {
	color: var(--bb-text-300);
	padding: 0 24px 24px;
}

.bb-v2-form-shell {
	background: var(--bb-midnight-850);
	border: 1px solid var(--bb-line-700);
	border-radius: var(--bb-radius-card);
	padding: clamp(26px, 4vw, 48px);
}

.bb-v2-meta {
	color: var(--bb-text-500);
	font-size: 0.92rem;
}

@media (max-width: 1024px) {
	.bb-v2-page .bb-v2-shell {
		padding-inline: var(--bb-gutter-tablet);
	}

	.bb-v2-grid--three {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.bb-v2-page .bb-v2-shell {
		padding-inline: var(--bb-gutter-mobile);
	}

	.bb-v2-page-hero {
		padding-block: 118px 72px !important;
	}

	.bb-v2-page h1 {
		font-size: clamp(2.65rem, 13vw, 4.1rem);
	}

	.bb-v2-grid,
	.bb-v2-grid--three,
	.bb-v2-split-copy {
		grid-template-columns: 1fr;
	}

	.bb-v2-panel {
		min-height: 0;
	}
}

html {
	background: var(--bb-ink-950);
	color-scheme: dark;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: clip;
	background:
		radial-gradient(circle at 78% -10%, rgba(52, 127, 218, 0.13), transparent 36rem),
		var(--bb-ink-950);
	color: var(--bb-text-300);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.65;
}

a {
	color: var(--bb-blue-300);
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--bb-white);
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--bb-focus);
	outline-offset: 3px;
}

::selection {
	background: var(--bb-blue-500);
	color: var(--bb-white);
}

img {
	height: auto;
	max-width: 100%;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

@media (max-width: 1024px) {
	body {
		font-size: 17px;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 16px;
	}
}

/* Staging Home v2 */
.page-id-2338 main#content.site-main,
.page-id-2338 .site-main {
	margin: 0;
	max-width: none !important;
	padding: 0;
	width: 100% !important;
}

.page-id-2338 .page-content,
.page-id-2338 .entry-content {
	margin: 0;
	max-width: none !important;
	padding: 0;
	width: 100% !important;
}

.bb-v2-home {
	--bb-section-space: clamp(72px, 9vw, 128px);
	background: var(--bb-ink-950);
	color: var(--bb-text-300);
	overflow: hidden;
}

.bb-v2-home *,
.bb-v2-home *::before,
.bb-v2-home *::after {
	box-sizing: border-box;
}

.bb-v2-shell {
	margin-inline: auto;
	max-width: var(--bb-content-width);
	padding-inline: var(--bb-gutter-desktop);
}

.bb-v2-section {
	padding-block: var(--bb-section-space);
}

.bb-v2-eyebrow {
	color: var(--bb-blue-400);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.bb-v2-home .bb-v2-hero h1,
.bb-v2-home .bb-v2-section h2,
.bb-v2-home .bb-v2-section h3 {
	color: var(--bb-white);
	font-family: "Manrope", Arial, sans-serif;
	letter-spacing: -0.035em;
	line-height: 1.04;
	margin-top: 0;
	text-wrap: balance;
}

.bb-v2-home .bb-v2-hero h1 {
	font-size: clamp(3rem, 6.2vw, 6.2rem);
	margin-bottom: 28px;
}

.bb-v2-home .bb-v2-section h2 {
	font-size: clamp(2.25rem, 4.2vw, 4.25rem);
	margin-bottom: 24px;
}

.bb-v2-home .bb-v2-section h3 {
	font-size: 1.3rem;
	margin-bottom: 12px;
}

.bb-v2-lede {
	color: var(--bb-text-300);
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	margin: 0;
	max-width: 660px;
}

.bb-v2-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

.bb-v2-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: var(--bb-radius-control);
	display: inline-flex;
	font-size: 0.88rem;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0.04em;
	min-height: 54px;
	padding: 14px 22px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.bb-v2-button:hover {
	transform: translateY(-2px);
}

.bb-v2-button--primary {
	background: var(--bb-blue-500);
	color: var(--bb-white);
}

.bb-v2-button--primary:hover {
	background: var(--bb-blue-400);
	color: var(--bb-ink-950);
}

.bb-v2-button--secondary {
	border-color: var(--bb-line-700);
	color: var(--bb-white);
}

.bb-v2-button--secondary:hover {
	background: var(--bb-midnight-850);
	border-color: var(--bb-blue-400);
	color: var(--bb-white);
}

.bb-v2-hero {
	background:
		radial-gradient(circle at 82% 30%, rgba(52, 127, 218, 0.2), transparent 28rem),
		linear-gradient(135deg, var(--bb-ink-950), var(--bb-ink-900));
	display: grid;
	min-height: min(820px, calc(100svh - 90px));
	place-items: center;
}

.bb-v2-hero__content {
	align-items: center;
	display: grid;
	gap: clamp(48px, 7vw, 96px);
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
	padding-block: clamp(170px, 15vw, 220px) clamp(96px, 12vw, 160px);
	width: 100%;
}

.bb-v2-hero__copy {
	max-width: 780px;
}

.bb-v2-points {
	background: var(--bb-midnight-850);
	border-block: 1px solid var(--bb-line-700);
}

.bb-v2-points__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.bb-v2-point {
	padding: 28px 34px;
}

.bb-v2-point + .bb-v2-point {
	border-left: 1px solid var(--bb-line-700);
}

.bb-v2-point strong {
	color: var(--bb-white);
	display: block;
	font-size: 1rem;
	margin-bottom: 6px;
}

.bb-v2-point span {
	color: var(--bb-text-500);
	font-size: 0.9rem;
}

.bb-v2-split {
	align-items: center;
	display: grid;
	gap: clamp(44px, 7vw, 92px);
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
}

.bb-v2-photo-slot {
	align-items: center;
	aspect-ratio: 4 / 5;
	background:
		linear-gradient(145deg, rgba(52, 127, 218, 0.13), transparent 52%),
		repeating-linear-gradient(135deg, rgba(145, 197, 255, 0.035) 0 1px, transparent 1px 18px),
		var(--bb-midnight-850);
	border: 1px solid var(--bb-line-700);
	border-radius: var(--bb-radius-card);
	box-shadow: 28px 28px 0 rgba(52, 127, 218, 0.08);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 360px;
	padding: 32px;
	text-align: center;
	width: 100%;
}

.bb-v2-photo-slot span {
	color: var(--bb-white);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bb-v2-photo-slot small {
	color: var(--bb-text-500);
	display: block;
	font-size: 0.78rem;
	margin-top: 8px;
}

.bb-v2-photo-slot--hero {
	aspect-ratio: 4 / 5;
}

.bb-v2-photo-slot--method {
	aspect-ratio: 4 / 5;
}

.bb-v2-copy p {
	color: var(--bb-text-500);
	margin: 0 0 18px;
	max-width: 650px;
}

.bb-v2-cards {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 48px;
}

.bb-v2-card {
	background: linear-gradient(145deg, var(--bb-midnight-850), var(--bb-ink-900));
	border: 1px solid var(--bb-line-700);
	border-radius: var(--bb-radius-card);
	min-height: 230px;
	padding: 34px;
}

.bb-v2-card__number {
	color: var(--bb-blue-400);
	display: block;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-bottom: 34px;
}

.bb-v2-card p,
.bb-v2-step p {
	color: var(--bb-text-500);
	margin: 0;
}

.bb-v2-process {
	background: var(--bb-ink-900);
}

.bb-v2-steps {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 48px;
}

.bb-v2-step {
	border-top: 2px solid var(--bb-blue-500);
	padding-top: 24px;
}

.bb-v2-band {
	background:
		radial-gradient(circle at 80% 10%, rgba(102, 167, 238, 0.16), transparent 24rem),
		var(--bb-navy-800);
	border-block: 1px solid var(--bb-line-700);
}

.bb-v2-band__inner {
	align-items: center;
	display: grid;
	gap: 42px;
	grid-template-columns: minmax(0, 1.4fr) auto;
}

.bb-v2-band h2 {
	margin-bottom: 16px;
}

.bb-v2-band p {
	color: var(--bb-text-300);
	margin: 0;
	max-width: 720px;
}

.bb-v2-final {
	text-align: center;
}

.bb-v2-final .bb-v2-lede {
	margin-inline: auto;
}

.bb-v2-final .bb-v2-actions {
	justify-content: center;
}

body header {
	background: rgba(3, 5, 8, 0.94);
	border-bottom: 1px solid rgba(102, 167, 238, 0.18);
	backdrop-filter: blur(14px);
}

body header .elementor-nav-menu--main .elementor-item {
	color: var(--bb-text-300);
}

body header .elementor-nav-menu--main .elementor-item:hover,
body header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	background: var(--bb-midnight-850);
	color: var(--bb-white);
}

body header .elementor-button {
	background: var(--bb-blue-500) !important;
	border-radius: var(--bb-radius-control);
	color: var(--bb-white) !important;
}

body header .elementor-button:hover {
	background: var(--bb-blue-400) !important;
	color: var(--bb-ink-950) !important;
}

@media (min-width: 1025px) {
	.bb-v2-home .bb-v2-hero h1 {
		font-size: clamp(3.2rem, 5.2vw, 5.2rem);
	}

	.bb-v2-hero {
		min-height: min(760px, calc(100svh - 88px));
	}

	.bb-v2-hero__content {
		padding-block: clamp(96px, 8vw, 116px);
	}
}

@media (max-width: 1024px) {
	.bb-v2-shell {
		padding-inline: var(--bb-gutter-tablet);
	}

	.bb-v2-hero {
		background-position: center;
	}

	.bb-v2-hero__content {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
	}

	.bb-v2-split {
		grid-template-columns: 1fr 0.8fr;
	}

	.bb-v2-band__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.bb-v2-shell {
		padding-inline: var(--bb-gutter-mobile);
	}

	.bb-v2-hero {
		background:
			radial-gradient(circle at 75% 12%, rgba(52, 127, 218, 0.18), transparent 22rem),
			var(--bb-ink-950);
		display: block;
		min-height: auto;
		padding-top: 0;
	}

	.bb-v2-hero__content {
		display: grid;
		grid-template-columns: 1fr;
		padding-block: 118px 76px;
	}

	.bb-v2-home .bb-v2-hero h1 {
		font-size: clamp(2.65rem, 13vw, 4.2rem);
	}

	.bb-v2-points__grid,
	.bb-v2-cards,
	.bb-v2-steps,
	.bb-v2-split {
		grid-template-columns: 1fr;
	}

	.bb-v2-point {
		padding: 22px 0;
	}

	.bb-v2-point + .bb-v2-point {
		border-left: 0;
		border-top: 1px solid var(--bb-line-700);
	}

	.bb-v2-split {
		gap: 48px;
	}

	.bb-v2-photo-slot {
		aspect-ratio: 16 / 11;
		box-shadow: 14px 14px 0 rgba(52, 127, 218, 0.08);
		min-height: 250px;
	}

	.bb-v2-photo-slot--hero {
		margin-top: 16px;
	}

	.bb-v2-card {
		min-height: 0;
		padding: 28px;
	}

	.bb-v2-card__number {
		margin-bottom: 24px;
	}

	.bb-v2-button {
		width: 100%;
	}
}

html {
	background: var(--bb-ink-950);
	color-scheme: dark;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: clip;
	background:
		radial-gradient(circle at 78% -10%, rgba(52, 127, 218, 0.13), transparent 36rem),
		var(--bb-ink-950);
	color: var(--bb-text-300);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.65;
}

a {
	color: var(--bb-blue-300);
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--bb-white);
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--bb-focus);
	outline-offset: 3px;
}

::selection {
	background: var(--bb-blue-500);
	color: var(--bb-white);
}

img {
	height: auto;
	max-width: 100%;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

@media (max-width: 1024px) {
	body {
		font-size: 17px;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 16px;
	}
}

/* Staging Home v2 */
.page-id-2338 main#content.site-main,
.page-id-2338 .site-main {
	margin: 0;
	max-width: none !important;
	padding: 0;
	width: 100% !important;
}

.page-id-2338 .page-content,
.page-id-2338 .entry-content {
	margin: 0;
	max-width: none !important;
	padding: 0;
	width: 100% !important;
}

.bb-v2-home {
	--bb-section-space: clamp(72px, 9vw, 128px);
	background: var(--bb-ink-950);
	color: var(--bb-text-300);
	overflow: hidden;
}

.bb-v2-home *,
.bb-v2-home *::before,
.bb-v2-home *::after {
	box-sizing: border-box;
}

.bb-v2-shell {
	margin-inline: auto;
	max-width: var(--bb-content-width);
	padding-inline: var(--bb-gutter-desktop);
}

.bb-v2-section {
	padding-block: var(--bb-section-space);
}

.bb-v2-eyebrow {
	color: var(--bb-blue-400);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.bb-v2-home .bb-v2-hero h1,
.bb-v2-home .bb-v2-section h2,
.bb-v2-home .bb-v2-section h3 {
	color: var(--bb-white);
	font-family: "Manrope", Arial, sans-serif;
	letter-spacing: -0.035em;
	line-height: 1.04;
	margin-top: 0;
	text-wrap: balance;
}

.bb-v2-home .bb-v2-hero h1 {
	font-size: clamp(3rem, 6.2vw, 6.2rem);
	margin-bottom: 28px;
}

.bb-v2-home .bb-v2-section h2 {
	font-size: clamp(2.25rem, 4.2vw, 4.25rem);
	margin-bottom: 24px;
}

.bb-v2-home .bb-v2-section h3 {
	font-size: 1.3rem;
	margin-bottom: 12px;
}

.bb-v2-lede {
	color: var(--bb-text-300);
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	margin: 0;
	max-width: 660px;
}

.bb-v2-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 36px;
}

.bb-v2-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: var(--bb-radius-control);
	display: inline-flex;
	font-size: 0.88rem;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0.04em;
	min-height: 54px;
	padding: 14px 22px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.bb-v2-button:hover {
	transform: translateY(-2px);
}

.bb-v2-button--primary {
	background: var(--bb-blue-500);
	color: var(--bb-white);
}

.bb-v2-button--primary:hover {
	background: var(--bb-blue-400);
	color: var(--bb-ink-950);
}

.bb-v2-button--secondary {
	border-color: var(--bb-line-700);
	color: var(--bb-white);
}

.bb-v2-button--secondary:hover {
	background: var(--bb-midnight-850);
	border-color: var(--bb-blue-400);
	color: var(--bb-white);
}

.bb-v2-hero {
	background:
		radial-gradient(circle at 82% 30%, rgba(52, 127, 218, 0.2), transparent 28rem),
		linear-gradient(135deg, var(--bb-ink-950), var(--bb-ink-900));
	display: grid;
	min-height: min(820px, calc(100svh - 90px));
	place-items: center;
}

.bb-v2-hero__content {
	align-items: center;
	display: grid;
	gap: clamp(48px, 7vw, 96px);
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
	padding-block: clamp(170px, 15vw, 220px) clamp(96px, 12vw, 160px);
	width: 100%;
}

.bb-v2-hero__copy {
	max-width: 780px;
}

.bb-v2-points {
	background: var(--bb-midnight-850);
	border-block: 1px solid var(--bb-line-700);
}

.bb-v2-points__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.bb-v2-point {
	padding: 28px 34px;
}

.bb-v2-point + .bb-v2-point {
	border-left: 1px solid var(--bb-line-700);
}

.bb-v2-point strong {
	color: var(--bb-white);
	display: block;
	font-size: 1rem;
	margin-bottom: 6px;
}

.bb-v2-point span {
	color: var(--bb-text-500);
	font-size: 0.9rem;
}

.bb-v2-split {
	align-items: center;
	display: grid;
	gap: clamp(44px, 7vw, 92px);
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
}

.bb-v2-photo-slot {
	align-items: center;
	aspect-ratio: 4 / 5;
	background:
		linear-gradient(145deg, rgba(52, 127, 218, 0.13), transparent 52%),
		repeating-linear-gradient(135deg, rgba(145, 197, 255, 0.035) 0 1px, transparent 1px 18px),
		var(--bb-midnight-850);
	border: 1px solid var(--bb-line-700);
	border-radius: var(--bb-radius-card);
	box-shadow: 28px 28px 0 rgba(52, 127, 218, 0.08);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 360px;
	padding: 32px;
	text-align: center;
	width: 100%;
}

.bb-v2-photo-slot span {
	color: var(--bb-white);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bb-v2-photo-slot small {
	color: var(--bb-text-500);
	display: block;
	font-size: 0.78rem;
	margin-top: 8px;
}

.bb-v2-photo-slot--hero {
	aspect-ratio: 4 / 5;
}

.bb-v2-photo-slot--method {
	aspect-ratio: 4 / 5;
}

.bb-v2-copy p {
	color: var(--bb-text-500);
	margin: 0 0 18px;
	max-width: 650px;
}

.bb-v2-cards {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 48px;
}

.bb-v2-card {
	background: linear-gradient(145deg, var(--bb-midnight-850), var(--bb-ink-900));
	border: 1px solid var(--bb-line-700);
	border-radius: var(--bb-radius-card);
	min-height: 230px;
	padding: 34px;
}

.bb-v2-card__number {
	color: var(--bb-blue-400);
	display: block;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-bottom: 34px;
}

.bb-v2-card p,
.bb-v2-step p {
	color: var(--bb-text-500);
	margin: 0;
}

.bb-v2-process {
	background: var(--bb-ink-900);
}

.bb-v2-steps {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 48px;
}

.bb-v2-step {
	border-top: 2px solid var(--bb-blue-500);
	padding-top: 24px;
}

.bb-v2-band {
	background:
		radial-gradient(circle at 80% 10%, rgba(102, 167, 238, 0.16), transparent 24rem),
		var(--bb-navy-800);
	border-block: 1px solid var(--bb-line-700);
}

.bb-v2-band__inner {
	align-items: center;
	display: grid;
	gap: 42px;
	grid-template-columns: minmax(0, 1.4fr) auto;
}

.bb-v2-band h2 {
	margin-bottom: 16px;
}

.bb-v2-band p {
	color: var(--bb-text-300);
	margin: 0;
	max-width: 720px;
}

.bb-v2-final {
	text-align: center;
}

.bb-v2-final .bb-v2-lede {
	margin-inline: auto;
}

.bb-v2-final .bb-v2-actions {
	justify-content: center;
}

body header {
	background: rgba(3, 5, 8, 0.94);
	border-bottom: 1px solid rgba(102, 167, 238, 0.18);
	backdrop-filter: blur(14px);
}

body header .elementor-nav-menu--main .elementor-item {
	color: var(--bb-text-300);
}

body header .elementor-nav-menu--main .elementor-item:hover,
body header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	background: var(--bb-midnight-850);
	color: var(--bb-white);
}

body header .elementor-button {
	background: var(--bb-blue-500) !important;
	border-radius: var(--bb-radius-control);
	color: var(--bb-white) !important;
}

body header .elementor-button:hover {
	background: var(--bb-blue-400) !important;
	color: var(--bb-ink-950) !important;
}

@media (min-width: 1025px) {
	.bb-v2-home .bb-v2-hero h1 {
		font-size: clamp(3.2rem, 5.2vw, 5.2rem);
	}

	.bb-v2-hero {
		min-height: min(760px, calc(100svh - 88px));
	}

	.bb-v2-hero__content {
		padding-block: clamp(96px, 8vw, 116px);
	}
}

@media (max-width: 1024px) {
	.bb-v2-shell {
		padding-inline: var(--bb-gutter-tablet);
	}

	.bb-v2-hero {
		background-position: center;
	}

	.bb-v2-hero__content {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
	}

	.bb-v2-split {
		grid-template-columns: 1fr 0.8fr;
	}

	.bb-v2-band__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.bb-v2-shell {
		padding-inline: var(--bb-gutter-mobile);
	}

	.bb-v2-hero {
		background:
			radial-gradient(circle at 75% 12%, rgba(52, 127, 218, 0.18), transparent 22rem),
			var(--bb-ink-950);
		display: block;
		min-height: auto;
		padding-top: 0;
	}

	.bb-v2-hero__content {
		display: grid;
		grid-template-columns: 1fr;
		padding-block: 118px 76px;
	}

	.bb-v2-home .bb-v2-hero h1 {
		font-size: clamp(2.65rem, 13vw, 4.2rem);
	}

	.bb-v2-points__grid,
	.bb-v2-cards,
	.bb-v2-steps,
	.bb-v2-split {
		grid-template-columns: 1fr;
	}

	.bb-v2-point {
		padding: 22px 0;
	}

	.bb-v2-point + .bb-v2-point {
		border-left: 0;
		border-top: 1px solid var(--bb-line-700);
	}

	.bb-v2-split {
		gap: 48px;
	}

	.bb-v2-photo-slot {
		aspect-ratio: 16 / 11;
		box-shadow: 14px 14px 0 rgba(52, 127, 218, 0.08);
		min-height: 250px;
	}

	.bb-v2-photo-slot--hero {
		margin-top: 16px;
	}

	.bb-v2-card {
		min-height: 0;
		padding: 28px;
	}

	.bb-v2-card__number {
		margin-bottom: 24px;
	}

	.bb-v2-button {
		width: 100%;
	}
}


/* v2 interior typography lock: prevent legacy Elementor kit overrides. */
.bb-v2-page .bb-v2-page-hero h1,
.bb-v2-page section h2,
.bb-v2-page section h3 {
	color: var(--bb-white) !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-style: normal !important;
	text-transform: none !important;
}

.bb-v2-page .bb-v2-page-hero h1 {
	font-size: clamp(3rem, 6vw, 5.8rem) !important;
	letter-spacing: -0.045em !important;
	line-height: 0.98 !important;
}

.bb-v2-page section h2 {
	font-size: clamp(2.2rem, 4vw, 3.8rem) !important;
	letter-spacing: -0.04em !important;
	line-height: 1.04 !important;
}

.bb-v2-page section h3 {
	font-size: 1.3rem !important;
	letter-spacing: -0.025em !important;
	line-height: 1.15 !important;
}

@media (max-width: 767px) {
	.bb-v2-page .bb-v2-page-hero h1 {
		font-size: clamp(2.65rem, 13vw, 4.1rem) !important;
	}
}

.bb-v2-anchor-target {
	scroll-margin-top: 112px;
}


/* Keep the opened Elementor navigation panel in the blue brand system. */
.elementor-nav-menu--dropdown,
.elementor-nav-menu--dropdown .elementor-nav-menu {
	background-color: #102744 !important;
}

.elementor-nav-menu--dropdown a.elementor-item {
	background-color: transparent !important;
	color: #d6dfeb !important;
}

.elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-nav-menu--dropdown a.elementor-item:focus-visible,
.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active {
	background-color: #347fda !important;
	color: #ffffff !important;
}
