/**
 * Hide theme page H1 hero on /hemsidetest/ so the tool provides the single H1.
 * Ordinary site visits elsewhere unchanged; no Google Fonts CDN from this plugin.
 */
body.km-hemsidetest-page .pg-hero,
body.page-hemsidetest .pg-hero,
.page-id-226 .pg-hero {
	display: none !important;
}

/* Theme content width: widen only this page */
/* Dark tool surface: forge page paper is light; KM tool text is light. */
body.km-hemsidetest-page .site-content,
body.km-hemsidetest-page .km-page-hemsidetest,
body.km-hemsidetest-page main.km-page-hemsidetest,
.page-id-226 .site-content,
.page-id-226 .km-page-hemsidetest,
.page-id-226 main.km-page-hemsidetest {
	background: #f6f7f8 !important;
	color: #101418;
}

body.km-hemsidetest-page .pg-body--hemsidetest,
body.km-hemsidetest-page .pg-body--hemsidetest.kmf-shell,
body.km-hemsidetest-page .pg-prose,
.page-id-226 .pg-body--hemsidetest,
.page-id-226 .pg-body--hemsidetest.kmf-shell,
.page-id-226 .pg-prose {
	max-width: min(1280px, 100%) !important;
	width: 100% !important;
	background: transparent !important;
	color: #141414 !important;
}

body.km-hemsidetest-page .pg-body--hemsidetest,
.page-id-226 .pg-body--hemsidetest {
	padding-left: clamp(1rem, 3vw, 1.75rem);
	padding-right: clamp(1rem, 3vw, 1.75rem);
}

/* Neutralize forge prose ink on this page only (tool owns typography). */
body.km-hemsidetest-page .pg-prose h1,
body.km-hemsidetest-page .pg-prose h2,
body.km-hemsidetest-page .pg-prose h3,
body.km-hemsidetest-page .pg-prose p,
body.km-hemsidetest-page .pg-prose a,
.page-id-226 .pg-prose h1,
.page-id-226 .pg-prose h2,
.page-id-226 .pg-prose h3,
.page-id-226 .pg-prose p,
.page-id-226 .pg-prose a {
	color: inherit;
	text-decoration-color: currentColor;
}

.km-ht .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/**
 * KM Hemsidetest — tool UI (scoped under .km-ht)
 * Tokens: near-black / plate / text / muted / accent
 * Shell ~1280px; prose kept to ~70ch.
 */

.km-ht {
	/* Cool technical neutrals (2.2.4) — no warm beige */
	--km-ht-bg: #f6f7f8;
	--km-ht-bg-warm: #f6f7f8; /* alias retired; keep for older rules */
	--km-ht-plate: #ffffff;
	--km-ht-plate-2: #eef1f4;
	--km-ht-elevated: #ffffff;
	--km-ht-text: #101418;
	--km-ht-muted: #5a6068;
	--km-ht-ink-2: #3a4048;
	--km-ht-accent: #2563eb;
	--km-ht-accent-hover: #1d4ed8;
	--km-ht-accent-dim: rgba(37, 99, 235, 0.12);
	--km-ht-border: #e1e4e8;
	--km-ht-border-strong: #d0d5db;
	--km-ht-ok: #1a6b3c;
	--km-ht-ok-fill: #2d8a55;
	--km-ht-ok-bg: #e6f2ea; /* cool green tint for strengths */
	--km-ht-warn: #8a5a10;
	--km-ht-warn-fill: #e0a020;
	--km-ht-warn-bg: #f7efdc;
	--km-ht-bad: #a83224;
	--km-ht-bad-bg: #f6e9e6;
	--km-ht-dark: #101418;
	--km-ht-dark-text: #f1f3f5;
	--km-ht-dark-muted: #c4c9d0;
	--km-ht-focus: #2563eb;
	--km-ht-error: #a83224;
	--km-ht-error-bg: #f6e9e6;
	--km-ht-track: #e8eaed;
	--km-ht-limits-bg: #eef1f4;
	--km-ht-font: "Instrument Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--km-ht-mono: "IBM Plex Mono", SFMono-Regular, Consolas, monospace;
	--km-ht-radius: 4px;
	--km-ht-radius-lg: 10px;
	--km-ht-shell: min(1180px, 100%);
	--km-ht-prose: min(72ch, 100%);
	--km-ht-shadow: 0 1px 2px rgba(20,20,20,0.04), 0 14px 36px rgba(20,20,20,0.07);

	color: var(--km-ht-text);
	background: transparent;
	font-family: var(--km-ht-font);
	font-size: 1.0625rem;
	line-height: 1.65;
	max-width: var(--km-ht-shell);
	margin: 0 auto;
	padding: 0.85rem 0 3.25rem;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.km-ht *,
.km-ht *::before,
.km-ht *::after {
	box-sizing: border-box;
}

/* Compact sticky jump nav */
.km-ht__jumpnav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	position: sticky;
	top: 0.5rem;
	z-index: 20;
	background: var(--km-ht-bg);
	border: none;
	border-bottom: 1px solid var(--km-ht-border);
	border-radius: 0;
	padding: 0.65rem 0 0.75rem;
	margin: 0 0 1.15rem;
}

body.km-hemsidetest-page .km-ht__jumpnav a,
.page-id-226 .km-ht__jumpnav a,
.km-ht__jumpnav a {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--km-ht-muted) !important;
	padding: 0.2rem 0;
}

body.km-hemsidetest-page .km-ht__jumpnav a:hover,
body.km-hemsidetest-page .km-ht__jumpnav a:focus-visible,
.page-id-226 .km-ht__jumpnav a:hover,
.page-id-226 .km-ht__jumpnav a:focus-visible,
.km-ht__jumpnav a:hover,
.km-ht__jumpnav a:focus-visible {
	color: var(--km-ht-accent) !important;
}

.km-ht__jumpnav a:focus-visible {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
}

/* Compact hero — scanner stays above the fold */
.km-ht__hero {
	margin-bottom: 0.75rem;
}

.km-ht__eyebrow {
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--km-ht-accent);
	margin: 0 0 0.4rem;
}

.km-ht h1.km-ht__title,
.km-ht__title {
	font-family: var(--km-ht-font) !important;
	font-weight: 700 !important;
	font-size: clamp(1.7rem, 3.6vw, 2.35rem) !important;
	line-height: 1.18 !important;
	letter-spacing: -0.025em;
	margin: 0 0 0.55rem !important;
	color: var(--km-ht-text) !important;
	max-width: var(--km-ht-prose);
}

.km-ht__lede {
	margin: 0;
	color: var(--km-ht-muted);
	font-size: 1.075rem;
	max-width: var(--km-ht-prose);
}

.km-ht__lede--compact {
	font-size: 1.025rem;
	line-height: 1.55;
}

.km-ht__prose {
	max-width: var(--km-ht-prose);
}

.km-ht h2.km-ht__section-title,
.km-ht h3.km-ht__section-title,
.km-ht__section-title {
	font-family: var(--km-ht-font) !important;
	font-weight: 600 !important;
	font-size: clamp(1.25rem, 2.2vw, 1.45rem) !important;
	line-height: 1.3 !important;
	margin: 0 0 0.95rem !important;
	color: var(--km-ht-text) !important;
}

/* Chapter hierarchy */
.km-ht__chapter {
	margin-bottom: 1.75rem;
}

.km-ht__chapter-label {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--km-ht-accent);
	margin: 0 0 0.4rem;
}

.km-ht__chapter--alt {
	background: var(--km-ht-plate-2);
}

.km-ht__tool,
.km-ht__info {
	background: var(--km-ht-plate);
	border: none;
	border-radius: var(--km-ht-radius);
	padding: 1.5rem 1.2rem;
	margin-bottom: 1.5rem;
}

.km-ht__chapter--alt.km-ht__info {
	background: var(--km-ht-plate-2);
}

@media (min-width: 560px) {
	.km-ht__tool,
	.km-ht__info {
		padding: 1.85rem 1.75rem;
	}
}

.km-ht__tool {
	background: var(--km-ht-elevated);
	border: none;
	box-shadow: none;
	padding-top: 1.75rem;
	padding-bottom: 1.75rem;
}

@media (min-width: 560px) {
	.km-ht__tool {
		padding: 2.1rem 2rem 2rem;
	}
}

.km-ht__label {
	display: block;
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
	margin-bottom: 0.55rem;
}

.km-ht__form-row {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

@media (min-width: 560px) {
	.km-ht__form-row {
		flex-direction: row;
		align-items: stretch;
	}
}

.km-ht input.km-ht__input,
.km-ht .km-ht__input {
	flex: 1;
	width: 100%;
	min-height: 3.5rem;
	padding: 0.95rem 1.1rem;
	background: var(--km-ht-bg) !important;
	border: 1px solid var(--km-ht-border-strong) !important;
	border-radius: var(--km-ht-radius);
	color: var(--km-ht-text) !important;
	font-family: var(--km-ht-font);
	font-size: 1.0625rem;
	line-height: 1.4;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
}

.km-ht input.km-ht__input::placeholder,
.km-ht .km-ht__input::placeholder {
	color: var(--km-ht-muted);
	opacity: 1;
}

.km-ht input.km-ht__input:hover,
.km-ht .km-ht__input:hover {
	border-color: rgba(134, 169, 189, 0.55) !important;
}

.km-ht input.km-ht__input:focus,
.km-ht .km-ht__input:focus {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
	border-color: var(--km-ht-accent) !important;
	color: var(--km-ht-text) !important;
	background: var(--km-ht-bg) !important;
}

.km-ht input.km-ht__input:disabled,
.km-ht .km-ht__input:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.km-ht button.km-ht__btn,
.km-ht .km-ht__btn,
.km-ht a.km-ht__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.5rem;
	padding: 0.95rem 1.55rem;
	background: var(--km-ht-accent) !important;
	color: #ffffff !important;
	border: 1px solid var(--km-ht-accent) !important;
	border-radius: var(--km-ht-radius);
	font-family: var(--km-ht-mono);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.km-ht button.km-ht__btn:hover,
.km-ht button.km-ht__btn:focus,
.km-ht .km-ht__btn:hover,
.km-ht .km-ht__btn:focus-visible,
.km-ht a.km-ht__btn:hover,
.km-ht a.km-ht__btn:focus-visible {
	background: var(--km-ht-accent-hover) !important;
	border-color: var(--km-ht-accent-hover) !important;
	color: #ffffff !important;
	filter: none;
}

.km-ht button.km-ht__btn:focus-visible,
.km-ht .km-ht__btn:focus-visible,
.km-ht a.km-ht__btn:focus-visible {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 3px;
}

.km-ht button.km-ht__btn:disabled,
.km-ht .km-ht__btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	filter: none;
}

.km-ht button.km-ht__btn--ghost,
.km-ht .km-ht__btn--ghost {
	background: transparent !important;
	color: var(--km-ht-text) !important;
	border-color: var(--km-ht-border-strong) !important;
}

.km-ht button.km-ht__btn--ghost:hover,
.km-ht button.km-ht__btn--ghost:focus-visible,
.km-ht .km-ht__btn--ghost:hover,
.km-ht .km-ht__btn--ghost:focus-visible {
	border-color: var(--km-ht-accent) !important;
	color: var(--km-ht-accent) !important;
	background: var(--km-ht-accent-dim) !important;
	filter: none;
}

.km-ht__hint,
.km-ht__muted {
	color: var(--km-ht-muted);
	font-size: 0.9rem;
	margin: 0.85rem 0 0;
	line-height: 1.5;
}

.km-ht__error {
	color: var(--km-ht-error);
	background: var(--km-ht-error-bg);
	border: 1px solid rgba(212, 168, 152, 0.45);
	border-radius: var(--km-ht-radius);
	font-size: 0.9rem;
	margin: 0.85rem 0 0;
	padding: 0.65rem 0.8rem;
	line-height: 1.45;
}

.km-ht__error[hidden],
.km-ht [hidden] {
	display: none !important;
}

body.km-hemsidetest-page .km-ht a,
.page-id-226 .km-ht a,
.km-ht a {
	color: var(--km-ht-accent) !important;
	text-underline-offset: 0.15em;
}

body.km-hemsidetest-page .km-ht a:hover,
body.km-hemsidetest-page .km-ht a:focus-visible,
.page-id-226 .km-ht a:hover,
.page-id-226 .km-ht a:focus-visible,
.km-ht a:hover,
.km-ht a:focus-visible {
	color: var(--km-ht-text) !important;
}

.km-ht a:focus-visible {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
}

/* Jump nav stays muted (must follow general .km-ht a accent rule). */
body.km-hemsidetest-page .km-ht__jumpnav a,
.page-id-226 .km-ht__jumpnav a,
.km-ht .km-ht__jumpnav a {
	color: var(--km-ht-muted) !important;
	text-decoration: none !important;
}
body.km-hemsidetest-page .km-ht__jumpnav a:hover,
body.km-hemsidetest-page .km-ht__jumpnav a:focus-visible,
.page-id-226 .km-ht__jumpnav a:hover,
.page-id-226 .km-ht__jumpnav a:focus-visible,
.km-ht .km-ht__jumpnav a:hover,
.km-ht .km-ht__jumpnav a:focus-visible {
	color: var(--km-ht-accent) !important;
}

.km-ht__progress {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--km-ht-border);
}

.km-ht__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

@media (min-width: 720px) {
	.km-ht__steps {
		flex-direction: row;
		gap: 0.75rem;
	}

	.km-ht__step {
		flex: 1;
	}
}

.km-ht__step {
	display: grid;
	grid-template-columns: 1.25rem 1fr auto;
	gap: 0.75rem;
	align-items: center;
	padding: 0.85rem 1rem;
	background: var(--km-ht-bg);
	border: none;
	border-radius: var(--km-ht-radius);
}

.km-ht__step-state {
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	background: var(--km-ht-muted);
	justify-self: center;
}

.km-ht__step-label {
	font-size: 0.9375rem;
	color: var(--km-ht-text);
}

.km-ht__step-status {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
}

.km-ht__step[data-state="active"] {
	border-color: rgba(134, 169, 189, 0.5);
}

.km-ht__step[data-state="active"] .km-ht__step-state {
	background: var(--km-ht-accent);
	box-shadow: 0 0 0 3px var(--km-ht-accent-dim);
}

.km-ht__step[data-state="active"] .km-ht__step-status {
	color: var(--km-ht-accent);
}

.km-ht__step[data-state="done"] .km-ht__step-state {
	background: var(--km-ht-ok);
}

.km-ht__step[data-state="done"] .km-ht__step-status {
	color: var(--km-ht-ok);
}

.km-ht__step[data-state="failed"] .km-ht__step-state {
	background: var(--km-ht-bad);
}

.km-ht__step[data-state="failed"] .km-ht__step-status {
	color: var(--km-ht-bad);
}

.km-ht__step[data-state="skipped"] .km-ht__step-status {
	color: var(--km-ht-muted);
}

.km-ht__progress-note {
	margin: 0.9rem 0 0;
	font-size: 0.9rem;
	color: var(--km-ht-muted);
}

.km-ht__results {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--km-ht-border);
}

.km-ht__results--example {
	margin-top: 0.75rem;
	padding-top: 0;
	border-top: none;
}

.km-ht__summary {
	font-size: 1.0625rem;
	margin: 0 0 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--km-ht-border);
	color: var(--km-ht-text);
	max-width: var(--km-ht-prose);
}

/* V2 score header */
.km-ht__scorehead {
	margin: 0 0 1.5rem;
	padding: 1.25rem 1.25rem 1.35rem;
	background: var(--km-ht-elevated);
	border: none;
	border-radius: var(--km-ht-radius);
}
.km-ht__scorehead-domain {
	margin: 0 0 0.55rem;
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
}
.km-ht__scorehead-domain strong {
	color: var(--km-ht-text);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
	font-family: var(--km-ht-font);
	font-size: 1.05rem;
}
.km-ht__scorehead-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.65rem 1.25rem;
	margin-bottom: 0.35rem;
}
.km-ht__total {
	margin: 0;
	line-height: 1;
}
.km-ht__total-num {
	font-size: clamp(3rem, 6.5vw, 4rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--km-ht-text);
}
.km-ht__total-den {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--km-ht-muted);
	margin-left: 0.15rem;
}
.km-ht__total-label {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--km-ht-accent);
}
.km-ht__total-label-note {
	font-weight: 500;
	font-size: 0.85rem;
	color: var(--km-ht-muted);
}
.km-ht__coverage {
	margin: 0.35rem 0 0.55rem;
	font-size: 0.95rem;
	color: var(--km-ht-muted);
}
.km-ht__coverage strong {
	color: var(--km-ht-text);
}
.km-ht__disclaimer {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--km-ht-muted);
	max-width: var(--km-ht-prose);
}

/* Priority left / category scores right */
.km-ht__results-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-bottom: 1.75rem;
}
@media (min-width: 900px) {
	.km-ht__results-split {
		grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1.25fr);
		gap: 1.75rem;
		align-items: stretch;
	}
}
.km-ht__results-cats {
	background: var(--km-ht-elevated);
	border: none;
	border-radius: var(--km-ht-radius);
	padding: 1.25rem 1.2rem 1.35rem;
}
.km-ht__results-cats h3 {
	margin: 0 0 0.85rem;
	font-size: 1rem;
}
.km-ht__catscores {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.km-ht__catscore {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto auto;
	gap: 0.2rem 0.75rem;
	padding: 0.35rem 0;
	background: transparent;
	border: none;
	border-radius: 0;
	border-bottom: 1px solid var(--km-ht-border);
	padding-bottom: 0.75rem;
}
.km-ht__catscore:last-child {
	border-bottom: none;
	padding-bottom: 0.2rem;
}
.km-ht__catscore-name {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
	grid-column: 1;
}
.km-ht__catscore-val {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	font-size: 0.9rem;
	color: var(--km-ht-muted);
}
.km-ht__catscore-val strong {
	font-size: 1.35rem;
	color: var(--km-ht-text);
	font-weight: 700;
}
.km-ht__catscore-label {
	grid-column: 1;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--km-ht-text);
}
.km-ht__catscore-bar {
	grid-column: 1 / -1;
	display: block;
	height: 4px;
	background: rgba(238, 236, 231, 0.1);
	border-radius: 2px;
	overflow: hidden;
	margin-top: 0.2rem;
}
.km-ht__catscore-bar > span {
	display: block;
	height: 100%;
	background: var(--km-ht-accent);
	border-radius: 2px;
	max-width: 100%;
}
.km-ht__results-cats .km-ht__psi-line {
	margin: 0.85rem 0 0;
}
.km-ht__finding-impact {
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	color: var(--km-ht-accent);
	font-weight: 600;
}

/* Full report criteria */
.km-ht__criteria-cat {
	margin: 1rem 0 0.4rem;
	font-size: 0.95rem;
}
.km-ht__criteria-list {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
}
.km-ht__criterion {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	padding: 0.4rem 0;
	border-bottom: 1px solid var(--km-ht-border);
}
.km-ht__criterion-glyph {
	font-weight: 700;
	color: var(--km-ht-accent);
	min-width: 1rem;
}
.km-ht__criterion[data-state="PASS"] .km-ht__criterion-glyph { color: var(--km-ht-ok); }
.km-ht__criterion[data-state="PARTIAL"] .km-ht__criterion-glyph { color: var(--km-ht-warn); }
.km-ht__criterion[data-state="NOT FOUND"] .km-ht__criterion-glyph,
.km-ht__criterion[data-state="FAIL"] .km-ht__criterion-glyph { color: var(--km-ht-bad); }
.km-ht__criterion-body {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.75rem;
	flex: 1;
}
.km-ht__criterion-label { color: var(--km-ht-text); }
.km-ht__criterion-state {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--km-ht-muted);
}
.km-ht__weights {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 1rem 0 1.25rem;
	padding: 0;
	list-style: none;
	max-width: 40rem;
}
@media (min-width: 720px) {
	.km-ht__weights { grid-template-columns: 1fr; }
}
.km-ht__weights li {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 0.35rem 0;
	background: transparent;
	border: none;
	border-radius: 0;
}
.km-ht__weight-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
}
.km-ht__weight-bar {
	height: 8px;
	background: rgba(238, 236, 231, 0.1);
	border-radius: 2px;
	overflow: hidden;
}
.km-ht__weight-bar > span {
	display: block;
	height: 100%;
	background: var(--km-ht-accent);
	border-radius: 2px;
}
.km-ht__weights strong { color: var(--km-ht-accent); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.km-ht__criteria-expand {
	margin: 0.5rem 0 1rem;
	padding: 0.85rem 0;
	background: transparent;
	border: none;
	border-top: 1px solid var(--km-ht-border);
	border-bottom: 1px solid var(--km-ht-border);
	border-radius: 0;
}
.km-ht__criteria-expand summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--km-ht-accent);
}
.km-ht__criteria-expand[open] summary { margin-bottom: 0.65rem; }


/* Top 3 dominates; secondary content in grid on wide screens */
.km-ht__block--priority {
	margin-bottom: 1.75rem;
}

.km-ht__block--priority .km-ht__finding--issue {
	padding: 1rem 1.05rem;
}

.km-ht__results-secondary {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

@media (min-width: 900px) {
	.km-ht__results-secondary {
		grid-template-columns: 1fr 1.15fr;
		align-items: start;
	}
}

.km-ht__bands {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.55rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

@media (min-width: 480px) {
	.km-ht__bands {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 900px) {
	.km-ht__bands {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

.km-ht__band {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 0.85rem 1rem;
	background: var(--km-ht-bg);
	border: none;
	border-radius: var(--km-ht-radius);
}

.km-ht__band-name {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
}

.km-ht__band-value {
	font-weight: 600;
	font-size: 0.975rem;
	color: var(--km-ht-text);
}

.km-ht__band[data-band="Stark"] .km-ht__band-value {
	color: var(--km-ht-ok);
}

.km-ht__band[data-band="Bra grund"] .km-ht__band-value {
	color: var(--km-ht-accent);
}

.km-ht__band[data-band="Behöver förbättras"] .km-ht__band-value {
	color: var(--km-ht-warn);
}

.km-ht__band[data-band="Väntar"] .km-ht__band-value,
.km-ht__band[data-band="—"] .km-ht__band-value,
.km-ht__band[data-band="Saknas"] .km-ht__band-value,
.km-ht__band[data-band="Kunde inte bedömas"] .km-ht__band-value {
	color: var(--km-ht-muted);
}

.km-ht__psi-line {
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	color: var(--km-ht-muted);
	margin: -0.75rem 0 1.25rem;
}

.km-ht__block {
	margin-bottom: 1.5rem;
}

.km-ht__block h3 {
	font-family: var(--km-ht-font) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.75rem !important;
	color: var(--km-ht-text) !important;
}

.km-ht__findings {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.km-ht__finding {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	padding: 1.05rem 0 1.15rem;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--km-ht-border);
	border-radius: 0;
}
.km-ht__finding:last-child {
	border-bottom: none;
}

.km-ht__finding--positive {
	border-left-color: var(--km-ht-ok);
}

.km-ht__finding--issue {
	border-left-color: var(--km-ht-warn);
}

.km-ht__block--priority .km-ht__finding--issue {
	border-left: none;
	padding-left: 0;
}

.km-ht__finding-num {
	flex: 0 0 auto;
	width: auto;
	height: auto;
	min-width: 2.5rem;
	display: inline-flex;
	align-items: flex-start;
	justify-content: flex-start;
	border-radius: 0;
	background: transparent;
	color: var(--km-ht-accent);
	font-family: var(--km-ht-mono);
	font-size: clamp(1.65rem, 3vw, 2.1rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-top: 0.05rem;
}

.km-ht__finding-body {
	flex: 1;
	min-width: 0;
}

.km-ht__finding-kind {
	margin: 0 0 0.25rem;
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
}

.km-ht__finding--issue .km-ht__finding-kind {
	color: var(--km-ht-warn);
}

.km-ht__finding--positive .km-ht__finding-kind {
	color: var(--km-ht-ok);
}

.km-ht__finding-msg {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--km-ht-text);
	line-height: 1.4;
}
.km-ht__block--priority .km-ht__finding-msg {
	font-size: clamp(1.05rem, 1.6vw, 1.15rem);
}

.km-ht__finding-meta {
	margin: 0.4rem 0 0;
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
}

.km-ht__finding-why {
	margin: 0.45rem 0 0;
	font-size: 0.875rem;
	color: var(--km-ht-muted);
	line-height: 1.45;
}

.km-ht__finding-evidence {
	margin: 0.35rem 0 0;
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	letter-spacing: 0.02em;
	color: var(--km-ht-muted);
	word-break: break-word;
}

.km-ht__questions {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.km-ht__q {
	margin: 0;
}

.km-ht__q label {
	display: block;
	font-size: 0.9rem;
	margin-bottom: 0.4rem;
	color: var(--km-ht-muted);
}

.km-ht .km-ht__q select,
.km-ht .km-ht__q textarea,
.km-ht .km-ht__lead input,
.km-ht .km-ht__lead textarea,
.km-ht select,
.km-ht textarea {
	width: 100%;
	min-height: 2.875rem;
	padding: 0.7rem 0.85rem;
	background: var(--km-ht-bg) !important;
	border: 1px solid var(--km-ht-border-strong) !important;
	border-radius: var(--km-ht-radius);
	color: var(--km-ht-text) !important;
	font-family: var(--km-ht-font);
	font-size: 1rem;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
}

.km-ht .km-ht__q textarea,
.km-ht .km-ht__lead textarea,
.km-ht textarea {
	min-height: 5.25rem;
	resize: vertical;
}

.km-ht .km-ht__q select:focus,
.km-ht .km-ht__q textarea:focus,
.km-ht .km-ht__lead input:focus,
.km-ht .km-ht__lead textarea:focus,
.km-ht select:focus,
.km-ht textarea:focus {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
	border-color: var(--km-ht-accent) !important;
	color: var(--km-ht-text) !important;
	background: var(--km-ht-bg) !important;
}

.km-ht__lead-fields {
	display: flex;
	flex-direction: column;
	gap: 0.95rem;
	margin-bottom: 1.1rem;
}

.km-ht__lead .km-ht__label {
	margin-bottom: 0.4rem;
}

.km-ht__disclosure {
	margin-top: 1.5rem;
	border-top: 1px solid var(--km-ht-border);
	padding-top: 1rem;
}

.km-ht__disclosure > summary {
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	color: var(--km-ht-accent);
	list-style: none;
	padding: 0.5rem 0;
}

.km-ht__disclosure > summary::-webkit-details-marker {
	display: none;
}

.km-ht__disclosure > summary:focus-visible {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
}

.km-ht__disclosure[open] > summary {
	margin-bottom: 0.75rem;
}

.km-ht__disclosure-body {
	font-size: 0.9rem;
	color: var(--km-ht-muted);
	line-height: 1.55;
}

.km-ht__disclosure-body ul {
	margin: 0.5rem 0 1rem;
	padding-left: 1.25rem;
}

.km-ht__list {
	margin: 0;
	padding-left: 1.25rem;
	color: var(--km-ht-muted);
}

.km-ht__list li {
	margin-bottom: 0.55rem;
	padding-left: 0.15rem;
}

.km-ht__list strong,
.km-ht__list em {
	color: var(--km-ht-text);
	font-style: normal;
}

.km-ht__list em {
	font-style: italic;
}

.km-ht__list--numbered {
	padding-left: 1.35rem;
}

.km-ht__info > p {
	margin: 0 0 0.85rem;
	color: var(--km-ht-muted);
}

.km-ht__info > p:last-child {
	margin-bottom: 0;
}

.km-ht__info strong {
	color: var(--km-ht-text);
}

.km-ht__badge {
	display: inline-block;
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.25rem 0.5rem;
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius);
	color: var(--km-ht-muted);
	margin-bottom: 0.75rem;
}

.km-ht__badge--partial {
	border-color: var(--km-ht-accent);
	color: var(--km-ht-accent);
}

@media (prefers-reduced-motion: reduce) {
	.km-ht *,
	.km-ht *::before,
	.km-ht *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

.km-ht__micro {
	color: var(--km-ht-muted);
	font-size: 0.875rem;
	margin: 0.85rem 0 0;
	line-height: 1.45;
	letter-spacing: 0.01em;
}

.km-ht__limits {
	padding: 0;
	overflow: hidden;
}

.km-ht__limits > summary {
	list-style: none;
	cursor: pointer;
	padding: 1.375rem 1.125rem;
	margin: 0 !important;
}

.km-ht__limits > summary::-webkit-details-marker {
	display: none;
}

.km-ht__limits > summary::after {
	content: "Visa";
	float: right;
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--km-ht-accent);
}

.km-ht__limits[open] > summary::after {
	content: "Dölj";
}

.km-ht__limits-body {
	padding: 0 1.125rem 1.375rem;
	border-top: 1px solid var(--km-ht-border);
}

@media (min-width: 560px) {
	.km-ht__limits > summary,
	.km-ht__limits-body {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

.km-ht__lead-alt {
	margin-top: 0.85rem;
}

.km-ht__code {
	font-family: var(--km-ht-mono);
	font-size: 0.8em;
	color: var(--km-ht-accent);
	word-break: break-all;
}

@media (max-width: 559px) {
	.km-ht {
		font-size: 1rem;
		padding-bottom: 2rem;
	}

	.km-ht__tool,
	.km-ht__info {
		padding: 1.15rem 0.95rem;
	}

	.km-ht button.km-ht__btn,
	.km-ht .km-ht__btn {
		width: 100%;
	}

	.km-ht__step {
		grid-template-columns: 1rem 1fr;
		grid-template-rows: auto auto;
	}

	.km-ht__step-status {
		grid-column: 2;
	}

	.km-ht__jumpnav {
		gap: 0.3rem 0.65rem;
		position: static;
	}
}

.km-ht__cred {
	list-style: none;
	margin: 1.15rem 0 0;
	padding: 0.85rem 0 0;
	border-top: 1px solid var(--km-ht-border);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

@media (min-width: 560px) {
	.km-ht__cred {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.35rem 1.25rem;
	}
}

.km-ht__cred li {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
}

.km-ht__cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 0 0 0.25rem;
}

@media (min-width: 720px) {
	.km-ht__cards {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

.km-ht__card {
	background: var(--km-ht-bg);
	border: none;
	border-radius: var(--km-ht-radius);
	padding: 1.15rem 1.05rem;
}

.km-ht__card-title {
	font-family: var(--km-ht-font) !important;
	font-size: 0.975rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.45rem !important;
	color: var(--km-ht-text) !important;
}

.km-ht__card p {
	margin: 0;
	font-size: 0.9rem;
	color: var(--km-ht-muted);
	line-height: 1.5;
}

.km-ht__intro {
	margin: 0 0 1.15rem;
	color: var(--km-ht-muted);
	font-size: 1rem;
}

/* Google vs KM split */
.km-ht__split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
}

@media (min-width: 800px) {
	.km-ht__split {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}
}

.km-ht__split-card {
	background: var(--km-ht-bg);
	border: none;
	border-radius: var(--km-ht-radius);
	padding: 1.25rem 1.15rem;
}

.km-ht__split-card--google {
	border-top: 3px solid var(--km-ht-accent);
}

.km-ht__split-card--km {
	border-top: 3px solid var(--km-ht-ok);
}

.km-ht__split-eyebrow {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--km-ht-accent);
	margin: 0 0 0.4rem;
}

.km-ht__split-card--km .km-ht__split-eyebrow {
	color: var(--km-ht-ok);
}

.km-ht__split-title {
	font-family: var(--km-ht-font) !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.75rem !important;
	color: var(--km-ht-text) !important;
}

/* Category criteria cards — 2–3 columns */
.km-ht__cat-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.km-ht__cat {
	padding: 1.5rem 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--km-ht-border);
	border-radius: 0;
	max-width: 48rem;
}

.km-ht__cat:last-child {
	border-bottom: none;
	padding-bottom: 0.5rem;
}

.km-ht__cat-title {
	font-family: var(--km-ht-font) !important;
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.55rem !important;
	color: var(--km-ht-text) !important;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.km-ht__cat-icon {
	flex: 0 0 auto;
	width: 1.5rem;
	height: 1.5rem;
	color: var(--km-ht-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.km-ht__cat-icon svg {
	width: 1.5rem;
	height: 1.5rem;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.km-ht__cat-letter {
	flex: 0 0 auto;
	width: 1.6rem;
	height: 1.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	font-weight: 600;
	color: #0a0b0c;
	background: var(--km-ht-accent);
	border-radius: var(--km-ht-radius);
}

.km-ht__cat-lead {
	margin: 0 0 0.85rem;
	color: var(--km-ht-muted);
	font-size: 0.9375rem;
}

.km-ht__cat-block {
	margin-top: 0.85rem;
	padding-top: 0;
	border-top: none;
}

.km-ht__cat-kicker {
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--km-ht-accent);
	margin: 0 0 0.35rem;
}

.km-ht__good,
.km-ht__ex {
	margin: 0;
	font-size: 0.9rem;
	color: var(--km-ht-muted);
	line-height: 1.5;
}

.km-ht__good strong,
.km-ht__ex strong {
	color: var(--km-ht-text);
	font-weight: 600;
}

.km-ht code {
	font-family: var(--km-ht-mono);
	font-size: 0.85em;
	color: var(--km-ht-accent);
}

.km-ht__bands-legend {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

@media (min-width: 800px) {
	.km-ht__bands-legend {
		grid-template-columns: 1fr 1fr;
	}
}

.km-ht__bands-legend li {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.85rem 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--km-ht-border);
	border-radius: 0;
	color: var(--km-ht-muted);
	font-size: 0.975rem;
}
.km-ht__bands-legend li:last-child { border-bottom: none; }

@media (min-width: 560px) {
	.km-ht__bands-legend li {
		flex-direction: row;
		align-items: baseline;
		gap: 0.85rem;
	}
}

.km-ht__pill {
	display: inline-block;
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.2rem 0.45rem;
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius);
	color: var(--km-ht-text);
	white-space: nowrap;
}

.km-ht__pill--stark { color: var(--km-ht-ok); border-color: rgba(180, 208, 172, 0.5); }
.km-ht__pill--bra { color: var(--km-ht-accent); border-color: rgba(134, 169, 189, 0.5); }
.km-ht__pill--behover { color: var(--km-ht-warn); border-color: rgba(212, 196, 152, 0.5); }
.km-ht__pill--saknas { color: var(--km-ht-muted); }

/* Methodology steps row */
.km-ht__method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

@media (min-width: 720px) {
	.km-ht__method {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1100px) {
	.km-ht__method {
		grid-template-columns: repeat(4, 1fr);
	}
}

.km-ht__method > li {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 1.1rem 1rem;
	background: var(--km-ht-bg);
	border: none;
	border-radius: var(--km-ht-radius);
}

.km-ht__method-num {
	flex: 0 0 auto;
	width: 1.6rem;
	height: 1.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	font-weight: 600;
	color: #0a0b0c;
	background: var(--km-ht-accent);
	border-radius: var(--km-ht-radius);
}

.km-ht__method strong {
	display: block;
	color: var(--km-ht-text);
	font-size: 0.95rem;
	margin-bottom: 0.25rem;
}

.km-ht__method p {
	margin: 0;
	font-size: 0.875rem;
	color: var(--km-ht-muted);
	line-height: 1.45;
}

.km-ht__example {
	border: none;
	box-shadow: none;
	position: relative;
}

.km-ht__example-badge {
	display: inline-block;
	font-family: var(--km-ht-mono);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--km-ht-accent);
	margin: 0 0 0.75rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid rgba(134, 169, 189, 0.5);
	border-radius: var(--km-ht-radius);
}

.km-ht__cta-band .km-ht__btn--ghost {
	margin-right: 0.75rem;
	margin-bottom: 0.5rem;
}

.km-ht__textlink {
	font-size: 0.9375rem;
	color: var(--km-ht-accent);
}

.km-ht__faq {
	border-top: 1px solid var(--km-ht-border);
	padding: 0.85rem 0;
}

.km-ht__faq:first-of-type {
	border-top: none;
	padding-top: 0.15rem;
}

.km-ht__faq > summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--km-ht-text);
	list-style: none;
	padding: 0.25rem 0;
}

.km-ht__faq > summary::-webkit-details-marker {
	display: none;
}

.km-ht__faq > summary::after {
	content: "+";
	float: right;
	font-family: var(--km-ht-mono);
	color: var(--km-ht-accent);
}

.km-ht__faq[open] > summary::after {
	content: "–";
}

.km-ht__faq > p {
	margin: 0.55rem 0 0.25rem;
	color: var(--km-ht-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.km-ht__footer-meta {
	margin-bottom: 0;
}

.km-page-hemsidetest .pg-body--hemsidetest {
	padding-top: 1.25rem;
}
@media (min-width: 768px) {
	.km-page-hemsidetest .pg-body--hemsidetest {
		padding-top: 1.5rem;
	}
}


/* V2r trust + coverage UX */
.km-ht__trust .km-ht__notin {
	margin-top: 1.35rem;
	padding: 1.1rem 0 0;
	background: transparent;
	border: none;
	border-top: 1px solid var(--km-ht-border);
	border-radius: 0;
	max-width: var(--km-ht-prose);
}
.km-ht__coverage-hint {
	font-weight: 400;
	color: var(--km-ht-muted);
	font-size: 0.92em;
}
.km-ht__uncertainty,
.km-ht__js-warn {
	margin: 0.65rem 0 0;
	padding: 0.65rem 0.85rem;
	border-left: 3px solid var(--km-ht-warn);
	background: rgba(212, 196, 152, 0.08);
	color: var(--km-ht-text);
	max-width: var(--km-ht-prose);
	font-size: 0.95rem;
	line-height: 1.45;
}
.km-ht__js-warn {
	border-left-color: var(--km-ht-accent);
	background: var(--km-ht-accent-dim);
}


/* ===== Visual hierarchy pass 2.1.1 ===== */

/* Inline score panel inside results-cats (desktop right column) */
.km-ht__results-panel .km-ht__scorehead {
	margin: 0 0 1.25rem;
	padding: 0 0 1.15rem;
	background: transparent;
	border-bottom: 1px solid var(--km-ht-border);
}
.km-ht__results-panel .km-ht__total-num {
	font-size: clamp(2.75rem, 5vw, 3.5rem);
}
.km-ht__results-panel .km-ht__disclaimer {
	font-size: 0.8125rem;
}

.km-ht__block--priority > h3 {
	font-size: 1.15rem !important;
	margin-bottom: 1rem !important;
}

.km-ht__finding--positive {
	border-left: none;
	opacity: 0.95;
}
.km-ht__finding--positive .km-ht__finding-kind::before {
	content: "✓ ";
	color: var(--km-ht-ok);
}

.km-ht__step[data-state="active"] {
	box-shadow: inset 2px 0 0 0 var(--km-ht-accent);
}
.km-ht__step[data-state="done"] {
	box-shadow: inset 2px 0 0 0 var(--km-ht-ok);
}
.km-ht__step[data-state="failed"] {
	box-shadow: inset 2px 0 0 0 var(--km-ht-bad);
}

.km-ht__status-icon {
	display: inline-block;
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	margin-right: 0.4rem;
	vertical-align: middle;
	background: currentColor;
}

.km-ht__chapter-label {
	margin-bottom: 0.5rem;
}

.km-ht__hero {
	margin-bottom: 1.15rem;
}

.km-ht__cred {
	border-top-color: var(--km-ht-border);
}

.km-ht__progress,
.km-ht__results {
	border-top-color: var(--km-ht-border);
}

.km-ht__faq {
	border-top-color: var(--km-ht-border);
}

/* Soften leftover boxed repetition */
.km-ht__pill {
	border-color: var(--km-ht-border-strong);
}

/* Mobile: score panel first, then priorities */
@media (max-width: 899px) {
	.km-ht__results-split {
		display: flex;
		flex-direction: column;
	}
	.km-ht__results-panel {
		order: -1;
	}
	.km-ht__results-panel .km-ht__scorehead {
		margin-bottom: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.km-ht__catscore-bar > span,
	.km-ht__weight-bar > span {
		transition: none !important;
	}
}

.km-ht__catscore-bar > span,
.km-ht__weight-bar > span {
	transition: width 0.35s ease;
}


/* ========== v2.2.0 light editorial overrides ========== */
.km-ht__jumpnav {
	display: none;
}
.km-ht__hero {
	background: var(--km-ht-bg-warm);
	padding: 2.75rem 0 2rem;
	max-width: none;
}
.km-ht__eyebrow {
	font-family: var(--km-ht-mono);
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
	font-weight: 650;
	margin: 0 0 0.85rem;
}
.km-ht__title {
	font-size: clamp(2.2rem, 4.5vw, 3.25rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.08;
	color: var(--km-ht-text);
	max-width: 18ch;
	margin: 0 0 1rem;
}
.km-ht__lede {
	font-size: 1.1rem;
	color: var(--km-ht-ink-2);
	max-width: 48ch;
	line-height: 1.55;
}
.km-ht__props {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
}
.km-ht__props li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.975rem;
	font-weight: 550;
	color: var(--km-ht-ink-2);
}
.km-ht__props li::before {
	content: "";
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	background: var(--km-ht-ok-bg);
	box-shadow: inset 0 0 0 1.5px var(--km-ht-ok);
	flex-shrink: 0;
}

/* Dark scanner band */
.km-ht__tool {
	background: var(--km-ht-dark);
	color: var(--km-ht-dark-text);
	padding: 3.25rem clamp(1rem, 3vw, 1.75rem);
	border-radius: 0;
	margin: 0 calc(-1 * clamp(1rem, 3vw, 1.75rem));
	width: calc(100% + 2 * clamp(1rem, 3vw, 1.75rem));
	max-width: none;
	box-sizing: border-box;
}
.km-ht__tool > * {
	max-width: var(--km-ht-shell);
	margin-left: auto;
	margin-right: auto;
}
.km-ht__tool .km-ht__label {
	font-family: var(--km-ht-mono);
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--km-ht-dark-muted);
	font-weight: 600;
	margin-bottom: 0.85rem;
	display: block;
}
.km-ht__form-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.9rem;
	align-items: stretch;
}
.km-ht__input {
	background: #fff !important;
	color: var(--km-ht-text) !important;
	border: none !important;
	border-radius: var(--km-ht-radius) !important;
	padding: 1.25rem 1.35rem !important;
	font-size: 1.125rem !important;
	min-height: 64px;
}
.km-ht__btn {
	background: var(--km-ht-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--km-ht-radius) !important;
	padding: 0 1.75rem !important;
	font-size: 1.05rem !important;
	font-weight: 650 !important;
	min-height: 64px;
	cursor: pointer;
}
.km-ht__btn:hover { background: var(--km-ht-accent-hover) !important; }
.km-ht__micro {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.6rem;
	margin-top: 1.35rem;
	color: var(--km-ht-dark-muted);
	font-size: 0.95rem;
}
.km-ht__cred { display: none; }
.km-ht__progress {
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: var(--km-ht-radius-lg);
	padding: 1.5rem;
	margin-top: 1.5rem;
	color: var(--km-ht-dark-text);
}
.km-ht__results {
	background: var(--km-ht-plate);
	color: var(--km-ht-text);
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius-lg);
	box-shadow: var(--km-ht-shadow);
	padding: 1.75rem 1.5rem;
	margin-top: 1.75rem;
}

/* Score ring */
.km-ht__scoreboard {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 2rem;
	align-items: start;
}
.km-ht__ring-wrap {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
}
.km-ht__ring {
	width: 190px;
	height: 190px;
	position: relative;
	flex-shrink: 0;
}
.km-ht__ring svg {
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
	display: block;
}
.km-ht__ring-track {
	fill: none;
	stroke: var(--km-ht-track);
	stroke-width: 10;
}
.km-ht__ring-arc {
	fill: none;
	stroke-width: 10;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.6s ease;
}
.km-ht__ring-arc--green { stroke: var(--km-ht-ok-fill); }
.km-ht__ring-arc--amber { stroke: var(--km-ht-warn-fill); }
.km-ht__ring-arc--red { stroke: var(--km-ht-bad); }
.km-ht__ring-center {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.km-ht__ring-num {
	font-size: 3.4rem;
	font-weight: 750;
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--km-ht-text);
}
.km-ht__ring-den {
	font-size: 0.95rem;
	color: var(--km-ht-muted);
	font-weight: 550;
	margin-top: 0.15rem;
}
.km-ht__score-side { display: flex; flex-direction: column; gap: 0.35rem; }
.km-ht__score-kicker {
	font-family: var(--km-ht-mono);
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
	font-weight: 650;
}
.km-ht__score-label {
	font-size: 1.35rem;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}
.km-ht__score-label--green { color: var(--km-ht-ok); }
.km-ht__score-label--amber { color: var(--km-ht-warn); }
.km-ht__score-label--red { color: var(--km-ht-bad); }
.km-ht__dot {
	width: 10px; height: 10px; border-radius: 50%; display: inline-block;
}
.km-ht__dot--green { background: var(--km-ht-ok-fill); }
.km-ht__dot--amber { background: var(--km-ht-warn-fill); }
.km-ht__dot--red { background: var(--km-ht-bad); }
.km-ht__band-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 1rem;
	margin: 1rem 0 0;
	padding-top: 0.85rem;
	border-top: 1px solid var(--km-ht-border);
	font-size: 0.85rem;
	color: var(--km-ht-muted);
}
.km-ht__band-legend span { display: inline-flex; align-items: center; gap: 0.35rem; }
.km-ht__coverage-bar {
	height: 8px;
	background: var(--km-ht-track);
	border-radius: 4px;
	overflow: hidden;
	margin-top: 0.45rem;
}
.km-ht__coverage-bar > i {
	display: block;
	height: 100%;
	background: var(--km-ht-text);
	border-radius: 4px;
}

/* Category bars thicker */
.km-ht__catscores { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.km-ht__catscore {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.35rem 0.75rem;
	align-items: baseline;
}
.km-ht__catscore-name { font-weight: 650; font-size: 0.975rem; }
.km-ht__catscore-val { font-family: var(--km-ht-mono); font-weight: 700; font-size: 1rem; }
.km-ht__catscore-bar {
	grid-column: 1 / -1;
	height: 14px;
	background: var(--km-ht-track);
	border-radius: 3px;
	overflow: hidden;
}
.km-ht__catscore-bar > span {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: var(--km-ht-warn-fill);
}
.km-ht__catscore[data-color="green"] .km-ht__catscore-bar > span { background: var(--km-ht-ok-fill); }
.km-ht__catscore[data-color="amber"] .km-ht__catscore-bar > span { background: var(--km-ht-warn-fill); }
.km-ht__catscore[data-color="red"] .km-ht__catscore-bar > span { background: var(--km-ht-bad); }
.km-ht__catscore-label { display: none; }

/* Top 3 editorial */
.km-ht__findings { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.km-ht__block--priority {
	background: var(--km-ht-plate);
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius-lg);
	overflow: hidden;
	box-shadow: var(--km-ht-shadow);
	padding: 0;
}
.km-ht__block--priority > h3 {
	padding: 1.25rem 1.35rem 0.5rem;
	font-size: 1.35rem;
	margin: 0;
}
.km-ht__finding {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem 1rem;
	padding: 1.35rem 1.35rem 1.45rem;
	border-top: 1px solid var(--km-ht-border);
}
.km-ht__finding-num {
	font-size: 2.75rem;
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
	color: #8a5a10;
}
.km-ht__finding--issue:first-of-type .km-ht__finding-num,
.km-ht__finding[data-sev="high"] .km-ht__finding-num { color: #9e3d32; }
.km-ht__finding-msg {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	margin: 0 0 0.4rem !important;
	line-height: 1.3 !important;
	color: var(--km-ht-text) !important;
}
.km-ht__finding-kind {
	font-family: var(--km-ht-mono);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--km-ht-bad);
	margin: 0 0 0.55rem;
}
.km-ht__finding-meta {
	font-family: var(--km-ht-mono);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--km-ht-muted);
	margin: 0 0 0.55rem;
}
.km-ht__finding-why {
	font-size: 0.95rem !important;
	color: var(--km-ht-ink-2) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}
.km-ht__finding-evidence,
.km-ht__finding-impact { display: none; }
.km-ht__prio-estimate {
	margin: 1rem 1.35rem 1.35rem;
	padding: 1rem 1.15rem;
	background: var(--km-ht-bg);
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius);
	font-size: 0.975rem;
	line-height: 1.45;
}
.km-ht__prio-estimate strong { font-weight: 700; }

/* Soft green positives */
.km-ht__finding--positive {
	background: var(--km-ht-ok-bg);
	border-color: rgba(46, 125, 80, 0.14);
	border-radius: var(--km-ht-radius-lg);
	margin-bottom: 0.65rem;
	border-top: none;
}
.km-ht__finding--positive .km-ht__finding-num { display: none; }
.km-ht__finding--positive .km-ht__finding-kind { color: var(--km-ht-ok); }

/* Chapters / info */
.km-ht__chapter {
	background: var(--km-ht-bg);
	color: var(--km-ht-text);
	padding: 3rem 0;
	border: none;
}
.km-ht__chapter--alt { background: var(--km-ht-plate-2); }
.km-ht__section-title {
	color: var(--km-ht-text);
	font-size: clamp(1.55rem, 2.5vw, 2rem);
	letter-spacing: -0.025em;
}
.km-ht__prose, .km-ht__intro, .km-ht__muted { color: var(--km-ht-ink-2); }
.km-ht__card, .km-ht__split-card, .km-ht__results-panel, .km-ht__notin {
	background: var(--km-ht-plate);
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius-lg);
	color: var(--km-ht-text);
	box-shadow: var(--km-ht-shadow);
}

/* Weight ribbon */
.km-ht__weight-ribbon {
	display: flex;
	height: 36px;
	gap: 3px;
	border-radius: 4px;
	overflow: hidden;
	margin: 1.25rem 0 1.5rem;
}
.km-ht__weight-ribbon span {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-family: var(--km-ht-mono);
	font-size: 0.8rem;
	font-weight: 700;
	min-width: 0;
}
.km-ht__weight-ribbon span:nth-child(1) { background: #1a1a1a; }
.km-ht__weight-ribbon span:nth-child(2) { background: #3a3a3a; }
.km-ht__weight-ribbon span:nth-child(3) { background: #555; }
.km-ht__weight-ribbon span:nth-child(4) { background: #707070; }
.km-ht__weight-ribbon span:nth-child(5) { background: #4a4a4a; }

.km-ht__weights { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: 0.65rem; }
.km-ht__weight-row { display: flex; justify-content: space-between; font-weight: 550; }
.km-ht__weight-bar { height: 8px; background: var(--km-ht-track); border-radius: 3px; overflow: hidden; }
.km-ht__weight-bar > span { display: block; height: 100%; background: var(--km-ht-text); }

.km-ht__bands-legend {
	display: flex; flex-wrap: wrap; gap: 0.65rem 1.15rem;
	list-style: none; margin: 1.25rem 0 0; padding: 0;
	font-size: 0.9rem; color: var(--km-ht-muted);
}
.km-ht__pill {
	display: inline-block; padding: 0.2rem 0.55rem; border-radius: 999px;
	font-size: 0.78rem; font-weight: 700; margin-right: 0.35rem;
}
.km-ht__pill--stark { background: var(--km-ht-ok-bg); color: var(--km-ht-ok); }
.km-ht__pill--bra, .km-ht__pill--behover { background: var(--km-ht-warn-bg); color: var(--km-ht-warn); }
.km-ht__pill--saknas { background: var(--km-ht-bad-bg); color: var(--km-ht-bad); }

.km-ht__example-badge {
	display: inline-flex;
	font-family: var(--km-ht-mono);
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 650;
	padding: 0.4rem 0.7rem;
	border: 1px solid var(--km-ht-border-strong);
	border-radius: var(--km-ht-radius);
	background: rgba(255,255,255,0.7);
	color: var(--km-ht-ink-2);
	margin-bottom: 0.85rem;
}
.km-ht__results--example {
	background: var(--km-ht-plate);
	margin-top: 1.25rem;
}

/* Dark CTA / lead */
.km-ht__cta-band,
.km-ht__lead {
	background: var(--km-ht-dark) !important;
	color: var(--km-ht-dark-text) !important;
	border: none !important;
	border-radius: var(--km-ht-radius-lg);
	padding: 1.75rem !important;
}
.km-ht__cta-band .km-ht__section-title,
.km-ht__lead h3 { color: #fff !important; }
.km-ht__cta-band .km-ht__prose,
.km-ht__cta-band .km-ht__muted,
.km-ht__lead .km-ht__muted { color: var(--km-ht-dark-muted) !important; }
.km-ht__lead-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
}
.km-ht__lead-fields input,
.km-ht__lead-fields textarea,
.km-ht__lead-fields select {
	background: #fff !important;
	color: var(--km-ht-text) !important;
	border: none !important;
	border-radius: var(--km-ht-radius) !important;
	padding: 0.85rem 1rem !important;
	width: 100%;
	min-height: 48px;
}
.km-ht__lead-fields label { color: var(--km-ht-dark-muted); font-size: 0.875rem; display: block; margin-bottom: 0.35rem; }
.km-ht__more {
	margin: 0.5rem 0 1rem;
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: var(--km-ht-radius);
}
.km-ht__more > summary {
	cursor: pointer;
	padding: 0.85rem 1rem;
	color: #d6e4ff;
	font-weight: 650;
	list-style: none;
	min-height: 44px;
}
.km-ht__more > summary::-webkit-details-marker { display: none; }
.km-ht__more-body { padding: 0 1rem 1rem; display: grid; gap: 0.75rem; }

.km-ht__faq, .km-ht__criteria-expand {
	background: var(--km-ht-plate);
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius);
	padding: 0.85rem 1rem;
	margin-bottom: 0.65rem;
}
.km-ht__faq summary, .km-ht__criteria-expand summary {
	cursor: pointer;
	font-weight: 650;
	min-height: 44px;
	display: flex;
	align-items: center;
}

@media (max-width: 800px) {
	.km-ht__form-row { grid-template-columns: 1fr; }
	.km-ht__scoreboard { grid-template-columns: 1fr; }
	.km-ht__lead-fields { grid-template-columns: 1fr; }
	.km-ht__ring { width: 170px; height: 170px; }
	.km-ht__ring-num { font-size: 3rem; }
	.km-ht__weight-ribbon { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.km-ht__ring-arc { transition: none; }
	* { scroll-behavior: auto !important; }
}

/* ========== v2.2.1 UI QA — typography / spacing / contrast / hover ========== */
/* Spacing scale target: 8 / 12 / 16 / 24 / 32 / 48 / 64 px. No functional text <14px. */

/* --- Theme header phone/nav safety (GP a:hover → near-white on light header) --- */
body.km-hemsidetest-page .kmf-header a:hover,
body.km-hemsidetest-page .kmf-header a:focus,
body.km-hemsidetest-page .kmf-header a:focus-visible,
body.km-hemsidetest-page .kmf-header a:active,
body.km-hemsidetest-page .kmf-header__phone:hover,
body.km-hemsidetest-page .kmf-header__phone:focus,
body.km-hemsidetest-page .kmf-header__phone:focus-visible,
body.km-hemsidetest-page .kmf-header__phone:active,
body.km-hemsidetest-page .kmf-header__cta:hover,
body.km-hemsidetest-page .kmf-header__cta:focus,
body.km-hemsidetest-page .kmf-header__cta:focus-visible,
body.km-hemsidetest-page .kmf-header__cta:active,
body.km-hemsidetest-page .kmf-header .kmf-nav a:hover,
body.km-hemsidetest-page .kmf-header .kmf-nav a:focus,
body.km-hemsidetest-page .kmf-header .kmf-nav a:focus-visible,
body.km-hemsidetest-page .kmf-header .kmf-nav a:active,
.page-id-226 .kmf-header a:hover,
.page-id-226 .kmf-header a:focus,
.page-id-226 .kmf-header a:focus-visible,
.page-id-226 .kmf-header a:active,
.page-id-226 .kmf-header__phone:hover,
.page-id-226 .kmf-header__phone:focus,
.page-id-226 .kmf-header__phone:focus-visible,
.page-id-226 .kmf-header__phone:active,
.page-id-226 .kmf-header__cta:hover,
.page-id-226 .kmf-header__cta:focus,
.page-id-226 .kmf-header__cta:focus-visible,
.page-id-226 .kmf-header__cta:active,
.page-id-226 .kmf-header .kmf-nav a:hover,
.page-id-226 .kmf-header .kmf-nav a:focus,
.page-id-226 .kmf-header .kmf-nav a:focus-visible,
.page-id-226 .kmf-header .kmf-nav a:active {
	color: #090909 !important;
}

/* Dark-muted bump for scanner helpers (was borderline on charcoal) */
.km-ht {
	--km-ht-dark-muted: #c2beb6;
}

/* --- Scanner: more air label → input → helper --- */
.km-ht__tool .km-ht__label {
	font-size: 0.875rem; /* 14px — functional label floor */
	margin-bottom: 0.75rem; /* 12px */
	letter-spacing: 0.12em;
}
.km-ht__form-row {
	gap: 0.75rem; /* 12px */
}
.km-ht__micro {
	margin-top: 1rem !important; /* 16px after input row */
	gap: 0.75rem 1.5rem !important;
	font-size: 0.9375rem !important; /* 15px */
	color: var(--km-ht-dark-muted) !important;
	line-height: 1.5;
}
.km-ht__progress {
	margin-top: 1.5rem; /* 24px */
}
.km-ht__progress-note,
.km-ht__step-label,
.km-ht__step-status {
	font-size: 0.9375rem !important; /* ≥15px */
}
.km-ht__error {
	margin-top: 0.75rem;
	font-size: 0.9375rem;
}

/* --- Result split: stretch columns so 1 priority fills the right side --- */
@media (min-width: 900px) {
	.km-ht__results-split {
		align-items: stretch !important;
		gap: 1.75rem;
	}
	.km-ht__results-primary {
		display: flex;
		flex-direction: column;
		min-height: 100%;
	}
	.km-ht__block--priority {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 100%;
	}
	.km-ht__block--priority .km-ht__findings {
		flex: 1 1 auto;
	}
	.km-ht__block--priority .km-ht__prio-estimate,
	.km-ht__block--priority > .km-ht__muted {
		margin-top: auto;
	}
}

/* --- Score / category readability --- */
.km-ht__score-kicker {
	font-size: 0.875rem; /* 14px */
	letter-spacing: 0.08em;
}
.km-ht__score-label {
	font-size: 1.45rem; /* was 1.35 */
}
.km-ht__ring-den {
	font-size: 1rem;
}
.km-ht__band-legend {
	font-size: 0.875rem; /* 14px */
	gap: 0.5rem 1rem;
	margin-top: 1rem;
	padding-top: 1rem;
}
.km-ht__coverage,
.km-ht__coverage-head,
.km-ht__coverage-hint,
.km-ht__psi-line,
.km-ht__summary,
.km-ht__uncertainty,
.km-ht__js-warn {
	font-size: 0.9375rem !important; /* 15px */
}
.km-ht__scorehead-domain {
	font-size: 0.9375rem !important;
	margin-bottom: 0.75rem;
}
.km-ht__results-panel .km-ht__disclaimer {
	font-size: 0.875rem !important; /* 14px floor */
	line-height: 1.5;
}
.km-ht__catscores {
	gap: 1rem !important; /* 16px */
}
.km-ht__catscore-name {
	font-size: 0.875rem !important; /* 14px — was 0.6875/0.975 */
	letter-spacing: 0.04em;
	font-weight: 650;
}
.km-ht__catscore-val {
	font-size: 1.05rem !important;
}
.km-ht__catscore-val strong {
	font-size: 1.2rem !important;
}
.km-ht__catscore-bar {
	height: 16px !important; /* more substantial */
	border-radius: 4px !important;
}
.km-ht__catscore-bar > span {
	border-radius: 4px !important;
}
.km-ht__results-cats h3,
.km-ht__results-panel > h3 {
	font-size: 1.05rem !important;
	margin: 0 0 1rem !important;
}

/* --- Top priorities: larger titles + metadata/body --- */
.km-ht__block--priority > h3 {
	padding: 1.5rem 1.5rem 0.75rem !important; /* 24/24/12 */
	font-size: 1.45rem !important;
}
.km-ht__finding {
	padding: 1.5rem !important; /* 24px */
	gap: 0.75rem 1.25rem !important;
}
.km-ht__finding-msg {
	font-size: 1.2rem !important;
	line-height: 1.35 !important;
	margin: 0 0 0.5rem !important;
}
.km-ht__finding-kind,
.km-ht__finding-meta {
	font-size: 0.875rem !important; /* 14px */
	letter-spacing: 0.05em;
	margin: 0 0 0.5rem !important;
}
.km-ht__finding-why {
	font-size: 1rem !important; /* 16px */
	line-height: 1.55 !important;
}
.km-ht__finding-impact,
.km-ht__finding-evidence {
	font-size: 0.875rem !important;
}
.km-ht__prio-estimate {
	margin: 1rem 1.5rem 1.5rem !important;
	padding: 1rem 1.25rem !important;
	font-size: 1rem !important;
}

/* --- Strengths: more internal padding --- */
.km-ht__finding--positive {
	padding: 1.35rem 1.5rem !important; /* ~22/24 */
	margin-bottom: 0.75rem !important;
	border-radius: var(--km-ht-radius-lg);
}
.km-ht__block--strengths {
	padding: 1.25rem 0 0.5rem;
}
.km-ht__block--strengths > h3 {
	margin: 0 0 1rem !important;
	padding: 0.25rem 0 !important;
	font-size: 1.3rem !important;
}
.km-ht__block > h3 {
	font-size: 1.25rem;
	margin: 1.5rem 0 1rem;
	padding-inline: 0;
}
.km-ht .km-ht__block:not(.km-ht__block--priority):not(.km-ht__lead) {
	padding: 0.25rem 0 0.5rem;
}
.km-ht .km-ht__block:not(.km-ht__block--priority):not(.km-ht__lead) > h3 {
	padding: 0.5rem 0 0.25rem;
}

/* --- Manual / lead form: calm premium --- */
.km-ht__cta-band,
.km-ht__lead {
	padding: 2rem !important; /* 32px */
}
.km-ht__lead h3 {
	font-size: 1.35rem !important;
	margin: 0 0 0.75rem !important;
}
.km-ht__lead > .km-ht__muted,
.km-ht__lead > p {
	font-size: 1rem !important;
	line-height: 1.55;
	margin-bottom: 1.25rem;
}
.km-ht__lead-fields {
	gap: 1rem !important; /* 16px field-row */
	margin-bottom: 0.5rem;
}
.km-ht__lead-fields label,
.km-ht__lead .km-ht__label {
	font-size: 0.9375rem !important; /* 15px */
	margin-bottom: 0.5rem !important; /* 8px */
	color: var(--km-ht-dark-muted) !important;
}
.km-ht__lead-fields input,
.km-ht__lead-fields textarea,
.km-ht__lead-fields select {
	padding: 0.85rem 1rem !important;
	min-height: 48px;
	font-size: 1rem !important;
}
.km-ht__more {
	margin: 1rem 0 1.25rem !important;
}
.km-ht__more > summary {
	font-size: 0.975rem !important;
	padding: 1rem 1.15rem !important;
}
.km-ht__more-body {
	gap: 1rem !important;
	padding: 0 1.15rem 1.15rem !important;
}

/* --- Methodology density --- */
.km-ht__weights {
	gap: 0.75rem !important; /* 12px */
	margin-bottom: 1.5rem !important;
}
.km-ht__weight-row {
	font-size: 0.975rem;
}
.km-ht__weight-bar {
	height: 10px;
	margin-top: 0.35rem;
}
.km-ht__bands-legend {
	font-size: 0.9375rem !important; /* 15px */
	gap: 0.75rem 1.25rem !important;
	margin: 1.5rem 0 0.75rem !important;
}
.km-ht__pill {
	font-size: 0.875rem !important; /* 14px */
	padding: 0.25rem 0.65rem;
}
.km-ht__criteria-expand {
	margin-top: 1.25rem;
	padding: 0.25rem 0;
}
.km-ht__criteria-expand summary {
	font-size: 1rem !important;
	min-height: 48px;
	padding: 0.75rem 1rem;
}
.km-ht__criteria-body {
	padding: 0.5rem 1rem 1rem;
	display: grid;
	gap: 0.75rem;
}
.km-ht__criteria-body p {
	font-size: 0.975rem;
	line-height: 1.55;
	margin: 0;
}
.km-ht__weight-ribbon span {
	font-size: 0.875rem !important; /* 14px */
}

/* --- Limitations progressive disclosure --- */
.km-ht__limits-key {
	margin: 1rem 0 0.75rem;
	display: grid;
	gap: 0.75rem;
}
.km-ht__limits-key li {
	font-size: 1rem;
	line-height: 1.5;
}
.km-ht__limits-more {
	margin-top: 0.75rem;
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius);
	background: var(--km-ht-plate);
	padding: 0;
}
.km-ht__limits-more > summary {
	cursor: pointer;
	font-weight: 650;
	font-size: 1rem;
	min-height: 48px;
	padding: 0.85rem 1.15rem;
	list-style: none;
	display: flex;
	align-items: center;
	color: var(--km-ht-text);
}
.km-ht__limits-more > summary::-webkit-details-marker { display: none; }
.km-ht__limits-more > summary:hover,
.km-ht__limits-more > summary:focus-visible {
	color: var(--km-ht-text);
}
.km-ht__limits-more > summary:focus-visible {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
}
.km-ht__limits-more[open] > summary {
	border-bottom: 1px solid var(--km-ht-border);
}
.km-ht__limits-more .km-ht__list {
	padding: 1rem 1.15rem 1.25rem;
	margin: 0;
	display: grid;
	gap: 0.65rem;
}
.km-ht__limits > summary::after {
	font-size: 0.875rem !important;
}
.km-ht__limits-body,
.km-ht__limits-body .km-ht__list li {
	font-size: 0.975rem;
	line-height: 1.55;
}

/* --- Chapter / card / FAQ spacing normalize --- */
.km-ht__chapter {
	padding: 3rem 0; /* 48px */
}
.km-ht__chapter-label,
.km-ht__split-eyebrow,
.km-ht__cat-kicker,
.km-ht__example-badge {
	/* decorative eyebrows may stay smaller — keep ≥12px readable */
	font-size: 0.8125rem;
}
.km-ht__intro,
.km-ht__prose,
.km-ht__muted {
	font-size: 1rem;
	line-height: 1.6;
}
.km-ht__card,
.km-ht__split-card,
.km-ht__notin {
	padding: 1.5rem; /* 24px */
}
.km-ht__card-title,
.km-ht__split-title,
.km-ht__cat-title {
	font-size: 1.15rem !important;
	margin-bottom: 0.75rem !important;
}
.km-ht__cat-lead {
	font-size: 1rem !important;
}
.km-ht__list li,
.km-ht__good,
.km-ht__ex {
	font-size: 0.975rem;
	line-height: 1.55;
}
.km-ht__cat-block {
	margin-top: 1rem;
}
.km-ht__faq,
.km-ht__criteria-expand {
	padding: 0.25rem 1rem;
	margin-bottom: 0.75rem;
}
.km-ht__faq summary {
	font-size: 1.05rem !important;
	padding: 0.85rem 0;
}
.km-ht__faq .km-ht__prose {
	padding-bottom: 0.85rem;
	font-size: 1rem;
}

/* --- Props / body floor --- */
.km-ht__props li {
	font-size: 1rem !important; /* 16px */
}
.km-ht__lede {
	font-size: 1.125rem !important; /* 18px */
}

/* --- Interaction: no state reduces text contrast --- */
.km-ht a:hover,
.km-ht a:focus,
.km-ht a:focus-visible,
.km-ht a:active {
	color: var(--km-ht-accent-hover);
}
.km-ht a.km-ht__textlink:hover,
.km-ht a.km-ht__textlink:focus-visible {
	color: #fff !important;
	text-decoration: underline;
}
.km-ht__btn:hover,
.km-ht__btn:focus-visible {
	background: var(--km-ht-accent-hover) !important;
	color: #fff !important;
}
.km-ht__btn:focus-visible,
.km-ht__input:focus-visible,
.km-ht__lead-fields input:focus-visible,
.km-ht__lead-fields textarea:focus-visible,
.km-ht__lead-fields select:focus-visible {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
}
.km-ht__btn--ghost {
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.45) !important;
	background: transparent !important;
}
.km-ht__btn--ghost:hover,
.km-ht__btn--ghost:focus-visible {
	color: #fff !important;
	border-color: #fff !important;
	background: rgba(255,255,255,0.08) !important;
}
.km-ht__faq summary:hover,
.km-ht__criteria-expand summary:hover,
.km-ht__more > summary:hover {
	color: inherit;
}
.km-ht__faq summary:focus-visible,
.km-ht__criteria-expand summary:focus-visible,
.km-ht__more > summary:focus-visible {
	outline: 2px solid var(--km-ht-focus);
	outline-offset: 2px;
	color: inherit;
}

/* Status colours on light plates — ensure AA for amber/red */
.km-ht__score-label--amber,
.km-ht__finding-kind {
	color: #7a4e0c; /* darker amber for text */
}
.km-ht__score-label--red {
	color: #8f2a1f;
}
.km-ht__pill--bra,
.km-ht__pill--behover {
	color: #7a4e0c;
}
.km-ht__pill--saknas {
	color: #8f2a1f;
}
.km-ht__finding--issue .km-ht__finding-kind {
	color: #8f2a1f;
}
.km-ht__finding--positive .km-ht__finding-kind {
	color: var(--km-ht-ok);
}

/* Mobile: no shrink of already-small text; keep scanner air */
@media (max-width: 800px) {
	.km-ht__tool .km-ht__label {
		font-size: 0.875rem;
		margin-bottom: 0.75rem;
	}
	.km-ht__micro {
		margin-top: 1rem !important;
		font-size: 0.9375rem !important;
	}
	.km-ht__finding-msg {
		font-size: 1.125rem !important;
	}
	.km-ht__catscore-name,
	.km-ht__finding-kind,
	.km-ht__finding-meta,
	.km-ht__pill,
	.km-ht__score-kicker {
		font-size: 0.875rem !important;
	}
	.km-ht__lead,
	.km-ht__cta-band {
		padding: 1.5rem !important;
	}
	.km-ht__block--priority > h3 {
		padding: 1.25rem 1.25rem 0.65rem !important;
		font-size: 1.3rem !important;
	}
	.km-ht__finding {
		padding: 1.25rem !important;
	}
	.km-ht__chapter {
		padding: 2.5rem 0; /* 40≈32–48 */
	}
}

/* ========== v2.2.2 hotfix — surgical QA follow-ups (no redesign) ========== */

/* Neutralize pale light-blue surfaces; keep blue for primary actions/links only */
.km-ht {
	--km-ht-plate-2: #f3f2ef;
	--km-ht-accent-dim: rgba(20, 20, 20, 0.06);
	--km-ht-dark-muted: #e8e4dc;
	--km-ht-dark-text: #faf9f6;
}

/* Remove tall blue inset rails that stick above/ beside content */
.km-ht__tool,
.km-ht__example,
.km-ht__finding,
.km-ht__block--priority,
.km-ht__results-panel {
	box-shadow: none !important;
}
.km-ht__tool {
	box-shadow: none !important;
}

/* Scanner: shrink height/padding; larger whiter label + microcopy */
.km-ht__tool {
	padding: 1.5rem clamp(1rem, 3vw, 1.75rem) !important;
	margin: 0 calc(-1 * clamp(1rem, 3vw, 1.75rem)) !important;
	width: calc(100% + 2 * clamp(1rem, 3vw, 1.75rem)) !important;
	border-radius: 0 !important;
	background: var(--km-ht-dark) !important;
	color: var(--km-ht-dark-text) !important;
	border: none !important;
}
.km-ht__tool .km-ht__label {
	font-size: 1rem !important; /* 16px */
	letter-spacing: 0.12em;
	color: #f5f4f1 !important;
	margin-bottom: 0.65rem !important;
	font-weight: 650 !important;
}
.km-ht__input {
	min-height: 52px !important;
	padding: 0.95rem 1.15rem !important;
	font-size: 1.0625rem !important;
}
.km-ht__tool .km-ht__btn,
.km-ht__tool button.km-ht__btn {
	min-height: 52px !important;
	padding: 0 1.35rem !important;
}
.km-ht__micro {
	margin-top: 0.85rem !important;
	font-size: 1rem !important; /* 16px */
	color: #f0ece4 !important;
	gap: 0.65rem 1.25rem !important;
	line-height: 1.45 !important;
}

/* Primary CTA text: white on blue (earlier #0a0b0c lost to specificity) */
.km-ht button.km-ht__btn:not(.km-ht__btn--ghost),
.km-ht .km-ht__btn:not(.km-ht__btn--ghost),
.km-ht a.km-ht__btn:not(.km-ht__btn--ghost) {
	background: var(--km-ht-accent) !important;
	border-color: var(--km-ht-accent) !important;
	color: #ffffff !important;
}
.km-ht button.km-ht__btn:not(.km-ht__btn--ghost):hover,
.km-ht button.km-ht__btn:not(.km-ht__btn--ghost):focus,
.km-ht button.km-ht__btn:not(.km-ht__btn--ghost):focus-visible,
.km-ht .km-ht__btn:not(.km-ht__btn--ghost):hover,
.km-ht .km-ht__btn:not(.km-ht__btn--ghost):focus-visible,
.km-ht a.km-ht__btn:not(.km-ht__btn--ghost):hover,
.km-ht a.km-ht__btn:not(.km-ht__btn--ghost):focus-visible {
	background: var(--km-ht-accent-hover) !important;
	border-color: var(--km-ht-accent-hover) !important;
	color: #ffffff !important;
}

/* CTA band / lead: ensure primary + ghost remain readable */
.km-ht__cta-band .km-ht__btn:not(.km-ht__btn--ghost),
.km-ht__lead .km-ht__btn:not(.km-ht__btn--ghost) {
	color: #ffffff !important;
	background: var(--km-ht-accent) !important;
}
/* Ghost on dark CTA: must beat `.km-ht a.km-ht__btn` (0,2,1) accent fill */
.km-ht a.km-ht__btn.km-ht__btn--ghost,
.km-ht button.km-ht__btn.km-ht__btn--ghost,
.km-ht__cta-band a.km-ht__btn.km-ht__btn--ghost,
.km-ht__cta-band .km-ht__btn.km-ht__btn--ghost,
.km-ht__lead a.km-ht__btn.km-ht__btn--ghost,
.km-ht__lead .km-ht__btn.km-ht__btn--ghost {
	background: transparent !important;
	background-color: transparent !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.65) !important;
}
.km-ht a.km-ht__btn.km-ht__btn--ghost:hover,
.km-ht a.km-ht__btn.km-ht__btn--ghost:focus-visible,
.km-ht__cta-band a.km-ht__btn.km-ht__btn--ghost:hover,
.km-ht__cta-band a.km-ht__btn.km-ht__btn--ghost:focus-visible {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
}
.km-ht__cta-band .km-ht__textlink,
.km-ht__cta-band a.km-ht__textlink {
	color: #dbe4ff !important;
	background: transparent !important;
}

/* Real white cards instead of half-card / tinted slabs */
.km-ht__hero {
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: var(--km-ht-shadow) !important;
	padding: 1.75rem 1.5rem !important;
	margin-bottom: 1.25rem !important;
	max-width: var(--km-ht-shell) !important;
}
.km-ht__chapter.km-ht__info:not(.km-ht__cta-band):not(.km-ht__tool):not(.km-ht__limits-panel),
.km-ht__chapter--alt.km-ht__info:not(.km-ht__cta-band):not(.km-ht__limits-panel) {
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: var(--km-ht-shadow) !important;
	padding: 1.75rem 1.5rem !important;
}
.km-ht__chapter--alt:not(.km-ht__cta-band):not(.km-ht__lead):not(.km-ht__tool) {
	background: transparent !important;
}
.km-ht__cta-band,
.km-ht__lead {
	background: var(--km-ht-dark) !important;
	color: var(--km-ht-dark-text) !important;
}
.km-ht__example {
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: var(--km-ht-shadow) !important;
}
.km-ht__card,
.km-ht__split-card,
.km-ht__results-panel,
.km-ht__notin,
.km-ht__block--priority {
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: var(--km-ht-shadow) !important;
}

/* FAQ +: far right of the row (flex + margin-left auto; float broken under display:flex) */
.km-ht__faq > summary,
.km-ht__faq summary {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100%;
	gap: 0.75rem;
}
.km-ht__faq > summary::after,
.km-ht__faq summary::after {
	content: "+" !important;
	float: none !important;
	margin-left: auto !important;
	flex: 0 0 auto;
	color: var(--km-ht-text) !important;
	font-family: var(--km-ht-mono);
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1;
}
.km-ht__faq[open] > summary::after,
.km-ht__faq[open] summary::after {
	content: "–" !important;
}

/* Criteria / limits expand: same far-right affordance when using ::after */
.km-ht__criteria-expand summary {
	display: flex !important;
	align-items: center !important;
	width: 100%;
}

@media (max-width: 800px) {
	.km-ht__tool {
		padding: 1.25rem 1rem !important;
	}
	.km-ht__hero,
	.km-ht__chapter.km-ht__info:not(.km-ht__cta-band) {
		padding: 1.35rem 1.1rem !important;
	}
}

/* ========== v2.2.3 card reduction — open editorial rhythm (no pale blue) ========== */
/* Keep blue for primary actions/links only. Keep scoring/content unchanged. */

.km-ht {
	--km-ht-plate-2: #f3f2ef; /* warm neutral — NOT pale blue */
	--km-ht-limits-bg: #f4f1ea; /* subtle warm-neutral for limitations strip */
}

/* --- Hero + info chapters: open editorial (undo 2.2.2 heavy white plates) --- */
.km-ht__hero {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 2.5rem 0 1.75rem !important;
	margin-bottom: 0 !important;
	max-width: none !important;
}
.km-ht__chapter.km-ht__info:not(.km-ht__cta-band):not(.km-ht__tool):not(.km-ht__limits-panel),
.km-ht__chapter--alt.km-ht__info:not(.km-ht__cta-band):not(.km-ht__limits-panel) {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 3rem 0 !important;
}
/* Soft rhythm: alternate chapters get a whisper of warm tone via spacing only, not pale blue slabs */
.km-ht__chapter--alt:not(.km-ht__cta-band):not(.km-ht__lead):not(.km-ht__tool):not(.km-ht__limits-panel) {
	background: transparent !important;
}
.km-ht__example {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 3rem 0 !important;
}
.km-ht__example .km-ht__results {
	/* example result stays a purposeful card */
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: var(--km-ht-shadow) !important;
}

/* Purposeful cards ONLY: live/example results, priority findings, score panel */
.km-ht__results,
.km-ht__results-panel,
.km-ht__block--priority {
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: var(--km-ht-shadow) !important;
}

/* Avoid nested card chrome inside open chapters */
.km-ht__card,
.km-ht__split-card {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.km-ht__notin,
.km-ht__notin--open {
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 1.25rem 0 0 !important;
	margin-top: 1.5rem;
}

/* --- Efter testet: open editorial list --- */
.km-ht__get-list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}
@media (min-width: 800px) {
	.km-ht__get-list {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 0 2rem;
	}
}
.km-ht__get-list > li {
	padding: 1.15rem 0;
	border-top: 1px solid var(--km-ht-border);
}
@media (min-width: 800px) {
	.km-ht__get-list > li {
		border-top: none;
		border-left: 1px solid var(--km-ht-border);
		padding: 0.25rem 0 0.25rem 1.5rem;
	}
	.km-ht__get-list > li:first-child {
		border-left: none;
		padding-left: 0;
	}
}
.km-ht__get-list strong {
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: 0.45rem;
	color: var(--km-ht-text);
}
.km-ht__get-list p {
	margin: 0;
	font-size: 0.975rem;
	line-height: 1.55;
	color: var(--km-ht-ink-2);
}

/* --- Split sources: open two-column editorial --- */
.km-ht__split--open {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin-top: 1.5rem;
}
@media (min-width: 800px) {
	.km-ht__split--open {
		grid-template-columns: 1fr 1fr;
		gap: 0 2.5rem;
	}
}
.km-ht__split-col {
	padding: 1.25rem 0;
	border-top: 1px solid var(--km-ht-border);
	background: transparent;
}
@media (min-width: 800px) {
	.km-ht__split-col {
		border-top: none;
		padding: 0.25rem 0;
	}
	.km-ht__split-col--km {
		border-left: 1px solid var(--km-ht-border);
		padding-left: 2.5rem;
	}
}
.km-ht__split-col .km-ht__split-title {
	font-size: 1.15rem !important;
	margin: 0 0 0.75rem !important;
}

/* --- Categories: open methodology rows (NOT five cards) --- */
.km-ht__cat-grid--editorial,
.km-ht__cat-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 1.5rem;
}
.km-ht__cat {
	padding: 1.5rem 0 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	max-width: 48rem;
}
.km-ht__cat:last-child {
	border-bottom: none !important;
	padding-bottom: 0.5rem !important;
}
.km-ht__cat-keys {
	margin: 0.35rem 0 0.85rem !important;
	display: grid;
	gap: 0.35rem;
}
.km-ht__cat-keys li {
	font-size: 0.975rem;
	line-height: 1.5;
}

/* Expandable stays INSIDE the row surface — no negative margins / detached footer */
.km-ht__cat .km-ht__criteria-expand,
.km-ht__chapter .km-ht__criteria-expand,
.km-ht__limits-panel .km-ht__limits-more,
.km-ht__criteria-expand {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0.75rem 0 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible;
}
.km-ht__criteria-expand > summary,
.km-ht__limits-more > summary {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 0.85rem 0 !important; /* stay inside parent padding */
	min-height: 48px;
	font-size: 1rem !important;
	font-weight: 650;
	color: var(--km-ht-accent) !important;
	cursor: pointer;
	list-style: none;
}
.km-ht__criteria-expand > summary::-webkit-details-marker,
.km-ht__limits-more > summary::-webkit-details-marker {
	display: none;
}
.km-ht__criteria-body,
.km-ht__cat .km-ht__criteria-body {
	padding: 0 0 0.85rem !important;
	margin: 0 !important;
	display: grid;
	gap: 0.65rem;
	max-width: 100%;
}
.km-ht__criteria-body p {
	margin: 0;
	font-size: 0.975rem;
	line-height: 1.55;
	color: var(--km-ht-ink-2);
}

/* FAQ: open rows with thin dividers (interactive but not heavy cards) */
.km-ht__faq {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.km-ht__faq > summary,
.km-ht__faq summary {
	padding: 1rem 0 !important;
}
.km-ht__faq .km-ht__prose {
	padding: 0 0 1rem !important;
}

/* --- Limitations: ONE subtle warm-neutral full-width section (not bordered card) --- */
.km-ht__limits-panel {
	background: var(--km-ht-limits-bg) !important;
	border: none !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: none !important;
	padding: 2rem 1.5rem !important;
	margin: 1.5rem 0 !important;
}
.km-ht__limits-panel .km-ht__limits-more {
	background: transparent !important;
	border: none !important;
	border-top: 1px solid rgba(20, 20, 20, 0.1) !important;
	border-radius: 0 !important;
	margin-top: 1rem !important;
	padding: 0 !important;
}
.km-ht__limits-panel .km-ht__limits-more > summary {
	color: var(--km-ht-text) !important;
	padding: 0.85rem 0 !important;
}
.km-ht__limits-panel .km-ht__limits-more .km-ht__list {
	padding: 0 0 0.5rem !important;
}

/* Score-band legend: keep useful open rows (not five cards) */
.km-ht__bands-legend li {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0.85rem 0 !important;
}

/* --- Strengths: open two-column list (prefer open over small cards) --- */
.km-ht__block--strengths {
	padding: 1.5rem 0 0.5rem !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}
.km-ht__block--strengths > h3 {
	margin: 0 0 1rem !important;
	padding: 0 !important;
}
.km-ht__block--strengths .km-ht__findings {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 0 !important;
}
@media (min-width: 720px) {
	.km-ht__block--strengths .km-ht__findings {
		grid-template-columns: 1fr 1fr;
		gap: 0 2rem !important;
	}
}
.km-ht__finding--positive {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 1rem 0 !important;
	grid-template-columns: 1fr !important;
}
.km-ht__finding--positive .km-ht__finding-kind {
	color: var(--km-ht-ok) !important;
}

/* Method steps: open, not mini-cards */
.km-ht__method > li {
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	padding: 1.15rem 0 !important;
}

/* Technical limits accordion at bottom: open, not a card */
.km-ht__limits.km-ht__chapter--alt,
details.km-ht__limits {
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 1.5rem 0 !important;
}

@media (max-width: 800px) {
	.km-ht__hero {
		padding: 1.75rem 0 1.25rem !important;
	}
	.km-ht__chapter.km-ht__info:not(.km-ht__cta-band):not(.km-ht__limits-panel) {
		padding: 2.5rem 0 !important;
	}
	.km-ht__limits-panel {
		padding: 1.5rem 1.1rem !important;
		border-radius: var(--km-ht-radius) !important;
	}
	.km-ht__get-list > li {
		padding: 1rem 0;
	}
}

/* v2.2.3 b: beat 2.2.2 chapter white-plate on limitations strip */
.km-ht__chapter.km-ht__info.km-ht__limits-panel,
.km-ht section.km-ht__chapter.km-ht__info.km-ht__limits-panel {
	background: #f4f1ea !important;
	background-color: #f4f1ea !important;
	border: none !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: none !important;
	padding: 2rem 1.5rem !important;
	margin: 1.5rem 0 !important;
}
@media (max-width: 800px) {
	.km-ht__chapter.km-ht__info.km-ht__limits-panel {
		padding: 1.5rem 1.1rem !important;
	}
}

/* ========== v2.2.4 cool neutrals — purposeful surfaces, crisp technical ========== */
/* Abandon beige/warm. Hierarchy on result + Top 3. No scoring/content/scanner structure change. */

.km-ht {
	--km-ht-bg: #f6f7f8;
	--km-ht-bg-warm: #f6f7f8;
	--km-ht-plate: #ffffff;
	--km-ht-plate-2: #eef1f4;
	--km-ht-elevated: #ffffff;
	--km-ht-text: #101418;
	--km-ht-muted: #5a6068;
	--km-ht-ink-2: #3a4048;
	--km-ht-border: #e1e4e8;
	--km-ht-border-strong: #d0d5db;
	--km-ht-track: #e8eaed;
	--km-ht-ok-bg: #e6f2ea;
	--km-ht-limits-bg: #eef1f4;
	--km-ht-dark: #101418;
	--km-ht-dark-text: #f1f3f5;
	--km-ht-dark-muted: #c4c9d0;
	--km-ht-accent-dim: rgba(16, 20, 24, 0.06);
	color: var(--km-ht-text);
}

body.km-hemsidetest-page .site-content,
body.km-hemsidetest-page .km-page-hemsidetest,
body.km-hemsidetest-page main.km-page-hemsidetest,
.page-id-226 .site-content,
.page-id-226 .km-page-hemsidetest,
.page-id-226 main.km-page-hemsidetest {
	background: #f6f7f8 !important;
	color: #101418 !important;
}

/* Beat warm leftovers from 2.2.2 / 2.2.3 */
.km-ht__hero {
	background: transparent !important;
}
.km-ht__jumpnav {
	background: var(--km-ht-bg) !important;
}

/* Scanner microcopy: cool neutrals on dark (structure unchanged) */
.km-ht__tool .km-ht__label {
	color: #f1f3f5 !important;
}
.km-ht__micro {
	color: #d5dae0 !important;
}

/* --- Main result: substantial white product card --- */
.km-ht__results,
.km-ht__example .km-ht__results,
.km-ht__results-panel {
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: 0 1px 2px rgba(16, 20, 24, 0.04), 0 16px 40px rgba(16, 20, 24, 0.08) !important;
}
.km-ht__results {
	padding: 1.85rem 1.6rem !important;
}

/* --- Top 3: three distinct editorial cards (not one stacked plate) --- */
.km-ht__block--priority {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
	padding: 0 !important;
}
.km-ht__block--priority > h3 {
	padding: 0 0 0.85rem !important;
	margin: 0 !important;
	font-size: 1.45rem !important;
	color: var(--km-ht-text) !important;
}
.km-ht__block--priority .km-ht__findings {
	display: grid !important;
	gap: 0.85rem !important;
	list-style: none;
	margin: 0;
	padding: 0;
}
.km-ht__block--priority .km-ht__finding--issue,
.km-ht__block--priority .km-ht__finding {
	background: #ffffff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	border-top: 1px solid var(--km-ht-border) !important;
	box-shadow: 0 1px 2px rgba(16, 20, 24, 0.04), 0 10px 28px rgba(16, 20, 24, 0.06) !important;
	padding: 1.35rem 1.35rem 1.4rem !important;
	margin: 0 !important;
}
.km-ht__block--priority .km-ht__prio-estimate,
.km-ht__block--priority > .km-ht__muted {
	margin: 1rem 0 0 !important;
	padding: 1rem 1.15rem !important;
	background: var(--km-ht-plate-2) !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius) !important;
	box-shadow: none !important;
}

/* --- Strengths: subtle cool-green positive surface (not warm beige) --- */
.km-ht__block--strengths {
	padding: 1.5rem 0 0.5rem !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}
.km-ht__block--strengths .km-ht__findings {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 0.75rem !important;
}
@media (min-width: 720px) {
	.km-ht__block--strengths .km-ht__findings {
		grid-template-columns: 1fr 1fr;
		gap: 0.85rem !important;
	}
}
.km-ht__finding--positive {
	background: var(--km-ht-ok-bg) !important;
	border: 1px solid rgba(45, 138, 85, 0.16) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	border-bottom: 1px solid rgba(45, 138, 85, 0.16) !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 1.15rem 1.2rem !important;
	grid-template-columns: 1fr !important;
}
.km-ht__finding--positive .km-ht__finding-kind {
	color: var(--km-ht-ok) !important;
}

/* --- Methodology / categories: stay open (no five cards) --- */
.km-ht__cat,
.km-ht__cat-grid .km-ht__cat {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 1.5rem 0 !important;
}
.km-ht__method > li {
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--km-ht-border) !important;
	border-radius: 0 !important;
	padding: 1.15rem 0 !important;
	box-shadow: none !important;
}

/* --- Limitations: one cool secondary surface (#EEF1F4), NOT warm/beige --- */
.km-ht__limits-panel,
.km-ht__chapter.km-ht__info.km-ht__limits-panel,
.km-ht section.km-ht__chapter.km-ht__info.km-ht__limits-panel {
	background: #eef1f4 !important;
	background-color: #eef1f4 !important;
	border: none !important;
	border-radius: var(--km-ht-radius-lg) !important;
	box-shadow: none !important;
	padding: 2rem 1.5rem !important;
	margin: 1.5rem 0 !important;
}

/* Open editorial stays open; avoid accidental warm chapter fills */
.km-ht__chapter.km-ht__info:not(.km-ht__cta-band):not(.km-ht__tool):not(.km-ht__limits-panel),
.km-ht__chapter--alt.km-ht__info:not(.km-ht__cta-band):not(.km-ht__limits-panel),
.km-ht__chapter--alt:not(.km-ht__cta-band):not(.km-ht__lead):not(.km-ht__tool):not(.km-ht__limits-panel),
.km-ht__example {
	background: transparent !important;
}

/* Secondary utility surfaces use cool #EEF1F4 */
.km-ht__band {
	background: var(--km-ht-plate-2) !important;
}

/* Links / body anchors stay near-black; blue only for actions / expand triggers */
.km-ht a:not(.km-ht__btn):not(.km-ht__textlink) {
	color: #101418;
}
.km-ht__criteria-expand > summary,
.km-ht__limits-more > summary {
	color: var(--km-ht-accent) !important;
}

/* FAQ + get-list + split stay open (thin cool dividers) */
.km-ht__faq,
.km-ht__get-list > li,
.km-ht__split-col,
.km-ht__bands-legend li {
	border-color: var(--km-ht-border) !important;
}

@media (max-width: 800px) {
	.km-ht__block--priority > h3 {
		padding: 0 0 0.75rem !important;
		font-size: 1.3rem !important;
	}
	.km-ht__block--priority .km-ht__finding--issue,
	.km-ht__block--priority .km-ht__finding {
		padding: 1.2rem 1.15rem !important;
	}
	.km-ht__limits-panel,
	.km-ht__chapter.km-ht__info.km-ht__limits-panel {
		padding: 1.5rem 1.1rem !important;
	}
	.km-ht__results {
		padding: 1.35rem 1.1rem !important;
	}
}

/* ========== 2.3.0 — reorder hierarchy + compact method + tops 0–3 ========== */

/* Stronger hero rhythm (no fake building photo) */
.km-ht__hero {
	padding: 2.25rem 0 1.75rem !important;
	margin-bottom: 0 !important;
}
.km-ht__eyebrow {
	font-size: 0.75rem !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	font-weight: 650 !important;
	color: var(--km-ht-muted) !important;
	margin: 0 0 0.85rem !important;
}
.km-ht__title {
	font-size: clamp(2rem, 4.2vw, 2.85rem) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.03em !important;
	font-weight: 700 !important;
	max-width: 18ch !important;
	margin: 0 0 1rem !important;
}
.km-ht__lede--compact {
	font-size: 1.125rem !important;
	line-height: 1.55 !important;
	max-width: 42rem !important;
	margin: 0 0 1.35rem !important;
	color: var(--km-ht-ink-2) !important;
}
.km-ht__props {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.65rem 1.5rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: var(--km-ht-text) !important;
}
.km-ht__props li {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
}
.km-ht__props li::before {
	content: "" !important;
	width: 0.55rem !important;
	height: 0.55rem !important;
	border-radius: 50% !important;
	background: var(--km-ht-accent) !important;
	flex: none !important;
}

/* Jump nav matches new order; tighter chip feel */
.km-ht__jumpnav {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.4rem 0.85rem !important;
	margin: 0 0 1.25rem !important;
	padding: 0.65rem 0 !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	font-size: 0.8125rem !important;
	font-weight: 650 !important;
	letter-spacing: 0.02em !important;
}
.km-ht__jumpnav a {
	color: var(--km-ht-muted) !important;
	text-decoration: none !important;
}
.km-ht__jumpnav a:hover,
.km-ht__jumpnav a:focus-visible {
	color: var(--km-ht-text) !important;
}

/* Example sits immediately under scanner — clear badge, purposeful card */
.km-ht__example {
	padding-top: 2.25rem !important;
	margin-top: 0.5rem !important;
}
.km-ht__example-badge {
	display: inline-block !important;
	margin: 0 0 0.85rem !important;
	padding: 0.4rem 0.75rem !important;
	background: var(--km-ht-plate-2) !important;
	border: 1px solid var(--km-ht-border-strong) !important;
	border-radius: 999px !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--km-ht-text) !important;
}

/* Compact five-category explainer (composition energy, real labels/weights) */
.km-ht__cat-grid--compact {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
	margin-top: 1.25rem !important;
}
@media (min-width: 720px) {
	.km-ht__cat-grid--compact {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1rem 1.5rem !important;
	}
}
@media (min-width: 1100px) {
	.km-ht__cat-grid--compact {
		grid-template-columns: repeat(5, 1fr) !important;
		gap: 1rem !important;
	}
}
.km-ht__cat-grid--compact .km-ht__cat {
	background: #fff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	box-shadow: 0 1px 2px rgba(16, 20, 24, 0.03) !important;
	padding: 1.15rem 1.1rem 1.25rem !important;
	margin: 0 0 0.75rem !important;
}
@media (min-width: 720px) {
	.km-ht__cat-grid--compact .km-ht__cat {
		margin: 0 !important;
	}
}
.km-ht__cat-grid--compact .km-ht__cat-title {
	font-size: 0.98rem !important;
	line-height: 1.3 !important;
	margin: 0 0 0.55rem !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.45rem !important;
}
.km-ht__cat-grid--compact .km-ht__cat-icon {
	width: 1.75rem !important;
	height: 1.75rem !important;
}
.km-ht__cat-grid--compact .km-ht__cat-lead {
	margin: 0 !important;
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
	color: var(--km-ht-muted) !important;
}

/* Consolidated method section */
.km-ht__method-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.5rem !important;
	margin: 1.75rem 0 !important;
}
@media (min-width: 900px) {
	.km-ht__method-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 2rem !important;
	}
}
.km-ht__method-block {
	background: #fff !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	padding: 1.35rem 1.25rem !important;
	box-shadow: 0 1px 2px rgba(16, 20, 24, 0.03) !important;
}
.km-ht__method-block .km-ht__card-title {
	margin: 0 0 0.85rem !important;
	font-size: 1.05rem !important;
}
.km-ht__method--compact {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.km-ht__method--compact > li {
	display: grid !important;
	grid-template-columns: 1.75rem 1fr !important;
	gap: 0.65rem !important;
	padding: 0.7rem 0 !important;
	border-top: 1px solid var(--km-ht-border) !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.km-ht__method--compact > li:first-child {
	border-top: none !important;
	padding-top: 0 !important;
}
.km-ht__method--compact p {
	margin: 0.15rem 0 0 !important;
	font-size: 0.9rem !important;
	color: var(--km-ht-muted) !important;
}

.km-ht__conflict {
	margin: 1.5rem 0 !important;
	padding: 1.35rem 1.25rem !important;
	background: #fff !important;
	border: 1px solid var(--km-ht-border-strong) !important;
	border-left: 3px solid var(--km-ht-text) !important;
	border-radius: var(--km-ht-radius-lg) !important;
}
.km-ht__conflict .km-ht__card-title {
	margin: 0 0 0.65rem !important;
	font-size: 1.05rem !important;
}
.km-ht__conflict .km-ht__prose {
	margin: 0 0 0.75rem !important;
}
.km-ht__conflict .km-ht__prose:last-child {
	margin-bottom: 0 !important;
}

.km-ht__limits-panel--inline {
	margin: 1.25rem 0 1.5rem !important;
}
.km-ht__limits-panel--inline .km-ht__card-title {
	margin: 0 0 0.75rem !important;
}

/* Chapter rhythm: fewer identical gray slabs */
.km-ht__chapter {
	padding: 2.25rem 0 !important;
	margin: 0 !important;
}
.km-ht__chapter-label {
	font-size: 0.72rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--km-ht-muted) !important;
	margin: 0 0 0.45rem !important;
}
.km-ht__section-title {
	font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 0.85rem !important;
	line-height: 1.2 !important;
}
.km-ht__cta-band {
	background: var(--km-ht-plate-2) !important;
	border-radius: var(--km-ht-radius-lg) !important;
	padding: 2rem 1.5rem !important;
	margin: 1.5rem 0 !important;
}

/* --- Results layout polish 2.3.0: score LEFT, priorities RIGHT --- */
/* Always side-by-side on desktop ≥900px — even with 0–1 priorities (no empty half). */
@media (min-width: 900px) {
	.km-ht__results-split,
	.km-ht__results-split[data-tops="0"],
	.km-ht__results-split[data-tops="1"],
	.km-ht__results-split[data-tops="2"],
	.km-ht__results-split[data-tops="3"] {
		display: grid !important;
		grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1.25fr) !important;
		grid-template-areas: "score prio" !important;
		gap: 1.75rem !important;
		align-items: stretch !important;
		flex-direction: unset !important;
	}
	.km-ht__results-panel {
		grid-area: score !important;
		order: unset !important;
		max-width: none !important;
		width: auto !important;
		height: 100%;
		align-self: stretch;
	}
	.km-ht__results-primary {
		grid-area: prio !important;
		order: unset !important;
		max-width: none !important;
		width: auto !important;
		display: flex !important;
		flex-direction: column !important;
		min-height: 100% !important;
		height: auto !important;
		align-self: stretch;
	}
	.km-ht__block--priority {
		flex: 1 1 auto !important;
		display: flex !important;
		flex-direction: column !important;
		height: 100% !important;
		min-height: 100% !important;
	}
	.km-ht__block--priority .km-ht__findings {
		flex: 1 1 auto !important;
	}
	.km-ht__block--priority > .km-ht__muted {
		margin-top: auto;
	}
}

/* Findings always stack vertically in the priority column */
.km-ht__block--priority .km-ht__findings[data-count="1"],
.km-ht__block--priority .km-ht__findings[data-count="2"],
.km-ht__block--priority .km-ht__findings[data-count="3"] {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.85rem !important;
}

/* Mobile: score/summary first, then priorities */
@media (max-width: 899px) {
	.km-ht__results-split {
		display: flex !important;
		flex-direction: column !important;
		gap: 1.25rem !important;
	}
	.km-ht__results-panel {
		order: -1 !important;
		max-width: none !important;
		width: 100% !important;
	}
	.km-ht__results-primary {
		order: 0 !important;
		max-width: none !important;
		width: 100% !important;
	}
}

/* Example: never show live lead/manual form inside example card */
.km-ht__results--example .km-ht__lead {
	display: none !important;
}
.km-ht__example-note {
	margin: 1.15rem 0 0 !important;
	padding: 0.85rem 1rem !important;
	background: var(--km-ht-plate-2, #EEF1F4) !important;
	border-radius: var(--km-ht-radius, 8px) !important;
	font-size: 0.925rem !important;
	line-height: 1.5 !important;
	color: var(--km-ht-muted) !important;
}
.km-ht__example-note a {
	color: var(--km-ht-text) !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 0.12em;
}

/* Method: collapse secondary prose on narrow viewports */
.km-ht__method-more {
	margin: 1.25rem 0 0 !important;
	border: none !important;
	padding: 0 !important;
	background: transparent !important;
}
.km-ht__method-more-summary {
	cursor: pointer;
	list-style: none;
	font-weight: 650;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	color: var(--km-ht-text);
	padding: 0.85rem 1rem;
	border: 1px solid var(--km-ht-border);
	border-radius: var(--km-ht-radius-lg, 12px);
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 20, 24, 0.03);
}
.km-ht__method-more-summary::-webkit-details-marker { display: none; }
.km-ht__method-more-summary::after {
	content: " ↓";
	font-weight: 700;
	color: var(--km-ht-muted);
}
.km-ht__method-more[open] > .km-ht__method-more-summary::after {
	content: " ↑";
}
.km-ht__method-more-body {
	padding-top: 0.25rem;
}

/* Desktop: always show method secondary; hide “Visa mer” chrome */
@media (min-width: 900px) {
	.km-ht__method-more {
		margin: 0 !important;
	}
	.km-ht__method-more > .km-ht__method-more-summary {
		display: none !important;
	}
	.km-ht__method-more > .km-ht__method-more-body {
		display: block !important;
		padding-top: 0 !important;
	}
}

@media (max-width: 800px) {
	.km-ht__title {
		max-width: none !important;
		font-size: 1.85rem !important;
	}
	.km-ht__cat-grid--compact .km-ht__cat {
		margin-bottom: 0.65rem !important;
	}
	.km-ht__cta-band {
		padding: 1.5rem 1.1rem !important;
	}
}

/* ========== 2.3.1 polish — jumpnav / CTA / scanner radius / CTA band contrast ========== */

/* Jump nav: tighten vertical whitespace + link gaps; safe at 375px */
.km-ht__jumpnav {
	gap: 0.25rem 0.7rem !important;
	margin: 0 0 0.55rem !important;
	padding: 0.35rem 0 0.45rem !important;
	border-bottom: 1px solid var(--km-ht-border) !important;
	max-width: 100% !important;
	overflow-x: hidden !important;
}
.km-ht__jumpnav a {
	font-size: 0.8125rem !important;
	letter-spacing: 0.01em !important;
	padding: 0.15rem 0 !important;
	line-height: 1.3 !important;
}
@media (max-width: 420px) {
	.km-ht__jumpnav {
		gap: 0.2rem 0.55rem !important;
		padding: 0.3rem 0 0.4rem !important;
		margin: 0 0 0.45rem !important;
	}
	.km-ht__jumpnav a {
		font-size: 0.75rem !important;
	}
}

/* Hero sits closer under jumpnav */
.km-ht__hero {
	padding-top: 1.15rem !important;
	margin-top: 0 !important;
	margin-bottom: 0.85rem !important;
}

/* Dark scanner: ~8px radius, inset card (not full-bleed slab / not pill) */
.km-ht__tool {
	border-radius: 8px !important;
	margin: 0 0 1.25rem !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 1.35rem 1.15rem !important;
	box-sizing: border-box !important;
}
@media (min-width: 560px) {
	.km-ht__tool {
		padding: 1.5rem 1.5rem !important;
	}
}
.km-ht__tool > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Input + primary button: same 8px form language; calmer CTA type */
.km-ht input.km-ht__input,
.km-ht .km-ht__input,
.km-ht__input {
	border-radius: 8px !important;
	min-height: 48px !important;
	padding: 0.85rem 1.05rem !important;
	font-size: 1rem !important;
}
.km-ht button.km-ht__btn,
.km-ht .km-ht__btn,
.km-ht a.km-ht__btn,
.km-ht__btn,
.km-ht__tool .km-ht__btn,
.km-ht__tool button.km-ht__btn {
	border-radius: 8px !important;
	min-height: 48px !important;
	padding: 0.7rem 1.15rem !important;
	font-family: var(--km-ht-font) !important;
	font-size: 0.9375rem !important; /* 15px */
	font-weight: 650 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important; /* title case as authored: "Analysera hemsida" */
	white-space: normal !important;
	line-height: 1.25 !important;
	max-width: 100%;
}
@media (max-width: 420px) {
	.km-ht__form-row {
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;
	}
	.km-ht__tool .km-ht__btn,
	.km-ht__tool button.km-ht__btn,
	.km-ht button.km-ht__btn {
		width: 100% !important;
		font-size: 0.9375rem !important;
		padding: 0.75rem 1rem !important;
	}
}

/* Manual CTA band: light plate needs dark readable text (was white-on-light) */
.km-ht__cta-band {
	background: var(--km-ht-plate-2) !important;
	color: var(--km-ht-text) !important;
	border: 1px solid var(--km-ht-border) !important;
	border-radius: 8px !important;
	padding: 1.75rem 1.35rem !important;
}
.km-ht__cta-band .km-ht__chapter-label,
.km-ht__cta-band .km-ht__section-title {
	color: var(--km-ht-text) !important;
}
.km-ht__cta-band .km-ht__prose {
	color: var(--km-ht-ink-2, #2a3038) !important;
	font-size: 1.05rem !important;
	line-height: 1.55 !important;
	max-width: 40rem;
}
.km-ht__cta-band .km-ht__muted {
	color: var(--km-ht-ink-2, #2a3038) !important;
}
.km-ht__cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin: 1.15rem 0 0;
}
.km-ht__cta-band a.km-ht__btn.km-ht__btn--secondary,
.km-ht__cta-band .km-ht__btn--secondary,
.km-ht a.km-ht__btn.km-ht__btn--secondary {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: var(--km-ht-text) !important;
	border: 1px solid var(--km-ht-border-strong) !important;
	text-transform: none !important;
	letter-spacing: 0.01em !important;
	font-family: var(--km-ht-font) !important;
	font-size: 0.9375rem !important;
	font-weight: 650 !important;
	min-height: 44px !important;
	padding: 0.65rem 1.1rem !important;
	border-radius: 8px !important;
}
.km-ht__cta-band a.km-ht__btn.km-ht__btn--secondary:hover,
.km-ht__cta-band a.km-ht__btn.km-ht__btn--secondary:focus-visible,
.km-ht a.km-ht__btn.km-ht__btn--secondary:hover,
.km-ht a.km-ht__btn.km-ht__btn--secondary:focus-visible {
	border-color: var(--km-ht-accent) !important;
	color: var(--km-ht-accent) !important;
	background: #ffffff !important;
}
.km-ht__cta-band .km-ht__textlink,
.km-ht__cta-band a.km-ht__textlink {
	color: var(--km-ht-accent) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	background: transparent !important;
}
.km-ht__cta-band a.km-ht__textlink:hover,
.km-ht__cta-band a.km-ht__textlink:focus-visible {
	color: var(--km-ht-accent-hover) !important;
}

/* Keep post-result lead form on dark panel (unchanged hierarchy) */
.km-ht__lead {
	background: var(--km-ht-dark) !important;
	color: var(--km-ht-dark-text) !important;
	border-radius: 8px !important;
}


/* 2.4.0 scoring clarity */
.km-ht__label-caveat {
	margin: 0.55rem 0 0;
	padding: 0.55rem 0.75rem;
	border-left: 3px solid var(--km-ht-amber, #c47a12);
	background: rgba(196, 122, 18, 0.08);
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--km-ht-text, #1a1a1a);
}
.km-ht__weights-blurb {
	margin: 0.65rem 0 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--km-ht-muted, #5c5c5c);
}
.km-ht__criterion-effect {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.8rem;
	color: var(--km-ht-muted, #5c5c5c);
}


/* 2.4.1 coverage split + total exclusion notes */
.km-ht__total-note,
.km-ht__coverage-excluded {
	margin: 0.45rem 0 0;
	padding: 0.55rem 0.75rem;
	border-left: 3px solid var(--km-ht-warn, #b08900);
	background: rgba(212, 196, 152, 0.12);
	color: var(--km-ht-text);
	font-size: 0.92rem;
	line-height: 1.4;
	max-width: var(--km-ht-prose, 40rem);
}
.km-ht__coverage-split {
	margin: 0.45rem 0 0;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--km-ht-muted);
}
.km-ht__coverage-split strong {
	color: var(--km-ht-text);
	font-weight: 600;
}
.km-ht__criterion-obs {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.85rem;
	color: var(--km-ht-muted);
	line-height: 1.4;
}

/* 2.4.3: observable progress, readable report and content-sized priorities. */
.km-ht .km-ht__progress-heading { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; color:var(--km-ht-text); font-size:1rem; }
.km-ht .km-ht__spinner { display:none; flex-shrink:0; width:1.25rem; height:1.25rem; border:2px solid #cbd5e1; border-top-color:#2563eb; border-radius:50%; }
.km-ht .km-ht__progress[data-busy="true"] .km-ht__spinner { display:block; animation:km-ht-spin .8s linear infinite; }
@keyframes km-ht-spin { to { transform:rotate(360deg); } }
.km-ht .km-ht__step { display:flex !important; align-items:center; justify-content:center; flex-wrap:wrap; gap:.5rem; min-height:3.25rem; text-align:center; }
.km-ht .km-ht__step-label { flex:0 1 auto; }
.km-ht .km-ht__step-status { flex:0 1 auto; }
.km-ht .km-ht__step[data-state="active"] .km-ht__step-state { border:2px solid #cbd5e1; border-top-color:#2563eb; background:transparent; box-shadow:none; width:.8rem; height:.8rem; animation:km-ht-spin .8s linear infinite; }
.km-ht .km-ht__progress-note { color:var(--km-ht-text); }
.km-ht .km-ht__disclosure { margin:1.5rem 0; border:1px solid #b8c6d6; border-radius:8px; background:#fff; }
.km-ht .km-ht__disclosure > summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding:1rem; color:#1d4ed8; font-family:inherit; font-size:1rem; font-weight:700; letter-spacing:0; text-transform:none; cursor:pointer; }
.km-ht .km-ht__disclosure > summary::after { content:'+'; font-size:1.25rem; }
.km-ht .km-ht__disclosure[open] > summary::after { content:'−'; }
.km-ht .km-ht__report-count { font-size:.875rem; font-weight:400; color:#475569; }
.km-ht .km-ht__method-criteria { margin:1.25rem 0; padding:1rem; border:1px solid #cbd5e1; border-radius:8px; background:#fff; }
.km-ht .km-ht__method-criteria > summary { cursor:pointer; font-weight:700; color:#1d4ed8; font-size:1rem; }
.km-ht .km-ht__method-criteria h3 { margin:1.5rem 0 .5rem; font-size:1rem; }
.km-ht .km-ht__method-criteria h3 span { display:block; font-size:.875rem; font-weight:400; }
.km-ht .km-ht__catalogue { list-style:none; padding:0; margin:0; }
.km-ht .km-ht__catalogue li { display:flex; justify-content:space-between; gap:1rem; padding:.5rem 0; border-bottom:1px solid #e2e8f0; font-size:.9375rem; }
.km-ht .km-ht__catalogue strong { white-space:nowrap; }
.km-ht .km-ht__results-split { align-items:start !important; }
.km-ht .km-ht__results-primary, .km-ht .km-ht__results-panel, .km-ht .km-ht__block--priority { min-height:0 !important; height:auto !important; align-self:start !important; }
.km-ht .km-ht__block--priority { flex:0 0 auto !important; }
.km-ht .km-ht__block--priority .km-ht__findings { flex:0 0 auto !important; }
.km-ht .km-ht__block--priority > .km-ht__muted { margin-top:1rem; }
@media (prefers-reduced-motion:reduce) { .km-ht .km-ht__spinner, .km-ht .km-ht__step[data-state="active"] .km-ht__step-state { animation:none !important; } }
.km-ht .km-ht__progress-heading, .km-ht .km-ht__progress-heading strong { color:#f8fafc !important; }
.km-ht #km-ht-submit:disabled { opacity:1; color:#fff; background:#1d4ed8; cursor:wait; }

.km-ht .km-ht__catalogue small { display:block; margin-top:.25rem; color:#475569; font-size:.875rem; line-height:1.5; }
