.iv-assessment {
	max-width: 760px;
	margin: 0 auto;
}

.iv-assessment__intro {
	margin-bottom: 2rem;
	font-size: 1.125rem;
}

.iv-assessment__progress-header {
	margin-bottom: 2rem;
}

.iv-assessment__step-text {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: var(--color-text-muted, #666);
}

.iv-assessment__progress {
	height: 4px;
	background-color: var(--color-border, #e2e8f0);
	border-radius: 2px;
	overflow: hidden;
}

.iv-assessment__progress-bar {
	height: 100%;
	background-color: var(--color-action, #AD5208);
	width: 0%;
	transition: width 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
	.iv-assessment__progress-bar {
		transition: none;
	}
}

.iv-assessment__step h2 {
	margin-bottom: 1.5rem;
}

.iv-assessment__question-group {
	margin-bottom: 2rem;
}

.iv-assessment__nav {
	display: flex;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 1rem;
}

.iv-assessment__btn-next,
.iv-assessment__btn-submit {
	margin-left: auto;
}

.iv-assessment__alert {
	margin-top: 1rem;
	padding: 1rem;
	background-color: #fee2e2;
	color: #991b1b;
	border-radius: 4px;
	font-weight: 500;
}

/* Radio Cards (delegating to form-field but ensuring grid here if needed) */
.iv-radio-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

@media (min-width: 600px) {
	.iv-radio-cards {
		grid-template-columns: 1fr 1fr;
	}
}

/* We style the selected state of the radio cards via CSS here if form-field doesn't fully handle it, but wait, form-field type="radio-cards" usually handles this. Let's provide a fallback just in case or apply it to the label */
.iv-radio-cards label {
	display: flex;
	align-items: center;
	padding: 1rem;
	border: 1px solid var(--color-border, #e2e8f0);
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.iv-radio-cards input:checked + span,
.iv-radio-cards label:has(input:checked) {
	border-color: var(--color-action, #AD5208);
	background-color: rgba(173, 82, 8, 0.05); /* Tint */
}

/* Result view */
.iv-assessment__result-grid {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

@media (min-width: 900px) {
	.iv-assessment__result-grid {
		flex-direction: row;
	}
	.iv-assessment__maturity {
		flex: 1;
	}
	.iv-assessment__recommendations {
		flex: 1;
	}
}

/* Maturity bars */
.iv-assessment__bar {
	margin-bottom: 1.25rem;
}

.iv-assessment__bar-header {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	font-weight: 500;
}

.iv-assessment__bar-track {
	height: 12px;
	background-color: var(--color-border, #e2e8f0);
	border-radius: 6px;
	overflow: hidden;
}

.iv-assessment__bar-fill {
	height: 100%;
	width: 0%;
	transition: width 1s ease-out;
}

@media (prefers-reduced-motion: reduce) {
	.iv-assessment__bar-fill {
		transition: none;
	}
}

/* Colors for bands */
.iv-assessment__bar.is-early .iv-assessment__bar-fill {
	background-color: var(--color-action, #AD5208);
}

.iv-assessment__bar.is-developing .iv-assessment__bar-fill {
	background-color: var(--color-text, #333); /* Neutral ink */
}

.iv-assessment__bar.is-strong .iv-assessment__bar-fill {
	background-color: #3D7A33; /* Green */
}

/* Recommendations */
.iv-assessment__opportunity {
	margin-bottom: 1.5rem;
	padding: 1rem;
	background-color: rgba(173, 82, 8, 0.05);
	border-left: 4px solid var(--color-action, #AD5208);
	border-radius: 0 4px 4px 0;
}

.iv-assessment__card {
	border: 1px solid var(--color-border, #e2e8f0);
	border-radius: 8px;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}

.iv-assessment__card h4 {
	margin-top: 0;
	margin-bottom: 0.5rem;
}

.iv-assessment__card p {
	margin-bottom: 1rem;
	color: var(--color-text-muted, #666);
}

.iv-assessment__also-consider h4 {
	margin-bottom: 0.5rem;
}

.iv-assessment__also-consider ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.iv-assessment__also-consider li {
	margin-bottom: 0.5rem;
}

/* Signals */
.iv-assessment__signals {
	margin-bottom: 3rem;
}

.iv-assessment__signals ul {
	margin-top: 1rem;
	padding-left: 1.5rem;
}

.iv-assessment__signals li {
	margin-bottom: 0.5rem;
}

.iv-assessment__disclaimer {
	font-size: 0.75rem;
	color: var(--color-text-muted, #666);
	margin-bottom: 2rem;
}

.iv-assessment__lead-capture {
	margin-bottom: 2rem;
	border-top: 1px solid var(--color-border, #e2e8f0);
	padding-top: 2rem;
}

.iv-assessment__actions {
	text-align: center;
	margin-top: 3rem;
}

.iv-text-button {
	background: none;
	border: none;
	color: var(--color-action, #AD5208);
	font-weight: 500;
	cursor: pointer;
	padding: 0.5rem 1rem;
	text-decoration: underline;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	padding-inline: 8px;
}

.iv-text-button:hover {
	color: var(--color-action-hover, #8a4106);
}

/* Mobile sticky nav */
@media (max-width: 599px) {
	.iv-assessment__nav {
		position: sticky;
		bottom: 0;
		background: #fff;
		border-top: 1px solid var(--color-border, #e2e8f0);
		padding: 1rem;
		margin-left: -1rem;
		margin-right: -1rem;
		z-index: 10;
	}
	.iv-assessment {
		padding-bottom: 5rem;
	}
	:root {
		--iv-assess-nav-h: 88px;
	}
	.iv-assessment input,
	.iv-assessment label {
		scroll-margin-bottom: var(--iv-assess-nav-h);
	}
}

html.iv-has-sticky-nav {
	scroll-padding-bottom: var(--iv-assess-nav-h);
}

/* PE: without JS every step is shown stacked; the wizard chrome only exists once enhanced. */
.iv-assessment:not(.is-enhanced) .iv-assessment__nav,
.iv-assessment:not(.is-enhanced) .iv-assessment__progress-header { display: none; }

/* ---- Assessment report (AssessmentReport) ---- */
.iv-report__summary {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--space-sm);
	align-items: start;
	margin: var(--space-sm) 0 var(--space-md);
	padding: var(--space-sm);
	border: 1px solid var(--color-border-light);
	border-radius: var(--radius-md);
	background: var(--color-surface-light);
}
.iv-report__score {
	display: grid;
	place-content: center;
	width: 5.5rem;
	height: 5.5rem;
	border-radius: 50%;
	border: 6px solid var(--color-text-light);
	text-align: center;
	line-height: 1;
}
.iv-report__score.is-early { border-color: var(--color-action); }
.iv-report__score.is-strong { border-color: var(--color-green-text); }
.iv-report__score-num { font-size: 1.75rem; font-weight: 700; color: var(--color-ink); }
.iv-report__score-of { font-size: 0.75rem; color: var(--color-text-light-muted); }
.iv-report__overall { font-weight: 700; margin: 0 0 0.25rem; color: var(--color-ink); }
.iv-report__profile { margin: 0 0 0.5rem; font-size: 0.875rem; color: var(--color-text-light-muted); }
.iv-report__lede { margin: 0; }
@media (max-width: 420px) {
	.iv-report__summary { grid-template-columns: 1fr; }
}

.iv-report__block { margin-bottom: var(--space-md); }
.iv-report__block > h3 { margin-bottom: 0.5rem; }
.iv-report__legend { font-size: 0.875rem; color: var(--color-text-light-muted); margin: 0 0 1rem; }

.iv-report__priorities { padding-left: 1.5rem; margin: 0; }
.iv-report__priorities > li { margin-bottom: 1rem; }
.iv-report__priorities p { margin: 0.25rem 0 0; }
.iv-report__first-step span { font-weight: 700; color: var(--color-action); }

.iv-report__area {
	border: 1px solid var(--color-border-light);
	border-left: 4px solid var(--color-text-light);
	border-radius: var(--radius-sm);
	margin-bottom: 0.75rem;
	background: var(--color-surface-light);
}
.iv-report__area.is-early { border-left-color: var(--color-action); }
.iv-report__area.is-strong { border-left-color: var(--color-green-text); }
.iv-report__area > summary {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	min-height: 44px;
	align-items: center;
	padding: 0.75rem 1rem;
	cursor: pointer;
	font-weight: 600;
}
.iv-report__area-score { font-size: 0.875rem; font-weight: 500; color: var(--color-text-light-muted); }
.iv-report__area-body { padding: 0 1rem 1rem; }
.iv-report__area-body h4 { margin: 1rem 0 0.5rem; font-size: 1rem; }
.iv-report__meaning { font-weight: 600; }
.iv-report__evidence { list-style: none; padding: 0; margin: 0; }
.iv-report__evidence li {
	padding: 0.75rem;
	margin-bottom: 0.5rem;
	border-radius: var(--radius-sm);
	background: var(--color-bg-light);
}
.iv-report__evidence p { margin: 0.25rem 0 0; }
.iv-report__q { display: block; font-size: 0.8125rem; color: var(--color-text-light-muted); }
.iv-report__a { display: block; font-weight: 600; }
.iv-report__evidence li.is-gap .iv-report__a { color: var(--color-action); }
.iv-report__evidence li.is-strength .iv-report__a { color: var(--color-green-text); }
.iv-report__actions { padding-left: 1.25rem; margin: 0 0 1rem; }
.iv-report__actions li { margin-bottom: 0.5rem; }

.iv-report__plan { display: grid; gap: var(--space-sm); }
@media (min-width: 700px) { .iv-report__plan { grid-template-columns: 1fr 1fr; } }
.iv-report__plan > div {
	padding: 1rem;
	border: 1px solid var(--color-border-light);
	border-radius: var(--radius-sm);
	background: var(--color-surface-light);
}
.iv-report__plan h4 { margin: 0 0 0.5rem; }
.iv-report__plan ul, .iv-report__industry ul { padding-left: 1.25rem; margin: 0; }
.iv-report__plan li, .iv-report__industry li { margin-bottom: 0.5rem; }
.iv-report__tools ul { list-style: none; padding: 0; margin: 0; }
.iv-report__tools li { margin-bottom: 1rem; }
.iv-report__tools p { margin: 0 0 0.25rem; }
.iv-report__why { font-weight: 600; color: var(--color-text-light) !important; }

.iv-report__method { margin-bottom: 1rem; }
.iv-report__method summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
.iv-report__method p { font-size: 0.875rem; color: var(--color-text-light-muted); }

/* Fable AR1: real list markers (main.css resets them), area names as headings, band meanings once, print. */
.iv-report__priorities { list-style: decimal; }
.iv-report__priorities > li::marker { font-weight: 700; color: var(--color-action); }
.iv-report__actions, .iv-report__industry ul { list-style: disc; }
.iv-report__legend { list-style: none; padding: 0; }
.iv-report__legend li { margin-bottom: 0.25rem; }
.iv-report__area-name { display: inline; margin: 0; font-size: 1rem; }
.iv-report__area-body h5 { margin: 1rem 0 0.5rem; font-size: 1rem; }
.iv-report__booking--early { margin-top: 0.5rem; }
button.iv-link-arrow { padding: 0; border: 0; background: none; color: var(--color-action); font-size: inherit; text-align: left; cursor: pointer; }
button.iv-link-arrow:hover { color: var(--color-action-hover); text-decoration: underline; }
.iv-assessment__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1rem; }
@media print {
	.iv-assessment__lead-capture, .iv-assessment__actions, .iv-report__booking, .iv-chat, .iv-consent, .iv-cta-band, header, footer { display: none !important; }
	.iv-report__area { break-inside: avoid; }
}
