.nv-court-requirements {
	--nv-court-bg: #090b11;
	--nv-court-card: rgba(13, 15, 23, 0.86);
	--nv-court-line: rgba(255, 255, 255, 0.12);
	--nv-court-text: #fff8ed;
	--nv-court-muted: rgba(255, 248, 237, 0.68);
	--nv-court-hot: #ff8d35;
	--nv-court-gold: #ffd447;
	--nv-court-pink: #ff3fe0;
	position: relative;
	padding: clamp(86px, 9vw, 132px) clamp(18px, 3vw, 34px) !important;
	background:
		radial-gradient(circle at 10% 4%, rgba(220, 46, 51, 0.22), transparent 26%),
		radial-gradient(circle at 90% 12%, rgba(17, 111, 120, 0.28), transparent 28%),
		linear-gradient(180deg, #0a0c11 0%, var(--nv-court-bg) 54%, #0b0810 100%);
	overflow: clip;
}

.nv-court-requirements::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 84px 84px;
	mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
	pointer-events: none;
}

.nv-court-requirements > .e-con-inner {
	width: min(1320px, 100%);
	margin-inline: auto;
}

.nv-court-req {
	position: relative;
	z-index: 1;
	color: var(--nv-court-text);
	font-family: "Nunito", sans-serif;
}

.nv-court-req__shell {
	display: grid;
	gap: clamp(34px, 4vw, 56px);
	width: min(1320px, 100%);
	margin-inline: auto;
}

.nv-court-req__header {
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 16px;
	max-width: 820px;
	margin-inline: auto;
}

.nv-court-req__eyebrow {
	margin: 0;
	color: var(--nv-court-pink);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.nv-court-req__title {
	margin: 0;
	color: #fffaf0;
	font-size: clamp(2.55rem, 5vw, 4.8rem);
	font-weight: 500;
	line-height: 0.95;
	letter-spacing: 0;
	text-wrap: balance;
}

.nv-court-req__lead {
	margin: 0;
	max-width: 68ch;
	color: var(--nv-court-muted);
	font-size: clamp(0.98rem, 1vw, 1.08rem);
	line-height: 1.82;
}

.nv-court-req__stage {
	display: grid;
	grid-template-columns: minmax(230px, 0.34fr) minmax(0, 1fr);
	gap: clamp(18px, 2vw, 28px);
	align-items: stretch;
}

.nv-court-req__nav {
	display: grid;
	gap: 10px;
	align-content: start;
	padding: 10px;
	border: 1px solid var(--nv-court-line);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.035);
	backdrop-filter: blur(18px);
}

.nv-court-req__tab {
	display: grid;
	grid-template-columns: 38px 1fr;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 74px;
	padding: 14px 16px;
	border: 1px solid transparent;
	border-radius: 22px;
	background: transparent;
	color: rgba(255, 248, 237, 0.7);
	font: 800 0.98rem/1.2 "Nunito", sans-serif;
	text-align: left;
	cursor: pointer;
	transition: border-color 220ms ease, background 220ms ease, color 220ms ease;
}

.nv-court-req__tab-index {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 212, 71, 0.9);
	font-size: 0.74rem;
	letter-spacing: 0;
}

.nv-court-req__tab-label {
	display: block;
}

.nv-court-req__tab:is(:hover, :focus-visible),
.nv-court-req__tab.is-active {
	border-color: rgba(255, 212, 71, 0.34);
	background:
		radial-gradient(circle at var(--nv-x, 50%) var(--nv-y, 50%), rgba(255, 141, 53, 0.22), transparent 38%),
		rgba(255, 255, 255, 0.065);
	color: #fffaf0;
	outline: none;
}

.nv-court-req__panels {
	position: relative;
	display: grid;
	min-height: 760px;
	border: 1px solid var(--nv-court-line);
	border-radius: 34px;
	background:
		radial-gradient(circle at var(--nv-x, 50%) var(--nv-y, 34%), rgba(255, 212, 71, 0.18), transparent 26%),
		radial-gradient(circle at 82% 22%, rgba(75, 107, 255, 0.16), transparent 30%),
		var(--nv-court-card);
	box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
	overflow: hidden;
}

.nv-court-req__panels::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 44%;
	background: linear-gradient(180deg, transparent, rgba(255, 141, 53, 0.08));
	pointer-events: none;
}

.nv-court-req__panel {
	position: relative;
	grid-area: 1 / 1;
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: clamp(24px, 3vw, 42px);
	padding: clamp(30px, 4vw, 58px);
	opacity: 0;
	transform: translateY(14px);
	visibility: hidden;
	pointer-events: none;
	transition: opacity 260ms ease, transform 260ms ease;
}

.nv-court-req__panel.is-active {
	opacity: 1;
	transform: none;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}

.nv-court-req__kicker {
	margin: 0 0 16px;
	color: var(--nv-court-gold);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.nv-court-req__panel h3 {
	max-width: 840px;
	margin: 0;
	color: #fffaf0;
	font-size: clamp(2.1rem, 3.8vw, 4.5rem);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: 0;
	text-wrap: balance;
}

.nv-court-req__panel p {
	max-width: 76ch;
	margin: 20px 0 0;
	color: rgba(255, 248, 237, 0.72);
	font-size: 1.02rem;
	line-height: 1.82;
}

.nv-court-req__checks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nv-court-req__check {
	position: relative;
	min-height: 76px;
	padding: 18px 18px 18px 48px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 22px;
	background:
		radial-gradient(circle at var(--nv-x, 50%) var(--nv-y, 50%), rgba(255, 63, 224, 0.14), transparent 36%),
		rgba(255, 255, 255, 0.045);
	color: rgba(255, 248, 237, 0.86);
	font-weight: 750;
	line-height: 1.45;
}

.nv-court-req__check::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 22px;
	width: 14px;
	height: 14px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--nv-court-gold), var(--nv-court-hot));
	box-shadow: 0 0 22px rgba(255, 141, 53, 0.42);
}

.nv-court-req__check p {
	margin: 0;
	max-width: none;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

.nv-court-req__checks.is-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nv-court-req__note {
	position: relative;
	z-index: 1;
	margin: 0 !important;
	max-width: none !important;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 212, 71, 0.92) !important;
	font-weight: 850;
}

.nv-court-req__footer {
	display: flex;
	flex-direction: row !important;
	align-items: center;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 10px;
	overflow-x: auto;
	scrollbar-width: none;
}

.nv-court-req__footer::-webkit-scrollbar {
	display: none;
}

.nv-court-req__footer span {
	display: inline-flex;
	flex: 0 0 auto;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.045);
	color: rgba(255, 248, 237, 0.72);
	font-size: 0.86rem;
	font-weight: 800;
}

@media (max-width: 1024px) {
	.nv-court-req__stage {
		grid-template-columns: 1fr;
	}

	.nv-court-req__nav {
		display: flex;
		flex-direction: row !important;
		align-items: stretch;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.nv-court-req__nav::-webkit-scrollbar {
		display: none;
	}

	.nv-court-req__tab {
		min-width: 250px;
		scroll-snap-align: start;
	}

	.nv-court-req__panels {
		min-height: 820px;
	}
}

@media (max-width: 680px) {
	.nv-court-requirements {
		padding-block: 72px !important;
	}

	.nv-court-req__header {
		text-align: left;
		justify-items: start;
	}

	.nv-court-req__title {
		font-size: clamp(2.45rem, 13vw, 4.15rem);
	}

	.nv-court-req__panels {
		min-height: 0;
		border-radius: 28px;
	}

	.nv-court-req__panel {
		position: static;
		display: none;
		padding: 26px 20px;
		opacity: 1;
		transform: none;
	}

	.nv-court-req__panel.is-active {
		display: grid;
	}

	.nv-court-req__panel h3 {
		font-size: clamp(2rem, 11vw, 3rem);
	}

	.nv-court-req__checks,
	.nv-court-req__checks.is-grid {
		grid-template-columns: 1fr;
	}

	.nv-court-req__footer {
		display: none;
	}
}
