.hub-card-grid {
	padding: var(--fg-section-padding-y) var(--fg-space-4);
}

.hub-card-grid__inner {
	width: min(100%, var(--fg-content-6xl));
	margin: 0 auto;
}

.hub-card-grid__header {
	width: min(100%, var(--fg-content-4xl));
	margin: 0 auto var(--fg-space-10);
	text-align: center;
}

.hub-card-grid__eyebrow,
.hub-grouped-card-grid__eyebrow,
.hub-crosslink-band__eyebrow {
	margin: 0 0 var(--fg-space-3);
	color: var(--fg-color-muted);
	font-size: var(--fg-text-xs);
	font-weight: var(--fg-weight-semibold);
	line-height: var(--fg-leading-tight);
	letter-spacing: var(--fg-tracking-section);
	text-transform: uppercase;
}

.hub-card-grid__title,
.hub-grouped-card-grid__title,
.hub-crosslink-band__title {
	margin: 0;
	color: var(--fg-color-text);
	font-size: clamp(var(--fg-text-3xl), 3vw, var(--fg-text-4xl));
	font-weight: var(--fg-weight-bold);
	line-height: var(--fg-leading-tight);
	letter-spacing: var(--fg-tracking-tight);
	text-wrap: balance;
}

.hub-card-grid__intro,
.hub-grouped-card-grid__intro {
	margin: var(--fg-space-4) 0 0;
	color: var(--fg-color-muted);
	font-size: var(--fg-text-base);
	line-height: var(--fg-leading-relaxed);
	text-wrap: pretty;
}

.hub-card-grid__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--fg-space-4);
}

.hub-card-grid__card {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: var(--fg-space-4);
	align-items: flex-start;
	min-height: 100%;
	padding: var(--fg-space-6);
	border: var(--fg-border-width) solid var(--fg-color-border);
	border-radius: var(--fg-radius-card);
	background: var(--fg-color-background);
	color: var(--fg-color-text);
	text-decoration: none;
	box-shadow: var(--fg-shadow-card);
	transition: border-color var(--fg-transition-fast), transform var(--fg-transition-fast), box-shadow var(--fg-transition-fast);
}

.hub-card-grid__card:hover {
	border-color: var(--fg-color-text-30);
	transform: translateY(calc(var(--fg-space-1) * -1));
	box-shadow: var(--fg-shadow-md);
}

.hub-card-grid__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--fg-space-12);
	height: var(--fg-space-12);
	border-radius: var(--fg-radius-lg);
	background: var(--fg-color-muted-surface);
	color: var(--fg-color-text);
}

.hub-card-grid__icon-svg,
.hub-card-grid__arrow {
	width: var(--fg-space-5);
	height: var(--fg-space-5);
}

.hub-card-grid__arrow {
	margin-top: var(--fg-space-1);
	color: var(--fg-color-muted);
	transition: transform var(--fg-transition-fast), color var(--fg-transition-fast);
}

.hub-card-grid__card:hover .hub-card-grid__arrow {
	color: var(--fg-color-text);
	transform: translateX(var(--fg-space-1));
}

.hub-card-grid__content {
	display: grid;
	gap: var(--fg-space-2);
}

.hub-card-grid__label {
	color: var(--fg-color-muted);
	font-size: var(--fg-text-xs);
	font-weight: var(--fg-weight-semibold);
	line-height: var(--fg-leading-tight);
	letter-spacing: var(--fg-tracking-kicker);
	text-transform: uppercase;
}

.hub-card-grid__heading {
	color: var(--fg-color-text);
	font-size: var(--fg-text-lg);
	font-weight: var(--fg-weight-semibold);
	line-height: var(--fg-leading-snug);
}

.hub-card-grid__body {
	color: var(--fg-color-muted);
	font-size: var(--fg-text-sm);
	line-height: var(--fg-leading-relaxed);
}

@media (max-width: 767px) {
	.hub-card-grid {
		padding-top: var(--fg-space-12);
		padding-bottom: var(--fg-space-12);
	}

	.hub-card-grid__grid {
		grid-template-columns: 1fr;
	}

	.hub-card-grid__card {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.hub-card-grid__arrow {
		display: none;
	}
}
