/* Text + Image module */
.text-image__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 56px;
	align-items: start;
}
.text-image--img-left .text-image__text { order: 2; }
.text-image--img-left .text-image__media { order: 1; }

.text-image__heading { margin-top: 10px; }
.text-image__content { margin-top: 16px; color: var(--muted); }
.text-image__content p + p { margin-top: 14px; }
.text-image__sublabel { margin-top: 24px; font-size: 1.125rem; }
.text-image__service-list {
	margin-top: 12px; padding: 0; list-style: none;
	display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px;
}
.text-image__service-list li {
	font-size: 1rem; color: var(--ink);
	padding-left: 22px; position: relative;
}
.text-image__service-list li::before {
	content: ""; position: absolute; left: 0; top: 8px;
	width: 12px; height: 12px;
	background: var(--teal); opacity: 0.18;
	box-shadow: 0 0 0 2px var(--teal) inset;
}
.text-image__actions { margin-top: 22px; display: flex; gap: 12px; flex-wrap: wrap; }

.text-image__figure { margin: 0; overflow: hidden; box-shadow: 0 0 0 1px var(--line) inset; }
.text-image__image { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }

@media (max-width: 900px) {
	.text-image__grid { grid-template-columns: 1fr; gap: 32px; }
	.text-image--img-left .text-image__text { order: 2; }
	.text-image--img-left .text-image__media { order: 1; }
	.text-image__service-list { grid-template-columns: 1fr; }
}
