/**
 * Who We Serve layout — audience card grid on cream.
 * Typography via utility classes in markup; this file keeps layout + structure.
 */

.flexible-section.serve {
	background: var(--color-bg);
}

.serve-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(15.5px, 0.766vw + 12.74px, 25px);
}

.serve-card {
	background: var(--color-card);
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-navy-deep);
	border-radius: var(--radius-card);
	padding: clamp(27.9px, 1.379vw + 22.94px, 45px) clamp(21.7px, 1.073vw + 17.84px, 35px);
}

.serve-eyebrow {
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.serve-title {
	margin-bottom: 12px;
}

.serve-desc {
	margin-bottom: clamp(14px, 0.7vw + 11.5px, 22.5px);
}

.serve-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: clamp(15.5px, 0.766vw + 12.74px, 25px);
}

.serve-tag {
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 20px;
	padding: 4px 12px;
}

.serve-link {
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
}

.serve-link:hover {
	color: var(--color-gold2);
}

@media (max-width: 1024px) {
	.serve-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.serve-grid { grid-template-columns: 1fr; }
}
