/**
 * TechnoConception homepage — Signal Backplane
 *
 * This file is intentionally scoped to the front page and loaded after the
 * global block-theme stylesheet. It owns one persuasive surface without
 * changing shared service, case, article, form, privacy, or CRM behaviour.
 */

.home {
	--tc-home-ink: #07101f;
	--tc-home-carbon: #101b2c;
	--tc-home-copy: #344054;
	--tc-home-muted: #667085;
	--tc-home-canvas: #fff;
	--tc-home-paper: #f3f5f8;
	--tc-home-line: #d7dee8;
	--tc-home-signal: #2457f5;
	--tc-home-signal-dark: #173fc4;
	--tc-home-pulse: #58d8ee;
	--tc-home-verified: #c9ff51;
	--tc-home-edge-left: max(24px, var(--tc-safe-left));
	--tc-home-edge-right: max(24px, var(--tc-safe-right));
	--tc-home-grid: min(calc(100% - var(--tc-home-edge-left) - var(--tc-home-edge-right)), 1320px);
	background: #fff;
	color: var(--tc-home-ink);
}

.home ::selection {
	color: #fff;
	background: var(--tc-home-signal-dark);
}

.home :where(a, button):focus-visible {
	outline: 3px solid var(--tc-home-pulse);
	outline-offset: 4px;
}

.home .tc-main {
	overflow: clip;
}

/* Full-bleed homepage chapters own their spacing internally. */
.home .tc-main > .wp-block-post-content {
	gap: 0;
}

.home .tc-main > .wp-block-post-content > * {
	margin-block: 0 !important;
}

.home .tc-eyebrow {
	display: none;
}

.home .tc-announcement {
	min-height: 44px;
	padding: 8px var(--tc-home-edge-left) 8px var(--tc-home-edge-right);
	background: var(--tc-home-ink);
	font-size: 0.78rem;
	font-weight: 540;
	letter-spacing: 0.01em;
}

.home .tc-announcement strong {
	color: var(--tc-home-verified);
}

.home .tc-site-header {
	border-color: rgba(7, 16, 31, 0.1);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 12px 32px rgba(7, 16, 31, 0.035);
}

.home .tc-nav-shell {
	width: var(--tc-home-grid);
}

.home .tc-brand {
	min-height: 44px;
}

@media (min-width: 1051px) {
	.home .tc-primary-menu {
		gap: 3px;
		padding: 4px;
		border: 1px solid #e2e7ee;
		border-radius: 14px;
		background: #f5f7fa;
	}

	.home .tc-primary-menu a {
		min-height: 44px;
		border-radius: 10px;
	}

	.home .tc-primary-menu .tc-language-link a {
		min-width: 44px;
	}

	.home .tc-primary-menu .tc-nav-cta a {
		border-radius: 10px;
		box-shadow: 0 12px 28px rgba(7, 16, 31, 0.16);
	}
}

/* First viewport --------------------------------------------------------- */

.home .tc-hero {
	min-height: min(900px, calc(100svh - 44px));
	padding: clamp(56px, 6vw, 92px) var(--tc-home-edge-right) clamp(64px, 7vw, 104px) var(--tc-home-edge-left);
	color: var(--tc-home-ink);
	background:
		radial-gradient(circle at 78% 18%, rgba(88, 216, 238, 0.12), transparent 29%),
		linear-gradient(118deg, #fff 0%, #fff 46%, #f3f6fa 100%);
}

.home .tc-hero::before,
.home .tc-hero::after {
	display: none;
}

.home .tc-hero > .wp-block-group__inner-container,
.home .tc-hero-grid {
	width: var(--tc-home-grid);
}

.home .tc-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(560px, 7fr);
	gap: clamp(34px, 4vw, 72px);
	align-items: center;
}

.home .tc-hero-copy {
	position: relative;
	z-index: 2;
	max-width: 670px;
}

.home .tc-hero h1 {
	max-width: 9.5ch;
	margin: 0;
	color: var(--tc-home-ink);
	font-size: clamp(4.25rem, 6.7vw, 6rem);
	font-weight: 510;
	line-height: 0.93;
	letter-spacing: -0.038em;
	text-wrap: balance;
}

.home .tc-hero .tc-lead {
	max-width: 37rem;
	margin-top: clamp(28px, 3vw, 42px);
	color: var(--tc-home-copy);
	font-size: clamp(1.15rem, 1.4vw, 1.35rem);
	line-height: 1.45;
}

.home .tc-hero .tc-buttons {
	margin-top: 30px;
	gap: 20px;
}

.home .tc-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	min-height: 52px;
	padding-inline: 22px;
	border-radius: 9px;
	background: var(--tc-home-signal);
	box-shadow: 0 18px 36px rgba(36, 87, 245, 0.2);
}

.home .tc-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--tc-home-signal-dark);
	box-shadow: 0 22px 44px rgba(36, 87, 245, 0.25);
}

.home .tc-hero .wp-block-button.is-style-outline .wp-block-button__link {
	min-height: 52px;
	padding-inline: 0;
	border: 0;
	border-radius: 0;
	color: var(--tc-home-ink);
	background: transparent;
	box-shadow: inset 0 -1px 0 var(--tc-home-signal);
}

/* Signature signal backplane ------------------------------------------- */

.home .tc-backplane {
	--tc-route-progress: 1;
	position: relative;
	min-width: 0;
	min-height: 650px;
	isolation: isolate;
	color: var(--tc-home-ink);
}

.home .tc-backplane::before {
	position: absolute;
	inset: 56px -10% 10px 10%;
	z-index: -2;
	border: 1px solid rgba(7, 16, 31, 0.07);
	border-radius: 48% 22% 36% 18%;
	background: rgba(255, 255, 255, 0.46);
	box-shadow: 0 38px 100px rgba(7, 16, 31, 0.1);
	content: "";
	transform: rotate(-2deg);
}

.home .tc-backplane__meta {
	position: absolute;
	top: 14px;
	left: 0;
	z-index: 4;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	font-family: "Geist Mono", ui-monospace, monospace;
	font-size: 0.68rem;
	font-weight: 560;
	letter-spacing: 0.065em;
}

.home .tc-backplane__verified {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	gap: 8px;
	padding: 5px 10px;
	border-radius: 999px;
	color: #1d3500;
	background: var(--tc-home-verified);
}

.home .tc-backplane__verified::before {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	content: "";
}

.home .tc-backplane__routes {
	position: absolute;
	inset: 54px -3% 0 -4%;
	z-index: 0;
	width: 107%;
	height: calc(100% - 54px);
	overflow: visible;
}

.home .tc-backplane__routes path {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.home .tc-backplane__input-routes path {
	stroke: #b4bfcd;
	stroke-dasharray: 0.025 0.016;
}

.home .tc-backplane__decision-route path {
	stroke: var(--tc-home-pulse);
	stroke-width: 2.2;
}

.home .tc-backplane__output-route path {
	stroke: var(--tc-home-signal);
	stroke-width: 3.2;
	stroke-dasharray: 1;
	stroke-dashoffset: calc(1 - var(--tc-route-progress));
}

.home .tc-backplane__route-nodes circle {
	fill: #fff;
	stroke: var(--tc-home-signal);
	stroke-width: 3;
}

.home .tc-backplane__route-nodes .tc-backplane__route-node--verified {
	fill: var(--tc-home-verified);
	stroke: var(--tc-home-ink);
}

.home .tc-backplane__cluster {
	position: absolute;
	z-index: 2;
	margin: 0;
}

.home .tc-backplane__cluster h2 {
	margin: 0 0 16px;
	font-family: "Geist Mono", ui-monospace, monospace;
	font-size: 0.68rem;
	font-weight: 620;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.home .tc-backplane__cluster ul,
.home .tc-backplane__cluster ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.home .tc-backplane__cluster--inputs {
	top: 86px;
	left: 0;
	width: 31%;
}

.home .tc-backplane__cluster--inputs ul {
	display: grid;
	gap: 18px;
}

.home .tc-backplane__cluster--inputs li {
	display: flex;
	min-height: 54px;
	align-items: center;
	padding: 10px 15px 10px 36px;
	border-top: 1px solid var(--tc-home-line);
	background: rgba(255, 255, 255, 0.78);
	font-size: 0.88rem;
	font-weight: 580;
	line-height: 1.2;
}

.home .tc-backplane__cluster--inputs li::before {
	position: absolute;
	margin-left: -24px;
	width: 7px;
	height: 7px;
	border: 2px solid #a7b2c0;
	border-radius: 50%;
	background: #fff;
	content: "";
}

.home .tc-backplane__cluster--decisions {
	top: 212px;
	left: 38%;
	width: 25%;
}

.home .tc-backplane__cluster--decisions ol {
	display: grid;
	gap: 8px;
}

.home .tc-backplane__cluster--decisions li {
	display: flex;
	min-height: 54px;
	align-items: center;
	padding: 12px 16px 12px 24px;
	border: 1px solid rgba(7, 16, 31, 0.11);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 10px 28px rgba(7, 16, 31, 0.06);
	font-size: 0.88rem;
	font-weight: 620;
}

.home .tc-backplane__cluster--decisions li::before {
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	margin-right: 11px;
	border-radius: 50%;
	background: var(--tc-home-pulse);
	box-shadow: 0 0 0 4px rgba(88, 216, 238, 0.16);
	content: "";
}

.home .tc-backplane__cluster--output {
	top: 124px;
	right: -3%;
	width: 37%;
	min-height: 240px;
	padding: 26px;
	border-radius: 16px;
	color: #fff;
	background:
		radial-gradient(circle at 86% 14%, rgba(88, 216, 238, 0.24), transparent 30%),
		var(--tc-home-ink);
	box-shadow: 0 30px 70px rgba(7, 16, 31, 0.18);
}

.home .tc-backplane__cluster--output h2 {
	color: var(--tc-home-verified);
}

.home .tc-backplane__cluster--output p {
	max-width: 28ch;
	margin: 18px 0 0;
	color: #b8c3d2;
	font-size: 0.82rem;
	line-height: 1.45;
}

.home .tc-backplane__cluster--output .tc-backplane__output-title {
	max-width: 12ch;
	margin-top: 58px;
	color: #fff;
	font-size: clamp(1.65rem, 2.1vw, 2.25rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.025em;
}

@media (min-width: 701px) {
	.home .tc-backplane__cluster--inputs li {
		position: relative;
	}

	.home .tc-backplane__cluster--inputs li::before {
		top: 50%;
		left: 12px;
		margin-left: 0;
		transform: translateY(-50%);
	}

	.home .tc-backplane__cluster--output::before {
		position: absolute;
		top: 50%;
		left: -7px;
		z-index: 3;
		box-sizing: border-box;
		width: 14px;
		height: 14px;
		border: 3px solid #fff;
		border-radius: 50%;
		background: var(--tc-home-verified);
		box-shadow: 0 0 0 2px var(--tc-home-signal);
		content: "";
		transform: translateY(-50%);
	}
}

/* Shared chapter rhythm ------------------------------------------------- */

.home :is(.tc-service-link, .tc-text-link) {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	font-size: 0.92rem;
}

.home :is(.tc-service-link, .tc-text-link)::before {
	content: none;
}

.home .tc-section {
	padding: clamp(76px, 8vw, 128px) var(--tc-home-edge-right) clamp(76px, 8vw, 128px) var(--tc-home-edge-left);
}

.home .tc-section > .wp-block-group__inner-container,
.home .tc-final-cta > .wp-block-group__inner-container {
	width: 100%;
	max-width: 1320px !important;
	margin-inline: auto;
}

.home .tc-section-header {
	width: 100%;
	max-width: none !important;
}

.home .tc-section :where(
	.tc-card-grid,
	.tc-evidence-rail,
	.tc-system-chapter,
	.tc-system-map,
	.tc-system-notes,
	.tc-proof-callout,
	.tc-process-grid,
	.tc-founder-layout
) {
	width: 100%;
	max-width: none !important;
}

.home .tc-section-header {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
	gap: 8.333%;
	align-items: end;
	margin-bottom: clamp(46px, 5vw, 76px);
}

.home .tc-section-header h2,
.home .tc-proof-callout h2,
.home .tc-founder-copy h2,
.home .tc-final-cta h2 {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(2.65rem, 4.3vw, 4.35rem);
	font-weight: 480;
	line-height: 0.98;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.home .tc-section-header h2 {
	max-width: 18ch;
}

.home .tc-section-header p,
.home .tc-section-intro {
	max-width: 38rem;
	color: var(--tc-home-copy);
	font-size: 1.05rem;
	line-height: 1.55;
}

/* Buyer situations ------------------------------------------------------ */

.home .tc-home-situations {
	background: #fff;
}

.home .tc-home-situations .tc-section-header h2 {
	max-width: 20ch;
}

.home .tc-home-situations .tc-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--tc-home-line);
	border-bottom: 1px solid var(--tc-home-line);
}

.home .tc-home-situations .tc-card {
	display: flex;
	grid-column: auto;
	grid-row: auto;
	min-height: 318px;
	padding: 34px 34px 32px;
	border: 0;
	border-right: 1px solid var(--tc-home-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transition: color 180ms ease, background-color 180ms ease;
}

.home :where(
	.tc-card-grid,
	.tc-evidence-rail,
	.tc-system-map,
	.tc-system-notes,
	.tc-process-grid,
	.tc-proof-decisions
) > * {
	margin-block-start: 0;
}

.home .tc-home-situations .tc-card:last-child {
	border-right: 0;
}

.home .tc-home-situations .tc-card:hover {
	color: var(--tc-home-signal-dark);
	background: #f6f8ff;
	transform: none;
	box-shadow: none;
}

.home .tc-home-situations .tc-card-number {
	display: none;
}

.home .tc-home-situations .tc-card h3,
.home .tc-home-situations .tc-card p {
	margin: 0;
}

.home .tc-home-situations .tc-card h3 {
	max-width: 18ch;
	font-size: clamp(1.55rem, 2.1vw, 2.1rem);
	font-weight: 520;
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.home .tc-home-situations .tc-card > p:not(:last-child) {
	margin-top: 24px;
	color: var(--tc-home-copy);
	line-height: 1.55;
}

.home .tc-home-situations .tc-card > p:last-child {
	margin-top: auto;
	padding-top: 24px;
}

/* Early factual evidence ------------------------------------------------ */

.home .tc-home-evidence {
	padding-block: 0;
	color: #fff;
	background: var(--tc-home-ink);
}

.home .tc-evidence-rail {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home .tc-evidence-rail article {
	min-height: 260px;
	padding: 42px clamp(22px, 2.25vw, 32px) 46px;
	border-right: 1px solid #26364b;
}

.home .tc-evidence-rail article:last-child {
	border-right: 0;
}

.home .tc-evidence-rail h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(2rem, 2.6vw, 2.5rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.03em;
	overflow-wrap: normal;
	word-break: normal;
}

.home .tc-evidence-rail p {
	max-width: 31ch;
	margin: 22px 0 0;
	color: #b8c3d2;
	line-height: 1.55;
}

.home .tc-evidence-rail .tc-text-link {
	display: inline-block;
	margin-top: 24px;
	color: var(--tc-home-pulse);
}

/* Connected practices --------------------------------------------------- */

.home .tc-home-services {
	background: var(--tc-home-paper);
}

.home .tc-home-services .tc-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid #cfd7e2;
	border-left: 1px solid #cfd7e2;
}

.home .tc-home-services .tc-card,
.home .tc-home-services .tc-card:nth-child(n) {
	display: flex;
	grid-column: auto;
	min-height: 300px;
	padding: clamp(30px, 3vw, 44px);
	border: 0;
	border-right: 1px solid #cfd7e2;
	border-bottom: 1px solid #cfd7e2;
	border-radius: 0;
	color: var(--tc-home-ink);
	background: transparent;
	box-shadow: none;
	transition: color 180ms ease, background-color 180ms ease;
}

.home .tc-home-services .tc-card:first-child {
	color: var(--tc-home-ink);
	background: transparent;
}

.home .tc-home-services .tc-card:hover,
.home .tc-home-services .tc-card:first-child:hover {
	color: var(--tc-home-signal-dark);
	background: rgba(255, 255, 255, 0.72);
	transform: none;
	box-shadow: none;
}

.home .tc-home-services .tc-card h3,
.home .tc-home-services .tc-card:first-child h3 {
	max-width: 18ch;
	margin: 0;
	color: inherit;
	font-size: clamp(1.65rem, 2.6vw, 2.8rem);
	font-weight: 510;
	line-height: 1.04;
	letter-spacing: -0.025em;
}

.home .tc-home-services .tc-card p {
	margin: 24px 0 0;
}

.home .tc-home-services .tc-card > p:not(:last-child),
.home .tc-home-services .tc-card:first-child p {
	max-width: 38rem;
	color: var(--tc-home-copy);
	font-size: 1rem;
	line-height: 1.55;
}

.home .tc-home-services .tc-card > p:last-child {
	margin-top: auto;
	padding-top: 24px;
}

.home .tc-home-services .tc-card:nth-child(4) {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(260px, 4fr) minmax(320px, 5fr) minmax(160px, 2fr);
	align-items: center;
	gap: 36px;
	min-height: 190px;
	background: rgba(255, 255, 255, 0.5);
}

.home .tc-home-services .tc-card:nth-child(4) > p {
	margin-top: 0;
}

.home .tc-home-services .tc-card:nth-child(4) > p:last-child {
	justify-self: end;
	padding-top: 0;
}

.home .tc-home-services .tc-service-link,
.home .tc-home-services .tc-card:first-child .tc-service-link {
	color: var(--tc-home-signal-dark);
}

/* Whole-system and first-party proof chamber --------------------------- */

.home .tc-home-architecture,
.home .tc-home-proof {
	color: #fff;
	background: var(--tc-home-ink);
}

.home .tc-home-architecture {
	padding-bottom: clamp(48px, 5vw, 72px);
}

.home .tc-home-proof {
	padding-top: clamp(48px, 5vw, 72px);
	border-top: 1px solid #26364b;
}

.home .tc-home-evidence-chamber .tc-proof-callout {
	padding-bottom: clamp(64px, 7vw, 104px);
	margin-bottom: clamp(64px, 7vw, 104px);
	border-bottom: 1px solid #314158;
}

.home .tc-system-chapter__heading {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
	gap: 8.333%;
	align-items: end;
	margin-bottom: clamp(54px, 6vw, 88px);
}

.home .tc-system-chapter__heading h2 {
	max-width: 16ch;
	margin: 0;
	color: #fff;
	font-size: clamp(2.9rem, 4.6vw, 4.65rem);
	font-weight: 480;
	line-height: 0.95;
	letter-spacing: -0.038em;
}

.home .tc-system-chapter__heading .tc-section-intro {
	color: #b8c3d2;
}

.home .tc-system-map {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	border-top: 1px solid #314158;
	border-bottom: 1px solid #314158;
	background: transparent;
}

.home .tc-system-map::before,
.home .tc-system-map::after {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: #314158;
	content: "";
}

.home .tc-system-map::before {
	left: 33.333%;
}

.home .tc-system-map::after {
	left: 66.666%;
}

.home .tc-system-node {
	width: 100%;
	min-height: 156px;
	padding: 28px;
	border: 0;
	border-bottom: 1px solid #314158;
	border-radius: 0;
	color: #fff;
	background: transparent;
	box-shadow: none;
}

.home .tc-system-node--center {
	grid-column: 1 / -1;
	grid-row: auto;
	display: flex;
	width: 100%;
	min-height: 172px;
	align-items: flex-end;
	justify-content: space-between;
	background:
		linear-gradient(90deg, rgba(36, 87, 245, 0.94), rgba(23, 63, 196, 0.72)),
		var(--tc-home-signal);
}

.home .tc-system-node small {
	color: var(--tc-home-pulse);
	font-family: "Geist Mono", ui-monospace, monospace;
	font-size: 0.7rem;
	letter-spacing: 0.07em;
}

.home .tc-system-node--center small {
	color: #fff;
}

.home .tc-system-node strong {
	display: block;
	max-width: 18ch;
	margin-top: 30px;
	color: #fff;
	font-size: clamp(1.25rem, 1.8vw, 1.8rem);
	font-weight: 520;
	line-height: 1.08;
}

.home .tc-system-node--center strong {
	max-width: 22ch;
	margin: 0;
	font-size: clamp(2rem, 3.5vw, 3.8rem);
	letter-spacing: -0.03em;
}

.home .tc-system-notes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 0;
	border-bottom: 1px solid #314158;
}

.home .tc-system-notes article {
	min-height: 190px;
	padding: 32px 32px 36px 0;
	border: 0;
	border-right: 1px solid #314158;
	border-radius: 0;
	background: transparent;
}

.home .tc-system-notes article + article {
	padding-left: 32px;
	border-right: 0;
}

.home .tc-system-notes h3 {
	margin: 0 0 12px;
	font-size: clamp(1.5rem, 2.2vw, 2.25rem);
	font-weight: 500;
	line-height: 1.08;
}

.home .tc-system-notes p {
	max-width: 46ch;
	color: #b8c3d2;
}

.home .tc-proof-callout {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
	gap: 8.333%;
	align-items: end;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.home .tc-proof-callout h2 {
	max-width: 11ch;
	color: #fff;
}

.home .tc-proof-callout .tc-section-intro {
	color: #b8c3d2;
}

.home .tc-proof-callout .tc-text-link {
	color: var(--tc-home-pulse);
}

.home .tc-proof-decisions {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: clamp(46px, 5vw, 70px) 0 0;
	padding: 0;
	border-top: 1px solid #314158;
	border-bottom: 0;
	list-style: none;
}

.home .tc-proof-decisions li {
	min-height: 188px;
	padding: 28px 28px 30px;
	border-right: 1px solid #314158;
}

.home .tc-proof-decisions li:last-child {
	border-right: 0;
}

.home .tc-proof-decisions strong,
.home .tc-proof-decisions span {
	display: block;
}

.home .tc-proof-decisions strong {
	color: #fff;
	font-size: 1.15rem;
	font-weight: 560;
}

.home .tc-proof-decisions span {
	margin-top: 16px;
	color: #b8c3d2;
	line-height: 1.55;
}

/* Delivery path --------------------------------------------------------- */

.home .tc-home-process {
	background: #fff;
}

.home .tc-home-process .tc-process-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--tc-home-line);
	border-bottom: 1px solid var(--tc-home-line);
}

.home .tc-home-process .tc-process-grid::before {
	top: 70px;
	right: 0;
	left: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--tc-home-pulse), var(--tc-home-signal));
}

.home .tc-home-process .tc-process-step {
	min-height: 230px;
	padding: 32px 30px 34px;
	border-right: 1px solid var(--tc-home-line);
}

.home .tc-home-process .tc-process-step:last-child {
	border-right: 0;
}

.home .tc-home-process .tc-step-number {
	font-family: "Geist Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	font-variant-numeric: tabular-nums;
}

.home .tc-home-process .tc-process-step h3 {
	margin: 48px 0 14px;
	font-size: 1.45rem;
	font-weight: 520;
}

.home .tc-home-process .tc-process-step p:last-child {
	color: var(--tc-home-copy);
	line-height: 1.5;
}

/* Opportunity Sprint ---------------------------------------------------- */

.home .tc-home-sprint {
	position: relative;
	isolation: isolate;
	color: #fff;
	background: var(--tc-home-signal);
}

.home .tc-home-sprint::before {
	position: absolute;
	top: 8%;
	right: -4vw;
	z-index: -1;
	width: clamp(260px, 35vw, 560px);
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	box-shadow: inset 0 0 0 70px rgba(255, 255, 255, 0.035), inset 0 0 0 140px rgba(255, 255, 255, 0.025);
	content: "";
}

.home .tc-home-sprint .tc-section-header {
	margin-bottom: 46px;
}

.home .tc-home-sprint .tc-section-header h2 {
	max-width: 12ch;
	color: #fff;
}

.home .tc-home-sprint .tc-section-header p {
	color: #dfe7ff;
}

.home .tc-home-sprint .tc-check-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 48px;
	max-width: 850px;
	margin: 0;
}

.home .tc-home-sprint .tc-check-list li {
	padding: 17px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.26);
	color: #fff;
}

.home .tc-home-sprint .wp-block-buttons {
	margin-top: 36px;
}

.home .tc-home-sprint .wp-block-button .wp-block-button__link {
	min-height: 50px;
	border-radius: 9px;
	color: var(--tc-home-ink);
	background: #fff;
}

/* Founder --------------------------------------------------------------- */

.home .tc-home-founder {
	background: var(--tc-home-paper);
}

.home .tc-founder-layout {
	display: grid;
	grid-template-columns: minmax(300px, 5fr) minmax(420px, 6fr);
	gap: 8.333%;
	align-items: center;
}

.home .tc-founder-portrait {
	position: relative;
	max-width: 520px;
	margin: 0;
	padding: 0 0 28px 28px;
}

.home .tc-founder-portrait::before {
	position: absolute;
	top: 28px;
	right: 28px;
	bottom: 0;
	left: 0;
	z-index: 0;
	border: 1px solid #cbd4df;
	content: "";
}

.home .tc-founder-portrait img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	border-radius: 10px;
	filter: saturate(0.92) contrast(1.02);
}

.home .tc-founder-portrait figcaption {
	position: relative;
	z-index: 1;
	margin-top: 14px;
	font-family: "Geist Mono", ui-monospace, monospace;
	font-size: 0.72rem;
	letter-spacing: 0.035em;
}

.home .tc-founder-copy h2 {
	max-width: 10ch;
}

.home .tc-founder-copy .tc-section-intro {
	margin-top: 30px;
}

.home .tc-founder-facts {
	margin-top: 38px;
	border-bottom: 1px solid var(--tc-home-line);
}

.home .tc-founder-facts p {
	display: grid;
	grid-template-columns: minmax(150px, 2fr) minmax(240px, 4fr);
	gap: 24px;
	margin: 0;
	padding: 18px 0;
	border-top: 1px solid var(--tc-home-line);
}

.home .tc-founder-facts strong {
	font-weight: 600;
}

.home .tc-founder-facts span {
	color: var(--tc-home-copy);
}

/* Production standards ------------------------------------------------- */

.home .tc-home-standards {
	color: #fff;
	background: var(--tc-home-ink);
}

.home .tc-home-standards .tc-section-header h2 {
	color: #fff;
}

.home .tc-home-standards .tc-section-header p {
	color: #b8c3d2;
}

.home .tc-home-standards .tc-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid #314158;
	border-bottom: 1px solid #314158;
}

.home .tc-home-standards .tc-card,
.home .tc-home-standards .tc-card:nth-child(n) {
	grid-column: auto;
	grid-row: auto;
	min-height: 270px;
	padding: 32px;
	border: 0;
	border-right: 1px solid #314158;
	border-radius: 0;
	color: #fff;
	background: transparent;
	box-shadow: none;
}

.home .tc-home-standards .tc-card:first-child {
	grid-column: auto;
	grid-row: auto;
	padding: 32px;
}

.home .tc-home-standards .tc-card:last-child {
	border-right: 0;
}

.home .tc-home-standards .tc-card:hover {
	color: #fff;
	background: #101d31;
	transform: none;
	box-shadow: none;
}

.home .tc-home-standards .tc-card h3 {
	margin: 0 0 16px;
	font-size: clamp(1.55rem, 2vw, 2rem);
	font-weight: 510;
	line-height: 1.08;
}

.home .tc-home-standards .tc-card p {
	color: #b8c3d2;
	line-height: 1.55;
}

/* Technical reading index ---------------------------------------------- */

.home .tc-home-insights {
	background: #fff;
}

.home .tc-home-insights .tc-card-grid {
	display: block;
	border-bottom: 1px solid var(--tc-home-line);
}

.home .tc-home-insights .tc-card,
.home .tc-home-insights .tc-card:nth-child(n) {
	display: grid;
	grid-template-columns: minmax(300px, 5fr) minmax(320px, 5fr) minmax(140px, 2fr);
	gap: 36px;
	align-items: center;
	min-height: 142px;
	padding: 26px 0;
	border: 0;
	border-top: 1px solid var(--tc-home-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.home .tc-home-insights .tc-card::before {
	display: none;
}

.home .tc-home-insights .tc-card:hover {
	border-color: var(--tc-home-signal);
	background: transparent;
	transform: none;
	box-shadow: none;
}

.home .tc-home-insights .tc-card h3,
.home .tc-home-insights .tc-card p {
	margin: 0;
}

.home .tc-home-insights .tc-card h3 {
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	font-weight: 520;
	line-height: 1.12;
}

.home .tc-home-insights .tc-card > p:not(:last-child) {
	color: var(--tc-home-copy);
	line-height: 1.5;
}

.home .tc-home-insights .tc-card > p:last-child {
	justify-self: end;
}

/* Decisive close -------------------------------------------------------- */

.home .tc-final-cta {
	position: relative;
	min-height: 620px;
	display: grid;
	place-items: center;
	padding: 110px var(--tc-home-edge-right) 110px var(--tc-home-edge-left);
	color: #fff;
	background: var(--tc-home-ink);
}

.home .tc-final-cta::before {
	position: absolute;
	top: 50%;
	right: max(24px, calc((100vw - 1320px) / 2));
	z-index: 0;
	width: clamp(260px, 30vw, 440px);
	aspect-ratio: 1;
	border: 0;
	border-radius: 0;
	background: url("../images/brand-mark.svg?ver=b7adedcd2c03") center / contain no-repeat;
	box-shadow: none;
	content: "";
	transform: translateY(-50%);
}

.home .tc-final-cta::after {
	content: none;
}

.home .tc-final-cta > * {
	position: relative;
	z-index: 1;
}

.home .tc-final-cta > :is(h2, p, .wp-block-buttons) {
	margin-right: auto !important;
	margin-left: max(0px, calc((100% - 1320px) / 2)) !important;
}

.home .tc-final-cta h2 {
	max-width: 10ch;
	color: #fff;
	font-size: clamp(3.5rem, 7vw, 6rem);
}

.home .tc-final-cta p {
	max-width: 42rem;
	margin-top: 30px;
	color: #b8c3d2;
	font-size: 1.1rem;
	line-height: 1.55;
}

.home .tc-final-cta .wp-block-buttons {
	margin-top: 34px;
}

.home .tc-final-cta .wp-block-button .wp-block-button__link {
	min-height: 52px;
	padding-inline: 22px;
	border-radius: 9px;
	background: var(--tc-home-signal);
}

/* Process proximity correction ------------------------------------------
 * The shared theme retains legacy presentation spacing for other surfaces.
 * The homepage process is a connected sequence and owns a tighter rhythm at
 * every breakpoint, including the two-column tablet state.
 */
.home .tc-home-process .tc-step-number {
	margin: 0;
}

.home .tc-home-process .tc-process-step h3 {
	margin: 30px 0 12px;
}

/* Wide-screen density correction ----------------------------------------
 * Once the 1320px content rail is reached, viewport-based type and spacing
 * must stop expanding. These refinements keep related information close and
 * preserve the Signal Backplane hierarchy on desktop and ultrawide screens.
 */
@media (min-width: 1101px) {
	.home .tc-brand {
		gap: 11px;
		font-size: 0.96rem;
		font-weight: 680;
	}

	.home .tc-brand-mark {
		width: 36px;
		height: 36px;
	}

	.home .tc-home-architecture {
		padding-top: clamp(88px, 6.5vw, 104px);
		padding-bottom: clamp(48px, 4.5vw, 64px);
	}

	.home .tc-system-chapter__heading {
		margin-bottom: clamp(44px, 4vw, 56px);
	}

	.home .tc-system-chapter__heading h2 {
		max-width: 19ch;
		font-size: clamp(2.8rem, 4vw, 4.05rem);
		line-height: 0.98;
		letter-spacing: -0.035em;
	}

	.home .tc-system-node {
		min-height: 142px;
		padding: 26px;
	}

	.home .tc-system-map {
		min-height: 0;
	}

	.home .tc-system-node--center {
		min-height: 190px;
	}

	.home .tc-system-notes article {
		min-height: 172px;
		padding-top: 28px;
		padding-bottom: 30px;
	}

	.home .tc-home-process {
		padding-top: clamp(80px, 6vw, 104px);
		padding-bottom: clamp(80px, 6vw, 104px);
	}

	.home .tc-home-process .tc-section-header {
		margin-bottom: clamp(44px, 4vw, 56px);
	}

	.home .tc-home-process .tc-process-step {
		min-height: 228px;
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.home .tc-home-sprint {
		padding-top: clamp(80px, 6vw, 96px);
		padding-bottom: clamp(80px, 6vw, 96px);
	}

	.home .tc-home-sprint .tc-section-header {
		margin-bottom: 34px;
	}

	.home .tc-home-sprint .tc-section-header h2 {
		max-width: 19ch;
		font-size: clamp(2.8rem, 3.7vw, 3.75rem);
		line-height: 1;
		letter-spacing: -0.035em;
	}

	.home .tc-home-sprint .tc-check-list {
		gap: 0 40px;
		margin-right: auto !important;
		margin-left: 0 !important;
	}

	.home .tc-home-sprint .tc-check-list li {
		padding: 14px 0;
	}

	.home .tc-home-sprint .wp-block-buttons {
		margin-top: 28px;
		margin-right: auto !important;
		margin-left: 0 !important;
	}
}

/* Laptop and tablet ----------------------------------------------------- */

@media (max-width: 1100px) {
	.home {
		--tc-home-grid: min(calc(100% - var(--tc-home-edge-left) - var(--tc-home-edge-right)), 960px);
	}

	.home .tc-hero {
		min-height: auto;
	}

	.home .tc-hero-grid {
		grid-template-columns: 1fr;
		gap: 58px;
	}

	.home .tc-hero-copy {
		max-width: 800px;
	}

	.home .tc-hero h1 {
		max-width: 11.5ch;
	}

	.home .tc-backplane {
		min-height: 610px;
	}

	.home .tc-section-header,
	.home .tc-system-chapter__heading,
	.home .tc-proof-callout {
		grid-template-columns: minmax(0, 5fr) minmax(280px, 3fr);
		gap: 48px;
	}

	.home .tc-home-situations .tc-card,
	.home .tc-home-services .tc-card,
	.home .tc-home-services .tc-card:nth-child(n),
	.home .tc-home-insights .tc-card,
	.home .tc-home-insights .tc-card:nth-child(n) {
		grid-template-columns: minmax(240px, 3fr) minmax(300px, 4fr) minmax(120px, 1.5fr);
		gap: 24px;
	}

	.home .tc-system-map {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home .tc-system-map::before {
		left: 50%;
	}

	.home .tc-system-map::after {
		display: none;
	}

	.home .tc-home-process .tc-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home .tc-home-process .tc-process-grid::before {
		display: none;
	}

	.home .tc-home-process .tc-process-step {
		min-height: 220px;
		border-bottom: 1px solid var(--tc-home-line);
	}

	.home .tc-home-standards .tc-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home .tc-home-standards .tc-card:last-child:nth-child(odd) {
		grid-column: auto;
	}
}

/* Deliberate intermediate composition for tablets and small laptops. */
@media (max-width: 900px) {
	.home .tc-section-header,
	.home .tc-system-chapter__heading,
	.home .tc-proof-callout {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.home .tc-section-header > div:last-child {
		justify-self: start;
	}

	.home .tc-proof-callout h2,
	.home .tc-founder-copy h2 {
		max-width: 18ch;
	}

	.home .tc-home-situations .tc-card-grid {
		grid-template-columns: 1fr;
	}

	.home .tc-home-situations .tc-card {
		min-height: 0;
		padding: 28px 0;
		border-right: 0;
		border-bottom: 1px solid var(--tc-home-line);
	}

	.home .tc-home-situations .tc-card > p:last-child {
		margin-top: 22px;
		padding-top: 0;
	}

	.home .tc-home-services .tc-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home .tc-home-services .tc-card:nth-child(4) {
		grid-column: auto;
		display: flex;
		min-height: 300px;
		gap: 0;
	}

	.home .tc-home-services .tc-card:nth-child(4) > p {
		margin-top: 24px;
	}

	.home .tc-home-services .tc-card:nth-child(4) > p:last-child {
		margin-top: auto;
		padding-top: 24px;
	}

	.home .tc-founder-layout {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	.home .tc-founder-portrait {
		max-width: 460px;
	}

	.home .tc-home-insights .tc-card,
	.home .tc-home-insights .tc-card:nth-child(n) {
		grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
		gap: 18px 32px;
	}

	.home .tc-home-insights .tc-card > p:last-child {
		grid-column: 1 / -1;
		justify-self: start;
		margin-top: 0;
	}

	.home .tc-proof-decisions {
		grid-template-columns: 1fr;
	}

	.home .tc-proof-decisions li,
	.home .tc-proof-decisions li + li {
		min-height: 0;
		padding: 24px 0 26px;
		border-right: 0;
		border-bottom: 1px solid #314158;
	}

	.home .tc-proof-decisions li:last-child {
		border-bottom: 0;
	}
}

@media (min-width: 701px) and (max-width: 900px) {
	.home .tc-home-situations .tc-card {
		display: grid;
		grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.3fr);
		grid-template-rows: auto auto;
		gap: 14px 36px;
		align-items: start;
	}

	.home .tc-home-situations .tc-card h3 {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.home .tc-home-situations .tc-card > p:not(:last-child) {
		grid-column: 2;
		margin-top: 0;
	}

	.home .tc-home-situations .tc-card > p:last-child {
		grid-column: 2;
		margin-top: 0;
		padding-top: 0;
	}
}

/* Mobile ---------------------------------------------------------------- */

@media (max-width: 700px) {
	.home {
		--tc-home-edge-left: max(18px, var(--tc-safe-left));
		--tc-home-edge-right: max(18px, var(--tc-safe-right));
		--tc-home-grid: calc(100% - var(--tc-home-edge-left) - var(--tc-home-edge-right));
	}

	.home .tc-announcement {
		min-height: 44px;
		padding-inline: var(--tc-home-edge-left) var(--tc-home-edge-right);
		font-size: 0.72rem;
		text-align: left;
	}

	.home .tc-announcement span {
		display: inline;
	}

	.home .tc-hero {
		padding: 44px var(--tc-home-edge-right) 56px var(--tc-home-edge-left);
		background: linear-gradient(180deg, #fff 0%, #fff 46%, #f2f5f8 100%);
	}

	.home .tc-hero-grid {
		width: 100%;
		gap: 38px;
	}

	.home .tc-hero h1 {
		max-width: 11ch;
		font-size: clamp(2.9rem, 13.4vw, 4rem);
		line-height: 0.96;
		letter-spacing: -0.038em;
	}

	.home .tc-hero .tc-lead {
		margin-top: 26px;
		font-size: 1.08rem;
	}

	.home .tc-hero .tc-buttons {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.home .tc-hero .wp-block-button,
	.home .tc-hero .wp-block-button__link {
		width: 100%;
	}

	.home .tc-hero .wp-block-button.is-style-outline .wp-block-button__link {
		justify-content: center;
	}

	.home .tc-backplane {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
		min-height: 0;
		padding-top: 38px;
	}

	.home .tc-backplane::before {
		inset: 40px -18px -18px 18px;
		border-radius: 44px 20px 30px 18px;
		transform: rotate(-1deg);
	}

	.home .tc-backplane::after {
		position: absolute;
		top: 64px;
		bottom: 26px;
		left: 30px;
		z-index: 1;
		width: 2px;
		background: linear-gradient(var(--tc-home-pulse), var(--tc-home-signal), var(--tc-home-verified));
		content: "";
	}

	.home .tc-backplane__meta {
		top: 0;
		font-size: 0.58rem;
	}

	.home .tc-backplane__meta > span:first-child {
		max-width: 18ch;
	}

	.home .tc-backplane__routes {
		display: none;
	}

	.home .tc-backplane__cluster {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		width: auto;
	}

	.home .tc-backplane__cluster--inputs,
	.home .tc-backplane__cluster--decisions,
	.home .tc-backplane__cluster--output {
		padding: 18px;
		border: 1px solid rgba(7, 16, 31, 0.11);
		border-radius: 14px;
		background: rgba(255, 255, 255, 0.94);
		box-shadow: none;
	}

	.home .tc-backplane__cluster--inputs ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 14px;
	}

	.home .tc-backplane__cluster--inputs li {
		min-height: 54px;
		padding: 9px 5px 9px 20px;
		background: transparent;
		font-size: 0.78rem;
	}

	.home .tc-backplane__cluster--inputs li::before {
		margin-left: -17px;
	}

	.home .tc-backplane__cluster--decisions ol {
		gap: 0;
	}

	.home .tc-backplane__cluster--decisions li {
		min-height: 50px;
		padding: 10px 0;
		border: 0;
		border-top: 1px solid var(--tc-home-line);
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.home .tc-backplane__cluster--output {
		min-height: 176px;
		color: #fff;
		background: var(--tc-home-ink);
	}

	.home .tc-backplane__cluster--output .tc-backplane__output-title {
		margin-top: 24px;
	}

	.home .tc-section {
		padding: 56px var(--tc-home-edge-right) 56px var(--tc-home-edge-left);
	}

	.home .tc-home-evidence {
		padding-block: 0;
	}

	.home .tc-section-header,
	.home .tc-system-chapter__heading,
	.home .tc-proof-callout {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 36px;
	}

	.home .tc-section-header h2,
	.home .tc-proof-callout h2,
	.home .tc-founder-copy h2,
	.home .tc-final-cta h2,
	.home .tc-system-chapter__heading h2 {
		font-size: clamp(2.1rem, 9.6vw, 3rem);
		line-height: 1;
	}

	.home .tc-section-header h2,
	.home .tc-proof-callout h2,
	.home .tc-founder-copy h2,
	.home .tc-system-chapter__heading h2 {
		max-width: 100%;
	}

	.home .tc-home-situations .tc-card,
	.home .tc-home-insights .tc-card,
	.home .tc-home-insights .tc-card:nth-child(n) {
		display: block;
		min-height: 0;
		padding: 22px 0;
	}

	.home .tc-home-services .tc-card-grid {
		grid-template-columns: 1fr;
	}

	.home .tc-home-services .tc-card,
	.home .tc-home-services .tc-card:nth-child(n) {
		min-height: 0;
		padding: 24px;
	}

	.home .tc-home-situations .tc-card h3,
	.home .tc-home-services .tc-card h3,
	.home .tc-home-services .tc-card:first-child h3,
	.home .tc-home-insights .tc-card h3 {
		max-width: none;
	}

	.home .tc-home-situations .tc-card > p,
	.home .tc-home-services .tc-card > p,
	.home .tc-home-insights .tc-card > p {
		margin-top: 14px;
	}

	.home .tc-home-situations .tc-card > p:last-child,
	.home .tc-home-services .tc-card > p:last-child,
	.home .tc-home-insights .tc-card > p:last-child {
		justify-self: auto;
		margin-top: 18px;
	}

	.home .tc-evidence-rail {
		grid-template-columns: 1fr;
	}

	.home .tc-evidence-rail article,
	.home .tc-evidence-rail article + article {
		min-height: 0;
		padding: 28px 0 30px;
		border-right: 0;
		border-bottom: 1px solid #26364b;
	}

	.home .tc-evidence-rail article:last-child {
		border-bottom: 0;
	}

	.home .tc-system-map {
		grid-template-columns: 1fr;
		border-right: 1px solid #314158;
		border-left: 1px solid #314158;
	}

	.home .tc-system-map::before,
	.home .tc-system-map::after {
		display: none;
	}

	.home .tc-system-node,
	.home .tc-system-node--center {
		grid-column: 1;
		grid-row: auto;
		min-height: 0;
		padding: 18px;
		border-right: 0;
	}

	.home .tc-system-node:not(.tc-system-node--center) {
		display: grid;
		grid-template-columns: 42px minmax(0, 1fr);
		align-items: start;
	}

	.home .tc-system-node--center {
		grid-column: 1;
		display: block;
		min-height: 140px;
		border-right: 0;
	}

	.home .tc-system-node:not(.tc-system-node--center) strong {
		margin-top: 0;
		font-size: 1.2rem;
	}

	.home .tc-system-node--center strong {
		margin-top: 24px;
		font-size: 1.6rem;
	}

	.home .tc-system-notes {
		grid-template-columns: 1fr;
	}

	.home .tc-system-notes article,
	.home .tc-system-notes article + article {
		min-height: 0;
		padding: 22px 18px 24px;
		border-right: 0;
		border-bottom: 1px solid #314158;
	}

	.home .tc-home-process .tc-process-grid {
		grid-template-columns: 1fr;
	}

	.home .tc-home-process .tc-process-step,
	.home .tc-home-process .tc-process-step + .tc-process-step {
		display: grid;
		grid-template-columns: 46px minmax(0, 1fr);
		min-height: 0;
		padding: 22px 0;
		border-right: 0;
	}

	.home .tc-home-process .tc-step-number {
		grid-row: 1 / span 2;
	}

	.home .tc-home-process .tc-process-step h3 {
		margin: 0 0 10px;
	}

	.home .tc-home-process .tc-process-step p:last-child {
		grid-column: 2;
	}

	.home .tc-home-sprint .tc-check-list {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.home .tc-founder-layout {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.home .tc-founder-portrait {
		max-width: 420px;
		padding: 0 0 18px 18px;
	}

	.home .tc-founder-facts p {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.home .tc-home-standards .tc-card-grid {
		grid-template-columns: 1fr;
	}

	.home .tc-home-standards .tc-card,
	.home .tc-home-standards .tc-card:nth-child(n),
	.home .tc-home-standards .tc-card:first-child {
		min-height: 0;
		padding: 26px 0 28px;
		border-right: 0;
		border-bottom: 1px solid #314158;
	}

	.home .tc-home-standards .tc-card h3 {
		margin-top: 0;
	}

	.home .tc-final-cta {
		min-height: 0;
		padding: 72px var(--tc-home-edge-right) clamp(240px, 64vw, 286px) var(--tc-home-edge-left);
	}

	.home .tc-final-cta::before {
		top: auto;
		right: var(--tc-home-edge-right);
		bottom: 56px;
		width: clamp(144px, 42vw, 190px);
		transform: none;
	}

	.home .tc-final-cta::after {
		content: none;
	}

	.home .tc-site-footer {
		padding: 56px var(--tc-home-edge-right) 28px var(--tc-home-edge-left);
	}

	.home .tc-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px 22px;
	}

	.home .tc-footer-brand,
	.home .tc-footer-brand + .tc-footer-column {
		grid-column: 1 / -1;
	}

	.home .tc-footer-brand + .tc-footer-column ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
	}

	.home .tc-footer-column h2 {
		margin-bottom: 12px;
	}

	.home .tc-footer-column li + li {
		margin-top: 0;
	}

	.home .tc-footer-bottom {
		margin-top: 40px;
		padding-top: 20px;
	}
}

@media (max-width: 370px) {
	.home .tc-backplane__meta {
		align-items: flex-start;
	}

	.home .tc-backplane__verified {
		max-width: 13ch;
	}

	.home .tc-backplane__cluster--inputs ul {
		gap: 0 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home .tc-backplane {
		--tc-route-progress: 1 !important;
	}

	.home .tc-backplane *,
	.home .tc-home-situations .tc-card,
	.home .tc-home-services .tc-card,
	.home .tc-home-insights .tc-card {
		transition-duration: 0.001ms !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Release 2.2.1 landing-page finish ------------------------------------
 * These rules close the visible quality gaps found in the block-by-block
 * responsive review. They intentionally reuse the existing Signal
 * Backplane vocabulary rather than add a second visual language.
 */
.home .tc-section,
.home .tc-section > .wp-block-group__inner-container,
.home .tc-section-header,
.home .tc-card-grid,
.home .tc-process-grid,
.home .tc-founder-layout,
.home .tc-founder-copy,
.home .tc-founder-facts,
.home .tc-founder-facts p,
.home .tc-founder-facts span {
	min-width: 0;
}

/* Connected practices: make the three core practices read as completed
 * components with one restrained route-state response, not empty boxes.
 */
.home .tc-home-services .tc-card:not(:nth-child(4)) {
	position: relative;
	overflow: hidden;
}

.home .tc-home-services .tc-card:not(:nth-child(4))::before {
	position: absolute;
	top: -1px;
	right: -1px;
	left: -1px;
	height: 3px;
	background: linear-gradient(90deg, var(--tc-home-signal), var(--tc-home-pulse));
	content: "";
	transform: scaleX(0.12);
	transform-origin: left center;
	transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.home .tc-home-services .tc-card:not(:nth-child(4)):is(:hover, :focus-within)::before {
	transform: scaleX(1);
}

.home .tc-home-services .tc-card:not(:nth-child(4)) > p:last-child {
	display: flex;
	min-block-size: 68px;
	align-items: flex-end;
}

/* Decision-to-operation sequence: one continuous route passes through the
 * numbered phase markers. Every cell owns the same internal geometry.
 */
.home .tc-home-process .tc-process-grid::before {
	position: absolute;
	top: 54px;
	right: 0;
	left: 0;
	z-index: 0;
	display: block;
	height: 2px;
	background: linear-gradient(90deg, var(--tc-home-pulse), var(--tc-home-signal));
	content: "";
}

.home .tc-home-process .tc-process-step,
.home .tc-home-process .tc-process-step + .tc-process-step {
	position: relative;
	z-index: 1;
	padding: 32px 30px 34px;
}

.home .tc-founder-facts span {
	overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
	.home .tc-home-process .tc-process-grid::before {
		display: none;
	}

	.home .tc-home-process .tc-process-step,
	.home .tc-home-process .tc-process-step + .tc-process-step {
		padding: 30px;
	}
}

@media (max-width: 700px) {
	.home .tc-home-services .tc-card:not(:nth-child(4)) > p:last-child {
		min-block-size: 44px;
	}

	.home .tc-home-process .tc-process-step,
	.home .tc-home-process .tc-process-step + .tc-process-step {
		padding: 24px 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home .tc-home-services .tc-card:not(:nth-child(4))::before {
		transition: none;
	}
}
