@charset "UTF-8";

/*
 * Flow Tech Lab home: four-entry operating map.
 * All selectors stay below the versioned home root so LPs and legal pages
 * cannot inherit this presentation layer.
 */
.ftl-home-sections--packs-v2 {
	--ftl-pack-shadow: 0 22px 58px rgba(14, 26, 54, .1);
	--ftl-pack-radius: 12px;
}

.ftl-home-sections--packs-v2 .ftl-anchor-alias {
	position: absolute;
	top: -96px;
	left: 0;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Compact principles strip below the hero. */
.ftl-home-sections--packs-v2 .ftl-home-policy {
	padding-top: 46px;
	padding-bottom: 46px;
}

.ftl-home-sections--packs-v2 .ftl-home-policy__grid {
	gap: 0;
	border-top: 1px solid var(--ftl-home-line);
	border-bottom: 1px solid var(--ftl-home-line);
}

.ftl-home-sections--packs-v2 .ftl-home-policy__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	min-height: 92px;
	padding: 20px 26px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ftl-home-sections--packs-v2 .ftl-home-policy__item + .ftl-home-policy__item {
	border-left: 1px solid var(--ftl-home-line);
}

.ftl-home-sections--packs-v2 .ftl-home-policy__code {
	display: grid;
	width: 34px;
	height: 34px;
	margin: 0 !important;
	border-radius: 50%;
	color: #ffffff;
	background: var(--ftl-home-navy);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	place-items: center;
}

.ftl-home-sections--packs-v2 .ftl-home-policy__label {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.55;
}

/* A short thesis becomes the memorable bridge into the service map. */
.ftl-home-sections--packs-v2 .ftl-home-positioning {
	padding-top: clamp(84px, 9vw, 128px);
	padding-bottom: clamp(84px, 9vw, 128px);
	overflow: hidden;
	background:
		linear-gradient(90deg, transparent 0 49.94%, rgba(7, 94, 201, .09) 49.94% 50.06%, transparent 50.06%),
		#ffffff;
}

.ftl-home-sections--packs-v2 .ftl-home-positioning__eyebrow {
	margin-bottom: 20px !important;
	color: var(--ftl-home-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .18em;
}

.ftl-home-sections--packs-v2 .ftl-home-positioning__title {
	margin-bottom: 28px !important;
	font-size: clamp(36px, 4.5vw, 56px) !important;
	font-weight: 500 !important;
	letter-spacing: -.055em !important;
	line-height: 1.45 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-positioning__title strong {
	position: relative;
	font-weight: 800;
}

.ftl-home-sections--packs-v2 .ftl-home-positioning__title strong::after {
	position: absolute;
	right: 0;
	bottom: -.2em;
	left: 0;
	height: 5px;
	border-radius: 999px;
	background: var(--ftl-home-lime);
	content: "";
}

.ftl-home-sections--packs-v2 .ftl-home-positioning__body {
	color: var(--ftl-home-muted);
	font-size: 17px;
	line-height: 2.05;
}

/* Four service entries, arranged as a map of where work stops. */
.ftl-home-sections--packs-v2 .ftl-home-packs {
	background: color-mix(in srgb, var(--ftl-home-pale) 42%, #ffffff);
}

.ftl-home-sections--packs-v2 .ftl-home-pack-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 30px);
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card {
	--ftl-card-accent: var(--ftl-home-blue);
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 510px;
	padding: clamp(30px, 3.2vw, 42px);
	border: 1px solid color-mix(in srgb, var(--ftl-card-accent) 28%, var(--ftl-home-line));
	border-top: 6px solid var(--ftl-card-accent);
	border-radius: var(--ftl-pack-radius);
	background: #ffffff;
	box-shadow: var(--ftl-pack-shadow);
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card--02 {
	--ftl-card-accent: #297f98;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card--03 {
	--ftl-card-accent: #455569;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card--04 {
	--ftl-card-accent: #5f7900;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 26px !important;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__stage {
	margin: 0 !important;
	color: var(--ftl-card-accent);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.55;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__number {
	margin: 0 !important;
	color: color-mix(in srgb, var(--ftl-card-accent) 76%, #ffffff);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	white-space: nowrap;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__title {
	margin-bottom: 20px !important;
	font-size: clamp(26px, 2.5vw, 32px) !important;
	font-weight: 800 !important;
	letter-spacing: -.045em !important;
	line-height: 1.5 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__pain {
	margin-bottom: 26px !important;
	color: var(--ftl-home-muted);
	font-size: 16px;
	line-height: 1.9;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__result {
	margin-bottom: 18px !important;
	padding: 20px 22px;
	border-left: 3px solid var(--ftl-card-accent);
	background: color-mix(in srgb, var(--ftl-card-accent) 6%, #ffffff);
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__term {
	margin-bottom: 7px !important;
	color: var(--ftl-card-accent);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__outcome {
	margin: 0 !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.8;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__scope {
	margin-bottom: 0 !important;
	color: var(--ftl-home-muted);
	font-size: 14px;
	line-height: 1.8;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__buttons {
	margin-top: auto !important;
	padding-top: 28px;
}

.ftl-home-sections--packs-v2 .ftl-home-pack-card__buttons .wp-block-button,
.ftl-home-sections--packs-v2 .ftl-home-pack-card__buttons .wp-block-button__link {
	width: 100%;
}

.ftl-home-sections--packs-v2 .ftl-home-boundary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	gap: 0;
	margin-top: clamp(48px, 6vw, 72px) !important;
	border: 1px solid var(--ftl-home-line);
	border-radius: var(--ftl-pack-radius);
	overflow: hidden;
	background: #ffffff;
}

.ftl-home-sections--packs-v2 .ftl-home-boundary__side {
	padding: 30px 34px;
}

.ftl-home-sections--packs-v2 .ftl-home-boundary__side--after {
	text-align: right;
}

.ftl-home-sections--packs-v2 .ftl-home-boundary__code {
	margin-bottom: 8px !important;
	color: var(--ftl-home-blue);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .13em;
}

.ftl-home-sections--packs-v2 .ftl-home-boundary__title {
	margin-bottom: 8px !important;
	font-size: 24px !important;
	font-weight: 800 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-boundary__body {
	margin: 0 !important;
	color: var(--ftl-home-muted);
	font-size: 15px;
	line-height: 1.8;
}

.ftl-home-sections--packs-v2 .ftl-home-boundary__gate {
	display: grid;
	align-self: stretch;
	min-width: 124px;
	margin: 0 !important;
	padding: 18px;
	color: #ffffff;
	background: var(--ftl-home-navy);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.5;
	text-align: center;
	place-items: center;
}

.ftl-home-sections--packs-v2 .ftl-home-packs__note {
	max-width: 880px;
	margin: 24px auto 0 !important;
	color: var(--ftl-home-muted);
	font-size: 14px;
	line-height: 1.85;
}

/* One operating engine shared by all entries. */
.ftl-home-sections--packs-v2 .ftl-home-process {
	background: #ffffff;
}

.ftl-home-sections--packs-v2 .ftl-home-engine {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.ftl-home-sections--packs-v2 .ftl-home-engine::before {
	position: absolute;
	top: 29px;
	right: 8%;
	left: 8%;
	height: 2px;
	background: color-mix(in srgb, var(--ftl-home-blue) 34%, var(--ftl-home-line));
	content: "";
}

.ftl-home-sections--packs-v2 .ftl-home-engine-step {
	position: relative;
	z-index: 1;
	min-width: 0;
	padding: 0 12px 24px;
	text-align: center;
}

.ftl-home-sections--packs-v2 .ftl-home-engine-step__code {
	display: grid;
	width: 58px;
	height: 58px;
	margin: 0 auto 22px !important;
	border: 2px solid var(--ftl-home-blue);
	border-radius: 50%;
	color: var(--ftl-home-blue);
	background: #ffffff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
	place-items: center;
}

.ftl-home-sections--packs-v2 .ftl-home-engine-step--gate .ftl-home-engine-step__code {
	color: var(--ftl-home-ink);
	border-color: var(--ftl-home-lime);
	background: var(--ftl-home-lime);
}

.ftl-home-sections--packs-v2 .ftl-home-engine-step__title {
	margin-bottom: 12px !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.6 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-engine-step__body {
	margin: 0 !important;
	color: var(--ftl-home-muted);
	font-size: 14px;
	line-height: 1.85;
}

.ftl-home-sections--packs-v2 .ftl-home-engine__note {
	max-width: 860px;
	margin: 34px auto 0 !important;
	padding: 16px 24px;
	border: 1px solid var(--ftl-home-line);
	color: var(--ftl-home-muted);
	background: color-mix(in srgb, var(--ftl-home-pale) 35%, #ffffff);
	font-size: 14px;
	line-height: 1.85;
}

/* Selection order: rule, owned tools, SaaS, limited build. */
.ftl-home-sections--packs-v2 .ftl-home-method-section {
	background: color-mix(in srgb, var(--ftl-home-pale) 32%, #ffffff);
}

.ftl-home-sections--packs-v2 .ftl-home-method {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--ftl-home-line);
	border-bottom: 1px solid var(--ftl-home-line);
}

.ftl-home-sections--packs-v2 .ftl-home-method-step {
	position: relative;
	min-width: 0;
	padding: 34px 28px 36px;
}

.ftl-home-sections--packs-v2 .ftl-home-method-step + .ftl-home-method-step {
	border-left: 1px solid var(--ftl-home-line);
}

.ftl-home-sections--packs-v2 .ftl-home-method-step__number {
	margin-bottom: 20px !important;
	color: var(--ftl-home-blue);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
}

.ftl-home-sections--packs-v2 .ftl-home-method-step__title {
	margin-bottom: 14px !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	line-height: 1.6 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-method-step__body {
	margin: 0 !important;
	color: var(--ftl-home-muted);
	font-size: 14px;
	line-height: 1.9;
}

.ftl-home-sections--packs-v2 .ftl-home-method__decision {
	margin-top: 48px !important;
	padding: 32px clamp(24px, 4vw, 52px);
	border-left: 5px solid var(--ftl-home-lime);
	color: #ffffff;
	background: var(--ftl-home-navy);
}

.ftl-home-sections--packs-v2 .ftl-home-method__decision-title {
	margin-bottom: 10px !important;
	font-size: 23px !important;
	font-weight: 800 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-method__decision-body {
	margin: 0 !important;
	color: rgba(255, 255, 255, .74);
	font-size: 15px;
	line-height: 1.9;
}

/* Existing safety/about/FAQ structures receive readability adjustments. */
.ftl-home-sections--packs-v2 .ftl-home-security-card__body,
.ftl-home-sections--packs-v2 .ftl-home-faq__item > :not(summary) {
	font-size: 16px;
}

.ftl-home-sections--packs-v2 .ftl-home-operator-card__monogram {
	margin-bottom: 28px;
}

.ftl-home-sections--packs-v2 .ftl-home-operator-card__brand {
	font-size: clamp(25px, 2.8vw, 34px) !important;
}

.ftl-home-sections--packs-v2 .ftl-home-operator-card__meta,
.ftl-home-sections--packs-v2 .ftl-home-about__fact-label {
	font-size: 14px;
}

/* Final CTA repeats the four choices instead of forcing every visitor to Pack 01. */
.ftl-home-sections--packs-v2 .ftl-home-final {
	color: #ffffff;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--ftl-home-navy) 96%, #000000), color-mix(in srgb, var(--ftl-home-navy-soft) 42%, var(--ftl-home-navy)));
}

.ftl-home-sections--packs-v2 .ftl-home-final .ftl-home-section__eyebrow {
	color: var(--ftl-home-lime);
}

.ftl-home-sections--packs-v2 .ftl-home-final__title {
	margin-bottom: 24px !important;
	font-size: clamp(40px, 5vw, 60px) !important;
	font-weight: 800 !important;
	letter-spacing: -.055em !important;
	line-height: 1.4 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-final__body {
	max-width: 850px;
	margin: 0 auto !important;
	color: rgba(255, 255, 255, .74);
	font-size: 16px;
	line-height: 2;
}

.ftl-home-sections--packs-v2 .ftl-home-final-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 48px !important;
}

.ftl-home-sections--packs-v2 .ftl-home-final-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px;
	min-width: 0;
	padding: 24px 26px;
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(255, 255, 255, .08);
}

.ftl-home-sections--packs-v2 .ftl-home-final-card__number {
	margin: 0 !important;
	color: var(--ftl-home-lime);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	white-space: nowrap;
}

.ftl-home-sections--packs-v2 .ftl-home-final-card__title {
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.6 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-final-card__buttons {
	margin: 0 !important;
}

.ftl-home-sections--packs-v2 .ftl-home-final-card__buttons .wp-block-button__link {
	min-height: 48px;
	padding: 10px 16px;
	font-size: 13px;
}

@media (max-width: 1080px) {
	.ftl-home-sections--packs-v2 .ftl-home-policy__grid,
	.ftl-home-sections--packs-v2 .ftl-home-method {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ftl-home-sections--packs-v2 .ftl-home-policy__item:nth-child(3),
	.ftl-home-sections--packs-v2 .ftl-home-policy__item:nth-child(3) + .ftl-home-policy__item {
		border-top: 1px solid var(--ftl-home-line);
	}

	.ftl-home-sections--packs-v2 .ftl-home-policy__item:nth-child(3) {
		border-left: 0;
	}

	.ftl-home-sections--packs-v2 .ftl-home-method-step:nth-child(3) {
		border-top: 1px solid var(--ftl-home-line);
		border-left: 0;
	}

	.ftl-home-sections--packs-v2 .ftl-home-method-step:nth-child(4) {
		border-top: 1px solid var(--ftl-home-line);
	}

	.ftl-home-sections--packs-v2 .ftl-home-engine {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.ftl-home-sections--packs-v2 .ftl-home-engine::before {
		display: none;
	}

	.ftl-home-sections--packs-v2 .ftl-home-engine-step {
		padding: 26px;
		border: 1px solid var(--ftl-home-line);
		text-align: left;
	}

	.ftl-home-sections--packs-v2 .ftl-home-engine-step:last-child {
		grid-column: 1 / -1;
	}

	.ftl-home-sections--packs-v2 .ftl-home-engine-step__code {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.ftl-home-sections--packs-v2 .ftl-home-final-card {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.ftl-home-sections--packs-v2 .ftl-home-final-card__buttons {
		grid-column: 1 / -1;
	}

	.ftl-home-sections--packs-v2 .ftl-home-final-card__buttons .wp-block-button,
	.ftl-home-sections--packs-v2 .ftl-home-final-card__buttons .wp-block-button__link {
		width: 100%;
	}
}

@media (max-width: 780px) {
	.ftl-home-sections--packs-v2 .ftl-home-policy__grid,
	.ftl-home-sections--packs-v2 .ftl-home-pack-grid,
	.ftl-home-sections--packs-v2 .ftl-home-engine,
	.ftl-home-sections--packs-v2 .ftl-home-method,
	.ftl-home-sections--packs-v2 .ftl-home-final-grid {
		grid-template-columns: 1fr;
	}

	.ftl-home-sections--packs-v2 .ftl-home-policy__item + .ftl-home-policy__item,
	.ftl-home-sections--packs-v2 .ftl-home-policy__item:nth-child(3) {
		border-top: 1px solid var(--ftl-home-line);
		border-left: 0;
	}

	.ftl-home-sections--packs-v2 .ftl-home-pack-card {
		min-height: 0;
	}

	.ftl-home-sections--packs-v2 .ftl-home-boundary {
		grid-template-columns: 1fr;
	}

	.ftl-home-sections--packs-v2 .ftl-home-boundary__side--after {
		text-align: left;
	}

	.ftl-home-sections--packs-v2 .ftl-home-boundary__gate {
		min-height: 62px;
	}

	.ftl-home-sections--packs-v2 .ftl-home-engine-step,
	.ftl-home-sections--packs-v2 .ftl-home-engine-step:last-child {
		grid-column: auto;
	}

	.ftl-home-sections--packs-v2 .ftl-home-method-step + .ftl-home-method-step,
	.ftl-home-sections--packs-v2 .ftl-home-method-step:nth-child(3) {
		border-top: 1px solid var(--ftl-home-line);
		border-left: 0;
	}

	.ftl-home-sections--packs-v2 .ftl-home-security__grid {
		grid-template-columns: 1fr;
	}

	.ftl-home-sections--packs-v2 .ftl-home-security-card:nth-child(even) {
		border-left: 0;
	}

	.ftl-home-sections--packs-v2 .ftl-home-security-card + .ftl-home-security-card {
		border-top: 1px solid rgba(255, 255, 255, .22);
	}
}

@media (max-width: 600px) {
	.ftl-home-sections--packs-v2 .ftl-home-positioning {
		background: #ffffff;
	}

	.ftl-home-sections--packs-v2 .ftl-home-positioning__title {
		font-size: 32px !important;
	}

	.ftl-home-sections--packs-v2 .ftl-home-positioning__body,
	.ftl-home-sections--packs-v2 .ftl-home-final__body {
		font-size: 16px;
	}

	.ftl-home-sections--packs-v2 .ftl-home-positioning__body br,
	.ftl-home-sections--packs-v2 .ftl-home-section__lead br,
	.ftl-home-sections--packs-v2 .ftl-home-final__body br {
		display: none;
	}

	.ftl-home-sections--packs-v2 .ftl-home-pack-card {
		padding: 28px 22px;
	}

	.ftl-home-sections--packs-v2 .ftl-home-pack-card__stage,
	.ftl-home-sections--packs-v2 .ftl-home-pack-card__number {
		font-size: 12px;
	}

	.ftl-home-sections--packs-v2 .ftl-home-pack-card__title {
		font-size: 25px !important;
	}

	.ftl-home-sections--packs-v2 .ftl-home-boundary__side,
	.ftl-home-sections--packs-v2 .ftl-home-engine-step,
	.ftl-home-sections--packs-v2 .ftl-home-method-step {
		padding: 26px 22px;
	}

	.ftl-home-sections--packs-v2 .ftl-home-final__title {
		font-size: 34px !important;
	}

	.ftl-home-sections--packs-v2 .ftl-home-final-card {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ftl-home-sections--packs-v2 .wp-block-button__link {
		transition: none !important;
	}
}
