/**
 * Services grid.
 *
 * Cards carry a picture when the page has a featured image and a typographic
 * block in the brand blue when it does not, so the grid looks deliberate
 * either way instead of showing empty frames.
 */

.efy-services {
	display: grid;
	gap: 1.75rem;
	grid-template-columns: 1fr;
	margin: 2.5rem 0 3rem;
}

/* Two columns, not four: with four the cards were narrow enough that the
   summaries broke into slivers of text. */
@media (min-width: 700px) {
	.efy-services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
	}
}

.efy-service {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
	border: 1px solid rgba(6, 56, 75, 0.1);
	text-decoration: none;
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.efy-service:hover,
.efy-service:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(6, 56, 75, 0.13);
	border-color: rgba(6, 56, 75, 0.2);
}

.efy-service__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--efy-blue-deep, #06384b);
}

.efy-service__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.efy-service:hover .efy-service__media img {
	transform: scale(1.04);
}

/* No photograph yet: a quiet brand-coloured panel with a hairline motif, so
   the card still reads as designed rather than unfinished. */
.efy-service--plain .efy-service__media {
	background-image:
		radial-gradient(circle at 30% 35%, rgba(255, 255, 255, 0.14) 0 38%, transparent 38%),
		radial-gradient(circle at 72% 68%, rgba(255, 255, 255, 0.08) 0 26%, transparent 26%);
	aspect-ratio: 4 / 2.2;
}

.efy-service__body {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.4rem 1.4rem 1.6rem;
	flex: 1;
}

.efy-service__name {
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--efy-blue-deep, #06384b);
}

.efy-service__summary {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--global-palette4, #666);
	flex: 1;
}

.efy-service__more {
	margin-top: 0.4rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--global-palette1, #0077a6);
}

.efy-service__more::after {
	content: " →";
	transition: margin 0.2s ease;
}

.efy-service:hover .efy-service__more::after {
	margin-left: 0.3em;
}
