

.services-archive {
	padding-top: var(--sp-12);
}

.svc-group + .svc-group {
	margin-top: var(--sp-16);
}

.svc-group__head {
	max-width: 720px;
	margin-bottom: var(--sp-8);
}

.svc-group__title {
	font-family: var(--font-display);
	font-size: var(--fs-2xl);
	line-height: 1.15;
	letter-spacing: -0.02em;
	margin: 0 0 var(--sp-3);
}

.svc-group__desc {
	font-size: var(--fs-base);
	color: var(--text-2);
	line-height: 1.6;
	margin: 0;
}

.services-grid--archive {
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.services-grid--archive { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.services-grid--archive { grid-template-columns: repeat(3, 1fr); }
}

.services-grid--archive .svc-card {
	padding: var(--sp-6);
	gap: var(--sp-4);
}
@media (min-width: 1024px) {
	.services-grid--archive .svc-card__title { font-size: var(--fs-lg); }
}

.services-archive-cta {
	padding-top: 0;
}

.services-cta__panel {
	display: grid;
	gap: var(--sp-6);
	align-items: center;
	padding: var(--sp-10);
	border-radius: var(--r-xl);
	background: var(--raised);
	border: 1px solid var(--border);
	position: relative;
	overflow: hidden;
}
.services-cta__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 140% at 100% 0%, rgba(249, 2, 42, 0.14), transparent 60%);
	pointer-events: none;
}
.services-cta__panel > * { position: relative; z-index: 1; }

.services-cta__panel h2 {
	font-family: var(--font-display);
	font-size: var(--fs-3xl);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 var(--sp-4);
}

.services-cta__lede {
	font-size: var(--fs-base);
	color: var(--text-2);
	line-height: 1.6;
	margin: 0;
	max-width: 56ch;
}

@media (min-width: 900px) {
	.services-cta__panel {
		grid-template-columns: 1fr auto;
		gap: var(--sp-10);
		padding: var(--sp-12);
	}
}

.single-service__body {
	font-size: var(--fs-lg);
	line-height: 1.8;
	color: var(--text-2);
}
.single-service__body > * + * { margin-top: var(--sp-5); }
.single-service__body h2,
.single-service__body h3 {
	color: var(--text);
	margin-top: var(--sp-8);
}
.single-service__body img {
	border-radius: var(--r-lg);
	border: 1px solid var(--border);
}

.single-service__cta {
	margin-top: var(--sp-12);
	padding: var(--sp-8);
	border-radius: var(--r-xl);
	background: var(--raised);
	border: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	gap: var(--sp-5);
	align-items: flex-start;
}
@media (min-width: 720px) {
	.single-service__cta {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
.single-service__cta h2 {
	font-family: var(--font-display);
	font-size: var(--fs-2xl);
	margin: 0 0 var(--sp-2);
}
.single-service__cta p {
	color: var(--text-2);
	margin: 0;
	max-width: 46ch;
}
.single-service__cta .btn { flex-shrink: 0; }
