/* RD Services block — all selectors scoped/prefixed so this never touches theme styles */

.rd-services {
	--rd-ink: #16223F;
	--rd-muted: #5B6779;
	--rd-alarm: #E23127;
	--rd-steel: #3F6699;
	--rd-rule: #CFD6E0;
	--rd-rule-soft: #E2E7EE;
	--rd-display: "Museo Sans Rounded", "Museo Sans", Nunito, "Segoe UI", system-ui, sans-serif;
	--rd-data: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
	--rd-body: "Museo Sans Rounded", "Museo Sans", Nunito, "Segoe UI", system-ui, sans-serif;
	--rd-wrap: 1400px;
	--rd-gut: clamp(20px, 5vw, 56px);

	background: #fff;
	font-family: var(--rd-body);
	color: var(--rd-ink);
	padding: clamp(54px, 6.5vw, 92px) 0;
}

.rd-services *,
.rd-services *::before,
.rd-services *::after {
	box-sizing: border-box;
}

.rd-services .rd-wrap {
	max-width: var(--rd-wrap);
	margin-inline: auto;
	padding-inline: var(--rd-gut);
}

.rd-services h2 {
	font-family: var(--rd-display);
	font-weight: 900;
	font-size: clamp(29.6px, 3.5vw, 44.8px);
	letter-spacing: -.02em;
	line-height: 1.05;
	margin: 0 0 16px;
}

.rd-services p {
	margin: 0 0 1.1em;
}

.rd-sec__head {
	max-width: 760px;
	margin-bottom: clamp(28px, 4vw, 46px);
}

.rd-sec__head p {
	color: var(--rd-muted);
	margin-bottom: 0;
}

.rd-services .rd-tag {
	font-family: var(--rd-data);
	font-size: 11.2px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--rd-alarm);
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
}

.rd-services .rd-tag::before {
	content: "";
	width: 9px;
	height: 9px;
	background: var(--rd-alarm);
	flex: none;
}

/* photo cards */
.rd-svc-photos {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}

.rd-svc-photo {
	border: 1px solid var(--rd-rule);
	background: #fff;
	text-decoration: none;
	display: block;
	color: inherit;
	transition: transform .18s ease, box-shadow .18s ease;
}

.rd-svc-photo img {
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	display: block;
	max-width: none;
}

.rd-svc-photo > div {
	padding: 16px 18px 18px;
}

.rd-svc-photo h3 {
	font-family: var(--rd-display);
	font-weight: 800;
	font-size: 16.32px;
	margin: 0 0 6px;
}

.rd-svc-photo p {
	margin: 0;
	font-size: 14.08px;
	color: var(--rd-muted);
	line-height: 1.5;
}

.rd-svc-photo:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 30px -22px rgba(22, 34, 63, .55);
}

.rd-svc-photo:hover h3 {
	color: var(--rd-alarm);
}

/* text cards */
.rd-svcs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--rd-rule-soft);
	border: 1px solid var(--rd-rule-soft);
}

.rd-svc {
	background: #fff;
	padding: 26px;
	transition: background .15s ease;
}

.rd-svc:hover {
	background: #F7F9FB;
}

.rd-svc h3 {
	font-family: var(--rd-display);
	font-weight: 800;
	font-size: 16.64px;
	margin: 0 0 8px;
}

.rd-svc-body {
	margin: 0;
	font-size: 14.72px;
	color: var(--rd-muted);
	line-height: 1.55;
}

.rd-svc-body p:last-child {
	margin-bottom: 0;
}

.rd-svc-body a {
	color: var(--rd-steel);
	font-weight: 800;
	text-decoration: underline;
}

@media (max-width: 1040px) {
	.rd-svc-photos,
	.rd-svcs {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 720px) {
	.rd-svc-photos,
	.rd-svcs {
		grid-template-columns: 1fr;
	}
}
