:root {
	--nha-ink: #16251f;
	--nha-muted: #64716b;
	--nha-cream: #f6f3ec;
	--nha-paper: #fffdf8;
	--nha-sage: #708274;
	--nha-sage-dark: #2f4a3e;
	--nha-line: rgba(22, 37, 31, 0.14);
	--nha-gold: #b6935e;
}

.nestrava-assessment-page .site-main,
.nestrava-assessment-page .content-area {
	max-width: none;
	padding: 0;
	margin: 0;
}

.nha,
.nha * {
	box-sizing: border-box;
}

.nha {
	background: var(--nha-paper);
	color: var(--nha-ink);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.7;
	letter-spacing: -0.01em;
}

.nha h1,
.nha h2,
.nha h3,
.nha p,
.nha ul,
.nha ol {
	margin-top: 0;
}

.nha h1,
.nha h2,
.nha h3 {
	color: var(--nha-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.nha h1 { font-size: clamp(3rem, 6vw, 6.4rem); max-width: 880px; margin-bottom: 28px; }
.nha h2 { font-size: clamp(2.25rem, 4vw, 4.25rem); margin-bottom: 24px; }
.nha h3 { font-size: 1.55rem; margin-bottom: 14px; }
.nha p { color: var(--nha-muted); }

.nha-container {
	width: min(100% - 48px, 1240px);
	margin-inline: auto;
}

.nha-section { padding: 82px 0; }
.nha-eyebrow {
	color: var(--nha-sage-dark) !important;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	margin-bottom: 22px;
	text-transform: uppercase;
}

.nha-heading { max-width: 670px; }
.nha-heading > p:last-child { font-size: 1.12rem; max-width: 610px; }
.nha-heading--center { margin: 0 auto 38px; text-align: center; }
.nha-heading--center > p:last-child { margin-inline: auto; }

.nha-hero {
	align-items: center;
	display: flex;
	min-height: min(650px, calc(100vh - 70px));
	overflow: hidden;
	position: relative;
}

.nha-hero__image {
	background-image: url('https://nestravalabs.com/wp-content/uploads/2026/07/nestrava-assessment-hero-v3.webp');
	background-position: 63% center;
	background-size: cover;
	inset: 0;
	position: absolute;
	transform: scale(1.01);
}

.nha-hero__overlay {
	background: linear-gradient(90deg, rgba(245, 240, 231, 0.99) 0%, rgba(245, 240, 231, 0.94) 37%, rgba(245, 240, 231, 0.18) 70%, rgba(245, 240, 231, 0.04) 100%);
	inset: 0;
	position: absolute;
}

.nha-hero__content { padding-block: 52px; position: relative; z-index: 1; }
.nha-hero__content h1 { font-size: clamp(3rem, 5.1vw, 5rem); line-height: .98; margin-bottom: 18px; max-width: 700px; }
.nha-hero__lead { color: #435149 !important; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.55; max-width: 650px; }
.nha-hero__lead p { color: inherit !important; margin: 0 0 10px; }
.nha-premium-callout { background: rgba(255,255,255,.72); border: 1px solid rgba(75,96,83,.26); box-shadow: 0 18px 50px rgba(30,45,38,.08); margin-top: 18px; max-width: 650px; padding: 16px 20px; }
.nha-premium-callout strong { color: var(--nha-sage-dark); display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; margin-bottom: 5px; }
.nha-premium-callout p { color: #435149 !important; font-size: .9rem; line-height: 1.45; margin: 2px 0; }
.nha-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; margin-top: 22px; }
.nha-price-note { color: #536159; font-size: 0.9rem; font-weight: 600; }

.nha-button {
	align-items: center;
	background: var(--nha-sage-dark);
	border: 1px solid var(--nha-sage-dark);
	border-radius: 2px;
	color: #fff !important;
	cursor: pointer;
	display: inline-flex;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.04em;
	min-height: 58px;
	padding: 16px 28px;
	text-decoration: none !important;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.nha-button:hover { background: #1f362d; transform: translateY(-1px); }
.nha-button--secondary { background: transparent; color: var(--nha-sage-dark) !important; }
.nha-button--secondary:hover { background: rgba(47, 74, 62, 0.06); }
.nha-button--full { width: 100%; }

.nha-problem { background: var(--nha-paper); }
.nha-card-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.nha-card {
	background: #fff;
	border: 1px solid var(--nha-line);
	min-height: 230px;
	padding: 30px 32px;
	position: relative;
}
.nha-card > span { color: var(--nha-gold); display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.15em; margin-bottom: 28px; }
.nha-card p { font-size: 0.97rem; margin-bottom: 0; }

.nha-environment { background: #ecefe9; }
.nha-split { align-items: center; display: grid; gap: clamp(42px, 6vw, 90px); grid-template-columns: 0.9fr 1.1fr; }
.nha-factor-list { list-style: none; margin: 0; padding: 0; }
.nha-factor-list li {
	align-items: baseline;
	border-bottom: 1px solid rgba(22, 37, 31, 0.17);
	display: grid;
	gap: 24px;
	grid-template-columns: 0.75fr 1.25fr;
	padding: 16px 0;
}
.nha-factor-list li:first-child { border-top: 1px solid rgba(22, 37, 31, 0.17); }
.nha-factor-list span { font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.nha-factor-list small { color: var(--nha-muted); font-size: 0.9rem; }

.nha-includes { background: var(--nha-sage-dark); }
.nha-includes h2, .nha-includes .nha-eyebrow { color: #fff !important; }
.nha-includes__layout { align-items: center; display: grid; gap: 56px; grid-template-columns: 1fr 1fr; }
.nha-check-list { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.nha-check-list li { border-bottom: 1px solid rgba(255,255,255,.18); color: #fff; font-size: 1.08rem; padding: 14px 0 14px 40px; position: relative; }
.nha-check-list li::before { color: #d8c096; content: "✓"; left: 0; position: absolute; }

.nha-process { background: var(--nha-paper); }
.nha-steps { display: grid; gap: 0; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 0; }
.nha-steps li { border-left: 1px solid var(--nha-line); min-height: 220px; padding: 0 24px; }
.nha-steps li:last-child { border-right: 1px solid var(--nha-line); }
.nha-steps li > span { align-items: center; border: 1px solid var(--nha-line); border-radius: 50%; color: var(--nha-sage-dark); display: flex; font-size: 0.82rem; font-weight: 800; height: 44px; justify-content: center; margin-bottom: 34px; width: 44px; }
.nha-steps p { font-size: 0.95rem; margin-bottom: 0; }

.nha-preview { background: var(--nha-cream); }
.nha-form-preview { background: #fff; border: 1px solid var(--nha-line); box-shadow: 0 24px 70px rgba(30, 45, 38, 0.08); padding: 20px 38px; }
.nha-form-preview > div { align-items: center; border-bottom: 1px solid var(--nha-line); display: flex; justify-content: space-between; min-height: 58px; }
.nha-form-preview > div:last-child { border-bottom: 0; }
.nha-form-preview span { font-size: 0.94rem; font-weight: 650; }
.nha-form-preview i { border: 1px solid #a9b1ac; border-radius: 50%; display: block; height: 20px; position: relative; width: 20px; }
.nha-form-preview i::after { border-bottom: 1px solid #87948d; border-right: 1px solid #87948d; content: ""; height: 5px; left: 6px; position: absolute; top: 5px; transform: rotate(45deg); width: 5px; }

.nha-hidden-problem { background: var(--nha-paper); }
.nha-hidden-problem__inner { align-items: center; }
.nha-hidden-problem__visual { border: 1px solid var(--nha-line); box-shadow: 0 24px 70px rgba(30,45,38,.1); margin: 0; overflow: hidden; }
.nha-hidden-problem__visual img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }

.nha-trust { background: #fff; }
.nha-trust__inner { align-items: center; display: grid; gap: 48px; grid-template-columns: 160px 1fr; max-width: 980px; }
.nha-trust__mark { align-items: center; border: 1px solid var(--nha-line); border-radius: 50%; display: flex; height: 140px; justify-content: center; width: 140px; }
.nha-trust__mark span { color: var(--nha-sage-dark); font-family: Georgia, "Times New Roman", serif; font-size: 4.5rem; }
.nha-trust p:last-child { font-size: 1.12rem; max-width: 700px; }

.nha-purchase { background: #e5e9e3; scroll-margin-top: 30px; }
.nha-purchase__inner { align-items: center; display: grid; gap: clamp(42px, 6vw, 90px); grid-template-columns: 1.1fr 0.9fr; }
.nha-purchase__inner > div:first-child > p:last-child { font-size: 1.1rem; max-width: 600px; }
.nha-purchase__box { background: #fff; border: 1px solid var(--nha-line); box-shadow: 0 24px 70px rgba(30, 45, 38, 0.08); padding: 38px; }
.nha-purchase__top { align-items: start; border-bottom: 1px solid var(--nha-line); display: flex; gap: 25px; justify-content: space-between; margin-bottom: 25px; padding-bottom: 25px; }
.nha-purchase__top span { font-family: Georgia, "Times New Roman", serif; font-size: 1.28rem; line-height: 1.2; }
.nha-purchase__top strong, .nha-purchase__top .amount { color: var(--nha-ink); font-size: 1.4rem; }
.nha-assessment-fee { align-items: flex-end; display: flex; flex-direction: column; flex-shrink: 0; }
.nha-assessment-fee small { color: var(--nha-muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nha-credit-banner { background: var(--nha-cream); border: 1px solid rgba(75,96,83,.22); color: var(--nha-sage-dark) !important; font-size: .78rem; font-weight: 800; letter-spacing: .08em; margin: 0 0 24px; padding: 14px 16px; text-align: center; text-transform: uppercase; }
.nha-credit-note { border-bottom: 1px solid var(--nha-line); color: var(--nha-muted); font-size: .85rem; margin: -10px 0 25px; padding-bottom: 22px; }
.nha-purchase__cta { margin-top: 20px; }
.nha-trust__inner > div:last-child > p:last-child { margin-bottom: 0; }
.nha-cart { margin: 0 0 12px !important; }
.nha-purchase__fine { font-size: 0.75rem; margin: 18px 0 0; text-align: center; }

.nha-faq { background: #f4f0e8; }
.nha-faq__inner { max-width: 1000px; }
.nha-faq__list { border-top: 1px solid rgba(42, 67, 54, .22); }
.nha-faq details { border-bottom: 1px solid rgba(42, 67, 54, .22); }
.nha-faq summary { color: var(--nha-ink); cursor: pointer; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 700; list-style: none; padding: 20px 58px 20px 0; position: relative; }
.nha-faq summary::-webkit-details-marker { display: none; }
.nha-faq summary::after { color: var(--nha-sage-dark); content: "+"; font-family: Arial, sans-serif; font-size: 1.6rem; font-weight: 400; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); }
.nha-faq details[open] summary::after { content: "−"; }
.nha-faq__answer { max-width: 850px; padding: 0 58px 22px 0; }
.nha-faq__answer > p { color: #435149; font-size: 1rem; line-height: 1.65; margin-bottom: 0; }

@media (max-width: 980px) {
	.nha-section { padding: 68px 0; }
	.nha-hero { min-height: 620px; }
	.nha-hero__content { padding-block: 48px; }
	.nha-hero__overlay { background: linear-gradient(90deg, rgba(245,240,231,.98), rgba(245,240,231,.83) 62%, rgba(245,240,231,.35)); }
	.nha-card-grid { grid-template-columns: 1fr; }
	.nha-card { min-height: 0; }
	.nha-card > span { margin-bottom: 22px; }
	.nha-split, .nha-includes__layout, .nha-purchase__inner { gap: 40px; grid-template-columns: 1fr; }
	.nha-steps { grid-template-columns: 1fr; }
	.nha-steps li, .nha-steps li:last-child { align-items: start; border: 0; border-top: 1px solid var(--nha-line); display: grid; gap: 26px; grid-template-columns: 48px 1fr; min-height: 0; padding: 30px 0; }
	.nha-steps li > span { margin: 0; }
}

@media (max-width: 640px) {
	.nha { font-size: 16px; }
	.nha-container { width: min(100% - 36px, 1240px); }
	.nha-section { padding: 54px 0; }
	.nha-hero { min-height: 610px; }
	.nha-hero__image { background-position: 58% center; }
	.nha-hero__overlay { background: linear-gradient(90deg, rgba(245,240,231,.97), rgba(245,240,231,.83)); }
	.nha-hero__content { padding-block: 44px; }
	.nha-hero__content h1 { font-size: clamp(2.55rem, 11vw, 3.2rem); margin-bottom: 14px; }
	.nha-hero__lead { font-size: .98rem; line-height: 1.45; }
	.nha-hero__actions { align-items: stretch; flex-direction: column; }
	.nha-premium-callout { padding: 14px 16px; }
	.nha-faq summary { padding: 18px 44px 18px 0; }
	.nha-faq__answer { padding: 0 0 20px; }
	.nha-button { width: 100%; }
	.nha-card { padding: 26px 24px; }
	.nha-factor-list li { gap: 8px; grid-template-columns: 1fr; }
	.nha-includes__layout { gap: 35px; }
	.nha-trust__inner { gap: 35px; grid-template-columns: 1fr; }
	.nha-trust__mark { height: 110px; width: 110px; }
	.nha-trust__mark span { font-size: 3rem; }
	.nha-purchase__box, .nha-form-preview { padding: 26px 22px; }
	.nha-purchase__top { align-items: flex-start; flex-direction: column; }
	.nha-assessment-fee { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	.nha *, .nha *::before, .nha *::after { scroll-behavior: auto !important; transition: none !important; }
}
