.courses-private {
	padding-block: clamp(6rem, 11vw, 10rem);
	background: #f1f2f3;
	color: #111;
}

.courses-private__header {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--grid-gap);
	margin-bottom: clamp(4rem, 8vw, 7rem);
}

.courses-private__eyebrow {
	grid-column: 1 / span 3;
	margin: 0;
	padding-top: 0.7rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.courses-private__eyebrow::before {
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-right: 0.7rem;
	border-radius: 0.12rem;
	background: var(--color-accent, #d52b22);
	content: "";
}

.courses-private__title {
	grid-column: 4 / -1;
	max-width: 14ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 7rem);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.055em;
	text-wrap: balance;
}

.courses-private__layout {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: start;
	gap: var(--grid-gap);
}

.courses-private__intro {
	grid-column: 1 / span 4;
}

.courses-private__intro p {
	max-width: 28rem;
	margin: 0 0 2rem;
	font-size: clamp(1.1rem, 1.6vw, 1.4rem);
	line-height: 1.55;
}

.courses-private__steps {
	grid-column: 6 / -1;
	border-top: 1px solid rgba(17, 17, 17, 0.28);
}

.courses-private__step {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: 1rem;
	padding-block: 2rem;
	border-bottom: 1px solid rgba(17, 17, 17, 0.28);
}

.courses-private__number {
	padding-top: 0.2rem;
	font-size: 0.65rem;
	font-weight: 700;
	color: rgba(17, 17, 17, 0.5);
}

.courses-private__step h3 {
	margin: 0;
	font-size: clamp(1.4rem, 2vw, 2rem);
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.courses-private__step p {
	max-width: 38rem;
	margin: 0.8rem 0 0;
	font-size: 0.95rem;
	line-height: 1.65;
	color: rgba(17, 17, 17, 0.7);
}

@media (max-width: 767px) {
	.courses-private__header,
	.courses-private__layout {
		display: block;
	}

	.courses-private__title {
		margin-top: 2rem;
	}

	.courses-private__intro {
		margin-bottom: 4rem;
	}
}

.courses-private__title-word {
	display: inline-block;
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.courses-private__eyebrow,
	.courses-private__title-word,
	.courses-private__intro > *,
	.courses-private__step > * {
		opacity: 1 !important;
		transform: none !important;
	}
}