/* Extra page-section layouts (CTA band, role cards, contact block) */

.cta-band-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.cta-band-copy h2 {
	margin: 0 0 8px;
	font-size: clamp(1.25rem, 3vw, 1.75rem);
}

.cta-band-copy p {
	margin: 0;
	max-width: 560px;
	color: var(--on-surface-variant, #45464d);
}

.cta-band--dark {
	background: var(--primary-container, #131b2e);
	color: var(--inverse-on-surface, #eff1f3);
}

.cta-band--dark .cta-band-copy p {
	color: rgba(239, 241, 243, 0.85);
}

.cta-band-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.role-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}

.role-card .btn {
	margin-top: 16px;
}

.contact-block-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
}

.contact-block-card a {
	color: var(--secondary, #006c49);
	font-weight: 600;
	text-decoration: none;
}

.contact-block-card a:hover {
	text-decoration: underline;
}

@media (max-width: 640px) {
	.cta-band-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.cta-band-actions {
		width: 100%;
		flex-direction: column;
	}

	.cta-band-actions .btn {
		width: 100%;
	}
}
