.nt-path {
    background: radial-gradient(circle at 50% 12%, rgb(21 71 215 / 18%), transparent 35%), var(--nt-color-page);
    box-sizing: border-box;
    min-height: 0;
    overflow-x: clip;
    overflow-x: clip;
    overflow-y: auto;
    position: relative;
}

html:has(body.nt-path-assessment-page),
body.nt-path-assessment-page {
    overflow-x: clip;
    overflow-y: auto;
}

body.nt-path-assessment-page .nt-scroll-progress {
    display: none !important;
}

.nt-site-main.nt-path {
	max-width: none;
	min-height: 0;
	padding: 0;
	width: 100%;
}

.nt-path__container {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	min-height: calc(100vh - 76px);
	padding-block: clamp(48px, 6vw, 80px);
	position: relative;
}

body.admin-bar .nt-path__container {
	min-height: calc(100vh - 122px);
}

.nt-path__backdrop {
	inset: 0;
	opacity: 0.42;
	pointer-events: none;
	position: absolute;
}

.nt-path__backdrop::before {
	background-image: linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
	background-size: 44px 44px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(to bottom, black, transparent 85%);
	animation: nt-path-grid-drift 7s ease-in-out infinite alternate;
	will-change: background-position;
	position: absolute;
}

@keyframes nt-path-grid-drift {
	from { background-position: 0 0; }
	to { background-position: 44px 44px; }
}

@media (prefers-reduced-motion: reduce) {
	.nt-path__backdrop::before {
		animation: none;
	}
}

.nt-path-panel {
	background: linear-gradient(145deg, rgb(21 71 215 / 12%), transparent 48%), var(--nt-color-card);
	border: 1px solid rgb(52 104 242 / 24%);
	border-radius: var(--nt-radius-panel);
	box-shadow: 0 24px 70px rgb(0 0 0 / 34%), inset 0 1px 0 rgb(255 255 255 / 3%);
	box-sizing: border-box;
	overflow: hidden;
	margin-inline: auto;
	max-width: 940px;
	min-width: 0;
	padding: clamp(24px, 6vw, 64px);
	position: relative;
	z-index: 1;
	width: 100%;
}

.nt-path-intro {
	margin-inline: auto;
	max-width: 680px;
	text-align: center;
}

.nt-path-intro .nt-kicker { justify-content: center; }
.nt-path-intro h1,
.nt-path-result h2 { font-size: clamp(2rem, 5.5vw, 3.4rem); line-height: 1.3; margin: 14px 0; }
.nt-path-intro > p:not(.nt-kicker),
.nt-path-result__reason p { color: var(--nt-color-ink-soft); font-size: clamp(1rem, 2vw, 1.18rem); }
.nt-path-intro .nt-button { margin-top: 22px; }
.nt-path .nt-button.nt-button--primary {
	background: var(--nt-color-cobalt-high);
	border-color: var(--nt-color-cobalt-high);
	box-shadow: 0 12px 30px rgb(52 104 242 / 26%);
	color: #fff;
	font-size: 1rem;
	min-height: 58px;
	min-width: 190px;
	padding-inline: 34px;
}
.nt-path .nt-button.nt-button--primary:hover,
.nt-path .nt-button.nt-button--primary:focus-visible {
	background: var(--nt-color-cobalt);
	border-color: var(--nt-color-cobalt);
}
.nt-path-form .nt-button.nt-button--primary { font-size: .9rem; min-height: 46px; padding-inline: 26px; }

body.nt-path-assessment-page,
body.nt-path-assessment-page .nt-site-footer,
body.nt-path-assessment-page .nt-footer-pro {
	background: var(--nt-color-page) !important;
}

body.nt-path-assessment-page .nt-site-footer,
body.nt-path-assessment-page .nt-footer-pro {
	border-top: 1px solid var(--nt-color-line-soft) !important;
}

body.nt-path-assessment-page .nt-site-footer {
	display: none !important;
}

.nt-path-progress { display: grid; gap: 9px; margin-bottom: 34px; }
.nt-path-progress span {
	background: rgb(155 217 31 / 8%);
	border: 1px solid rgb(155 217 31 / 24%);
	border-radius: 999px;
	color: var(--nt-color-brand);
	direction: rtl;
	font-family: var(--nt-font-sans), Tahoma, sans-serif;
	font-size: .72rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	justify-self: start;
	line-height: 1.5;
	min-width: 92px;
	padding: 5px 10px;
	text-align: center;
}
.nt-path-progress progress {
	appearance: none;
	background: #17202a;
	border: 1px solid rgb(155 217 31 / 22%);
	border-radius: 999px;
	direction: rtl;
	height: 9px;
	overflow: hidden;
	width: 100%;
}
.nt-path-progress progress::-webkit-progress-bar { background: #17202a; border-radius: inherit; }
.nt-path-progress progress::-webkit-progress-value { background: linear-gradient(90deg, #8bd316, var(--nt-color-brand)); border-radius: inherit; box-shadow: 0 0 14px rgb(155 217 31 / 28%); }
.nt-path-progress progress::-moz-progress-bar { background: linear-gradient(90deg, #8bd316, var(--nt-color-brand)); border-radius: inherit; box-shadow: 0 0 14px rgb(155 217 31 / 28%); }
.nt-path-question { border: 0; margin: 0; min-width: 0; padding: 0; }
.nt-path-question legend { font-size: clamp(1.35rem, 4vw, 2.1rem); font-weight: 700; line-height: 1.45; margin-bottom: 26px; max-width: 760px; }
.nt-path-question__hint { color: var(--nt-color-ink-soft); font-size: 1rem; line-height: 1.9; margin: -12px 0 24px; }
.nt-path-options { align-items: stretch; display: grid; gap: 11px; }
.nt-path-option { cursor: pointer; display: block; }
.nt-path-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.nt-path-option span {
	align-items: center;
	background: linear-gradient(135deg, rgb(255 255 255 / 3%), transparent 70%), var(--nt-color-card-alt);
	border: 1px solid rgb(255 255 255 / 6%);
	border-radius: var(--nt-radius-md);
	display: flex;
	font-weight: 600;
	height: 100%;
	min-height: 68px;
	padding: 16px 20px;
	box-sizing: border-box;
	transition: border-color 0.2s var(--nt-ease), background-color 0.2s var(--nt-ease), box-shadow 0.2s var(--nt-ease), transform 0.2s var(--nt-ease);
}
.nt-path-option:hover span { border-color: rgb(52 104 242 / 70%); box-shadow: 0 10px 24px rgb(0 0 0 / 16%); transform: translateY(-1px); }
.nt-path-option input:checked + span { background: linear-gradient(135deg, rgb(52 104 242 / 22%), rgb(52 104 242 / 8%)), var(--nt-color-card-alt); border-color: var(--nt-color-cobalt-high); box-shadow: 0 10px 26px rgb(52 104 242 / 16%), inset 0 1px 0 rgb(255 255 255 / 5%); color: #fff; }
.nt-path-option input:focus-visible + span { outline: 3px solid var(--nt-color-brand); outline-offset: 3px; }
.nt-path-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.nt-path-status { color: var(--nt-color-brand); min-height: 1.5em; }

.nt-path-result { outline: 0; }
.nt-path-result__summary { display: grid; gap: 12px; margin-block: 28px; }
.nt-path-result__summary > div { background: var(--nt-color-card-alt); border: 1px solid var(--nt-color-line-soft); border-radius: var(--nt-radius-md); display: grid; gap: 6px; padding: 16px; }
.nt-path-result__summary span { color: var(--nt-color-muted); font-size: 0.86rem; }
.nt-path-result__summary strong { color: var(--nt-color-brand); font-size: 1.35rem; }
.nt-path-result__reason { border-inline-start: 3px solid var(--nt-color-cobalt-high); padding-inline-start: 18px; }
.nt-path-result h3 { font-size: 1rem; margin: 0 0 9px; }
.nt-path-result__columns h3 { font-size: 1.18rem; }
.nt-path-result__columns { display: grid; gap: 20px; margin-top: 28px; }
.nt-path-result__columns > div { background: rgb(255 255 255 / 2%); border: 1px solid var(--nt-color-line-soft); border-radius: var(--nt-radius-md); padding: 18px; }
.nt-path-result__columns ul,
.nt-path-result__columns ol { color: var(--nt-color-ink-soft); margin: 0; padding-inline-start: 22px; }
.nt-path-result__columns li + li { margin-top: 8px; }
.nt-path-result__actions [data-result-link] {
	font-size: .88rem;
	font-weight: 600;
	min-height: 44px;
	padding-block: 10px;
}
.nt-path-result__columns ol { list-style: none; padding-inline-start: 0; }
.nt-path-result__columns ol li { align-items: center; display: flex; gap: 10px; }
.nt-path-result__columns ol li span:last-child { display: grid; gap: 3px; }
.nt-path-result__columns ol li strong { font-size: 1.18rem; }
.nt-path-result__columns ol li small { color: var(--nt-color-muted); font-size: .96rem; line-height: 1.9; }
.nt-path-result__step-number {
	color: var(--nt-color-brand);
	direction: rtl;
	font-size: .9rem;
	font-weight: 800;
	line-height: 1.8;
	min-width: 20px;
	text-align: center;
	width: 20px;
	align-items: center;
	display: inline-flex;
	flex: 0 0 20px;
	font-family: var(--nt-font-sans), Tahoma, sans-serif;
	font-variant-numeric: tabular-nums;
	justify-content: center;
}
.nt-path-restart { background: transparent; border: 0; color: var(--nt-color-ink-soft); cursor: pointer; padding: 10px; text-decoration: none; }

@media (min-width: 650px) {
	.nt-path-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nt-path-result__summary,
	.nt-path-result__columns { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 480px) {
	.nt-path__container { min-height: calc(100svh - 64px); padding-block: 32px; }
	.nt-path-panel { padding: 22px 18px; }
	.nt-path-intro h1,
	.nt-path-result h2 { font-size: clamp(1.5rem, 7vw, 1.9rem); line-height: 1.45; }
	.nt-path-intro h1 {
		font-size: clamp(1.6rem, 8.3vw, 1.9rem);
		font-weight: 800;
		letter-spacing: -.035em;
		white-space: nowrap;
	}
	.nt-path .nt-path-intro .nt-button.nt-button--primary {
		font-size: .88rem;
		min-height: 44px;
		min-width: 0;
		padding-inline: 20px;
	}
	.nt-path-question legend {
		font-size: 1.35rem;
		font-weight: 700;
		line-height: 1.5;
		white-space: nowrap;
	}
	.nt-path-result__columns ol li strong { font-size: 1.18rem; }
	.nt-path-result__columns ol li small { font-size: .96rem; line-height: 1.9; }
	.nt-path-actions [data-path-next] { order: -1; }
	.nt-path-actions .nt-button { flex: 1 1 100%; }
	.nt-path-restart { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.nt-path-option span { transition: none; }
}
