/*
	FeatureCards. Grit within the house system: square corners against the 18px
	radius (precedent: the IntroColumns callout went square for the same
	reason), a 3px accent top bar instead of a shadow lift, hairline borders,
	"+" list markers instead of the global red dots, and the GapBridge
	nodeLabel tracking idiom for kickers. Standard theme token block otherwise.
*/

.FeatureCards_wrapper__qL8gB {
	--surface: var(--white);
	--surface-alt: var(--light-grey);
	--text: var(--black);
	--text-muted: var(--grey);
	--rule: #e0e0e0;
	--accent: var(--red);

	background-color: var(--surface);
	color: var(--text);
	padding: 100px 20px;
}

.FeatureCards_wrapper__qL8gB[data-theme="dark"] {
	--surface: #111;
	--surface-alt: #1a1a1a;
	--text: var(--white);
	--text-muted: #b0b0b0;
	--rule: #3a3a3a;
	--accent: #e5233a;
}

/* -- SECTION HEADER ------------------------------------------------------ */

.FeatureCards_header__C5EGs {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	max-width: 800px;
	margin-bottom: 60px;
}

.FeatureCards_eyebrow__k6XAm {
	font-size: 16px;
	line-height: 1.4;
	font-weight: bold;
	color: var(--accent);
}

.FeatureCards_heading__s_6J0 {
	color: var(--text);
}

.FeatureCards_heading__s_6J0 .accent {
	color: var(--accent);
}

.FeatureCards_intro__gDMHn {
	color: var(--text-muted);
	max-width: 720px;
}

.FeatureCards_intro__gDMHn p + p {
	margin-top: 20px;
}

/* -- GRID ---------------------------------------------------------------- */

/*
	Same auto-fit convention as TextGrid: item count drives column count. `wide`
	floors at 420px (2-up ceiling — the audience split), `default` at 340px
	(3-up ceiling — the ecosystem row).
*/
.FeatureCards_grid__pQyjy {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
	grid-gap: 30px;
	gap: 30px;
}

.FeatureCards_grid__pQyjy[data-columns="wide"] {
	grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
}

/* Global-list neutralizer — see slices/TextGrid/Numbered.module.css. */
.FeatureCards_wrapper__qL8gB .FeatureCards_grid__pQyjy {
	margin: 0;
	padding: 0;
	font-size: inherit;
}

.FeatureCards_wrapper__qL8gB .FeatureCards_grid__pQyjy li {
	margin: 0;
	position: static;
}

.FeatureCards_wrapper__qL8gB .FeatureCards_grid__pQyjy li::before {
	content: none;
}

.FeatureCards_wrapper__qL8gB .FeatureCards_grid__pQyjy li:last-child {
	margin-bottom: 0;
}

/* -- CARD ---------------------------------------------------------------- */

.FeatureCards_card__ebLYo {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background-color: var(--surface-alt);
	border: 1px solid var(--rule);
	transition: var(--short-transition);
}

.FeatureCards_card__ebLYo:hover {
	border-color: var(--accent);
}

.FeatureCards_cardAccent__lTfuM {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background-color: var(--accent);
	z-index: 1;
}

.FeatureCards_media__JA5P7 {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-bottom: 1px solid var(--rule);
}

.FeatureCards_body__MtvEH {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	padding: 34px 30px 30px;
}

/* Kicker — GapBridge nodeLabel idiom. */
.FeatureCards_label__y9Fcw {
	font-size: 14px;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: 1.5px;
	color: var(--text-muted);
	margin-bottom: 18px;
}

/* Tag with a leading accent dash — for typed cards ("Assisted rescue kit"). */
.FeatureCards_cardTag__HiLrH {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: 1px;
	color: var(--accent);
	margin-bottom: 18px;
}

.FeatureCards_cardTag__HiLrH span {
	display: block;
	width: 20px;
	height: 2px;
	background-color: var(--accent);
}

/* Global h3 is 40px — card-scale override, same reasoning as Numbered. */
.FeatureCards_title__BngcD {
	font-size: 24px;
	line-height: 1.25;
	color: var(--text);
	margin-bottom: 16px;
}

/* Accent display line above the title proper ("SPARK®" / "ROK"). */
.FeatureCards_brand__DqLU3 {
	display: block;
	font-size: 30px;
	line-height: 1.1;
	letter-spacing: -1px;
	color: var(--accent);
	margin-bottom: 6px;
}

.FeatureCards_description__Dmskr {
	color: var(--text-muted);
	align-self: stretch;
}

.FeatureCards_description__Dmskr p {
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}

.FeatureCards_description__Dmskr p + p {
	margin-top: 16px;
}

/*
	Bullet list inside the description rich text. "+" markers — the grit
	differentiator from the global red dots, still --accent so they invert with
	the theme. Neutralizer block first (globals scope list styling to
	`.wrapper ul`; these are one class deeper to outrank it).
*/
.FeatureCards_wrapper__qL8gB .FeatureCards_description__Dmskr ul {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	font-size: inherit;
}

.FeatureCards_wrapper__qL8gB .FeatureCards_description__Dmskr li {
	position: relative;
	margin: 0 0 12px;
	padding-left: 24px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-muted);
}

.FeatureCards_wrapper__qL8gB .FeatureCards_description__Dmskr li::before {
	content: "+";
	position: absolute;
	left: 0;
	top: 0;
	width: auto;
	height: auto;
	background: none;
	border-radius: 0;
	font-weight: bold;
	color: var(--accent);
}

.FeatureCards_wrapper__qL8gB .FeatureCards_description__Dmskr li:last-child {
	margin-bottom: 0;
}

/* -- CARD CTA ------------------------------------------------------------ */

/*
	margin-top: auto pins the CTA to the card foot so rules line up across a row
	(the Numbered .tag trick); the content above keeps its own bottom margin so
	the minimum gap holds on the tallest card.
*/
.FeatureCards_cardCta__vGLPS {
	margin-top: auto;
	align-self: stretch;
	padding-top: 18px;
	border-top: 1px solid var(--rule);
	font-size: 15px;
	font-weight: bold;
	color: var(--accent);
	display: flex;
	align-items: center;
	gap: 8px;
	transition: var(--short-transition);
}

.FeatureCards_description__Dmskr + .FeatureCards_cardCta__vGLPS {
	margin-top: 24px;
}

.FeatureCards_card__ebLYo:hover .FeatureCards_cardCta__vGLPS {
	gap: 12px;
}

.FeatureCards_cardCta__vGLPS::after {
	content: "→";
}

@media screen and (max-width: 1024px) {
	.FeatureCards_wrapper__qL8gB {
		padding: 80px 20px;
	}

	.FeatureCards_header__C5EGs {
		margin-bottom: 50px;
	}

	.FeatureCards_grid__pQyjy[data-columns="wide"] {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 768px) {
	.FeatureCards_wrapper__qL8gB {
		padding: 60px 20px;
	}

	.FeatureCards_header__C5EGs {
		gap: 16px;
		margin-bottom: 40px;
	}

	.FeatureCards_grid__pQyjy,
	.FeatureCards_grid__pQyjy[data-columns="wide"] {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.FeatureCards_body__MtvEH {
		padding: 28px 22px 24px;
	}
}


/*# sourceMappingURL=6e74e384980b2ca5.css.map*/