.jm-template-products .jm-site-shell {
	padding-bottom: var(--jm-space-xl);
	padding-top: var(--jm-space-md);
}

.jm-hub-layout {
	display: flex;
	flex-direction: column;
	gap: clamp(1.25rem, 2vw, 2rem);
	justify-items: start;
}

.jm-hub-layout__content {
	background: rgba(21, 25, 34, 0.92);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--jm-radius-panel);
	max-width: 100%;
	padding: clamp(1.5rem, 2.25vw, 2.25rem);
	width: 100%;
}

.jm-routing-grid {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: var(--jm-space-md);
	width: 100%;
}

.jm-routing-grid > * {
	flex: 1 1 100%;
	min-width: 0;
}

.jm-template-service .jm-page-shell > * + * {
	margin-top: var(--jm-space-lg);
}

.jm-template-taxonomy .jm-reading-column {
	max-width: none;
}

.jm-template-products .jm-page-title {
	font-size: clamp(3rem, 5vw, 4.75rem);
}

.jm-template-products .jm-page-summary {
	color: var(--jm-color-muted);
	font-size: 1.125rem;
	line-height: 1.7;
	max-width: 72ch;
}

.jm-template-products .jm-routing-tile {
	min-height: clamp(208px, 19vw, 252px);
}

.jm-template-products .jm-routing-tile__title {
	font-size: clamp(1.625rem, 2.2vw, 2.25rem);
}

.jm-template-products .jm-routing-tile__descriptor,
.jm-template-products .jm-routing-tile__hover,
.jm-template-products .jm-routing-tile__cta {
	font-size: 1rem;
	line-height: 1.5;
}

.jm-template-products .jm-routing-tile__link {
	gap: var(--jm-space-sm);
	padding: clamp(1.25rem, 2vw, 1.75rem);
}

@media (min-width: 768px) {
	.jm-routing-grid > * {
		flex-basis: calc(50% - (var(--jm-space-lg) / 2));
	}
}

@media (min-width: 1024px) {
	body.jm-template-products {
		overflow-x: hidden;
		overflow-y: auto;
	}

	.jm-template-products .jm-page-shell--class-a {
		min-height: auto;
	}

	.jm-hub-layout {
		align-content: start;
		gap: var(--jm-space-lg);
		min-height: auto;
	}

	.jm-routing-grid > * {
		flex-basis: calc(50% - (var(--jm-space-lg) / 2));
	}
}

.jm-template-about .jm-reading-column__inner {
	max-width: none;
}
