/* Block: Service Cards */
.block--service-cards .service-cards__heading {
	margin-bottom: 2.5rem;
	text-align: center;
}

.block--service-cards .service-cards__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

.block--service-cards .service-cards__card {
	display: flex;
	flex-direction: column;
	background: var(--color-space);
	color: var(--color-ivory);
	border-radius: 14px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
}
/* Alternating panel backgrounds. Mobile (1 column): simple alternation.
   Desktop (2 columns): a checkerboard, so no two adjacent cards share a colour. */
.block--service-cards .service-cards__card:nth-child(even) {
	background: var(--color-oxford);
}
@media (min-width: 721px) {
	.block--service-cards .service-cards__card:nth-child(even) { background: var(--color-space); }
	.block--service-cards .service-cards__card:nth-child(4n+2),
	.block--service-cards .service-cards__card:nth-child(4n+3) {
		background: var(--color-oxford);
	}
}

/* Body grows so the footer (logo + button) sits flush at the bottom of every
   card, keeping the row of buttons aligned regardless of text length. */
.block--service-cards .service-cards__body { flex: 1 1 auto; }

.block--service-cards .service-cards__eyebrow {
	color: var(--color-ivory); /* ivory, overriding the global terracotta eyebrow */
	font-size: 0.7125rem;
	margin-bottom: 1rem;
}

.block--service-cards .service-cards__title {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	line-height: 1.2;
	color: var(--color-white);
	margin-bottom: 1.1rem;
}

.block--service-cards .service-cards__text {
	color: rgba(239, 233, 222, 0.82);
	font-size: 1rem;
	line-height: 1.6;
}
.block--service-cards .service-cards__text p { margin-bottom: 0.9rem; }
.block--service-cards .service-cards__text p:last-child { margin-bottom: 0; }

.block--service-cards .service-cards__footer {
	display: flex;
	flex-wrap: wrap; /* logo + button share a row when they fit, else button drops below */
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.block--service-cards .service-cards__logo {
	display: inline-flex;
	align-items: center;
	min-width: 0; /* let the logo shrink instead of pushing the button off-card */
}
.block--service-cards .service-cards__logo-img {
	/* Logos are wide horizontals of similar width, so constrain by width and
	   cap the height so a taller logo can't tower over a thin one. */
	width: auto;
	height: auto;
	max-width: 165px;
	max-height: 52px;
	object-fit: contain;
}
.block--service-cards .service-cards__logo--empty { min-height: 38px; } /* keep the button aligned when no logo */

/* Keep the CTA on one line and stop it shrinking. */
.block--service-cards .service-cards__footer .c-button {
	flex: 0 0 auto;
	text-align: center;
}

@media (max-width: 720px) {
	.block--service-cards .service-cards__grid { grid-template-columns: 1fr; }
}

