/* Acelo design v2 — scoped under .theme-v2 (Figma: purple gradient, orange accent, glass cards) */

.theme-v2 {
	--v2-purple-start: #524ae9;
	--v2-purple-end: #2e2a83;
	--v2-orange: #fe763e;
	--v2-lavender: #756eed;
	--v2-white: #ffffff;
	--v2-text-dark: #282828;
	--v2-text-muted: rgba(255, 255, 255, 0.85);
	--v2-bg-light: #efefef;
	--v2-bg-soft: #f8f8f8;
	--v2-text-heading: #282828;
	--v2-text-body: #666666;
	--v2-text-strong: #333333;

	--v2-font-display: "DM Sans", system-ui, sans-serif;
	--v2-font-body: "Geist Sans", system-ui, sans-serif;
	--v2-font-mono: "Geist Mono", ui-monospace, monospace;

	--v2-gradient-purple: linear-gradient(180deg, var(--v2-purple-start) 0%, var(--v2-purple-end) 100%);
	--v2-glass-border: 1px solid var(--v2-orange);
	--v2-glass-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(51, 51, 51, 0.2) 100%);
	--v2-glass-shadow: 0 19px 17.8px rgba(0, 0, 0, 0.2);
	--v2-pill-shadow: 0 2px 3px rgba(42, 59, 81, 0.15), 0 0 0 1px rgba(18, 55, 105, 0.08);

	--v2-wrap-max: 105rem;
	--v2-wrap-pad: clamp(1.25rem, 5vw, 11.875rem);
	--v2-radius-card: 1.5rem;
	--v2-radius-pill: 2.25rem;
	--v2-radius-btn: 2.925rem;

	margin: 0;
	overflow-x: clip;
	font-family: var(--v2-font-body);
	color: var(--v2-white);
	background: var(--v2-white);
	-webkit-font-smoothing: antialiased;
}

/* Stop decorative orbs/rings that bleed past their section from creating
   a horizontal scroll on the page. clip doesn't create a scroll container
   (safer than hidden for sticky/fixed children). */
html:has(body.theme-v2) {
	overflow-x: clip;
}

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

/* Ensure text always wraps rather than clipping when the user has boosted
   OS/browser text size. Long words break at any character as a fallback. */
.theme-v2 h1,
.theme-v2 h2,
.theme-v2 h3,
.theme-v2 h4,
.theme-v2 h5,
.theme-v2 h6,
.theme-v2 p,
.theme-v2 li,
.theme-v2 a,
.theme-v2 span,
.theme-v2 button,
.theme-v2 label {
	overflow-wrap: anywhere;
	word-wrap: break-word;
	min-width: 0;
}

.theme-v2 img {
	max-width: 100%;
	height: auto;
	display: block;
}

.theme-v2 a {
	color: inherit;
}

.theme-v2 .v2-wrap {
	width: 100%;
	max-width: var(--v2-wrap-max);
	margin-inline: auto;
	padding-inline: var(--v2-wrap-pad);
}

/* Nav — transparent + lavender divider */
.theme-v2 .v2-nav {
	position: relative;
	z-index: 100;
	background: transparent;
	border-bottom: 1px solid var(--v2-lavender);
}

.theme-v2 .v2-nav__bar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	min-height: 4.375rem;
	padding-block: 0.75rem;
}

.theme-v2 .v2-nav__logo {
	justify-self: start;
	line-height: 0;
}

.theme-v2 .v2-nav__logo svg {
	display: block;
	width: clamp(4.5rem, 6vw, 5.9375rem);
	height: auto;
}

.theme-v2 .v2-nav__logo svg path {
	fill: var(--v2-white);
}

.theme-v2 .v2-nav__logo svg #ident-dot {
	fill: var(--v2-orange);
}

.theme-v2 .v2-nav__links-wrap {
	justify-self: center;
}

.theme-v2 .v2-nav__links {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
}

.theme-v2 .v2-nav__links a {
	font: 500 0.875rem/1.5 var(--v2-font-body);
	color: var(--v2-white);
	text-decoration: none;
	opacity: 0.92;
	transition: color 0.15s, opacity 0.15s;
}

.theme-v2 .v2-nav__links a:hover {
	opacity: 1;
}

.theme-v2 .v2-nav__links a[aria-current="page"] {
	color: var(--v2-orange);
	opacity: 1;
}

.theme-v2 .v2-nav__cta {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.65rem 1.15rem;
	border-radius: 2.925rem;
	background: var(--v2-orange);
	color: var(--v2-white);
	font: 500 0.875rem/1.5 var(--v2-font-body);
	text-decoration: none;
	box-shadow: var(--v2-pill-shadow);
	white-space: nowrap;
}

.theme-v2 .v2-nav__actions {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.theme-v2 .v2-nav__toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: var(--v2-white);
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.15s, border-color 0.15s;
}

.theme-v2 .v2-nav__toggle:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.42);
}

.theme-v2 .v2-nav__toggle-bar {
	display: block;
	width: 1.125rem;
	height: 2px;
	border-radius: 1px;
	background: currentColor;
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s;
}

body.v2-menu-open.theme-v2 .v2-nav__toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

body.v2-menu-open.theme-v2 .v2-nav__toggle-bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0.6);
}

body.v2-menu-open.theme-v2 .v2-nav__toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.theme-v2 .v2-nav__cta-icon {
	width: 0.875rem;
	height: 0.875rem;
	flex-shrink: 0;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-nav__links {
		display: flex;
	}
}

@media (max-width: 55.99rem) {
	.theme-v2 .v2-nav__bar {
		grid-template-columns: 1fr auto;
	}

	.theme-v2 .v2-nav__links-wrap {
		display: none;
	}

	.theme-v2 .v2-nav__cta {
		display: none;
	}

	.theme-v2 .v2-nav__toggle {
		display: flex;
	}
}

/* Mobile nav overlay */
@keyframes v2-nav-overlay-in {
	from {
		opacity: 0;
		transform: translateY(-1.25rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes v2-nav-overlay-out {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(-0.75rem);
	}
}

.theme-v2 .v2-nav__overlay {
	--v2-nav-overlay-ease: cubic-bezier(0.22, 1, 0.36, 1);
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	flex-direction: column;
	padding:
		max(1rem, env(safe-area-inset-top))
		max(1.25rem, env(safe-area-inset-right))
		max(1.5rem, env(safe-area-inset-bottom))
		max(1.25rem, env(safe-area-inset-left));
	background: rgba(46, 42, 131, 0);
	backdrop-filter: blur(0);
	-webkit-backdrop-filter: blur(0);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.38s var(--v2-nav-overlay-ease),
		visibility 0.38s,
		background 0.38s ease,
		backdrop-filter 0.38s ease,
		-webkit-backdrop-filter 0.38s ease;
}

body.v2-menu-open.theme-v2 .v2-nav__overlay,
body.v2-menu-closing.theme-v2 .v2-nav__overlay {
	background: rgba(46, 42, 131, 0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.theme-v2 .v2-nav__overlay-panel {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	margin-top: 3.5rem;
	padding: 2rem 1.25rem 1.5rem;
	border-radius: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: var(--v2-gradient-purple);
	box-shadow: var(--v2-glass-shadow);
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	will-change: transform, opacity;
}

body.v2-menu-open:not(.v2-menu-closing).theme-v2 .v2-nav__overlay-panel {
	animation: v2-nav-overlay-in 0.42s var(--v2-nav-overlay-ease) forwards;
}

body.v2-menu-open.v2-menu-closing.theme-v2 .v2-nav__overlay-panel {
	animation: v2-nav-overlay-out 0.3s var(--v2-nav-overlay-ease) forwards;
}

.theme-v2 .v2-nav__overlay-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: var(--v2-white);
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}

.theme-v2 .v2-nav__overlay-close:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.36);
}

.theme-v2 .v2-nav__overlay-close svg {
	width: 1.125rem;
	height: 1.125rem;
}

.theme-v2 .v2-nav__overlay-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.theme-v2 .v2-nav__overlay-link {
	display: block;
	padding: 0.85rem 0;
	font: 700 clamp(1.75rem, 7vw, 2.5rem)/1.15 var(--v2-font-display);
	color: var(--v2-white);
	text-decoration: none;
	letter-spacing: -0.02em;
	transition: color 0.15s, opacity 0.15s;
}

.theme-v2 .v2-nav__overlay-link:hover {
	opacity: 0.88;
}

.theme-v2 .v2-nav__overlay-link[aria-current="page"] {
	color: var(--v2-orange);
}

.theme-v2 .v2-nav__overlay-foot {
	margin-top: auto;
	padding-top: 2rem;
}

.theme-v2 .v2-nav__overlay-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.875rem 1.35rem;
	border-radius: 2.925rem;
	background: var(--v2-orange);
	color: var(--v2-white);
	font: 500 1rem/1.5 var(--v2-font-body);
	text-decoration: none;
	box-shadow: var(--v2-pill-shadow);
}

body.v2-menu-open.theme-v2 .v2-nav {
	z-index: 210;
}

body.v2-menu-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	body.v2-menu-open.theme-v2 .v2-nav__overlay,
	body.v2-menu-closing.theme-v2 .v2-nav__overlay {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		transition-duration: 0.2s;
	}

	body.v2-menu-open:not(.v2-menu-closing).theme-v2 .v2-nav__overlay-panel,
	body.v2-menu-open.v2-menu-closing.theme-v2 .v2-nav__overlay-panel {
		animation: none;
	}

	body.v2-menu-open:not(.v2-menu-closing).theme-v2 .v2-nav__overlay-panel {
		opacity: 1;
		transform: none;
	}

	body.v2-menu-open.v2-menu-closing.theme-v2 .v2-nav__overlay-panel {
		opacity: 0;
		transform: translateY(-0.5rem);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.theme-v2 .v2-nav__toggle-bar {
		transition: none;
	}
}

/* Pill badge — hero eyebrow format (compact, fit-content) */
.theme-v2 .v2-pill {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
	width: fit-content;
	max-width: 100%;
	padding: 0.4rem 0.75rem 0.4rem 0.4rem;
	border-radius: 2.5rem;
	background: var(--v2-white);
	box-shadow: 0 2px 3px rgba(42, 59, 81, 0.12);
	color: var(--v2-text-dark);
}

.theme-v2 .v2-pill__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.375rem;
	padding: 0.15rem 0.5rem;
	border-radius: 2.5rem;
	background: var(--v2-orange);
	color: var(--v2-white);
	font: 600 12px/18px var(--v2-font-mono);
	white-space: nowrap;
}

.theme-v2 .v2-pill__text {
	font: 400 12px/18px var(--v2-font-mono);
	white-space: nowrap;
}

/* Buttons — Figma: 16px medium, ~47px tall */
.theme-v2 .v2-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.875rem 1.35rem;
	border: none;
	border-radius: 2.925rem;
	background: var(--v2-orange);
	color: var(--v2-white);
	font: 500 1rem/1.5 var(--v2-font-body);
	text-decoration: none;
	box-shadow: var(--v2-pill-shadow);
	cursor: pointer;
	transition: transform 0.15s, filter 0.15s;
	align-self: flex-start;
}

.theme-v2 .v2-btn:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
}

.theme-v2 .v2-btn__icon {
	width: 0.9rem;
	height: 0.9rem;
}

/* Glass card */
.theme-v2 .v2-glass-card {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.75rem;
	border-radius: var(--v2-radius-card);
	border: var(--v2-glass-border);
	background: var(--v2-glass-bg);
	box-shadow: var(--v2-glass-shadow);
	backdrop-filter: blur(8.35px);
	-webkit-backdrop-filter: blur(8.35px);
}

.theme-v2 .v2-glass-card__divider {
	height: 1px;
	border: none;
	margin: 0;
	background: linear-gradient(90deg, rgba(254, 118, 62, 0.6), rgba(255, 255, 255, 0.15));
}

.theme-v2 .v2-glass-card__kicker {
	display: flex;
	align-items: baseline;
	gap: 0.65rem;
	margin: 0;
	font: 500 0.9375rem/1.75 var(--v2-font-mono);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--v2-orange);
}

.theme-v2 .v2-glass-card__idx {
	opacity: 0.85;
}

.theme-v2 .v2-glass-card__title {
	margin: 0;
	font: 700 1.25rem/1.35 var(--v2-font-display);
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-glass-card__body {
	margin: 0;
	font: 400 1rem/1.5 var(--v2-font-body);
	color: var(--v2-text-muted);
}

/* Hero — Figma desktop ~1680: title 64px/57px lh, lede 16px/24px, photo 548px */
.theme-v2.page-v2-home {
	background: var(--v2-gradient-purple);
}

.theme-v2.page-v2-home .v2-hero {
	background: transparent;
}

.theme-v2 .v2-hero {
	position: relative;
	overflow: hidden;
	background: var(--v2-gradient-purple);
	padding: clamp(1.25rem, 2.5vw, 2rem) 0 clamp(3rem, 5vw, 4rem);
	height: calc(100vh - 71px);
	height: calc(100dvh - 71px);
	display: flex;
	align-items: center;
}

@media (max-width: 63.99rem) {
	.theme-v2 .v2-hero {
		height: auto;
		min-height: calc(100vh - 71px);
		min-height: calc(100dvh - 71px);
		align-items: flex-start;
		padding-top: clamp(1.5rem, 5vw, 2.5rem);
	}
}

.theme-v2 .v2-hero__inner {
	width: 100%;
}

.theme-v2 .v2-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(2.5rem, 5vw, 3rem);
	align-items: center;
}

.theme-v2 .v2-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	max-width: min(39.875rem, 100%);
	min-width: 0;
}

.theme-v2 .v2-hero__content > * + * {
	margin-top: 1.25rem;
}

.theme-v2 .v2-hero__content .v2-pill + .v2-hero__title {
	margin-top: clamp(1.5rem, 3vw, 2rem);
}

.theme-v2 .v2-hero__title + .v2-hero__lede {
	margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
}

.theme-v2 .v2-hero__title {
	margin: 0;
	display: flex;
	flex-direction: column;
	font-family: var(--v2-font-display);
	font-weight: 700;
	font-size: clamp(3.25rem, 8vw, 7.75rem);
	line-height: 0.890625;
	letter-spacing: -0.02em;
	color: var(--v2-white);
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	max-width: 100%;
}

.theme-v2 .v2-hero__title-line {
	display: block;
	font-size: clamp(3.5rem, 7.5vw, 6.5rem);
	line-height: 0.85;
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}

/* Very narrow viewports (< 30rem) or aggressive zoom: allow break-all as
   the last-resort fallback so single long words can never overflow the
   viewport. Looks slightly less polished, but avoids clipping. */
@media (max-width: 30rem) {
	.theme-v2 .v2-hero__title,
	.theme-v2 .v2-about-hero__title,
	.theme-v2 .v2-contact-hero__title,
	.theme-v2 .v2-services-hero__title,
	.theme-v2 .v2-hero__title-line {
		word-break: break-all;
	}
}

.theme-v2 .v2-hero__title-line.accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-hero__title-line--partner {
	position: relative;
	display: inline-block;
	width: fit-content;
	isolation: isolate;
}

.theme-v2 .v2-hero__title .accent {
	color: var(--v2-orange);
}

/* Glass lens over "p" in partner — Figma hero */
.theme-v2 .v2-hero__text-lens {
	position: absolute;
	left: 0;
	top: 50%;
	width: clamp(4.6875rem, 7vw, 5.625rem);
	height: clamp(4.6875rem, 7vw, 5.625rem);
	transform: translate(-38%, -52%);
	pointer-events: none;
	z-index: 2;
}

.theme-v2 .v2-hero__text-lens-glass {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.72);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.14) 0%,
		rgba(119, 119, 119, 0.1) 100%
	);
	box-shadow:
		0 4.5px 9px rgba(0, 0, 0, 0.2),
		0 9px 18px rgba(0, 0, 0, 0.15),
		inset 0 1px 12px rgba(255, 255, 255, 0.18);
	-webkit-backdrop-filter: blur(4px) saturate(1.15) brightness(1.08);
	backdrop-filter: blur(4px) saturate(1.15) brightness(1.08);
}

.theme-v2 .v2-hero__text-lens-glass::before {
	content: '';
	position: absolute;
	top: 7%;
	left: 11%;
	width: 44%;
	height: 30%;
	border-radius: 50%;
	background: radial-gradient(
		ellipse at 35% 35%,
		rgba(255, 255, 255, 0.55) 0%,
		rgba(255, 255, 255, 0.15) 45%,
		transparent 72%
	);
	filter: blur(2px);
	transform: rotate(-18deg);
	pointer-events: none;
}

.theme-v2 .v2-hero__text-lens-glass::after {
	content: '';
	position: absolute;
	top: 4%;
	left: 20%;
	width: 58%;
	height: 8%;
	border-radius: 50%;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.45) 50%,
		transparent 100%
	);
	filter: blur(1.5px);
	pointer-events: none;
}

@media (max-width: 47.99rem) {
	.theme-v2 .v2-hero__text-lens {
		width: clamp(3.5rem, 15vw, 4.6875rem);
		height: clamp(3.5rem, 15vw, 4.6875rem);
	}
}

.theme-v2 .v2-hero__lede {
	margin: 0;
	max-width: min(26.125rem, 100%);
	font: 400 1rem/1.5 var(--v2-font-body);
	color: var(--v2-white);
	overflow-wrap: anywhere;
	word-break: break-word;
}

.theme-v2 .v2-hero__graphic {
	position: relative;
	width: 100%;
	min-height: clamp(18rem, 42vw, 28rem);
	aspect-ratio: 1 / 0.95;
}

.theme-v2 .v2-hero__photo-stack {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: clamp(14rem, 32vw, 34.25rem);
	height: clamp(14rem, 32vw, 34.25rem);
	z-index: 2;
}

.theme-v2 .v2-hero__halo {
	position: absolute;
	inset: -8%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(82, 74, 233, 0.45) 0%, transparent 68%);
	pointer-events: none;
}

.theme-v2 .v2-hero__photo {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(254, 118, 62, 0.85);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.08),
		0 18px 40px rgba(0, 0, 0, 0.22);
}

.theme-v2 .v2-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-hero__outline {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.28);
	background: transparent;
	pointer-events: none;
}

.theme-v2 .v2-hero__outline--1 {
	width: clamp(16rem, 36vw, 36.9375rem);
	height: clamp(16rem, 36vw, 36.9375rem);
	top: 4%;
	left: 18%;
}

.theme-v2 .v2-hero__outline--2 {
	width: clamp(9rem, 18vw, 11.0625rem);
	height: clamp(9rem, 18vw, 11.0625rem);
	top: 2%;
	right: 8%;
	border-color: rgba(255, 255, 255, 0.2);
}

.theme-v2 .v2-hero__outline--3 {
	width: clamp(7rem, 14vw, 9.5rem);
	height: clamp(7rem, 14vw, 9.5rem);
	bottom: 8%;
	left: 6%;
	border-color: rgba(255, 255, 255, 0.18);
}

.theme-v2 .v2-hero__outline--4 {
	width: clamp(10rem, 22vw, 20rem);
	height: clamp(10rem, 22vw, 20rem);
	top: 24%;
	right: -4%;
	border-color: rgba(255, 255, 255, 0.16);
}

.theme-v2 .v2-hero__outline--5 {
	width: clamp(5rem, 9vw, 7rem);
	height: clamp(5rem, 9vw, 7rem);
	bottom: 18%;
	right: 22%;
	border-color: rgba(255, 255, 255, 0.22);
}

.theme-v2 .v2-hero__solid {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.theme-v2 .v2-hero__solid--purple {
	width: clamp(2.25rem, 4vw, 3.25rem);
	height: clamp(2.25rem, 4vw, 3.25rem);
	top: 14%;
	right: 18%;
	background: var(--v2-purple-start);
	box-shadow: 0 12px 24px rgba(82, 74, 233, 0.4);
}

.theme-v2 .v2-hero__solid--orange-lg {
	width: clamp(5rem, 10vw, 8rem);
	height: clamp(5rem, 10vw, 8rem);
	bottom: 12%;
	right: 8%;
	background: var(--v2-orange);
	box-shadow: 0 12px 28px rgba(254, 118, 62, 0.45);
}

.theme-v2 .v2-hero__dot--4 {
	width: 0.5rem;
	height: 0.5rem;
	top: 38%;
	left: 4%;
	background: var(--v2-white);
	opacity: 0.85;
}

.theme-v2 .v2-hero__dot--5 {
	width: 0.4rem;
	height: 0.4rem;
	top: 4%;
	right: 32%;
	background: var(--v2-white);
	opacity: 0.7;
}

.theme-v2 .v2-hero__dot--6 {
	width: 0.6rem;
	height: 0.6rem;
	bottom: 4%;
	left: 28%;
	background: var(--v2-orange);
	opacity: 0.85;
}

.theme-v2 .v2-hero__dot--7 {
	width: 0.875rem;
	height: 0.875rem;
	top: 68%;
	right: 38%;
	background: var(--v2-white);
	opacity: 0.55;
}

.theme-v2 .v2-hero__outline--6 {
	width: clamp(8rem, 16vw, 14rem);
	height: clamp(8rem, 16vw, 14rem);
	top: 56%;
	left: 12%;
	border-color: rgba(255, 255, 255, 0.14);
}

.theme-v2 .v2-hero__glass {
	position: absolute;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(119, 119, 119, 0.12) 100%);
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2), 0 10px 20px rgba(0, 0, 0, 0.15);
	backdrop-filter: blur(3.5px);
	-webkit-backdrop-filter: blur(3.5px);
	pointer-events: none;
}

.theme-v2 .v2-hero__glass--1 {
	width: clamp(3.5rem, 7vw, 5.3125rem);
	height: clamp(3.5rem, 7vw, 5.3125rem);
	top: 18%;
	left: 0;
}

.theme-v2 .v2-hero__glass--2 {
	width: clamp(2rem, 4vw, 2.875rem);
	height: clamp(2rem, 4vw, 2.875rem);
	top: 42%;
	right: 12%;
	border-color: var(--v2-orange);
}

.theme-v2 .v2-hero__orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.theme-v2 .v2-hero__orb--orange {
	width: clamp(2.75rem, 5vw, 5.0625rem);
	height: clamp(2.75rem, 5vw, 5.0625rem);
	top: 6%;
	right: 22%;
	background: radial-gradient(circle at 35% 35%, #fe763e 0%, #524ae9 100%);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.theme-v2 .v2-hero__dot {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.theme-v2 .v2-hero__dot--1 {
	width: 0.875rem;
	height: 0.875rem;
	top: 12%;
	left: 28%;
	background: var(--v2-white);
	opacity: 0.9;
}

.theme-v2 .v2-hero__dot--2 {
	width: 0.4375rem;
	height: 0.4375rem;
	top: 28%;
	right: 32%;
	background: var(--v2-orange);
}

.theme-v2 .v2-hero__dot--3 {
	width: 2.875rem;
	height: 2.875rem;
	bottom: 14%;
	right: 4%;
	background: rgba(255, 255, 255, 0.35);
}

.theme-v2 .v2-hero__scroll-wrap {
	position: absolute;
	left: 50%;
	bottom: 1.25rem;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.625rem;
	text-decoration: none;
	color: inherit;
}

.theme-v2 .v2-hero__scroll {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: var(--v2-lavender);
	color: var(--v2-white);
}

.theme-v2 .v2-hero__scroll svg {
	width: 1.125rem;
	height: 1.125rem;
}

.theme-v2 .v2-hero__scroll-dot {
	width: 0.625rem;
	height: 0.625rem;
	border-radius: 50%;
	background: var(--v2-lavender);
}

@media (min-width: 64rem) {
	.theme-v2 .v2-hero__inner {
		grid-template-columns: minmax(0, 39.875rem) minmax(0, 1fr);
		gap: clamp(1.5rem, 3vw, 2.5rem);
		align-items: center;
		min-height: clamp(28rem, 52vh, 36rem);
	}

	.theme-v2 .v2-hero__graphic {
		min-height: 34rem;
		aspect-ratio: auto;
	}
}

@media (max-width: 63.99rem) {
	.theme-v2 .v2-hero__graphic {
		margin-top: 0.5rem;
	}

	.theme-v2 .v2-hero__photo-stack {
		transform: translate(-50%, -50%);
	}
}

/* Who we work with — DARK with bordered numbered tiles */
.theme-v2 .v2-who-work {
	position: relative;
	overflow: hidden;
	background: #282828;
	color: var(--v2-white);
	padding-block: clamp(4rem, 9vw, 9.375rem);
	padding-inline: 0;
}

.theme-v2 .v2-who-work__decor {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.theme-v2 .v2-who-work__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.55;
}

.theme-v2 .v2-who-work__orb--1 {
	width: 30rem;
	height: 30rem;
	top: -6rem;
	right: -8rem;
	background: radial-gradient(circle, rgba(254, 118, 62, 0.35), transparent 65%);
}

.theme-v2 .v2-who-work__orb--2 {
	width: 24rem;
	height: 24rem;
	bottom: -8rem;
	left: -6rem;
	background: radial-gradient(circle, rgba(82, 74, 233, 0.45), transparent 65%);
}

.theme-v2 .v2-who-work__header {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.theme-v2 .v2-who-work__title {
	margin: 0;
	max-width: 22ch;
	font-family: var(--v2-font-display);
	font-weight: 500;
	font-size: clamp(2.25rem, 6vw, 5.5rem);
	line-height: 1.04;
	letter-spacing: -0.02em;
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-who-work__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-who-work__grid {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-who-work__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
		align-items: stretch;
	}

	.theme-v2 .v2-who-work__tile:not(:last-child) {
		border-right: 0;
	}
}

.theme-v2 .v2-who-work__tile {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2.25rem;
	min-height: clamp(34rem, 50vw, 48rem);
	padding: 4rem 2.5rem 2.5rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
	cursor: default;
	outline: none;
	transition: background 0.35s ease, border-color 0.35s ease;
}

.theme-v2 .v2-who-work__tile:hover,
.theme-v2 .v2-who-work__tile:focus-visible {
	background: linear-gradient(180deg, #fe763e 0%, #524ae9 100%);
	border-color: rgba(255, 255, 255, 0.22);
}

.theme-v2 .v2-who-work__idx {
	margin: 0;
	font: 300 clamp(4.5rem, 7vw, 6rem)/1 var(--v2-font-display);
	letter-spacing: 0.04em;
	background: linear-gradient(180deg, #fe763e 0%, #524ae9 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	transition: color 0.35s ease;
}

.theme-v2 .v2-who-work__tile:hover .v2-who-work__idx,
.theme-v2 .v2-who-work__tile:focus-visible .v2-who-work__idx {
	background: none;
	-webkit-background-clip: initial;
	background-clip: initial;
	color: var(--v2-white);
}

.theme-v2 .v2-who-work__tile-body {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.theme-v2 .v2-who-work__tile-rule {
	border: none;
	height: 1px;
	background: rgba(255, 255, 255, 0.22);
	margin: 0;
	width: 100%;
}

.theme-v2 .v2-who-work__tile:hover .v2-who-work__tile-rule,
.theme-v2 .v2-who-work__tile:focus-visible .v2-who-work__tile-rule {
	background: rgba(255, 255, 255, 0.4);
}

.theme-v2 .v2-who-work__segment {
	margin: 0;
	font: 500 0.9375rem/1.4 var(--v2-font-mono);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.theme-v2 .v2-who-work__tile:hover .v2-who-work__segment,
.theme-v2 .v2-who-work__tile:focus-visible .v2-who-work__segment {
	color: rgba(40, 40, 40, 0.88);
}

.theme-v2 .v2-who-work__strap {
	margin: 0;
	font: 400 clamp(1.5rem, 2.4vw, 2.25rem)/1.12 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-who-work__strap .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-who-work__tile:hover .v2-who-work__strap .accent,
.theme-v2 .v2-who-work__tile:focus-visible .v2-who-work__strap .accent {
	color: var(--v2-white);
}

.theme-v2 .v2-who-work__tile-body-text {
	margin: 0;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.85);
}

.theme-v2 .v2-who-work__tile:hover .v2-who-work__tile-body-text,
.theme-v2 .v2-who-work__tile:focus-visible .v2-who-work__tile-body-text {
	color: rgba(255, 255, 255, 0.95);
}

.theme-v2 .v2-who-work__arrow {
	margin-top: auto;
	align-self: flex-start;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	color: rgba(255, 255, 255, 0.85);
}

.theme-v2 .v2-who-work__arrow svg {
	width: 100%;
	height: 100%;
}

/* Home features (light bg, 3 cols below hero) */
.theme-v2 .v2-home-features {
	background: var(--v2-bg-soft);
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.theme-v2 .v2-home-features__inner {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
}

@media (min-width: 56rem) {
	.theme-v2 .v2-home-features__inner {
		grid-template-columns: repeat(3, 1fr);
	}
}

.theme-v2 .v2-home-features__item {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	align-items: flex-start;
}

.theme-v2 .v2-home-features__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: var(--v2-white);
	color: var(--v2-purple-start);
	box-shadow: var(--v2-pill-shadow);
}

.theme-v2 .v2-home-features__icon svg {
	width: 1.5rem;
	height: 1.5rem;
}

.theme-v2 .v2-home-features__title {
	margin: 0;
	font: 500 1.375rem/1.25 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.theme-v2 .v2-home-features__body {
	margin: 0;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

/* Home partners — purple band */
.theme-v2 .v2-home-partners {
	position: relative;
	background: var(--v2-gradient-purple);
	color: var(--v2-white);
	overflow: hidden;
}

.theme-v2 .v2-home-partners__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.theme-v2 .v2-home-partners__blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
	opacity: 0.45;
}

.theme-v2 .v2-home-partners__blob--1 {
	width: 30rem;
	height: 30rem;
	top: -8rem;
	right: -6rem;
	background: radial-gradient(circle, rgba(254, 118, 62, 0.4), transparent 65%);
}

.theme-v2 .v2-home-partners__blob--2 {
	width: 24rem;
	height: 24rem;
	bottom: -6rem;
	left: -4rem;
	background: radial-gradient(circle, rgba(82, 74, 233, 0.5), transparent 65%);
}

.theme-v2 .v2-home-partners__circle {
	position: absolute;
	border-radius: 50%;
	background: rgba(82, 74, 233, 0.42);
	pointer-events: none;
}

.theme-v2 .v2-home-partners__circle--1 {
	width: 36rem;
	height: 36rem;
	top: 16rem;
	left: -10rem;
}

.theme-v2 .v2-home-partners__circle--2 {
	width: 44rem;
	height: 44rem;
	bottom: -16rem;
	left: 18%;
	background: rgba(82, 74, 233, 0.32);
}

.theme-v2 .v2-home-partners__circle--3 {
	width: 28rem;
	height: 28rem;
	top: 10rem;
	right: -4rem;
	background: rgba(82, 74, 233, 0.36);
}

.theme-v2 .v2-home-partners__circle--4 {
	width: 18rem;
	height: 18rem;
	bottom: 18rem;
	right: 24%;
	background: rgba(82, 74, 233, 0.48);
}

.theme-v2 .v2-home-partners__circle--5 {
	width: 12rem;
	height: 12rem;
	bottom: 4rem;
	right: -3rem;
	background: rgba(82, 74, 233, 0.55);
}

.theme-v2 .v2-home-partners__solid {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.theme-v2 .v2-home-partners__solid--orange {
	width: 7rem;
	height: 7rem;
	top: 16rem;
	right: 14%;
	background: radial-gradient(circle at 35% 35%, #fe763e 0%, #f4a87a 65%, rgba(254, 118, 62, 0.4) 100%);
	box-shadow: 0 16px 40px rgba(254, 118, 62, 0.5);
}

.theme-v2 .v2-home-partners__solid--purple {
	width: 5.5rem;
	height: 5.5rem;
	bottom: 18rem;
	left: 34%;
	background: radial-gradient(circle at 35% 35%, #756eed 0%, #524ae9 100%);
	box-shadow: 0 16px 40px rgba(82, 74, 233, 0.55);
}

.theme-v2 .v2-home-partners__mean {
	position: relative;
	display: inline-block;
}

.theme-v2 .v2-home-partners__lens {
	position: absolute;
	top: -0.85em;
	left: 50%;
	transform: translateX(-50%);
	width: 3rem;
	height: 3rem;
	pointer-events: none;
	z-index: 2;
}

.theme-v2 .v2-home-partners__lens-glass {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.65);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(119, 119, 119, 0.12));
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.22), inset 0 1px 12px rgba(255, 255, 255, 0.18);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.theme-v2 .v2-home-partners__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
	align-items: center;
}

.theme-v2 .v2-home-partners__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	text-align: center;
	max-width: 50rem;
}

.theme-v2 .v2-home-partners__title {
	margin: 0;
	font-family: var(--v2-font-display);
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 3.75rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-home-partners__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-home-partners__lede {
	margin: 0;
	max-width: 32rem;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.88);
}

.theme-v2 .v2-home-partners__grid {
	display: grid;
	gap: 1.5rem;
	width: 100%;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-home-partners__grid {
		grid-template-columns: repeat(3, 1fr);
		align-items: stretch;
		gap: clamp(1.5rem, 3vw, 2rem);
	}
}

.theme-v2 .v2-home-partners__card {
	padding: 2rem;
	gap: 1.25rem;
	align-items: flex-start;
}

.theme-v2 .v2-home-partners__logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 3.5rem;
	overflow: visible;
}

.theme-v2 .v2-home-partners__logo img {
	max-width: 60%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.theme-v2 .v2-home-partners__rule {
	width: 100%;
	border: none;
	height: 1px;
	margin: 0;
	background: rgba(255, 255, 255, 0.18);
}

.theme-v2 .v2-home-partners__meta {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 5rem;
}

.theme-v2 .v2-home-partners__name {
	margin: 0;
	font: 700 1.25rem/1.3 var(--v2-font-display);
	color: var(--v2-white);
}

.theme-v2 .v2-home-partners__sector {
	margin: 0;
	font: 500 0.875rem/1 var(--v2-font-mono);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--v2-orange);
}

.theme-v2 .v2-home-partners__body {
	margin: 0;
	font: 400 0.9375rem/1.5 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.92);
}

.theme-v2 .v2-home-partners__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font: 600 0.9375rem/1 var(--v2-font-body);
	color: var(--v2-orange);
	text-decoration: none;
	transition: gap 0.15s;
}

.theme-v2 .v2-home-partners__link:hover {
	gap: 0.55rem;
}

.theme-v2 .v2-home-partners__link svg {
	width: 1rem;
	height: 1rem;
}

/* Footer — site-wide v2 component */
.theme-v2 .v2-footer {
	background: var(--v2-bg-soft);
	padding: clamp(1.25rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem);
	color: var(--v2-text-heading);
}

.theme-v2 .v2-footer__card {
	width: 100%;
	max-width: 90rem;
	margin-inline: auto;
	background: var(--v2-white);
	border-radius: 1.75rem;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.75rem, 4vw, 3.5rem);
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

.theme-v2 .v2-footer__top {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.75rem, 4vw, 3rem);
	align-items: start;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-footer__top {
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 0.8fr);
	}
}

.theme-v2 .v2-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.theme-v2 .v2-footer__logo {
	display: inline-flex;
	align-items: baseline;
	font: 700 clamp(1.5rem, 2vw, 1.75rem)/1 var(--v2-font-display);
	letter-spacing: -0.04em;
	color: var(--v2-text-heading);
	text-decoration: none;
	width: fit-content;
}

.theme-v2 .v2-footer__logo-dot {
	color: var(--v2-orange);
	margin-left: 1px;
}

.theme-v2 .v2-footer__tag {
	margin: 0;
	font: 400 0.875rem/1.4 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-footer__col {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.theme-v2 .v2-footer__heading {
	margin: 0 0 0.35rem;
	font: 500 0.8125rem/1.2 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-footer__list,
.theme-v2 .v2-footer__legal {
	list-style: none;
	margin: 0;
	padding: 0;
}

.theme-v2 .v2-footer__list {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.theme-v2 .v2-footer__link {
	font: 400 0.875rem/1.4 var(--v2-font-body);
	color: var(--v2-text-heading);
	text-decoration: none;
	transition: color 0.15s;
}

.theme-v2 .v2-footer__link:hover {
	color: var(--v2-orange);
}

.theme-v2 .v2-footer__socials {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.75rem;
}

.theme-v2 .v2-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: var(--v2-bg-light);
	color: var(--v2-orange);
	transition: background 0.15s, color 0.15s, transform 0.15s;
}

.theme-v2 .v2-footer__social:hover {
	background: var(--v2-orange);
	color: var(--v2-white);
	transform: translateY(-1px);
}

.theme-v2 .v2-footer__social svg {
	width: 1rem;
	height: 1rem;
}

.theme-v2 .v2-footer__divider {
	border: none;
	height: 1px;
	background: rgba(40, 40, 40, 0.08);
	margin: 0;
}

.theme-v2 .v2-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.theme-v2 .v2-footer__copyright {
	margin: 0;
	font: 400 0.8125rem/1.4 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
}

.theme-v2 .v2-footer__legal .v2-footer__link {
	color: var(--v2-text-body);
	font-size: 0.8125rem;
}

@media (max-width: 47.99rem) {
	.theme-v2 .v2-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.25rem;
	}
}

/* === Contact page === */
.theme-v2.page-v2-contact {
	background: var(--v2-gradient-purple);
}

.theme-v2 .v2-contact-hero {
	position: relative;
	background: var(--v2-gradient-purple);
	overflow: hidden;
}

.theme-v2 .v2-contact-hero__bg-orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(6px);
	opacity: 0.55;
}

.theme-v2 .v2-contact-hero__bg-orb--1 {
	width: clamp(22rem, 36vw, 36rem);
	height: clamp(22rem, 36vw, 36rem);
	top: -10rem;
	left: -8rem;
	background: radial-gradient(circle, rgba(82, 74, 233, 0.35), transparent 65%);
}

.theme-v2 .v2-contact-hero__bg-orb--2 {
	width: clamp(20rem, 32vw, 32rem);
	height: clamp(20rem, 32vw, 32rem);
	bottom: -10rem;
	right: -6rem;
	background: radial-gradient(circle, rgba(254, 118, 62, 0.22), transparent 60%);
}

.theme-v2 .v2-contact-hero__inner {
	position: relative;
	z-index: 1;
}

.theme-v2 .v2-contact-hero__title {
	font-weight: 600;
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 0.9;
	letter-spacing: -0.02em;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	max-width: 100%;
}

.theme-v2 .v2-contact-hero__nobreak {
	white-space: nowrap;
}

.theme-v2 .v2-contact-hero__lede {
	max-width: min(32rem, 100%);
	color: rgba(255, 255, 255, 0.92);
}

.theme-v2 .v2-contact-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
}

.theme-v2 .v2-contact-hero__secondary {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font: 500 0.9375rem/1 var(--v2-font-body);
	color: var(--v2-white);
	text-decoration: none;
	opacity: 0.88;
	transition: gap 0.15s, opacity 0.15s;
}

.theme-v2 .v2-contact-hero__secondary:hover {
	opacity: 1;
	gap: 0.55rem;
}

.theme-v2 .v2-contact-hero__secondary svg {
	width: 0.875rem;
	height: 0.875rem;
}

.theme-v2 .v2-contact-hero__graphic {
	position: relative;
	width: 100%;
	min-height: clamp(18rem, 40vw, 28rem);
	aspect-ratio: 1 / 0.95;
}

.theme-v2 .v2-contact-hero__ring {
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.theme-v2 .v2-contact-hero__ring--1 {
	width: clamp(16rem, 34vw, 32rem);
	height: clamp(16rem, 34vw, 32rem);
	top: 6%;
	right: -6%;
}

.theme-v2 .v2-contact-hero__ring--2 {
	width: clamp(8rem, 16vw, 12rem);
	height: clamp(8rem, 16vw, 12rem);
	bottom: 12%;
	left: 12%;
	border-color: rgba(255, 255, 255, 0.24);
}

.theme-v2 .v2-contact-hero__solid--orange {
	width: clamp(6rem, 12vw, 9rem);
	height: clamp(6rem, 12vw, 9rem);
	top: 16%;
	right: 12%;
	background: radial-gradient(circle at 35% 35%, #fe763e 0%, #f4a87a 65%, rgba(254, 118, 62, 0.4) 100%);
	box-shadow: 0 16px 40px rgba(254, 118, 62, 0.45);
}

.theme-v2 .v2-contact-hero__solid--purple {
	width: clamp(3rem, 6vw, 4.5rem);
	height: clamp(3rem, 6vw, 4.5rem);
	bottom: 28%;
	right: 32%;
	background: radial-gradient(circle at 35% 35%, #756eed 0%, #524ae9 100%);
	box-shadow: 0 14px 30px rgba(82, 74, 233, 0.5);
}

.theme-v2 .v2-contact-hero__glass--1 {
	width: clamp(3rem, 6vw, 4.5rem);
	height: clamp(3rem, 6vw, 4.5rem);
	bottom: 20%;
	left: 8%;
	border-color: var(--v2-orange);
}

.theme-v2 .v2-contact-hero__dot {
	width: 1rem;
	height: 1rem;
	top: 56%;
	right: 4%;
	background: var(--v2-white);
	opacity: 0.85;
}

/* Contact — What to expect */
.theme-v2 .v2-contact-expect__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
}

.theme-v2 .v2-contact-expect__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	max-width: 48rem;
}

.theme-v2 .v2-contact-expect__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
}

@media (min-width: 48rem) {
	.theme-v2 .v2-contact-expect__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.theme-v2 .v2-contact-expect__col {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: flex-start;
}

.theme-v2 .v2-contact-expect__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--v2-white);
	border: 1px solid rgba(40, 40, 40, 0.1);
	color: var(--v2-orange);
	font: 500 1.125rem/1 var(--v2-font-display);
	margin-bottom: 0.75rem;
}

.theme-v2 .v2-contact-expect__col-title {
	margin: 0;
	font: 600 1.125rem/1.35 var(--v2-font-display);
	color: var(--v2-text-heading);
	max-width: 24ch;
	text-wrap: balance;
}

.theme-v2 .v2-contact-expect__col-body {
	margin: 0;
	font: 400 0.9375rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
	max-width: 36ch;
}

/* Contact — Form */
.theme-v2 .v2-contact-form__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
}

.theme-v2 .v2-contact-form__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	max-width: 48rem;
}

.theme-v2 .v2-contact-form__card {
	background: var(--v2-white);
	border-radius: 1.5rem;
	padding: clamp(1.75rem, 4vw, 3rem);
	box-shadow: 0 18px 40px rgba(40, 40, 40, 0.06);
}

.theme-v2 .v2-contact-form__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.theme-v2 .v2-contact-form__grid {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 40rem) {
	.theme-v2 .v2-contact-form__grid {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem 1.75rem;
	}
}

.theme-v2 .v2-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.theme-v2 .v2-contact-form__field--full {
	grid-column: 1 / -1;
}

.theme-v2 .v2-contact-form__field label {
	font: 500 0.875rem/1.25 var(--v2-font-body);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-contact-form__req {
	color: var(--v2-orange);
	margin-left: 0.15rem;
}

.theme-v2 .v2-contact-form__opt {
	margin-left: 0.25rem;
	color: var(--v2-text-body);
	font-weight: 400;
}

.theme-v2 .v2-contact-form__field input,
.theme-v2 .v2-contact-form__field textarea {
	width: 100%;
	padding: 0.75rem 0.875rem;
	border-radius: 0.65rem;
	border: 1px solid rgba(40, 40, 40, 0.14);
	background: var(--v2-bg-soft);
	font: 400 0.9375rem/1.5 var(--v2-font-body);
	color: var(--v2-text-heading);
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.theme-v2 .v2-contact-form__field textarea {
	resize: vertical;
	min-height: 7rem;
	font-family: var(--v2-font-body);
}

.theme-v2 .v2-contact-form__field input::placeholder,
.theme-v2 .v2-contact-form__field textarea::placeholder {
	color: rgba(40, 40, 40, 0.4);
}

.theme-v2 .v2-contact-form__field input:hover,
.theme-v2 .v2-contact-form__field textarea:hover {
	border-color: rgba(40, 40, 40, 0.24);
	background: var(--v2-white);
}

.theme-v2 .v2-contact-form__field input:focus,
.theme-v2 .v2-contact-form__field textarea:focus {
	outline: none;
	background: var(--v2-white);
	border-color: var(--v2-orange);
	box-shadow: 0 0 0 3px rgba(254, 118, 62, 0.18);
}

.theme-v2 .v2-contact-form__footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	margin-top: 2rem;
}

@media (min-width: 40rem) {
	.theme-v2 .v2-contact-form__footer {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 1.5rem;
	}
}

.theme-v2 .v2-contact-form__small {
	margin: 0;
	font: 400 0.8125rem/1.5 var(--v2-font-body);
	color: var(--v2-text-body);
	max-width: 32rem;
}

.theme-v2 .v2-contact-form__submit {
	background: var(--v2-orange);
}

.theme-v2 .v2-contact-form__submit:disabled {
	cursor: progress;
	opacity: 0.7;
	transform: none;
}

.theme-v2 .v2-contact-form__error {
	margin: 1.25rem 0 0;
	padding: 0.85rem 1rem;
	border-radius: 0.65rem;
	background: rgba(254, 118, 62, 0.1);
	color: var(--v2-text-strong);
	font: 500 0.875rem/1.55 var(--v2-font-body);
	border-left: 3px solid var(--v2-orange);
}

.theme-v2 .v2-contact-form__error a {
	color: var(--v2-orange);
	font-weight: 600;
}

.theme-v2 .v2-contact-form__success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: clamp(1.5rem, 4vw, 3rem) 1.5rem;
	text-align: center;
	max-width: 36rem;
	margin-inline: auto;
}

.theme-v2 .v2-contact-form__success[hidden],
.theme-v2 .v2-contact-form__error[hidden],
.theme-v2 .v2-contact-form__form[hidden] {
	display: none !important;
}

.theme-v2 .v2-contact-form__success-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
}

.theme-v2 .v2-contact-form__success-mark svg {
	width: 100%;
	height: 100%;
}

.theme-v2 .v2-contact-form__success-title {
	margin: 0;
	font: 600 1.5rem/1.25 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-text-heading);
}

.theme-v2 .v2-contact-form__success-body {
	margin: 0;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-contact-form__success-body a {
	color: var(--v2-orange);
	font-weight: 600;
}

/* Contact — Direct contact */
.theme-v2 .v2-contact-direct__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
}

.theme-v2 .v2-contact-direct__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	max-width: 48rem;
}

.theme-v2 .v2-contact-direct__grid {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-contact-direct__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.theme-v2 .v2-contact-direct__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	padding: 2rem;
	border-radius: 1.5rem;
	background: var(--v2-white);
	box-shadow: 0 18px 40px rgba(40, 40, 40, 0.06);
}

.theme-v2 .v2-contact-direct__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--v2-bg-soft);
	color: var(--v2-purple-start);
	margin-bottom: 0.25rem;
}

.theme-v2 .v2-contact-direct__icon svg {
	width: 1.25rem;
	height: 1.25rem;
}

.theme-v2 .v2-contact-direct__eyebrow {
	margin: 0;
	font: 500 0.75rem/1.4 var(--v2-font-mono);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--v2-text-body);
}

.theme-v2 .v2-contact-direct__title {
	margin: 0;
	font: 600 1.375rem/1.2 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.01em;
}

.theme-v2 .v2-contact-direct__body {
	margin: 0;
	font: 400 0.9375rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
	max-width: 36ch;
}

.theme-v2 .v2-contact-direct__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.5rem;
	font: 600 0.9375rem/1 var(--v2-font-body);
	color: var(--v2-purple-start);
	text-decoration: none;
	transition: gap 0.15s;
}

.theme-v2 .v2-contact-direct__link:hover {
	gap: 0.55rem;
}

.theme-v2 .v2-contact-direct__link svg {
	width: 1rem;
	height: 1rem;
}

/* Team modal — desktop centred panel + mobile bottom sheet */
body.v2-team-modal-open {
	overflow: hidden;
}

.theme-v2 .v2-team-modal {
	position: fixed;
	inset: 0;
	z-index: 250;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.32s ease, visibility 0.32s ease;
}

.theme-v2 .v2-team-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.theme-v2 .v2-team-modal__scrim {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 30, 0.55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border: none;
	padding: 0;
	cursor: pointer;
}

.theme-v2 .v2-team-modal__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 100%;
	max-height: 90vh;
	background: var(--v2-white);
	color: var(--v2-text-heading);
	border-top-left-radius: 1.75rem;
	border-top-right-radius: 1.75rem;
	box-shadow: 0 -24px 48px rgba(20, 20, 30, 0.25);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transform: translateY(2rem);
	transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.theme-v2 .v2-team-modal.is-open .v2-team-modal__panel {
	transform: translateY(0);
}

.theme-v2 .v2-team-modal__handle {
	width: 2.5rem;
	height: 0.25rem;
	border-radius: 999px;
	background: rgba(40, 40, 40, 0.18);
	margin: 0.75rem auto 0;
	flex-shrink: 0;
}

.theme-v2 .v2-team-modal__close {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	border: 1px solid rgba(40, 40, 40, 0.1);
	background: var(--v2-white);
	color: var(--v2-text-heading);
	cursor: pointer;
	z-index: 2;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.theme-v2 .v2-team-modal__close:hover,
.theme-v2 .v2-team-modal__close:focus-visible {
	background: var(--v2-bg-soft);
	border-color: rgba(40, 40, 40, 0.18);
}

.theme-v2 .v2-team-modal__close svg {
	width: 1.125rem;
	height: 1.125rem;
}

.theme-v2 .v2-team-modal__scroll {
	overflow-y: auto;
	overflow-x: hidden;
	padding: 1.5rem clamp(1.25rem, 4vw, 2.5rem) clamp(1.5rem, 4vw, 2.5rem);
	scrollbar-width: thin;
	scrollbar-color: rgba(40, 40, 40, 0.2) transparent;
	-webkit-overflow-scrolling: touch;
}

.theme-v2 .v2-team-modal__header {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(40, 40, 40, 0.08);
	margin-bottom: 1.75rem;
	padding-right: 3.5rem;
}

.theme-v2 .v2-team-modal__photo {
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	overflow: hidden;
	background: var(--v2-bg-soft);
	flex-shrink: 0;
}

.theme-v2 .v2-team-modal__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-team-modal__meta {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.theme-v2 .v2-team-modal__role {
	margin: 0;
	font: 500 0.75rem/1 var(--v2-font-mono);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--v2-orange);
}

.theme-v2 .v2-team-modal__team-pill {
	color: var(--v2-text-body);
}

.theme-v2 .v2-team-modal__dot {
	margin: 0 0.4rem;
	opacity: 0.6;
}

.theme-v2 .v2-team-modal__name {
	margin: 0;
	font: 500 clamp(1.75rem, 3vw, 2.5rem)/1.05 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-text-heading);
}

.theme-v2 .v2-team-modal__body {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.theme-v2 .v2-team-modal__section {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.theme-v2 .v2-team-modal__section-eyebrow {
	margin: 0;
	font: 500 0.75rem/1.4 var(--v2-font-mono);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--v2-purple-start);
}

.theme-v2 .v2-team-modal__bio p {
	margin: 0 0 1rem;
	font: 400 1rem/1.6 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-team-modal__bio p:last-child {
	margin-bottom: 0;
}

.theme-v2 .v2-team-modal__expertise {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

@media (min-width: 30rem) {
	.theme-v2 .v2-team-modal__expertise {
		grid-template-columns: 1fr 1fr;
		gap: 0.5rem 1.5rem;
	}
}

.theme-v2 .v2-team-modal__expertise li {
	position: relative;
	padding-left: 1.25rem;
	font: 500 0.9375rem/1.5 var(--v2-font-body);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-team-modal__expertise li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.6rem;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--v2-orange);
}

.theme-v2 .v2-team-modal__ownership {
	margin: 0;
	font: 400 1rem/1.6 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-team-modal__human {
	margin: 0;
	font: 400 1rem/1.6 var(--v2-font-body);
	color: var(--v2-text-body);
}

/* Desktop — centred modal */
@media (min-width: 48rem) {
	.theme-v2 .v2-team-modal {
		align-items: center;
		padding: 2rem;
	}

	.theme-v2 .v2-team-modal__panel {
		max-width: 44rem;
		max-height: min(86vh, 56rem);
		border-radius: 1.75rem;
		transform: translateY(1.5rem) scale(0.98);
	}

	.theme-v2 .v2-team-modal.is-open .v2-team-modal__panel {
		transform: translateY(0) scale(1);
	}

	.theme-v2 .v2-team-modal__handle {
		display: none;
	}

	.theme-v2 .v2-team-modal__scroll {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}

	.theme-v2 .v2-team-modal__header {
		flex-direction: row;
		align-items: center;
		gap: 1.5rem;
	}

	.theme-v2 .v2-team-modal__photo {
		width: 5.5rem;
		height: 5.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.theme-v2 .v2-team-modal,
	.theme-v2 .v2-team-modal__panel {
		transition: none;
	}
}

/* Hide decorative blurred lenses on mobile — purely visual flourishes,
   trimmed to keep mobile clean and reduce backdrop-filter cost. */
@media (max-width: 63.99rem) {
	.theme-v2 .v2-hero__glass,
	.theme-v2 .v2-hero__text-lens,
	.theme-v2 .v2-problem__lens,
	.theme-v2 .v2-home-partners__lens,
	.theme-v2 .v2-about-hero__glass,
	.theme-v2 .v2-services-hero__glass,
	.theme-v2 .v2-contact-hero__glass--1,
	.theme-v2 .v2-about-stand__lens,
	.theme-v2 .v2-modularity__lens {
		display: none !important;
	}
}

/* Cookie consent banner — bottom slide-up */
.theme-v2 .v2-cookie {
	position: fixed;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	z-index: 300;
	max-width: 56rem;
	margin-inline: auto;
	background: #282828;
	color: var(--v2-white);
	border-radius: 1.25rem;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
	transform: translateY(2rem);
	opacity: 0;
	transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.32s ease;
	pointer-events: none;
}

.theme-v2 .v2-cookie[hidden] {
	display: none !important;
}

.theme-v2 .v2-cookie.is-visible {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}

.theme-v2 .v2-cookie__inner {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.25rem 1.5rem;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-cookie__inner {
		flex-direction: row;
		align-items: center;
		gap: 2rem;
		padding: 1.5rem 1.75rem;
	}
}

.theme-v2 .v2-cookie__copy {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.theme-v2 .v2-cookie__title {
	margin: 0;
	font: 600 0.9375rem/1.3 var(--v2-font-body);
	color: var(--v2-white);
}

.theme-v2 .v2-cookie__body {
	margin: 0;
	font: 400 0.875rem/1.55 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.78);
	max-width: 42rem;
}

.theme-v2 .v2-cookie__body a {
	color: var(--v2-orange);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.theme-v2 .v2-cookie__actions {
	display: flex;
	gap: 0.75rem;
	flex-shrink: 0;
}

.theme-v2 .v2-cookie__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1.25rem;
	border-radius: 2.5rem;
	border: 1px solid transparent;
	font: 500 0.875rem/1 var(--v2-font-body);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.theme-v2 .v2-cookie__btn--ghost {
	background: transparent;
	color: var(--v2-white);
	border-color: rgba(255, 255, 255, 0.22);
}

.theme-v2 .v2-cookie__btn--ghost:hover,
.theme-v2 .v2-cookie__btn--ghost:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.36);
	outline: none;
}

.theme-v2 .v2-cookie__btn--accept {
	background: var(--v2-orange);
	color: var(--v2-white);
}

.theme-v2 .v2-cookie__btn--accept:hover,
.theme-v2 .v2-cookie__btn--accept:focus-visible {
	filter: brightness(1.06);
	transform: translateY(-1px);
	outline: none;
}

/* Stub pages */
.theme-v2 .v2-stub {
	background: var(--v2-gradient-purple);
	min-height: 50vh;
	padding: clamp(6rem, 15vw, 10rem) 1.25rem 4rem;
	text-align: center;
}

.theme-v2 .v2-stub h1 {
	font-family: var(--v2-font-display);
	font-size: clamp(2rem, 5vw, 3rem);
	margin: 0 0 1rem;
}

.theme-v2 .v2-stub p {
	max-width: 40ch;
	margin: 0 auto;
	opacity: 0.85;
	line-height: 1.6;
}

/* === About page === */
.theme-v2.page-v2-about {
	background: var(--v2-gradient-purple);
}

/* About hero — purple, photo right */
.theme-v2 .v2-about-hero {
	position: relative;
	background: var(--v2-gradient-purple);
	overflow: hidden;
}

.theme-v2 .v2-about-hero__bg-orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(6px);
	opacity: 0.55;
}

.theme-v2 .v2-about-hero__bg-orb--1 {
	width: clamp(20rem, 36vw, 36.9375rem);
	height: clamp(20rem, 36vw, 36.9375rem);
	top: -12.5rem;
	left: -6rem;
	background: radial-gradient(circle at 50% 50%, rgba(82, 74, 233, 0.35), transparent 65%);
}

.theme-v2 .v2-about-hero__bg-orb--2 {
	width: clamp(18rem, 30vw, 30rem);
	height: clamp(18rem, 30vw, 30rem);
	bottom: -10rem;
	right: -4rem;
	background: radial-gradient(circle at 50% 50%, rgba(254, 118, 62, 0.18), transparent 60%);
}

.theme-v2 .v2-about-hero__inner {
	position: relative;
	z-index: 1;
}

.theme-v2 .v2-about-hero__title {
	font-weight: 600;
	font-size: clamp(2.75rem, 7vw, 6rem);
	line-height: 1;
	display: block;
	letter-spacing: -0.02em;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	max-width: 100%;
}

.theme-v2 .v2-about-hero__lede {
	max-width: min(28.375rem, 100%);
	color: rgba(255, 255, 255, 0.92);
}

.theme-v2 .v2-about-hero__graphic {
	position: relative;
	width: 100%;
	min-height: clamp(18rem, 44vw, 30rem);
	aspect-ratio: 1 / 0.9;
}

.theme-v2 .v2-about-hero__ring {
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: transparent;
}

.theme-v2 .v2-about-hero__ring--1 {
	width: clamp(18rem, 38vw, 36.9375rem);
	height: clamp(18rem, 38vw, 36.9375rem);
	top: -6%;
	left: 8%;
}

.theme-v2 .v2-about-hero__ring--2 {
	width: clamp(7rem, 14vw, 9.5rem);
	height: clamp(7rem, 14vw, 9.5rem);
	bottom: 4%;
	left: -2%;
}

.theme-v2 .v2-about-hero__photo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: clamp(14rem, 32vw, 34.25rem);
	height: clamp(14rem, 32vw, 34.25rem);
	transform: translate(-50%, -50%);
	border-radius: 50%;
	overflow: hidden;
	z-index: 2;
	border: 2px solid rgba(254, 118, 62, 0.85);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.08),
		0 18px 40px rgba(0, 0, 0, 0.22);
}

.theme-v2 .v2-about-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-about-hero__photo .v2-hero__halo {
	display: none;
}

.theme-v2 .v2-about-hero__glass--1 {
	width: clamp(2.5rem, 5vw, 4.25rem);
	height: clamp(2.5rem, 5vw, 4.25rem);
	top: 6%;
	right: 16%;
	border-color: var(--v2-orange);
}

.theme-v2 .v2-about-hero__glass--2 {
	width: clamp(3rem, 6vw, 5rem);
	height: clamp(3rem, 6vw, 5rem);
	bottom: 8%;
	right: 22%;
	border-color: rgba(255, 255, 255, 0.6);
}

.theme-v2 .v2-about-hero__orange-orb {
	width: clamp(5rem, 11vw, 8.5rem);
	height: clamp(5rem, 11vw, 8.5rem);
	top: 20%;
	right: 6%;
	background: radial-gradient(circle at 30% 30%, #fe763e 0%, #524ae9 100%);
	opacity: 0.85;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
}

.theme-v2 .v2-about-hero__dot {
	position: absolute;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--v2-orange);
	top: 56%;
	left: 38%;
	z-index: 3;
}

@media (max-width: 63.99rem) {
	.theme-v2 .v2-about-hero__photo {
		transform: translate(-50%, -50%);
	}

	.theme-v2 .v2-about-hero__orange-orb {
		top: 4%;
		right: 4%;
	}
}

/* About — Why we built this */
.theme-v2 .v2-about-why {
	position: relative;
	overflow: hidden;
}

.theme-v2 .v2-about-why__bg {
	display: none;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-about-why__bg {
		display: block;
		position: absolute;
		inset: 0;
		pointer-events: none;
		z-index: 0;
	}
}

.theme-v2 .v2-about-why__ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(40, 40, 40, 0.08);
}

.theme-v2 .v2-about-why__ring--1 {
	width: 56rem;
	height: 56rem;
	top: -8rem;
	right: -16rem;
}

.theme-v2 .v2-about-why__ring--2 {
	width: 38rem;
	height: 38rem;
	bottom: -10rem;
	left: -14rem;
	border-color: rgba(40, 40, 40, 0.07);
}

.theme-v2 .v2-about-why__bubble {
	position: absolute;
	width: 18rem;
	height: 14rem;
	bottom: 6rem;
	left: 18%;
	border-radius: 50%;
	background: rgba(40, 40, 40, 0.05);
}

.theme-v2 .v2-about-why__bubble-dot {
	position: absolute;
	width: 4rem;
	height: 4rem;
	bottom: 3rem;
	left: 30%;
	border-radius: 50%;
	background: rgba(40, 40, 40, 0.05);
}

.theme-v2 .v2-about-why__small {
	position: absolute;
	border-radius: 50%;
	background: rgba(40, 40, 40, 0.06);
}

.theme-v2 .v2-about-why__small--1 {
	width: 2.5rem;
	height: 2.5rem;
	top: 38%;
	left: 30rem;
}

.theme-v2 .v2-about-why__small--2 {
	width: 1.75rem;
	height: 1.75rem;
	bottom: 4rem;
	right: 30%;
}

.theme-v2 .v2-about-why__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 5vw, 3.75rem);
	position: relative;
	z-index: 1;
}

.theme-v2 .v2-about-why__title {
	font-weight: 500;
	font-size: clamp(2.5rem, 7vw, 6rem);
	line-height: 1.02;
}

.theme-v2 .v2-about-why__grid {
	display: grid;
	gap: clamp(2rem, 6vw, 4rem);
	align-items: start;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-about-why__grid {
		grid-template-columns: minmax(0, 26rem) minmax(0, 1fr);
		gap: clamp(2rem, 8vw, 8rem);
	}
}

.theme-v2 .v2-about-why__intro {
	margin: 0;
	font: 600 1.0625rem/1.55 var(--v2-font-body);
	color: var(--v2-text-strong);
	max-width: 26rem;
}

.theme-v2 .v2-about-why__quote {
	position: relative;
	max-width: 34rem;
	padding-top: 0;
}

.theme-v2 .v2-about-why__mark {
	display: block;
	width: 2.25rem;
	height: auto;
	color: var(--v2-purple-start);
	opacity: 0.32;
	margin-bottom: 0.75rem;
}

.theme-v2 .v2-about-why__mark svg {
	display: block;
	width: 100%;
	height: auto;
}

.theme-v2 .v2-about-why__quote p {
	margin: 0;
	font: 500 1rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-about-why__quote > p + p {
	margin-top: 1rem;
}

.theme-v2 .v2-about-why__lead {
	color: var(--v2-purple-start) !important;
	font-weight: 600 !important;
	margin-bottom: 0.5rem;
}

.theme-v2 .v2-about-why__divider {
	border: none;
	height: 1px;
	background: rgba(254, 118, 62, 0.5);
	margin: 1.5rem 0;
}

.theme-v2 .v2-about-why__attrib {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.theme-v2 .v2-about-why__attrib-line {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0;
	font: 600 1rem/1.5 var(--v2-font-body);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-about-why__tick {
	display: inline-block;
	width: 1.75rem;
	height: 2px;
	background: var(--v2-orange);
	flex-shrink: 0;
}

.theme-v2 .v2-about-why__author {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.theme-v2 .v2-about-why__avatar {
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	object-fit: cover;
	border: none;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-about-why__author-text {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.theme-v2 .v2-about-why__author-name {
	margin: 0;
	font: 600 1.125rem/1 var(--v2-font-mono);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--v2-text-strong);
}

.theme-v2 .v2-about-why__author-role {
	margin: 0;
	font: 500 0.9375rem/1.05 var(--v2-font-mono);
	color: var(--v2-orange) !important;
}

/* About — What we believe */
.theme-v2 .v2-section--white {
	background: var(--v2-white);
	color: var(--v2-text-heading);
}

.theme-v2 .v2-about-believe__inner {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-about-believe__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: clamp(2rem, 6vw, 5rem);
	}
}

.theme-v2 .v2-about-believe__text {
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2.25rem);
}

.theme-v2 .v2-about-believe__media {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	max-width: 30rem;
	margin-left: auto;
}

.theme-v2 .v2-about-believe__ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(40, 40, 40, 0.12);
	background: transparent;
	pointer-events: none;
}

.theme-v2 .v2-about-believe__ring--outer {
	top: -8%;
	left: -8%;
	width: 116%;
	height: 116%;
}

.theme-v2 .v2-about-believe__orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.theme-v2 .v2-about-believe__orb--purple {
	width: 14%;
	aspect-ratio: 1;
	top: -2%;
	left: 30%;
	background: radial-gradient(circle at 30% 30%, #756eed 0%, #524ae9 100%);
	box-shadow: 0 12px 24px rgba(82, 74, 233, 0.32);
}

.theme-v2 .v2-about-believe__orb--white {
	width: 10%;
	aspect-ratio: 1;
	top: 4%;
	right: -2%;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(40, 40, 40, 0.08);
	box-shadow: 0 12px 24px rgba(40, 40, 40, 0.08);
}

.theme-v2 .v2-about-believe__orb--orange {
	width: 9%;
	aspect-ratio: 1;
	bottom: 6%;
	right: -4%;
	background: radial-gradient(circle at 30% 30%, #fe763e 0%, #f4a87a 100%);
	box-shadow: 0 12px 24px rgba(254, 118, 62, 0.32);
}

.theme-v2 .v2-about-believe__photo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 88%;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 18px 40px rgba(40, 40, 40, 0.16);
}

.theme-v2 .v2-about-believe__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-about-believe__title {
	margin: 0;
	font-weight: 500;
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
}

.theme-v2 .v2-about-believe__body {
	max-width: 32rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.theme-v2 .v2-about-believe__body p {
	margin: 0;
	font: 400 0.9375rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-about-believe__lead {
	font-weight: 600 !important;
	color: var(--v2-text-strong) !important;
}

.theme-v2 .v2-about-believe__closer {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 1.25rem 0 0;
	font: 600 1rem/1.5 var(--v2-font-body) !important;
	color: var(--v2-text-strong) !important;
}

/* About — How we work / What we stand for (DARK) */
.theme-v2 .v2-about-stand {
	position: relative;
	background: #282828;
	color: var(--v2-white);
	overflow: hidden;
}

.theme-v2 .v2-about-stand__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
}

.theme-v2 .v2-about-stand__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	max-width: 60rem;
}

.theme-v2 .v2-about-stand__title {
	margin: 0;
	font-family: var(--v2-font-display);
	font-weight: 500;
	font-size: clamp(2.25rem, 6vw, 5.5rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-about-stand__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-about-stand__gradient {
	display: none;
}

.theme-v2 .v2-about-stand__grid {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	position: relative;
	z-index: 1;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-about-stand__grid {
		grid-template-columns: minmax(0, 24rem) minmax(0, 1fr);
		gap: clamp(2rem, 8vw, 7.5rem);
	}
}

.theme-v2 .v2-about-stand__intro p {
	margin: 0 0 0.75rem;
	font: 600 1rem/1.5 var(--v2-font-body);
	color: var(--v2-white);
	max-width: 26rem;
}

.theme-v2 .v2-about-stand__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.theme-v2 .v2-about-stand__item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	padding: 1.5rem 0 1.75rem 0;
	margin-left: 0;
	margin-right: 0;
	max-width: 46rem;
	outline: none;
	cursor: default;
	transition: transform 0.35s ease;
}

@media (min-width: 64rem) {
	.theme-v2 .v2-about-stand__item {
		padding: 1.5rem 1.75rem 1.75rem 3.5rem;
		margin-left: -6rem;
	}
}

.theme-v2 .v2-about-stand__item::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(40, 40, 40, 0) 0%, #282828 28%, #524ae9 62%, #fe763e 100%);
	opacity: 0;
	transition: opacity 0.35s ease;
	z-index: 0;
	pointer-events: none;
}

.theme-v2 .v2-about-stand__item:hover::before,
.theme-v2 .v2-about-stand__item:focus-visible::before {
	opacity: 1;
}

.theme-v2 .v2-about-stand__item-text {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.theme-v2 .v2-about-stand__arrow {
	display: none;
}

@media (min-width: 64rem) {
	.theme-v2 .v2-about-stand__arrow {
		position: absolute;
		top: 1.25rem;
		left: 1rem;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2rem;
		height: 2rem;
		color: var(--v2-white);
		opacity: 0;
		transform: translateX(-0.5rem) translateY(0.25rem);
		transition: opacity 0.35s ease, transform 0.35s ease;
		pointer-events: none;
		z-index: 2;
	}
}

.theme-v2 .v2-about-stand__item:hover .v2-about-stand__arrow,
.theme-v2 .v2-about-stand__item:focus-visible .v2-about-stand__arrow {
	opacity: 1;
	transform: translateX(0) translateY(0);
}

.theme-v2 .v2-about-stand__arrow svg {
	width: 100%;
	height: 100%;
}

.theme-v2 .v2-about-stand__lens {
	position: absolute;
	top: -1.25rem;
	right: -1rem;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, 0.65);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(119, 119, 119, 0.12));
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	box-shadow:
		0 5px 10px rgba(0, 0, 0, 0.22),
		0 10px 20px rgba(0, 0, 0, 0.16),
		inset 0 1px 12px rgba(255, 255, 255, 0.18);
	opacity: 0;
	transform: scale(0.85);
	transition: opacity 0.35s ease, transform 0.35s ease;
	pointer-events: none;
	z-index: 2;
}

.theme-v2 .v2-about-stand__item:hover .v2-about-stand__lens,
.theme-v2 .v2-about-stand__item:focus-visible .v2-about-stand__lens {
	opacity: 1;
	transform: scale(1);
}

.theme-v2 .v2-about-stand__heading {
	margin: 0;
	font: 500 clamp(1rem, 1.2vw, 1.125rem)/1.4 var(--v2-font-mono);
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.theme-v2 .v2-about-stand__num {
	color: var(--v2-white);
}

.theme-v2 .v2-about-stand__heading .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-about-stand__body {
	margin: 0;
	font: 400 1rem/1.5 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.85);
	max-width: 34rem;
	transition: color 0.35s ease;
}

.theme-v2 .v2-about-stand__item:hover .v2-about-stand__body,
.theme-v2 .v2-about-stand__item:focus-visible .v2-about-stand__body {
	color: var(--v2-white);
}

.theme-v2 .v2-about-stand__rule {
	position: relative;
	z-index: 1;
	border: none;
	height: 1px;
	background: rgba(255, 255, 255, 0.1);
	margin: 0;
	transition: opacity 0.3s ease;
}

.theme-v2 .v2-about-stand__item:hover .v2-about-stand__rule,
.theme-v2 .v2-about-stand__item:focus-visible .v2-about-stand__rule {
	opacity: 0;
}

/* About — Meet the team (PURPLE) */
.theme-v2 .v2-about-team {
	background: var(--v2-gradient-purple);
	color: var(--v2-white);
	overflow: hidden;
	position: relative;
}

.theme-v2 .v2-about-team__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
	align-items: center;
}

.theme-v2 .v2-about-team__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	text-align: center;
	max-width: 56rem;
}

.theme-v2 .v2-about-team__title {
	margin: 0;
	font-family: var(--v2-font-display);
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 3.75rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-about-team__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-about-team__lede {
	margin: 0;
	max-width: 30rem;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.88);
}

/* Desktop / tablet — tile grid opens modal on click */
.theme-v2 .v2-about-team__grid {
	display: none;
	gap: 1.5rem;
	width: 100%;
}

@media (min-width: 64rem) {
	.theme-v2 .v2-about-team__grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
}

.theme-v2 .v2-about-team__tile {
	position: relative;
	background: #5149e6;
	border-radius: 1.5rem;
	padding: 1.125rem;
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
	color: var(--v2-white);
	border: none;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	outline: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.theme-v2 .v2-about-team__tile:hover,
.theme-v2 .v2-about-team__tile:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 18px 36px rgba(40, 40, 40, 0.18);
}

.theme-v2 .v2-about-team__tile:focus-visible {
	outline: 2px solid var(--v2-orange);
	outline-offset: 3px;
}

.theme-v2 .v2-about-team__photo {
	width: 100%;
	aspect-ratio: 384 / 361;
	background: var(--v2-white);
	border-radius: 0.85rem;
	overflow: hidden;
}

.theme-v2 .v2-about-team__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-about-team__btn {
	position: absolute;
	top: 1.75rem;
	right: 1.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: none;
	background: var(--v2-orange);
	color: var(--v2-white);
	cursor: pointer;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
	transition: transform 0.15s, filter 0.15s;
	z-index: 2;
}

.theme-v2 .v2-about-team__btn:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.theme-v2 .v2-about-team__btn svg {
	width: 1.125rem;
	height: 1.125rem;
}

.theme-v2 .v2-about-team__meta {
	padding: 0 0.5rem 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.theme-v2 .v2-about-team__name {
	margin: 0;
	font: 500 1.375rem/1.15 var(--v2-font-display);
	letter-spacing: -0.01em;
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-about-team__role {
	margin: 0.3rem 0 0;
	font: 600 0.8125rem/1.25 var(--v2-font-mono);
	letter-spacing: 0.08em;
	color: var(--v2-orange);
}

.theme-v2 .v2-about-team__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: auto 0 0;
	padding-top: 1rem;
	font: 500 0.8125rem/1 var(--v2-font-body);
	letter-spacing: 0.01em;
	color: rgba(255, 255, 255, 0.78);
	transition: gap 0.18s ease, color 0.18s ease;
}

.theme-v2 .v2-about-team__tile:hover .v2-about-team__cta,
.theme-v2 .v2-about-team__tile:focus-visible .v2-about-team__cta {
	gap: 0.55rem;
	color: var(--v2-white);
}

.theme-v2 .v2-about-team__cta svg {
	width: 0.75rem;
	height: 0.75rem;
}

/* Team accordion list — mobile only */
.theme-v2 .v2-team-list {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: 64rem;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

@media (min-width: 64rem) {
	.theme-v2 .v2-team-list {
		display: none;
	}
}

.theme-v2 .v2-team-item {
	background: var(--v2-white);
	border-radius: 1.25rem;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06), 0 12px 32px rgba(0, 0, 0, 0.18);
	transition: box-shadow 0.25s ease;
}

.theme-v2 .v2-team-item.is-open {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08), 0 22px 48px rgba(0, 0, 0, 0.24);
}

.theme-v2 .v2-team-trigger {
	display: flex;
	align-items: center;
	gap: clamp(0.875rem, 2vw, 1.25rem);
	width: 100%;
	padding: clamp(0.875rem, 2.2vw, 1.25rem) clamp(1rem, 2.5vw, 1.5rem);
	background: transparent;
	border: none;
	font-family: inherit;
	color: var(--v2-text-heading);
	text-align: left;
	cursor: pointer;
	transition: background 0.15s ease;
}

.theme-v2 .v2-team-trigger:hover,
.theme-v2 .v2-team-trigger:focus-visible {
	background: rgba(82, 74, 233, 0.04);
	outline: none;
}

.theme-v2 .v2-team-trigger:focus-visible {
	outline: 2px solid var(--v2-orange);
	outline-offset: -2px;
}

.theme-v2 .v2-team-trigger__photo {
	flex-shrink: 0;
	display: block;
	width: clamp(3.5rem, 11vw, 5rem);
	height: clamp(3.5rem, 11vw, 5rem);
	border-radius: 50%;
	overflow: hidden;
	background: var(--v2-bg-soft);
}

.theme-v2 .v2-team-trigger__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-team-trigger__copy {
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1;
	min-width: 0;
}

.theme-v2 .v2-team-trigger__name {
	font: 500 clamp(1.125rem, 2.4vw, 1.375rem)/1.1 var(--v2-font-display);
	letter-spacing: -0.01em;
	color: var(--v2-text-heading);
	text-wrap: balance;
}

.theme-v2 .v2-team-trigger__role {
	margin-top: 0.25rem;
	font: 600 0.75rem/1.1 var(--v2-font-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--v2-orange);
}

.theme-v2 .v2-team-trigger__divider {
	color: rgba(40, 40, 40, 0.35);
}

.theme-v2 .v2-team-trigger__line {
	font: 400 0.875rem/1.5 var(--v2-font-body);
	color: var(--v2-text-body);
	margin-top: 0.15rem;
}

@media (max-width: 39.99rem) {
	.theme-v2 .v2-team-trigger__line {
		display: none;
	}
}

.theme-v2 .v2-team-trigger__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: var(--v2-bg-soft);
	color: var(--v2-text-heading);
	transition: transform 0.3s ease, background 0.2s ease, color 0.2s ease;
}

.theme-v2 .v2-team-trigger__icon svg {
	width: 1.125rem;
	height: 1.125rem;
}

.theme-v2 .v2-team-item.is-open .v2-team-trigger__icon {
	transform: rotate(45deg);
	background: var(--v2-orange);
	color: var(--v2-white);
}

.theme-v2 .v2-team-panel {
	overflow: hidden;
	height: 0;
	transition: height 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.theme-v2 .v2-team-panel[hidden] {
	display: none;
}

.theme-v2 .v2-team-panel__inner {
	padding: 0.5rem clamp(1rem, 2.5vw, 1.5rem) clamp(1.25rem, 3vw, 1.75rem) clamp(1rem, 2.5vw, 1.5rem);
	display: grid;
	gap: clamp(1.25rem, 2.5vw, 1.75rem);
	border-top: 1px solid rgba(40, 40, 40, 0.08);
	margin-top: 0.25rem;
}

@media (min-width: 48rem) {
	.theme-v2 .v2-team-panel__inner {
		padding-left: clamp(5rem, 11vw, 6.5rem);
	}
}

.theme-v2 .v2-team-panel__section {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.theme-v2 .v2-team-panel__heading {
	margin: 0 0 0.25rem;
	font: 600 0.75rem/1.2 var(--v2-font-mono);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--v2-orange);
}

.theme-v2 .v2-team-panel__body {
	margin: 0;
	font: 400 0.9375rem/1.65 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-team-panel__body + .v2-team-panel__body {
	margin-top: 0.65rem;
}

.theme-v2 .v2-team-panel__expertise {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.65rem;
}

@media (min-width: 40rem) {
	.theme-v2 .v2-team-panel__expertise {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.65rem 1.25rem;
	}
}

.theme-v2 .v2-team-panel__expertise-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font: 400 0.875rem/1.45 var(--v2-font-body);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-team-panel__check {
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	margin-top: 0.18rem;
}

.theme-v2 .v2-team-panel__section--human {
	background: rgba(82, 74, 233, 0.05);
	border-radius: 0.75rem;
	padding: 0.875rem 1rem;
}

.theme-v2 .v2-team-panel__section--human .v2-team-panel__body {
	color: var(--v2-text-strong);
	font-style: italic;
}

.theme-v2 .v2-about-team__network {
	width: 100%;
	max-width: 70rem;
	margin-top: clamp(2rem, 5vw, 3.5rem);
	background: #5149e6;
	border-radius: 2rem;
	padding: clamp(2rem, 5vw, 4.25rem) clamp(1.5rem, 5vw, 4rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	text-align: center;
}

.theme-v2 .v2-about-team__network-title {
	margin: 0;
	font: 500 clamp(2rem, 4vw, 3.75rem)/1.1 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-white);
	text-wrap: balance;
}

.theme-v2 .v2-about-team__network-title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-about-team__network-body {
	margin: 0;
	max-width: 38rem;
	font: 500 1rem/1.55 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.94);
}

.theme-v2 .v2-about-team__network-rule {
	border: none;
	height: 1px;
	width: 70%;
	max-width: 38rem;
	margin: 0.5rem 0;
	background: rgba(255, 255, 255, 0.18);
}

.theme-v2 .v2-about-team__network-btn {
	margin-top: 0.5rem;
	align-self: center;
}

/* About — CTA (Dark card on light bg) */
.theme-v2 .v2-about-cta-wrap {
	padding-block: clamp(2rem, 4vw, 3rem);
	background: var(--v2-bg-soft);
}

.theme-v2 .v2-about-cta {
	background: #282828;
	border-radius: 2rem;
	padding: clamp(2.5rem, 6vw, 4.25rem) clamp(1.5rem, 5vw, 4rem);
	color: var(--v2-white);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	text-align: center;
}

.theme-v2 .v2-about-cta__title {
	margin: 0;
	font: 500 clamp(2.25rem, 5vw, 3.75rem)/1.1 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-white);
}

.theme-v2 .v2-about-cta__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-about-cta__lead {
	margin: 0;
	max-width: 40rem;
	font: 600 1rem/1.55 var(--v2-font-body);
	color: var(--v2-white);
}

.theme-v2 .v2-about-cta__divider {
	border: none;
	height: 1px;
	width: 70%;
	max-width: 38rem;
	margin: 0.5rem 0;
	background: rgba(255, 255, 255, 0.18);
}

.theme-v2 .v2-about-cta__body {
	margin: 0;
	max-width: 40rem;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.92);
}

.theme-v2 .v2-about-cta__signoff {
	margin: 0;
	font: 600 1rem/1.55 var(--v2-font-body);
	color: var(--v2-white);
}

.theme-v2 .v2-about-cta__btn {
	margin-top: 0.5rem;
	align-self: center;
}

/* Shared light sections */
.theme-v2 .v2-section--light {
	background: var(--v2-bg-light);
	color: var(--v2-text-heading);
}

.theme-v2 .v2-section--soft {
	background: var(--v2-bg-soft);
	color: var(--v2-text-heading);
}

.theme-v2 .v2-section {
	padding-block: clamp(4rem, 10vw, 9.375rem);
	padding-inline: 0;
}

.theme-v2 .v2-section .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-section__title {
	margin: 0;
	font-family: var(--v2-font-display);
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 3.75rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-wrap: balance;
	color: var(--v2-text-heading);
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
}

.theme-v2 .v2-section__title--display {
	font-size: clamp(2.25rem, 6vw, 4.5rem);
	line-height: 1.05;
}

.theme-v2 .v2-section__lede {
	margin: 0;
	max-width: 42rem;
	font: 400 1rem/1.5 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-section__rule {
	border: none;
	height: 1px;
	margin: clamp(2.5rem, 5vw, 4rem) 0;
	background: linear-gradient(90deg, rgba(82, 74, 233, 0.25), rgba(254, 118, 62, 0.35), rgba(82, 74, 233, 0.25));
}

.theme-v2 .v2-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.5rem;
	font: 600 0.9375rem/1 var(--v2-font-body);
	color: var(--v2-purple-start);
	text-decoration: none;
}

.theme-v2 .v2-link-arrow svg {
	width: 1rem;
	height: 1rem;
}

.theme-v2 .v2-link-arrow:hover {
	color: var(--v2-orange);
}

/* Problem — Does this sound familiar */
.theme-v2 .v2-problem {
	position: relative;
	overflow: hidden;
}

.theme-v2 .v2-problem__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.theme-v2 .v2-problem__bg-ring {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(40, 40, 40, 0.07);
	background: transparent;
}

.theme-v2 .v2-problem__bg-ring--1 {
	width: 40rem;
	height: 40rem;
	top: -10rem;
	right: -10rem;
}

.theme-v2 .v2-problem__bg-ring--2 {
	width: 28rem;
	height: 28rem;
	top: 12rem;
	right: 8rem;
	border-color: rgba(40, 40, 40, 0.06);
}

.theme-v2 .v2-problem__bg-ring--3 {
	width: 14rem;
	height: 14rem;
	bottom: 4rem;
	right: 22rem;
	border-color: rgba(40, 40, 40, 0.08);
}

.theme-v2 .v2-problem__bg-dot {
	position: absolute;
	border-radius: 50%;
	background: rgba(40, 40, 40, 0.08);
}

.theme-v2 .v2-problem__bg-dot--1 {
	width: 0.75rem;
	height: 0.75rem;
	top: 22%;
	right: 20%;
	background: rgba(40, 40, 40, 0.12);
}

.theme-v2 .v2-problem__bg-dot--2 {
	width: 1rem;
	height: 1rem;
	bottom: 28%;
	right: 30%;
	background: rgba(40, 40, 40, 0.1);
}

.theme-v2 .v2-problem__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
}

.theme-v2 .v2-problem__title {
	position: relative;
	margin: 0;
	font: 700 clamp(2.5rem, 7vw, 6rem)/1.02 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-text-heading);
	max-width: 18ch;
	text-wrap: balance;
}

.theme-v2 .v2-problem__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-problem__q {
	position: relative;
	display: inline-block;
}

.theme-v2 .v2-problem__lens {
	position: absolute;
	width: clamp(3rem, 5vw, 4.5rem);
	height: clamp(3rem, 5vw, 4.5rem);
	top: -1rem;
	right: -1rem;
	pointer-events: none;
	z-index: 2;
}

.theme-v2 .v2-problem__lens-glass {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1.5px solid rgba(40, 40, 40, 0.12);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgba(220, 220, 220, 0.65));
	box-shadow: 0 6px 14px rgba(40, 40, 40, 0.12), inset 0 2px 8px rgba(255, 255, 255, 0.6);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.theme-v2 .v2-problem__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
}

@media (min-width: 48rem) {
	.theme-v2 .v2-problem__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.theme-v2 .v2-problem__col {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: flex-start;
}

.theme-v2 .v2-problem__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--v2-white);
	border: 1px solid rgba(40, 40, 40, 0.1);
	color: var(--v2-orange);
	font: 500 1.125rem/1 var(--v2-font-display);
	margin-bottom: 0.75rem;
}

.theme-v2 .v2-problem__col-title {
	margin: 0;
	font: 600 1.125rem/1.35 var(--v2-font-display);
	color: var(--v2-text-heading);
	max-width: 24ch;
	text-wrap: balance;
}

.theme-v2 .v2-problem__col-body {
	margin: 0;
	font: 400 0.9375rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
	max-width: 36ch;
}

.theme-v2 .v2-problem__divider {
	position: relative;
	z-index: 1;
	border: none;
	height: 1px;
	background: rgba(40, 40, 40, 0.12);
	margin: 0;
}

.theme-v2 .v2-problem__close {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	align-items: flex-start;
	max-width: 50rem;
}

.theme-v2 .v2-problem__close-text {
	position: relative;
	margin: 0;
	padding-left: 1.75rem;
	font: 500 1rem/1.55 var(--v2-font-body);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-problem__close-bar {
	position: absolute;
	top: 0.25rem;
	bottom: 0.25rem;
	left: 0;
	width: 2px;
	background: var(--v2-orange);
	border-radius: 1px;
}

.theme-v2 .v2-problem__btn {
	background: var(--v2-purple-start);
}

.theme-v2 .v2-problem__btn:hover {
	background: var(--v2-purple-start);
	filter: brightness(1.06);
}

/* Principles — text-only grid with photo header */
.theme-v2 .v2-principles__header {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

@media (min-width: 56rem) {
	.theme-v2 .v2-principles__header {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.theme-v2 .v2-principles__header-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
}

.theme-v2 .v2-principles__media {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 0.9;
	max-width: 30rem;
	margin-left: auto;
}

.theme-v2 .v2-principles__ring {
	position: absolute;
	top: -8%;
	right: -6%;
	width: 80%;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid rgba(40, 40, 40, 0.12);
	pointer-events: none;
}

.theme-v2 .v2-principles__orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.theme-v2 .v2-principles__orb--orange {
	width: 4.5rem;
	height: 4.5rem;
	top: 8%;
	left: -4%;
	background: radial-gradient(circle at 35% 35%, #fe763e 0%, #f4a87a 100%);
	box-shadow: 0 12px 24px rgba(254, 118, 62, 0.3);
}

.theme-v2 .v2-principles__orb--purple {
	width: 5.5rem;
	height: 5.5rem;
	bottom: 12%;
	right: 8%;
	background: radial-gradient(circle at 35% 35%, #756eed 0%, #524ae9 100%);
	box-shadow: 0 12px 24px rgba(82, 74, 233, 0.3);
}

.theme-v2 .v2-principles__photo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 78%;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(254, 118, 62, 0.65);
	box-shadow: 0 18px 40px rgba(40, 40, 40, 0.18);
}

.theme-v2 .v2-principles__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-principles__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
}

@media (min-width: 48rem) {
	.theme-v2 .v2-principles__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: clamp(2.25rem, 4vw, 3.5rem);
	}
}

@media (min-width: 64rem) {
	.theme-v2 .v2-principles__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: clamp(2.5rem, 4vw, 4rem);
	}
}

.theme-v2 .v2-principle {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.theme-v2 .v2-principle__title {
	margin: 0;
	font: 600 1.125rem/1.35 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.theme-v2 .v2-principle__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-principle__body {
	margin: 0;
	font: 400 0.9375rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

/* Lenses — alternating two-column rows with header icon */
.theme-v2 .v2-lenses__header {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
	margin-bottom: clamp(4rem, 8vw, 7rem);
}

@media (min-width: 56rem) {
	.theme-v2 .v2-lenses__header {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.theme-v2 .v2-lenses__header-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	max-width: 36rem;
}

.theme-v2 .v2-lenses__title-br {
	display: none;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-lenses__header-text {
		max-width: 44rem;
	}

	.theme-v2 .v2-lenses__title-br {
		display: inline;
	}
}

.theme-v2 .v2-lenses__header-mark {
	display: block;
	width: clamp(14rem, 26vw, 26rem);
	height: auto;
	margin-left: auto;
}

.theme-v2 .v2-lenses__list {
	display: flex;
	flex-direction: column;
	gap: clamp(3rem, 6vw, 5rem);
}

.theme-v2 .v2-lens-row {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	border-bottom: 1px solid rgba(40, 40, 40, 0.1);
}

.theme-v2 .v2-lens-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-lens-row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: clamp(2rem, 6vw, 6rem);
		align-items: center;
	}

	.theme-v2 .v2-lens-row--meta-left .v2-lens-row__meta {
		order: 1;
		align-items: flex-start;
		text-align: left;
	}

	.theme-v2 .v2-lens-row--meta-left .v2-lens-row__content {
		order: 2;
		text-align: right;
		align-items: flex-end;
	}

	.theme-v2 .v2-lens-row--meta-right .v2-lens-row__content {
		order: 1;
		text-align: left;
		align-items: flex-start;
	}

	.theme-v2 .v2-lens-row--meta-right .v2-lens-row__meta {
		order: 2;
		align-items: flex-end;
		text-align: right;
	}
}

.theme-v2 .v2-lens-row__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
}

.theme-v2 .v2-lens-row__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin-bottom: 0.5rem;
	border-radius: 50%;
	background: var(--v2-purple-start);
	color: var(--v2-white);
	box-shadow: 0 12px 24px rgba(82, 74, 233, 0.28);
}

.theme-v2 .v2-lens-row__icon svg {
	width: 50%;
	height: 50%;
}

.theme-v2 .v2-lens-row__num {
	margin: 0;
	font: 500 1.25rem/1 var(--v2-font-display);
	color: var(--v2-purple-start);
	letter-spacing: -0.02em;
}

.theme-v2 .v2-lens-row__title {
	margin: 0;
	font: 700 clamp(2.5rem, 5.5vw, 4.5rem)/1 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.02em;
}

.theme-v2 .v2-lens-row__sub {
	margin: 0.2rem 0 0;
	font: 500 0.8125rem/1 var(--v2-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--v2-purple-start);
}

.theme-v2 .v2-lens-row__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	max-width: 28rem;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-lens-row--meta-left .v2-lens-row__content {
		margin-left: auto;
	}
}

.theme-v2 .v2-lens-row__headline {
	margin: 0;
	font: 500 clamp(1.5rem, 2.6vw, 2.25rem)/1.18 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.theme-v2 .v2-lens-row__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font: 500 0.875rem/1 var(--v2-font-body);
	color: var(--v2-purple-start);
	text-decoration: none;
	transition: gap 0.15s;
}

.theme-v2 .v2-lens-row__link:hover {
	gap: 0.55rem;
}

.theme-v2 .v2-lens-row__link svg {
	width: 0.85rem;
	height: 0.85rem;
}

/* Agents */
.theme-v2 .v2-agents__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
	max-width: 48rem;
}

.theme-v2 .v2-agents__lede {
	max-width: 52ch;
}

.theme-v2 .v2-agents__cluster {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.theme-v2 .v2-agents__cluster-mark {
	position: absolute;
	top: -1rem;
	right: 0;
	width: clamp(14rem, 28vw, 28rem);
	height: auto;
	z-index: 0;
	pointer-events: none;
	opacity: 0.95;
}

.theme-v2 .v2-agents__cluster > *:not(.v2-agents__cluster-mark) {
	position: relative;
	z-index: 1;
}

.theme-v2 .v2-agents__cluster .v2-agents__cluster-title,
.theme-v2 .v2-agents__cluster > .v2-section__lede {
	max-width: 36rem;
}

@media (max-width: 47.99rem) {
	.theme-v2 .v2-agents__cluster-mark {
		display: none;
	}
}

.theme-v2 .v2-agents__cluster-title {
	margin: 0;
	font-family: var(--v2-font-display);
	font-weight: 500;
	font-size: clamp(1.75rem, 4vw, 3rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--v2-text-heading);
	text-wrap: balance;
}

.theme-v2 .v2-agents__grid {
	display: grid;
	gap: 1.25rem;
	width: 100%;
	margin-top: 2.5rem;
}

@media (min-width: 48rem) {
	.theme-v2 .v2-agents__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: clamp(1.5rem, 4vw, 3.5rem);
	}
}

.theme-v2 .v2-agent-card {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.theme-v2 .v2-agent-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: var(--v2-radius-pill);
	background: var(--v2-white);
	box-shadow: var(--v2-pill-shadow);
	color: var(--v2-purple-start);
}

.theme-v2 .v2-agent-card__icon svg {
	width: 1.5rem;
	height: 1.5rem;
}

.theme-v2 .v2-agent-card__name {
	margin: 0;
	font: 500 1.25rem/1.3 var(--v2-font-display);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-agent-card__body {
	margin: 0;
	font: 400 1rem/1.5 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-agents__footnote {
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	padding-left: 1.25rem;
	border-left: 3px solid var(--v2-orange);
	font: 500 1rem/1.5 var(--v2-font-body);
	color: var(--v2-text-strong);
	max-width: 44rem;
}

/* Quote */
.theme-v2 .v2-quote__inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	align-items: flex-start;
	max-width: 64rem;
}

.theme-v2 .v2-quote__text {
	margin: 0;
	font: 500 clamp(1.75rem, 4vw, 3.5rem)/1.18 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.theme-v2 .v2-quote__accent {
	background: linear-gradient(180deg, #fe763e 0%, #524ae9 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* CTA */
.theme-v2 .v2-cta__inner {
	display: grid;
	gap: clamp(1.5rem, 4vw, 2.5rem);
	align-items: center;
}

@media (min-width: 48rem) {
	.theme-v2 .v2-cta__inner {
		grid-template-columns: 1fr auto;
	}
}

.theme-v2 .v2-cta__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
}

.theme-v2 .v2-cta__title {
	margin: 0;
	font-family: var(--v2-font-display);
	font-weight: 500;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: 1.15;
	color: var(--v2-text-heading);
	text-wrap: balance;
}

.theme-v2 .v2-cta__body {
	margin: 0;
	max-width: 48ch;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-cta__btn {
	flex-shrink: 0;
}

/* === Services page === */
.theme-v2.page-v2-services {
	background: var(--v2-gradient-purple);
}

.theme-v2 .v2-services-hero {
	position: relative;
	background: var(--v2-gradient-purple);
	overflow: hidden;
	padding-bottom: clamp(3rem, 8vw, 5rem);
}

.theme-v2 .v2-services-hero__title {
	font-weight: 600;
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	max-width: 100%;
}

.theme-v2 .v2-services-hero__title-nobreak {
	white-space: nowrap;
}

.theme-v2 .v2-services-hero__lede {
	max-width: min(26rem, 100%);
	color: rgba(255, 255, 255, 0.92);
}

.theme-v2 .v2-services-hero__graphic {
	position: relative;
	width: 100%;
	min-height: clamp(18rem, 44vw, 30rem);
	aspect-ratio: 1 / 0.9;
}

.theme-v2 .v2-services-hero__ring {
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: transparent;
}

.theme-v2 .v2-services-hero__ring--1 {
	width: clamp(18rem, 38vw, 36.9375rem);
	height: clamp(18rem, 38vw, 36.9375rem);
	top: -6%;
	left: 8%;
}

.theme-v2 .v2-services-hero__ring--2 {
	width: clamp(7rem, 14vw, 9.5rem);
	height: clamp(7rem, 14vw, 9.5rem);
	bottom: 6%;
	left: -2%;
}

.theme-v2 .v2-services-hero__photo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: clamp(14rem, 32vw, 34.25rem);
	height: clamp(14rem, 32vw, 34.25rem);
	transform: translate(-50%, -50%);
	border-radius: 50%;
	overflow: hidden;
	z-index: 2;
	border: 2px solid rgba(254, 118, 62, 0.85);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.08),
		0 18px 40px rgba(0, 0, 0, 0.22);
}

.theme-v2 .v2-services-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	filter: grayscale(1) contrast(1.05);
}

.theme-v2 .v2-services-hero__glass--1 {
	width: clamp(2.5rem, 5vw, 4.25rem);
	height: clamp(2.5rem, 5vw, 4.25rem);
	top: 6%;
	right: 16%;
	border-color: var(--v2-orange);
	z-index: 3;
}

.theme-v2 .v2-services-hero__glass--2 {
	width: clamp(3rem, 6vw, 5rem);
	height: clamp(3rem, 6vw, 5rem);
	bottom: 8%;
	right: 22%;
	border-color: rgba(255, 255, 255, 0.6);
	z-index: 3;
}

.theme-v2 .v2-services-hero__orange-orb {
	width: clamp(4rem, 9vw, 7rem);
	height: clamp(4rem, 9vw, 7rem);
	top: 62%;
	right: 6%;
	background: radial-gradient(circle at 30% 30%, #fe763e 0%, #524ae9 100%);
	opacity: 0.85;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
	z-index: 3;
}

.theme-v2 .v2-services-hero__dot {
	position: absolute;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--v2-orange);
	bottom: 8%;
	left: 6%;
	z-index: 3;
}

@media (max-width: 63.99rem) {
	.theme-v2 .v2-services-hero__photo {
		transform: translate(-50%, -50%);
	}

	.theme-v2 .v2-services-hero__orange-orb {
		top: 72%;
		right: 4%;
	}
}

.theme-v2 .v2-services-intro {
	padding-block: clamp(3rem, 8vw, 5.5rem);
}

.theme-v2 .v2-services-intro__cols {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
}

@media (min-width: 48rem) {
	.theme-v2 .v2-services-intro__cols {
		grid-template-columns: 1fr 1fr;
		gap: clamp(2rem, 8vw, 5rem);
	}
}

.theme-v2 .v2-services-intro__cols p {
	margin: 0;
	font: 400 1rem/1.5 var(--v2-font-body);
	color: var(--v2-text-body);
}

.theme-v2 .v2-services-lenses__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
	max-width: 60rem;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.theme-v2 .v2-services-lenses__title {
	margin: 0;
	font-weight: 700;
	font-size: clamp(2.75rem, 7vw, 6rem);
	line-height: 1.02;
	letter-spacing: -0.02em;
}

.theme-v2 .v2-services-lenses .v2-section--soft,
.theme-v2 .v2-services-lenses {
	border-top: 0;
}

.theme-v2 .v2-services-lenses__stack {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.theme-v2 .v2-services-lens {
	padding-block: clamp(3.5rem, 7vw, 6rem);
	padding-inline: 0;
	background: var(--v2-bg-soft);
	color: var(--v2-text-heading);
	border-top: 1px solid rgba(82, 74, 233, 0.1);
}

.theme-v2 .v2-services-lens:nth-child(even) {
	background: var(--v2-bg-soft);
}

.theme-v2 .v2-services-lens__layout {
	display: grid;
	gap: clamp(2rem, 5vw, 3rem);
}

@media (min-width: 56rem) {
	.theme-v2 .v2-services-lens__layout {
		grid-template-columns: minmax(8rem, 11rem) minmax(0, 1.3fr) minmax(0, 1fr);
		column-gap: clamp(2.5rem, 8vw, 7.5rem);
		row-gap: clamp(1.5rem, 3vw, 2rem);
		align-items: start;
	}
}

.theme-v2 .v2-services-lens__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
}

.theme-v2 .v2-services-lens__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--v2-purple-start);
	color: var(--v2-white);
	box-shadow: 0 10px 22px rgba(82, 74, 233, 0.28);
	margin-bottom: 0.35rem;
}

.theme-v2 .v2-services-lens__icon svg {
	width: 50%;
	height: 50%;
}

.theme-v2 .v2-services-lens__step {
	margin: 0;
	font: 500 1.375rem/1 var(--v2-font-display);
	color: var(--v2-purple-start);
	letter-spacing: -0.02em;
}

.theme-v2 .v2-services-lens__title {
	margin: 0;
	font: 700 clamp(2.25rem, 3.5vw, 3rem)/1 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.02em;
}

.theme-v2 .v2-services-lens__sub {
	margin: 0.15rem 0 0;
	font: 500 0.8125rem/1 var(--v2-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--v2-purple-start);
}

.theme-v2 .v2-services-lens__headline {
	margin: 0 0 1.5rem;
	font: 500 clamp(1.5rem, 2.4vw, 2rem)/1.18 var(--v2-font-display);
	color: var(--v2-text-heading);
	letter-spacing: -0.01em;
	text-wrap: balance;
	max-width: 30rem;
}

.theme-v2 .v2-services-lens__body {
	margin: 0 0 1.5rem;
	font: 400 0.9375rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
	max-width: 36rem;
}

.theme-v2 .v2-services-lens__subhead {
	margin: 0 0 1rem;
	font: 500 0.75rem/1 var(--v2-font-mono);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--v2-purple-start);
}

.theme-v2 .v2-tag-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.theme-v2 .v2-tag-list__item {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	width: fit-content;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	background: var(--v2-bg-light);
	font: 400 0.875rem/1.25 var(--v2-font-body);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-tag-list__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.theme-v2 .v2-tag-list__check svg {
	width: 100%;
	height: 100%;
}

.theme-v2 .v2-focus-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.theme-v2 .v2-focus-list__item {
	display: grid;
	grid-template-columns: 2rem 1fr;
	gap: 0.75rem;
	align-items: start;
}

.theme-v2 .v2-focus-list__idx {
	font: 500 0.8125rem/1 var(--v2-font-mono);
	color: var(--v2-purple-start);
	padding-top: 0.15rem;
}

.theme-v2 .v2-focus-list__text strong {
	display: block;
	margin-bottom: 0.45rem;
	font: 600 0.8125rem/1.35 var(--v2-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--v2-text-strong);
}

.theme-v2 .v2-focus-list__text p {
	margin: 0;
	font: 400 0.875rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

/* Modularity */
.theme-v2 .v2-modularity__inner {
	display: grid;
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: start;
}

@media (min-width: 56rem) {
	.theme-v2 .v2-modularity__inner {
		grid-template-columns: 1fr 1fr;
	}
}

.theme-v2 .v2-modularity__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.theme-v2 .v2-modularity__item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0.65rem 0.75rem;
	align-items: center;
	padding: 0.65rem 0.85rem;
	border-radius: 0.75rem;
	background: var(--v2-white);
	box-shadow: var(--v2-pill-shadow);
	font-size: 0.875rem;
}

.theme-v2 .v2-modularity__dot {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--v2-purple-start);
	opacity: 0.35;
}

.theme-v2 .v2-modularity__name {
	color: var(--v2-text-strong);
	font-weight: 500;
}

.theme-v2 .v2-modularity__lens {
	font: 500 0.6875rem/1 var(--v2-font-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--v2-purple-start);
}

.theme-v2 .v2-modularity__copy {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.theme-v2 .v2-modularity__optionality {
	margin: 0;
	font: 400 0.9375rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
	max-width: 48ch;
}

/* Knowledge Base — section 10 */
.theme-v2 .v2-kb {
	background: linear-gradient(180deg, #efefef 0%, #c4c4c4 100%);
	color: var(--v2-text-heading);
}

.theme-v2 .v2-kb__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
	align-items: center;
}

.theme-v2 .v2-kb__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	text-align: center;
	max-width: 56rem;
}

.theme-v2 .v2-kb__title {
	margin: 0;
	font: 500 clamp(2rem, 5vw, 3.75rem)/1.1 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-text-heading);
	text-wrap: balance;
}

.theme-v2 .v2-kb__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-kb__body {
	margin: 0;
	max-width: 42rem;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: var(--v2-text-body);
}

/* Vertical stack of 3 panels — visually joined */
.theme-v2 .v2-kb__stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	width: 100%;
}

.theme-v2 .v2-kb__node {
	position: relative;
	width: 100%;
	max-width: 20rem;
	padding: 2.25rem 1.5rem;
	border-radius: 1.75rem;
	background: var(--v2-purple-start);
	color: var(--v2-white);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1.25rem;
	z-index: 1;
}


.theme-v2 .v2-kb__node-icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7rem;
	height: 7rem;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.5);
}

.theme-v2 .v2-kb__node-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: var(--v2-white);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}

.theme-v2 .v2-kb__node-end {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, -1px);
	width: 60.9px;
	height: 77.7px;
	pointer-events: none;
	z-index: 2;
	display: block;
}

.theme-v2 .v2-kb__node-step {
	position: absolute;
	bottom: -0.25rem;
	left: -0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--v2-white);
	color: var(--v2-orange);
	font: 700 0.95rem/1 var(--v2-font-display);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

.theme-v2 .v2-kb__node-icon svg {
	width: 1.75rem;
	height: 1.75rem;
}

.theme-v2 .v2-kb__node-title {
	margin: 0;
	font: 500 1.625rem/1.1 var(--v2-font-display);
	color: var(--v2-orange);
	letter-spacing: -0.02em;
}

.theme-v2 .v2-kb__node-eyebrow {
	margin: 0;
	font: 500 0.8125rem/1.4 var(--v2-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--v2-white);
}

.theme-v2 .v2-kb__node-items {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
}

.theme-v2 .v2-kb__node-item {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	background: var(--v2-white);
	color: var(--v2-text-strong);
	font: 400 0.875rem/1.25 var(--v2-font-body);
	min-width: 11rem;
	justify-content: flex-start;
}

.theme-v2 .v2-kb__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.theme-v2 .v2-kb__check svg {
	width: 100%;
	height: 100%;
}

.theme-v2 .v2-kb__connector {
	position: relative;
	width: 64px;
	height: 46px;
	margin: -1px 0;
	color: var(--v2-white);
	z-index: 2;
	pointer-events: none;
}

.theme-v2 .v2-kb__connector-shape {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.theme-v2 .v2-kb__connector-arrow {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	width: 1.25rem;
	height: 1.25rem;
	color: var(--v2-white);
	z-index: 1;
}

/* Agent panels — 2 cards below the diagram */
.theme-v2 .v2-kb__agents {
	display: grid;
	gap: 1.25rem;
	width: 100%;
	max-width: 80rem;
	margin-top: calc(77.7px + 30px - clamp(2.5rem, 5vw, 4rem));
}

@media (min-width: 56rem) {
	.theme-v2 .v2-kb__agents {
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}
}

.theme-v2 .v2-kb__agent {
	background: var(--v2-white);
	border-radius: 1.5rem;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	box-shadow: 0 18px 40px rgba(40, 40, 40, 0.06);
}

.theme-v2 .v2-kb__agent-eyebrow {
	margin: 0;
	font: 500 0.8125rem/1.4 var(--v2-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--v2-text-body);
}

.theme-v2 .v2-kb__agent-title {
	margin: 0;
	font: 700 clamp(2rem, 3vw, 2.5rem)/1 var(--v2-font-display);
	color: var(--v2-orange);
	letter-spacing: -0.02em;
}

.theme-v2 .v2-kb__agent-sub {
	margin: 0;
	font: 400 1rem/1.5 var(--v2-font-body);
	color: var(--v2-text-strong);
}

.theme-v2 .v2-kb__agent-rule {
	border: none;
	height: 1px;
	background: rgba(40, 40, 40, 0.1);
	margin: 0.25rem 0;
}

.theme-v2 .v2-kb__agent-outcomes-label {
	margin: 0;
	font: 500 0.8125rem/1.4 var(--v2-font-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--v2-purple-start);
}

.theme-v2 .v2-kb__agent-outcomes {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.theme-v2 .v2-kb__agent-outcome {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	width: fit-content;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: var(--v2-bg-light);
	color: var(--v2-text-strong);
	font: 400 0.8125rem/1.25 var(--v2-font-body);
}

/* Services CTA (dark, stacked, purple button) */
.theme-v2 .v2-services-cta-wrap {
	padding-block: clamp(2rem, 4vw, 3rem);
	background: var(--v2-bg-soft);
}

.theme-v2 .v2-services-cta {
	background: #282828;
	border-radius: 2rem;
	padding: clamp(2.5rem, 6vw, 4.25rem) clamp(1.5rem, 5vw, 4rem);
	color: var(--v2-white);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	text-align: center;
}

.theme-v2 .v2-services-cta__title {
	margin: 0;
	font: 500 clamp(2.25rem, 5vw, 3.75rem)/1.1 var(--v2-font-display);
	letter-spacing: -0.02em;
	color: var(--v2-white);
	max-width: 60rem;
	text-wrap: balance;
}

.theme-v2 .v2-services-cta__title .accent {
	color: var(--v2-orange);
}

.theme-v2 .v2-services-cta__body {
	margin: 0;
	max-width: 40rem;
	font: 400 1rem/1.55 var(--v2-font-body);
	color: rgba(255, 255, 255, 0.7);
}

.theme-v2 .v2-services-cta__btn {
	background: var(--v2-purple-start);
	align-self: center;
	margin-top: 0.5rem;
}

.theme-v2 .v2-services-cta__btn:hover {
	filter: brightness(1.06);
}
