/*
 * Reusable UI components for FTP-first page building.
 * Keep this file cross-page and framework-agnostic.
 */

.fpc-section {
	padding: clamp(3rem, 5vw, 6rem) 0;
}

.fpc-stack {
	display: grid;
	gap: clamp(0.9rem, 1.8vw, 1.5rem);
}

.fpc-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--font-size-ui-kicker);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-primary);
}

.fpc-kicker::before {
	content: "";
	width: 24px;
	height: 2px;
	background: var(--color-highlight);
}

.fpc-lead {
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	line-height: 1.65;
	color: color-mix(in srgb, var(--color-text) 84%, white 16%);
}

.fpc-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
}

.fpc-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
}

.fpc-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.7rem;
	border-radius: 999px;
	border: 1px solid var(--color-border-soft);
	font-size: var(--font-size-ui-badge);
	font-weight: 700;
	color: var(--color-primary);
	background: var(--color-bg-white);
}

.fpc-highlight {
	color: var(--color-highlight);
}

@media (max-width: 900px) {
	.fpc-grid-2,
	.fpc-grid-3 {
		grid-template-columns: 1fr;
	}
}
