/* ==========================================================================
   Academy Page
   ========================================================================== */

/* Academy Hero
--------------------------------------------- */
.academy-hero {
	background: #fff;
	padding: 70px 0;
	border-bottom: 1px solid rgba(76, 70, 69, 0.2);
}

.academy-hero__grid {
	display: grid;
	grid-template-columns: 1fr 3fr;
	gap: 2rem;
	align-items: center;
}

.academy-hero__label {
	font-family: "Geist", sans-serif;
	font-size: clamp(1rem, 1.5vw, 1.375rem);
	font-weight: 300;
	color: #4C4645;
	border: 1px solid #4C4645;
	border-radius: 100px;
	padding: 8px 20px;
	white-space: nowrap;
	align-self: center;
	justify-self: start;
}

.academy-hero__heading {
	font-family: "Geist", sans-serif;
	font-size: clamp(2.25rem, 5.5vw, 5rem);
	font-weight: 300;
	color: #4C4645;
	line-height: 1.1;
	margin: 0;
}

/* Academy Intro
--------------------------------------------- */
.academy-intro {
	padding: 5rem 0 6rem;
}

.academy-intro__lead {
	font-family: "Geist", sans-serif;
	font-size: clamp(1.5rem, 3vw, 2.8125rem);
	font-weight: 300;
	color: #4C4645;
	line-height: 1.3;
	margin-bottom: 3rem;
}

.academy-divider {
	border: none;
	border-top: 1px solid rgba(76, 70, 69, 0.2);
	margin: 0 0 3rem;
	opacity: 1;
}

.academy-intro__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
}

.academy-intro__body {
	font-family: "Geist", sans-serif;
	font-size: clamp(1rem, 1.5vw, 1.5625rem);
	font-weight: 300;
	color: #4C4645;
	line-height: 1.6;
	margin: 0;
}

.academy-intro__logo-wrap {
	display: flex;
	justify-content: flex-end;
}

.academy-intro__logo {
	width: 100%;
	max-width: 267px;
	display: block;
}

/* Academy Courses — Sticky Stack
--------------------------------------------- */

/*
 * How it works: cards are direct siblings, all position:sticky top:0.
 * Each card starts at the bottom of the previous one in normal flow.
 * As you scroll, card N slides up over card N-1 (higher z-index = on top).
 * min-height on the parent gives the last card enough room to stay stuck.
 */
.academy-courses {
	min-height: calc(100vh); /* 100vh extra keeps last card sticky */
}

.academy-course {
	position: sticky;
	top: 0;
	height: 622px;
	background: #fff;
	display: flex;
	align-items: center;
}

.academy-course:nth-child(1) { z-index: 1; }
.academy-course:nth-child(2) { z-index: 2; border-top: 1px solid rgba(76, 70, 69, 0.2); }
.academy-course:nth-child(3) { z-index: 3; border-top: 1px solid rgba(76, 70, 69, 0.2); }

/* Number — absolutely positioned far right within container */
.academy-course__number {
	/* position: absolute;
	top: 0;
	right: 0; */
	font-family: "Geist", sans-serif;
	font-size: clamp(2.5rem, 4vw, 3.75rem);
	font-weight: 300;
	color: #4C4645;
	line-height: 1;
	margin: 0;
	padding-bottom: 40px;
}

/* Section 01: two-column with image */
.academy-course__grid {
	display: grid;
	grid-template-columns: 1fr 368px;
	gap: 3rem;
	align-items: flex-start;
	margin-top: 50px;
}

.academy-course__title {
	font-family: "Geist", sans-serif;
	font-size: clamp(2rem, 4vw, 3.75rem);
	font-weight: 300;
	color: #4C4645;
	line-height: 1.1;
	margin-bottom: 60px;
	margin-top:0;
}

.academy-course__media{
	    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.academy-course__desc {
	font-family: "Geist", sans-serif;
	font-size: clamp(1rem, 2vw, 1.875rem);
	font-weight: 400;
	color: #4C4645;
	line-height: 1.4;
	max-width: 490px;
	margin-bottom: 2rem;
}

.academy-course__img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
}

.btn--dark {
	font-family: "Geist", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	color: #fff;
	background: #4C4645;
	border: 1px solid #4C4645;
	border-radius: 100px;
	padding: 0.5rem 1.5rem;
	text-decoration: none;
	display: inline-block;
	transition: all 0.2s ease;
}

.btn--dark:hover {
	background: transparent;
	color: #4C4645;
}

@media (max-width: 768px) {
	.academy-hero__grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.academy-intro__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.academy-intro__logo-wrap {
		justify-content: flex-start;
	}

	.academy-course {
		height: auto;
		min-height: 480px;
		padding: 3rem 0;
	}

	.academy-course__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.academy-course__number {
		font-size: 2rem;
	}
}
