/* ==========================================================================
   SSI COURSES PAGE
   ========================================================================== */

.ssi-courses-page {
	position: relative;
	overflow: hidden;
	color: var(--ssi-color-primary);
	background: #ffffff;
}


/* ==========================================================================
   PAGE HERO
   ========================================================================== */

.ssi-courses-page__hero {
	position: relative;
	overflow: hidden;
	min-height: 700px;
	display: flex;
	align-items: center;
	isolation: isolate;

	background:
		linear-gradient(
			135deg,
			#ffffff 0%,
			#fbfdff 42%,
			#f3f7ff 100%
		);
}

.ssi-courses-page__hero-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	overflow: hidden;
	pointer-events: none;
}

.ssi-courses-page__hero-bg::before {
	content: "";

	position: absolute;
	inset: -25%;

	background:
		radial-gradient(
			ellipse 48% 62% at 8% 44%,
			rgba(
				245,
				190,
				74,
				0.15
			),
			transparent 70%
		),

		radial-gradient(
			ellipse 58% 70% at 78% 30%,
			rgba(
				59,
				130,
				246,
				0.20
			),
			transparent 70%
		),

		radial-gradient(
			ellipse 50% 45% at 66% 78%,
			rgba(
				96,
				105,
				214,
				0.11
			),
			transparent 72%
		);

	animation:
		ssiCoursesHeroAurora
		20s
		ease-in-out
		infinite alternate;
}

.ssi-courses-page__hero-bg::after {
	content: "";

	position: absolute;

	width: 760px;
	height: 760px;

	left: 70%;
	top: 50%;

	transform:
		translate(
			-50%,
			-50%
		);

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(
				255,
				255,
				255,
				0.90
			) 0%,
			rgba(
				215,
				231,
				255,
				0.48
			) 35%,
			rgba(
				178,
				208,
				255,
				0.12
			) 56%,
			transparent 74%
		);

	filter:
		blur(
			18px
		);

	animation:
		ssiCoursesHeroPulse
		9s
		ease-in-out
		infinite alternate;
}

.ssi-courses-page__hero-grid {
	position: absolute;
	inset: 0;

	opacity: 0.28;

	background-image:
		linear-gradient(
			rgba(
				15,
				23,
				42,
				0.035
			) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(
				15,
				23,
				42,
				0.035
			) 1px,
			transparent 1px
		);

	background-size: 50px 50px;

	mask-image:
		linear-gradient(
			to bottom,
			black,
			transparent 92%
		);
}

.ssi-courses-page__hero-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(18px);
	pointer-events: none;
}

.ssi-courses-page__hero-orb--one {
	width: 420px;
	height: 420px;

	left: -220px;
	bottom: -210px;

	background:
		radial-gradient(
			circle,
			rgba(
				245,
				190,
				74,
				0.16
			),
			transparent 72%
		);

	animation:
		ssiCoursesGoldFloat
		12s
		ease-in-out
		infinite alternate;
}

.ssi-courses-page__hero-orb--two {
	width: 460px;
	height: 460px;

	right: -230px;
	top: -220px;

	background:
		radial-gradient(
			circle,
			rgba(
				59,
				130,
				246,
				0.15
			),
			transparent 72%
		);

	animation:
		ssiCoursesBlueFloat
		14s
		ease-in-out
		infinite alternate;
}

.ssi-courses-page__hero-container {
	position: relative;

	width: min(
		100%,
		1200px
	);

	margin: 0 auto;

	padding:
		95px
		24px
		100px;

	display:
		grid;

	grid-template-columns:
		minmax(
			0,
			1fr
		)
		minmax(
			420px,
			0.9fr
		);

	gap: 55px;

	align-items: center;
}

.ssi-courses-page__hero-content {
	max-width: 700px;
}

.ssi-courses-page__hero-content .ssi-eyebrow {
	display: inline-flex;
	margin-bottom: 20px;
}

.ssi-courses-page__hero-content h1 {
	margin:
		0
		0
		22px;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		clamp(
			3.5rem,
			6vw,
			5.9rem
		);

	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.065em;
	color: #0b1f3a;
}

.ssi-courses-page__hero-content h1 span {
	display: block;

	background:
		linear-gradient(
			135deg,
			#2457d6,
			#9d8c82,
			#dca238
		);

	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.ssi-courses-page__hero-content p {
	max-width: 690px;

	margin:
		0
		0
		30px;

	color: var(--ssi-color-text-light);

	font-size:
		0.96rem;

	line-height:
		1.85;
}

.ssi-courses-page__hero-actions {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
}

.ssi-courses-page__primary,
.ssi-courses-page__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;

	min-height: 50px;

	font-size: 0.74rem;
	font-weight: 800;

	transition:
		transform 250ms ease,
		background-color 250ms ease,
		color 250ms ease;
}

.ssi-courses-page__primary {
	padding:
		0
		21px;

	border-radius:
		999px;

	background:
		var(--ssi-color-accent);

	color:
		var(--ssi-color-primary);

	box-shadow:
		0 12px
		28px
		rgba(
			220,
			162,
			56,
			0.18
		);
}

.ssi-courses-page__primary:hover {
	transform:
		translateY(
			-2px
		);

	background:
		var(--ssi-color-accent-light);
}

.ssi-courses-page__secondary {
	color:
		var(--ssi-color-primary);
}

.ssi-courses-page__secondary:hover {
	transform:
		translateX(
			3px
		);

	color:
		var(--ssi-color-secondary);
}


/* ==========================================================================
   HERO ORBIT
   ========================================================================== */

.ssi-courses-page__hero-visual {
	position: relative;

	min-height: 500px;

	display: flex;
	align-items: center;
	justify-content: center;
}

.ssi-courses-page__orbit {
	position: relative;

	width: min(
		100%,
		500px
	);

	aspect-ratio: 1;

	display: flex;
	align-items: center;
	justify-content: center;
}

.ssi-courses-page__orbit::before {
	content: "";

	position: absolute;
	inset: 13%;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(
				255,
				255,
				255,
				0.90
			),
			rgba(
				226,
				237,
				255,
				0.42
			),
			transparent 72%
		);

	filter:
		blur(
			7px
		);
}

.ssi-courses-page__orbit-ring {
	position: absolute;

	border-radius: 50%;

	border:
		1px solid
		rgba(
			59,
			130,
			246,
			0.16
		);

	animation:
		ssiCoursesOrbitSpin
		22s
		linear
		infinite;
}

.ssi-courses-page__orbit-ring--one {
	inset: 5%;
}

.ssi-courses-page__orbit-ring--two {
	inset: 15%;

	border-color:
		rgba(
			220,
			162,
			56,
			0.15
		);

	animation-duration:
		18s;

	animation-direction:
		reverse;
}

.ssi-courses-page__orbit-ring--three {
	inset: 25%;

	border-color:
		rgba(
			59,
			130,
			246,
			0.13
		);

	animation-duration:
		15s;
}

.ssi-courses-page__orbit-core {
	position: relative;

	z-index: 4;

	width: 190px;
	height: 190px;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	border-radius: 50%;

	background:
		linear-gradient(
			145deg,
			#ffffff,
			#edf3fc
		);

	box-shadow:
		0 25px
		55px
		rgba(
			15,
			23,
			42,
			0.10
		),
		0 0 0 12px
		rgba(
			255,
			255,
			255,
			0.52
		);

	animation:
		ssiCoursesCoreFloat
		6s
		ease-in-out
		infinite alternate;
}

.ssi-courses-page__orbit-logo {
	width: 92px;
	height: 92px;

	display: flex;
	align-items: center;
	justify-content: center;

	margin-bottom: 8px;
}

.ssi-courses-page__orbit-logo img {
	width: 82px;
	height: 82px;
	object-fit: contain;
}

.ssi-courses-page__orbit-core > span {
	color:
		#0b1f3a;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		0.72rem;

	font-weight:
		800;

	letter-spacing:
		0.16em;
}

.ssi-courses-page__floating-card {
	position: absolute;

	z-index: 6;

	display: flex;
	align-items: center;

	gap: 11px;

	min-width: 175px;

	padding: 12px 14px;

	border:
		1px solid
		rgba(
			255,
			255,
			255,
			0.72
		);

	border-radius: 16px;

	background:
		rgba(
			255,
			255,
			255,
			0.84
		);

	box-shadow:
		0 15px
		35px
		rgba(
			15,
			23,
			42,
			0.08
		);

	backdrop-filter:
		blur(10px);

	-webkit-backdrop-filter:
		blur(10px);

	animation:
		ssiCoursesCardFloat
		5.8s
		ease-in-out
		infinite alternate;
}

.ssi-courses-page__floating-card > span {
	width: 38px;
	height: 38px;

	display: grid;
	place-items: center;

	border-radius: 12px;

	background:
		#edf3ff;

	color:
		var(--ssi-color-secondary);

	font-size: 0.9rem;
}

.ssi-courses-page__floating-card strong,
.ssi-courses-page__floating-card small {
	display: block;
}

.ssi-courses-page__floating-card strong {
	margin-bottom: 2px;

	color:
		#0b1f3a;

	font-size:
		0.66rem;

	font-weight:
		800;
}

.ssi-courses-page__floating-card small {
	color:
		#8190a6;

	font-size:
		0.56rem;

	line-height:
		1.4;
}

.ssi-courses-page__floating-card--top {
	top: 13%;
	right: -1%;
}

.ssi-courses-page__floating-card--right {
	right: -4%;
	bottom: 24%;

	animation-delay: -1.5s;
}

.ssi-courses-page__floating-card--bottom {
	left: 0;
	bottom: 4%;

	animation-delay: -3s;
}


/* ==========================================================================
   PROGRAMS
   ========================================================================== */

.ssi-courses-page__programs {
	position: relative;

	padding:
		115px
		0
		120px;

	background:
		#f7f9fc;
}

.ssi-courses-page__section-header {
	display:
		grid;

	grid-template-columns:
		minmax(
			0,
			1fr
		)
		minmax(
			320px,
			0.65fr
		);

	gap: 70px;

	align-items: end;

	margin-bottom: 55px;
}

.ssi-courses-page__section-header h2,
.ssi-courses-page__journey-header h2,
.ssi-courses-page__cta-content h2 {
	margin:
		12px
		0
		0;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		clamp(
			2.4rem,
			4vw,
			4rem
		);

	font-weight:
		800;

	line-height:
		1.03;

	letter-spacing:
		-0.055em;

	color:
		#0b1f3a;
}

.ssi-courses-page__section-header h2 span,
.ssi-courses-page__journey-header h2 span,
.ssi-courses-page__cta-content h2 span {
	background:
		linear-gradient(
			135deg,
			#2457d6,
			#a38c78,
			#dca238
		);

	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.ssi-courses-page__section-header > p,
.ssi-courses-page__journey-header > p {
	max-width:
		490px;

	margin:
		0;

	color:
		var(--ssi-color-text-light);

	font-size:
		0.86rem;

	line-height:
		1.85;
}


/* ==========================================================================
   COURSE GRID
   ========================================================================== */

.ssi-courses-page__grid {
	display:
		grid;

	grid-template-columns:
		repeat(
			3,
			minmax(
				0,
				1fr
			)
		);

	gap:
		18px;
}

.ssi-program-card {
	position:
		relative;

	overflow:
		hidden;

	min-height:
		430px;

	padding:
		25px;

	border:
		1px solid
		#dfe7f0;

	border-radius:
		24px;

	background:
		#ffffff;

	box-shadow:
		0 12px
		32px
		rgba(
			15,
			23,
			42,
			0.035
		);

	transition:
		transform 350ms ease,
		box-shadow 350ms ease,
		border-color 350ms ease,
		background-color 350ms ease;
}

.ssi-program-card::after {
	content: "";

	position:
		absolute;

	left:
		0;

	right:
		0;

	bottom:
		0;

	height:
		4px;

	background:
		linear-gradient(
			90deg,
			#1d4ed8,
			#dca238
		);

	transform:
		scaleX(
			0
		);

	transform-origin:
		left center;

	transition:
		transform 350ms ease;
}

.ssi-program-card:hover {
	transform:
		translateY(
			-7px
		);

	border-color:
		rgba(
			29,
			78,
			216,
			0.14
		);

	box-shadow:
		0 24px
		55px
		rgba(
			15,
			23,
			42,
			0.09
		);
}

.ssi-program-card:hover::after {
	transform:
		scaleX(
			1
		);
}

.ssi-program-card--featured {
	background:
		linear-gradient(
			145deg,
			#0b1f3a,
			#153863
		);

	border-color:
		transparent;

	color:
		#ffffff;

	box-shadow:
		0 25px
		60px
		rgba(
			11,
			31,
			58,
			0.18
		);
}

.ssi-program-card--featured:hover {
	border-color:
		transparent;
}

.ssi-program-card__top {
	display:
		flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		15px;

	margin-bottom:
		28px;
}

.ssi-program-card__number {
	color:
		#9aa5b4;

	font-size:
		0.62rem;

	font-weight:
		800;

	letter-spacing:
		0.08em;
}

.ssi-program-card--featured
.ssi-program-card__number {
	color:
		rgba(
			255,
			255,
			255,
			0.38
		);
}

.ssi-program-card__tag {
	display:
		inline-flex;

	align-items:
		center;

	min-height:
		29px;

	padding:
		0
		11px;

	border-radius:
		999px;

	background:
		#eef4ff;

	color:
		#2457d6;

	font-size:
		0.57rem;

	font-weight:
		800;
}

.ssi-program-card--featured
.ssi-program-card__tag {
	background:
		rgba(
			255,
			255,
			255,
			0.10
		);

	color:
		#f4c766;
}

.ssi-program-card__icon {
	width:
		52px;

	height:
		52px;

	display:
		grid;

	place-items:
		center;

	margin-bottom:
		23px;

	border:
		1px solid
		#d9e3f0;

	border-radius:
		15px;

	background:
		linear-gradient(
			145deg,
			#f7faff,
			#edf3ff
		);

	color:
		#2457d6;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		0.92rem;

	font-weight:
		800;
}

.ssi-program-card--featured
.ssi-program-card__icon {
	border-color:
		rgba(
			255,
			255,
			255,
			0.12
		);

	background:
		rgba(
			255,
			255,
			255,
			0.08
		);

	color:
		#f4c766;
}

.ssi-program-card h3 {
	margin:
		0
		0
		11px;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		1.35rem;

	font-weight:
		800;

	line-height:
		1.15;

	letter-spacing:
		-0.04em;

	color:
		#0b1f3a;
}

.ssi-program-card--featured h3 {
	color:
		#ffffff;
}

.ssi-program-card p {
	margin:
		0
		0
		20px;

	color:
		#718197;

	font-size:
		0.75rem;

	line-height:
		1.72;
}

.ssi-program-card--featured p {
	color:
		rgba(
			255,
			255,
			255,
			0.62
		);
}

.ssi-program-card__meta {
	display:
		flex;

	flex-wrap:
		wrap;

	gap:
		6px;

	margin-bottom:
		26px;
}

.ssi-program-card__meta span {
	display:
		inline-flex;

	align-items:
		center;

	min-height:
		25px;

	padding:
		0
		8px;

	border-radius:
		999px;

	background:
		#f5f7fa;

	color:
		#7d8ba0;

	font-size:
		0.53rem;

	font-weight:
		700;
}

.ssi-program-card--featured
.ssi-program-card__meta span {
	background:
		rgba(
			255,
			255,
			255,
			0.075
		);

	color:
		rgba(
			255,
			255,
			255,
			0.65
		);
}

.ssi-program-card__link {
	display:
		flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		12px;

	margin-top:
		auto;

	color:
		#0b1f3a;

	font-size:
		0.68rem;

	font-weight:
		800;

	transition:
		color 220ms ease,
		gap 220ms ease;
}

.ssi-program-card__link:hover {
	color:
		#1d4ed8;
}

.ssi-program-card--featured
.ssi-program-card__link {
	color:
		#ffffff;
}

.ssi-program-card--featured
.ssi-program-card__link:hover {
	color:
		#f4c766;
}


/* ==========================================================================
   JOURNEY
   ========================================================================== */

.ssi-courses-page__journey {
	padding:
		120px
		0
		125px;

	background:
		#ffffff;
}

.ssi-courses-page__journey-header {
	display:
		grid;

	grid-template-columns:
		minmax(
			0,
			1fr
		)
		minmax(
			320px,
			0.65fr
		);

	gap:
		70px;

	align-items:
		end;

	margin-bottom:
		55px;
}

.ssi-courses-page__journey-grid {
	display:
		grid;

	grid-template-columns:
		repeat(
			4,
			minmax(
				0,
				1fr
			)
		);

	gap:
		0;

	border-top:
		1px solid
		#dfe6ef;

	border-bottom:
		1px solid
		#dfe6ef;
}

.ssi-journey-step {
	position:
		relative;

	padding:
		32px
		25px
		34px;

	border-right:
		1px solid
		#dfe6ef;
}

.ssi-journey-step:last-child {
	border-right:
		0;
}

.ssi-journey-step__number {
	display:
		inline-flex;

	margin-bottom:
		20px;

	color:
		#a6b0be;

	font-size:
		0.60rem;

	font-weight:
		800;
}

.ssi-journey-step__icon {
	width:
		50px;

	height:
		50px;

	display:
		grid;

	place-items:
		center;

	margin-bottom:
		22px;

	border-radius:
		14px;

	background:
		#eef4ff;

	color:
		#2457d6;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		0.76rem;

	font-weight:
		800;
}

.ssi-journey-step--active
.ssi-journey-step__icon {
	background:
		#0b1f3a;

	color:
		#f4c766;
}

.ssi-journey-step__eyebrow {
	display:
		block;

	margin-bottom:
		7px;

	color:
		#2457d6;

	font-size:
		0.58rem;

	font-weight:
		800;

	letter-spacing:
		0.08em;

	text-transform:
		uppercase;
}

.ssi-journey-step h3 {
	margin:
		0
		0
		11px;

	color:
		#0b1f3a;

	font-family:
		"Manrope",
		sans-serif;

	font-size:
		1rem;

	font-weight:
		800;

	line-height:
		1.25;

	letter-spacing:
		-0.025em;
}

.ssi-journey-step p {
	margin:
		0;

	color:
		#79879a;

	font-size:
		0.68rem;

	line-height:
		1.7;
}


/* ==========================================================================
   FINAL CTA
   ========================================================================== */

.ssi-courses-page__cta {
	position:
		relative;

	overflow:
		hidden;

	padding:
		115px
		0;

	background:
		linear-gradient(
			145deg,
			#061426,
			#0d284a
		);

	color:
		#ffffff;
}

.ssi-courses-page__cta-bg {
	position:
		absolute;

	inset:
		0;

	pointer-events:
		none;
}

.ssi-courses-page__cta-bg::before {
	content:
		"";

	position:
		absolute;

	inset:
		0;

	background-image:
		linear-gradient(
			rgba(
				255,
				255,
				255,
				0.035
			)
			1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(
				255,
				255,
				255,
				0.035
			)
			1px,
			transparent 1px
		);

	background-size:
		50px 50px;

	mask-image:
		linear-gradient(
			to bottom,
			black,
			transparent 95%
		);
}

.ssi-courses-page__cta-orb {
	position:
		absolute;

	width:
		600px;

	height:
		600px;

	right:
		-220px;

	top:
		-280px;

	border-radius:
		50%;

	background:
		radial-gradient(
			circle,
			rgba(
				59,
				130,
				246,
				0.19
			),
			transparent 72%
		);

	filter:
		blur(
			20px
		);
}

.ssi-courses-page__cta-content {
	position:
		relative;

	z-index:
		2;

	max-width:
		850px;

	margin:
		0
		auto;

	text-align:
		center;
}

.ssi-courses-page__cta-content .ssi-eyebrow {
	color:
		#f4c766;
}

.ssi-courses-page__cta-content h2 {
	color:
		#ffffff;
}

.ssi-courses-page__cta-content p {
	max-width:
		650px;

	margin:
		22px
		auto
		30px;

	color:
		rgba(
			255,
			255,
			255,
			0.58
		);

	font-size:
		0.85rem;

	line-height:
		1.8;
}

.ssi-courses-page__cta-actions {
	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	gap:
		16px;

	flex-wrap:
		wrap;
}

.ssi-courses-page__cta .ssi-courses-page__primary {
	background:
		#f0b83f;
}

.ssi-courses-page__cta .ssi-courses-page__secondary {
	min-height:
		50px;

	padding:
		0
		20px;

	border:
		1px solid
		rgba(
			255,
			255,
			255,
			0.18
		);

	border-radius:
		999px;

	color:
		#ffffff;

	background:
		rgba(
			255,
			255,
			255,
			0.04
		);
}

.ssi-courses-page__cta .ssi-courses-page__secondary:hover {
	background:
		rgba(
			255,
			255,
			255,
			0.09
		);

	color:
		#f4c766;
}


/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

@keyframes ssiCoursesHeroAurora {

	0% {
		transform:
			translate3d(
				-1%,
				-0.5%,
				0
			)
			scale(
				1.01
			);
	}

	100% {
		transform:
			translate3d(
				1.2%,
				1.2%,
				0
			)
			scale(
				1.045
			);
	}
}

@keyframes ssiCoursesHeroPulse {

	0% {
		transform:
			translate(
				-50%,
				-50%
			)
			scale(
				0.94
			);

		opacity:
			0.67;
	}

	100% {
		transform:
			translate(
				-50%,
				-50%
			)
			scale(
				1.07
			);

		opacity:
			0.95;
	}
}

@keyframes ssiCoursesGoldFloat {

	0% {
		transform:
			translate3d(
				0,
				0,
				0
			)
			scale(
				0.95
			);
	}

	100% {
		transform:
			translate3d(
				45px,
				-25px,
				0
			)
			scale(
				1.08
			);
	}
}

@keyframes ssiCoursesBlueFloat {

	0% {
		transform:
			translate3d(
				0,
				0,
				0
			)
			scale(
				0.95
			);
	}

	100% {
		transform:
			translate3d(
				-45px,
				35px,
				0
			)
			scale(
				1.08
			);
	}
}

@keyframes ssiCoursesOrbitSpin {

	from {
		transform:
			rotate(
				0deg
			);
	}

	to {
		transform:
			rotate(
				360deg
			);
	}
}

@keyframes ssiCoursesCoreFloat {

	from {
		transform:
			translateY(
				-3px
			);
	}

	to {
		transform:
			translateY(
				5px
			);
	}
}

@keyframes ssiCoursesCardFloat {

	from {
		transform:
			translateY(
				-3px
			);
	}

	to {
		transform:
			translateY(
				5px
			);
	}
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1100px) {

	.ssi-courses-page__hero-container {
		grid-template-columns:
			1fr
			0.88fr;
	}

	.ssi-courses-page__hero-content h1 {
		font-size:
			clamp(
				3.1rem,
				5.3vw,
				4.7rem
			);
	}

	.ssi-courses-page__grid {
		grid-template-columns:
			repeat(
				2,
				minmax(
					0,
					1fr
				)
			);
	}

	.ssi-courses-page__journey-grid {
		grid-template-columns:
			repeat(
				2,
				minmax(
					0,
					1fr
				)
			);
	}

	.ssi-journey-step:nth-child(2) {
		border-right:
			0;
	}

	.ssi-journey-step:nth-child(-n + 2) {
		border-bottom:
			1px solid
			#dfe6ef;
	}
}


/* ==========================================================================
   TABLET / SMALL
   ========================================================================== */

@media (max-width: 850px) {

	.ssi-courses-page__hero {
		min-height:
			auto;
	}

	.ssi-courses-page__hero-container {
		grid-template-columns:
			1fr;

		padding:
			80px
			24px
			95px;
	}

	.ssi-courses-page__hero-visual {
		min-height:
			430px;
	}

	.ssi-courses-page__section-header,
	.ssi-courses-page__journey-header {
		grid-template-columns:
			1fr;

		gap:
			25px;
	}
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 600px) {

	.ssi-courses-page__hero-container {
		padding:
			64px
			18px
			72px;
	}

	.ssi-courses-page__hero-content h1 {
		font-size:
			clamp(
				2.7rem,
				13vw,
				4rem
			);
	}

	.ssi-courses-page__hero-content p {
		font-size:
			0.84rem;
	}

	.ssi-courses-page__hero-actions {
		gap:
			12px;
	}

	.ssi-courses-page__hero-visual {
		min-height:
			390px;
	}

	.ssi-courses-page__orbit {
		width:
			100%;
		max-width:
			390px;
	}

	.ssi-courses-page__orbit-core {
		width:
			145px;

		height:
			145px;
	}

	.ssi-courses-page__orbit-logo img {
		width:
			62px;

		height:
			62px;
	}

	.ssi-courses-page__floating-card {
		min-width:
			145px;

		padding:
			9px
			10px;
	}

	.ssi-courses-page__floating-card strong {
		font-size:
			0.58rem;
	}

	.ssi-courses-page__floating-card small {
		font-size:
			0.50rem;
	}

	.ssi-courses-page__floating-card--top {
		right:
			-2%;
	}

	.ssi-courses-page__floating-card--right {
		right:
			-1%;
	}

	.ssi-courses-page__floating-card--bottom {
		left:
			-2%;
	}

	.ssi-courses-page__programs,
	.ssi-courses-page__journey {
		padding:
			80px
			0
			85px;
	}

	.ssi-courses-page__section-header,
	.ssi-courses-page__journey-header {
		margin-bottom:
			40px;
	}

	.ssi-courses-page__section-header h2,
	.ssi-courses-page__journey-header h2,
	.ssi-courses-page__cta-content h2 {
		font-size:
			2.45rem;
	}

	.ssi-courses-page__grid {
		grid-template-columns:
			1fr;
	}

	.ssi-program-card {
		min-height:
			390px;

		padding:
			22px;
	}

	.ssi-courses-page__journey-grid {
		grid-template-columns:
			1fr;
	}

	.ssi-journey-step {
		border-right:
			0;

		border-bottom:
			1px solid
			#dfe6ef;
	}

	.ssi-journey-step:last-child {
		border-bottom:
			0;
	}

	.ssi-courses-page__cta {
		padding:
			80px
			0;
	}

}


/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.ssi-courses-page__hero-bg::before,
	.ssi-courses-page__hero-bg::after,
	.ssi-courses-page__hero-orb,
	.ssi-courses-page__orbit-ring,
	.ssi-courses-page__orbit-core,
	.ssi-courses-page__floating-card {
		animation:
			none !important;
	}
}

