.home-courses {
	background: var(--color-dark);
	color: var(--color-white);
}

.home-courses__header {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--grid-gap);
	margin-bottom: var(--space-lg);
}

.home-courses__eyebrow {
	grid-column: 1 / span 3;
	padding-top: 0.7rem;
	color: var(--color-muted);
}

.home-courses__heading {
	display: grid;
	grid-column: 4 / -1;
	grid-template-columns: repeat(9, minmax(0, 1fr));
	gap: var(--grid-gap);
}

.home-courses__heading h2 {
	grid-column: 1 / -1;
	max-width: 17ch;
	font-size: clamp(2.8rem, 5vw, 6.2rem);
}

.home-courses__heading p {
	grid-column: 6 / -1;
	margin-top: var(--space-md);
	color: var(--color-muted);
	font-size: var(--text-medium);
}

.home-courses__list {
	border-bottom: 1px solid var(--color-border);
}

.home-courses__item {
	border-top: 1px solid var(--color-border);
}

.home-courses__link {
	display: grid;
	grid-template-columns: 4rem minmax(0, 2fr) minmax(15rem, 1fr) 4rem;
	align-items: center;
	gap: var(--grid-gap);
	padding: clamp(1.5rem, 3vw, 3rem) 1rem;
	transition:
		padding-inline var(--transition-base),
		background-color var(--transition-base);
}

.home-courses__link:hover,
.home-courses__link:focus-visible {
	padding-inline: 2rem;
	background: var(--color-accent);
}

.home-courses__number {
	align-self: start;
	padding-top: 0.45rem;
	font-size: var(--text-small);
	font-weight: 700;
}

.home-courses__name {
	font-size: clamp(2.5rem, 5vw, 5.3rem);
	letter-spacing: -0.055em;
	line-height: 0.9;
}

.home-courses__meta {
	color: var(--color-muted);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	transition: color var(--transition-fast);
}

.home-courses__link:hover .home-courses__meta,
.home-courses__link:focus-visible .home-courses__meta {
	color: var(--color-white);
}

.home-courses__arrow {
	display: grid;
	width: 3.5rem;
	height: 3.5rem;
	place-items: center;
	justify-self: end;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 0.75rem;
	font-size: 1.25rem;
	transition:
		background-color var(--transition-base),
		color var(--transition-base);
}

.home-courses__link:hover .home-courses__arrow {
	background: var(--color-white);
	color: var(--color-dark);
}

.home-courses__footer {
	display: flex;
	justify-content: flex-end;
	margin-top: var(--space-lg);
}

@media (max-width: 959px) {
	.home-courses__eyebrow,
	.home-courses__heading {
		grid-column: 1 / -1;
	}

	.home-courses__heading {
		margin-top: 2rem;
	}

	.home-courses__heading p {
		grid-column: 1 / -1;
	}

	.home-courses__link {
		grid-template-columns: 2.5rem minmax(0, 1fr) auto;
	}

	.home-courses__meta {
		grid-row: 2;
		grid-column: 2;
	}

	.home-courses__arrow {
		grid-row: 1 / span 2;
		grid-column: 3;
	}

	.home-courses__footer .button {
		width: 100%;
	}
}

@media (max-width: 599px) {
	.home-courses__link {
		padding-inline: 0;
	}

	.home-courses__link:hover {
		padding-inline: 0.75rem;
	}

	.home-courses__name {
		font-size: clamp(2rem, 10vw, 3.5rem);
	}

	.home-courses__arrow {
		width: 3rem;
		height: 3rem;
	}
}

.home-courses__title-word {
	display: inline-block;
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.home-courses__title-word {
		opacity: 1 !important;
		transform: none !important;
	}
}