/*
 * Korvane Title: layout and component rules theme.json cannot express.
 * Every fluid value interpolates linearly between the Figma mobile frame
 * (390 px) and the desktop frame (1440 px): clamp(min, slope*vw + b, max).
 * Colors and type sizes come from theme.json presets only.
 */

:root {
	--kt-ink: var(--wp--preset--color--ink);
	--kt-dark: var(--wp--preset--color--dark-ground);
	--kt-white: var(--wp--preset--color--white);
	--kt-oxide: var(--wp--preset--color--fired-oxide);
	--kt-stone: var(--wp--preset--color--stone);
	--kt-meta: var(--wp--preset--color--meta);
	--kt-control: var(--wp--preset--color--control);
	--kt-hair-dark: var(--wp--preset--color--hairline-dark);
	--kt-hair-light: var(--wp--preset--color--hairline-light);
	--kt-header-hair-dark: #363636; /* Figma header instance value; not yet a KT token */
	--kt-mono: var(--wp--preset--font-family--mono);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.kt-main > * { margin-block: 0; }
img, svg { display: block; }

/* ---------- Type roles (Figma KT text styles) ---------- */
.kt-eyebrow {
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	line-height: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--kt-meta);
	margin: 0;
	font-weight: 400;
}
.kt-meta {
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--meta);
	line-height: 20px;
	letter-spacing: 0.02em;
	color: var(--kt-meta);
	margin: 0;
}
.kt-display {
	font-size: var(--wp--preset--font-size--display);
	line-height: clamp(52px, 3.8095vw + 37.14px, 92px);
	letter-spacing: -0.02em;
}
.kt-h1 {
	font-size: var(--wp--preset--font-size--h-1, var(--wp--preset--font-size--h1));
	line-height: clamp(42px, 1.7143vw + 35.31px, 60px);
	letter-spacing: -0.015em;
}
.kt-h2 {
	font-size: var(--wp--preset--font-size--h-2, var(--wp--preset--font-size--h2));
	line-height: clamp(34px, 1.1429vw + 29.54px, 46px);
	letter-spacing: -0.01em;
}
.kt-h3 {
	font-size: var(--wp--preset--font-size--h-3, var(--wp--preset--font-size--h3));
	line-height: clamp(28px, 0.5714vw + 25.77px, 34px);
	letter-spacing: -0.005em;
}
.kt-lead { font-size: var(--wp--preset--font-size--lead); line-height: 32px; letter-spacing: -0.005em; }
.kt-reading { font-size: var(--wp--preset--font-size--reading); line-height: 30px; }
.kt-body { font-size: var(--wp--preset--font-size--body); line-height: 24px; }
.kt-display, .kt-h1, .kt-h2, .kt-h3, .kt-lead, .kt-reading, .kt-body { margin: 0; font-weight: 400; }
@media (min-width: 1024px) {
	.kt-display { letter-spacing: -0.025em; }
	.kt-h1 { letter-spacing: -0.02em; }
	.kt-h2 { letter-spacing: -0.015em; }
	.kt-h3 { letter-spacing: -0.01em; }
}
.kt-accent { color: var(--kt-oxide) !important; }

/* ---------- Surfaces ---------- */
.kt-dark { background: var(--kt-dark); color: var(--kt-white); }
.kt-dark .kt-eyebrow, .kt-dark .kt-meta { color: var(--kt-stone); }
.kt-dark .kt-lead, .kt-dark .kt-secondary { color: var(--kt-stone); }

/* ---------- Header ---------- */
.kt-header { background: var(--kt-white); }
.kt-header--dark { background: var(--kt-dark); }
.kt-header__inner {
	box-sizing: border-box;
	max-width: calc(1248px + 2 * var(--wp--style--root--padding-left));
	margin-inline: auto;
	padding-inline: var(--wp--style--root--padding-left);
}
.kt-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: clamp(64px, 2.2857vw + 55.09px, 88px);
	position: relative;
}
.kt-header__inner::after {
	content: "";
	position: absolute;
	left: var(--wp--style--root--padding-left);
	right: var(--wp--style--root--padding-right);
	bottom: 0;
	height: 1px;
	background: var(--kt-hair-light);
}
.kt-header--dark .kt-header__inner::after { background: var(--kt-header-hair-dark); }
.kt-header__logo { display: inline-flex; }
.kt-wordmark { height: 20px; width: auto; }
.kt-header .kt-wordmark { height: 18px; }
@media (min-width: 768px) { .kt-header .kt-wordmark { height: 20px; } }

.kt-header__nav { display: flex; align-self: stretch; }
@media (min-width: 1024px) {
	/* Figma places the nav at x=1057 inside a 287 px slot, leaving room for later items. */
	.kt-header__nav { width: 287px; }
}
.kt-nav-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	line-height: 1.36;
	font-weight: 500;
	color: var(--kt-ink);
	min-height: 44px;
}
.kt-header--dark .kt-nav-item { color: var(--kt-white); }
.kt-nav-item[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1px;
	height: 3px;
	background: var(--kt-oxide);
}

/* ---------- Buttons (Figma component 133:47) ---------- */
.kt-actions { margin: 0; gap: 0; }
.kt-button { margin: 0; }
.kt-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
	height: 48px;
	padding: 0 24px;
	border-radius: 0;
	font-size: var(--wp--preset--font-size--label);
	line-height: 20px;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid transparent;
}
.kt-button .wp-block-button__link::after {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("../icons/arrow-right.svg") center / 20px 20px no-repeat;
	mask: url("../icons/arrow-right.svg") center / 20px 20px no-repeat;
}
.kt-button .wp-block-button__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.kt-button .wp-block-button__link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.kt-button--inverse .wp-block-button__link { background: var(--kt-white); color: var(--kt-ink); }
.kt-dark .kt-button--inverse .wp-block-button__link:focus-visible { outline-color: var(--kt-white); }
.kt-button--outline .wp-block-button__link { background: transparent; color: var(--kt-ink); border-color: var(--kt-control); }
@media (max-width: 767px) {
	.kt-actions, .kt-button { width: 100%; }
	.kt-button .wp-block-button__link { width: 100%; }
}

/* ---------- Focus, everywhere ---------- */
a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Center the full content track, then left-align each narrower text measure inside it. */
.kt-main .kt-home-align {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--content-size, 1248px);
	margin-inline: auto !important;
	display: flow-root;
}
.kt-main .kt-home-align > :first-child {
	margin-inline: 0 !important;
}

/* ---------- Hero ---------- */
.kt-hero {
	padding-top: clamp(32px, 1.5238vw + 26.06px, 48px);
	padding-bottom: clamp(56px, 1.5238vw + 50.06px, 72px);
}
.kt-hero__title { margin-top: clamp(72px, 5.3333vw + 51.2px, 128px); }
.kt-hero .kt-home-align { margin-top: clamp(28px, 1.9048vw + 20.57px, 48px); }
.kt-hero .kt-actions { margin-top: 28px; }
@media (min-width: 768px) {
	.kt-hero__promise { max-width: 718px; }
	.kt-hero .kt-actions { margin-top: 24px; }
}

/* ---------- Benefits ---------- */
.kt-benefits { padding-block: clamp(72px, 5.3333vw + 51.2px, 128px); }
.kt-benefits__title { max-width: 820px; }
.kt-benefits__sub { margin-top: 12px; }
.kt-benefit-list { margin-top: clamp(40px, 3.0476vw + 28.11px, 72px); }
.kt-benefit {
	border-top: 1px solid var(--kt-ink);
	padding: 24px 0 40px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.kt-benefit__head { display: flex; flex-direction: column; gap: 16px; }
.kt-benefit__head > *, .kt-benefit > * { margin: 0; }
@media (min-width: 768px) {
	.kt-benefit { flex-direction: row; gap: 24px; padding-top: 32px; }
	.kt-benefit__head { flex: 0 0 calc((100% - 24px) * 500 / 1224); gap: 12px; }
	.kt-benefit__body { flex: 1 1 0; }
}

/* ---------- Why Korvane ---------- */
.kt-why {
	padding-top: clamp(72px, 5.3333vw + 51.2px, 128px);
	padding-bottom: clamp(64px, 4.5714vw + 46.17px, 112px);
}
.kt-why__title { margin-top: 16px; }
.kt-why .kt-home-align { margin-top: clamp(24px, 0.7619vw + 21.03px, 32px); }
@media (min-width: 768px) { .kt-why__body { max-width: 820px; } }
.kt-facts {
	margin-top: clamp(48px, 3.0476vw + 36.11px, 80px);
	display: flex;
	flex-direction: column;
}
.kt-fact {
	border-top: 1px solid var(--kt-white);
	padding: 20px 0 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.kt-fact > * { margin: 0; }
@media (min-width: 768px) {
	.kt-facts { flex-direction: row; gap: 24px; }
	.kt-fact { flex: 1 1 0; padding-bottom: 0; }
}
.kt-boroughs {
	list-style: none;
	margin: clamp(48px, 4.5714vw + 30.17px, 96px) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.kt-boroughs li {
	border-top: 1px solid var(--kt-hair-dark);
	padding: 14px 0 15px;
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	line-height: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--kt-stone);
}
@media (min-width: 768px) {
	.kt-boroughs { flex-direction: row; }
	.kt-boroughs li { flex: 1 1 0; }
}

/* ---------- Knowledge band ---------- */
.kt-kband { padding-block: clamp(56px, 2.2857vw + 47.09px, 80px); }
.kt-kband__inner { display: flex; flex-direction: column; gap: 20px; }
.kt-kband__intro { display: flex; flex-direction: column; gap: 8px; }
.kt-kband__intro > * { margin: 0; }
@media (min-width: 768px) {
	.kt-kband__inner { flex-direction: row; align-items: center; gap: 48px; }
	.kt-kband__intro { flex: 1 1 0; }
}

/* ---------- Footer ---------- */
.kt-footer {
	background: var(--kt-dark);
	color: var(--kt-white);
	box-sizing: border-box;
	padding: clamp(48px, 3.0476vw + 36.11px, 80px) var(--wp--style--root--padding-left) clamp(32px, 1.5238vw + 26.06px, 48px);
	display: flex;
	flex-direction: column;
	gap: clamp(40px, 2.2857vw + 31.09px, 64px);
}
.kt-footer > * { width: 100%; max-width: 1248px; margin-inline: auto; }
.kt-footer__top { display: flex; flex-direction: column; gap: 32px; }
.kt-footer__brand { display: flex; flex-direction: column; gap: 16px; }
.kt-footer__brand > * { margin: 0; }
.kt-footer__logo { display: inline-flex; }
.kt-footer__line { font-size: 16px; line-height: 24px; color: var(--kt-stone); }
.kt-footer__cols { display: flex; gap: 24px; }
.kt-footer__col { width: 147px; display: flex; flex-direction: column; gap: 12px; }
.kt-footer__col .kt-eyebrow { color: var(--kt-stone); }
.kt-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.kt-footer__col a { color: var(--kt-white); font-size: 16px; line-height: 24px; }
.kt-footer__rule { border: 0; height: 1px; background: var(--kt-hair-dark); margin: 0 auto; }
.kt-footer__legal {
	margin: 0 auto;
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--meta);
	line-height: 20px;
	letter-spacing: 0.02em;
	color: var(--kt-stone);
}
@media (min-width: 768px) {
	.kt-footer__top { flex-direction: row; gap: 24px; }
	.kt-footer__brand { flex: 1 1 0; }
	.kt-footer__cols { gap: 48px; width: 368px; }
	.kt-footer__col { width: 160px; }
}

/* ---------- Generic page (legal, fallback) ---------- */
.kt-page { padding-block: clamp(48px, 3.0476vw + 36.11px, 80px); }

/* ======================================================================
 * Guide (article). Figma 260:2478 / 260:2576, normalized to KT tokens:
 * title 59px -> Heading 1; lead 22/32; section heads 27px -> Heading 3;
 * body 19px -> Reading 18/30; step titles 20px Medium -> 20/28;
 * mono 11px -> Eyebrow 12; tinted bands -> surface-subtle.
 * ====================================================================== */
.kt-guide { padding-top: clamp(36px, 0.0952vw + 35.63px, 37px); padding-bottom: clamp(56px, 2.2857vw + 47.09px, 80px); }
.kt-guide__article { display: flex; flex-direction: column; }
.kt-guide__article > * { margin: 0; }

.kt-breadcrumb {
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	line-height: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--kt-oxide);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
}
.kt-breadcrumb a { color: inherit; }
.kt-breadcrumb__sep { color: var(--kt-oxide); }
.kt-guide__title { margin-top: clamp(24px, 0.7619vw + 21.03px, 32px) !important; max-width: 820px; text-wrap: balance; }

/* Body column */
.kt-guide__body { max-width: 720px; display: flex; flex-direction: column; margin-top: 0 !important; }
.kt-guide__body > * { margin: 0; }
.kt-guide__body p { font-size: var(--wp--preset--font-size--reading); line-height: 30px; }
.kt-guide__body p.kt-guide-lead {
	font-size: var(--wp--preset--font-size--lead);
	line-height: 32px;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--secondary-light);
	margin-top: clamp(24px, 1.5238vw + 18.06px, 40px);
	padding-bottom: clamp(32px, 0.7619vw + 29.03px, 40px);
	border-bottom: 1px solid var(--kt-hair-light);
	/* The rule spans the full content width in Figma, wider than the reading column. */
	width: min(1248px, calc(100vw - 2 * var(--wp--style--root--padding-left)));
	max-width: none;
	box-sizing: border-box;
}
.kt-guide__body p.kt-guide-lead { padding-right: max(0px, calc(min(1248px, 100vw - 2 * var(--wp--style--root--padding-left)) - 986px)); }
.kt-guide__body h2 {
	font-size: var(--wp--preset--font-size--h-3, var(--wp--preset--font-size--h3));
	line-height: clamp(28px, 0.5714vw + 25.77px, 34px);
	letter-spacing: -0.005em;
	margin-top: clamp(32px, 1.5238vw + 26.06px, 48px);
}
.kt-guide__body p.kt-guide-lead + h2 { margin-top: clamp(32px, 1.0476vw + 27.91px, 43px); }
.kt-guide__body h2 + p { margin-top: clamp(20px, 0.7619vw + 17.03px, 28px); }

/* Example */
.kt-guide__body .kt-example {
	margin-top: clamp(32px, 1.5238vw + 26.06px, 48px);
	background: var(--wp--preset--color--surface-subtle);
	padding: 20px 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.kt-example > * { margin: 0; }
.kt-guide__body .kt-example__label,
.kt-guide__body .kt-records__label {
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	line-height: 16px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--kt-oxide);
}
.kt-guide__body .kt-example p:not(.kt-example__label) { font-size: var(--wp--preset--font-size--reading); line-height: 28px; }

/* Numbered steps */
.kt-guide__body .kt-steps { counter-reset: kt-step; margin-top: clamp(24px, 0.7619vw + 21.03px, 32px); display: flex; flex-direction: column; }
.kt-step {
	counter-increment: kt-step;
	border-top: 1px solid var(--kt-hair-light);
	padding: 16px 0 28px 52px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.kt-step > * { margin: 0; }
.kt-step::before {
	content: counter(kt-step, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 20px;
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	line-height: 16px;
	letter-spacing: 0.06em;
	color: var(--kt-oxide);
}
.kt-guide__body .kt-step h3 { font-size: 20px; line-height: 28px; font-weight: 500; letter-spacing: -0.005em; }
.kt-guide__body .kt-step p { font-size: var(--wp--preset--font-size--body); line-height: 24px; color: var(--wp--preset--color--secondary-light); }

/* Public records to check: full content width, outside the reading column */
.kt-guide__body .kt-records {
	margin-top: clamp(40px, 0.7619vw + 37.03px, 48px);
	width: min(1248px, calc(100vw - 2 * var(--wp--style--root--padding-left)));
	max-width: none;
	box-sizing: border-box;
	background: var(--wp--preset--color--surface-subtle);
	padding: 16px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.kt-records > * { margin: 0; }
.kt-records__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.kt-records__list a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--kt-ink);
	min-height: 32px;
}
.kt-records__list a::after {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("../icons/arrow-up-right.svg") center / 20px 20px no-repeat;
	mask: url("../icons/arrow-up-right.svg") center / 20px 20px no-repeat;
}
@media (min-width: 768px) {
	.kt-records__list { flex-direction: row; flex-wrap: wrap; gap: 8px 0; }
	.kt-records__list li { flex: 0 0 50%; }
}

/* Pre-license disclosure at the end of each guide */
.kt-disclosure {
	margin-top: 32px !important;
	max-width: 720px;
	font-family: var(--kt-mono);
	font-size: var(--wp--preset--font-size--meta);
	line-height: 20px;
	letter-spacing: 0.02em;
	color: var(--kt-meta);
}

/* ======================================================================
 * Shared utilities
 * ====================================================================== */
.kt-visually-hidden {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.kt-icon { width: 20px; height: 20px; flex: none; }
.skip-link.screen-reader-text:focus { background: var(--kt-white); color: var(--kt-ink); padding: 12px 16px; z-index: 100; }

/* ======================================================================
 * Knowledge pages. Figma 260:2238 / 260:2358, normalized to KT tokens:
 * titles 68px -> Heading 1; section heads 32/34px -> Heading 3;
 * card and row titles 21/23px Medium -> 22/28 Medium; descriptions -> Body 16 or 14/20;
 * mono 10-12px -> Eyebrow 12; bands -> surface-subtle; all corners square.
 * ====================================================================== */
.kt-knowledge > * { margin-block: 0; }
.kt-band { background: var(--wp--preset--color--surface-subtle); padding-block: clamp(32px, 2.0952vw + 23.83px, 54px) clamp(40px, 0.7619vw + 37.03px, 48px); }
.kt-knowledge--list .kt-band { padding-bottom: clamp(32px, 0.7619vw + 29.03px, 40px); }
.kt-intro { display: flex; flex-direction: column; }
.kt-intro > * { margin: 0; }
.kt-intro__title {
	margin-top: clamp(20px, 1.9048vw + 12.57px, 40px) !important;
	font-size: var(--wp--preset--font-size--h-1, var(--wp--preset--font-size--h1));
	line-height: clamp(42px, 1.7143vw + 35.31px, 60px);
	letter-spacing: -0.015em;
	font-weight: 400;
	text-wrap: balance;
	max-width: 1050px;
}
.kt-intro__lead {
	margin-top: clamp(20px, 1.5238vw + 14.06px, 36px) !important;
	font-size: clamp(18px, 0.381vw + 16.51px, 22px);
	line-height: clamp(28px, 0.381vw + 26.51px, 32px);
	color: var(--wp--preset--color--secondary-light);
	max-width: 1035px;
}
.kt-intro .kt-breadcrumb { margin: 0; }
.kt-intro__status { margin-top: 20px !important; font-family: var(--kt-mono); font-size: 13px; line-height: 20px; letter-spacing: 0.02em; color: var(--kt-meta); }
.kt-intro .kt-search { margin-top: clamp(32px, 3.0476vw + 20.11px, 64px); }
.kt-knowledge--list .kt-intro .kt-search { margin-top: 32px; }

/* Search field (Figma "Knowledge search", corners squared) */
.kt-search {
	display: flex; align-items: center; gap: 8px;
	max-width: 780px; box-sizing: border-box;
	height: 60px; padding: 0 7px 0 16px;
	background: var(--kt-white); border: 1px solid var(--kt-hair-light);
}
.kt-search:focus-within { outline: 2px solid var(--kt-ink); outline-offset: 2px; }
.kt-search__icon { display: inline-flex; color: var(--wp--preset--color--secondary-light); }
.kt-search__input {
	flex: 1 1 auto; min-width: 0; height: 100%; border: 0; background: transparent;
	font: inherit; font-size: 17px; color: var(--kt-ink); padding: 0 4px;
}
.kt-search__input::placeholder { color: var(--wp--preset--color--secondary-light); opacity: 1; }
.kt-search__input:focus { outline: none; }
.kt-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.kt-search__button {
	flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	height: 46px; min-width: 46px; padding: 0 16px; border: 0; border-radius: 0; cursor: pointer;
	background: var(--kt-dark); color: var(--kt-white); font: inherit; font-size: 16px; font-weight: 500;
}
.kt-search__button:hover .kt-search__label { text-decoration: underline; text-underline-offset: 3px; }
.kt-search__button:focus-visible { outline: 2px solid var(--kt-ink); outline-offset: 2px; }
@media (max-width: 767px) {
	.kt-search { height: 62px; padding-left: 14px; }
	.kt-search__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
	.kt-search__button { padding: 0; width: 46px; }
}

/* Sections */
.kt-section { padding-block: clamp(36px, 0.8571vw + 32.66px, 45px) clamp(56px, 2.2857vw + 47.09px, 80px); }
.kt-section > * { margin-block: 0; }
.kt-section-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--h-3, var(--wp--preset--font-size--h3));
	line-height: clamp(28px, 0.5714vw + 25.77px, 34px);
	letter-spacing: -0.005em; font-weight: 400;
}
.kt-section-sub { margin: clamp(12px, 1.1429vw + 7.54px, 24px) 0 0; font-size: 16px; line-height: 24px; color: var(--wp--preset--color--secondary-light); }

/* Topic grid */
.kt-topics { margin: 0; }
.kt-topic-grid { list-style: none; margin: clamp(24px, 2.2857vw + 15.09px, 48px) 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; }
.kt-topic__link {
	position: relative; display: flex; flex-direction: column; gap: 8px;
	padding: 14px 40px 22px 0; border-top: 1px solid var(--kt-hair-light);
	color: var(--kt-ink); text-decoration: none; min-height: 44px;
}
.kt-topic__link .kt-icon { position: absolute; right: 0; top: 18px; color: var(--kt-oxide); }
.kt-topic__name { font-size: 22px; line-height: 28px; font-weight: 500; letter-spacing: -0.005em; }
.kt-topic__desc { font-size: 14px; line-height: 20px; color: var(--wp--preset--color--secondary-light); }
.kt-topic__link:hover .kt-topic__name { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.kt-topic__link:focus-visible { outline: 2px solid var(--kt-ink); outline-offset: 2px; }
@media (min-width: 768px) {
	.kt-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
	.kt-topic__link { border: 1px solid var(--kt-hair-light); padding: 16px 48px 24px 16px; min-height: 118px; box-sizing: border-box; }
	.kt-topic__link .kt-icon { right: 12px; top: 14px; }
}
@media (min-width: 1024px) { .kt-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kt-topics--compact { margin-top: clamp(48px, 3.0476vw + 36.11px, 80px); }

/* Guides list */
.kt-guides { margin: 0; }
.kt-topics + .kt-guides { margin-top: clamp(48px, 2.8571vw + 36.86px, 78px); padding-top: clamp(32px, 0.8571vw + 28.66px, 41px); border-top: 1px solid var(--kt-hair-light); }
.kt-guide-list { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--kt-hair-light); }
.kt-guides .kt-section-sub + .kt-guide-list { margin-top: clamp(24px, 1.3333vw + 18.8px, 38px); }
.kt-guide-row { border-top: 1px solid var(--kt-hair-light); }
.kt-guide-row__link {
	position: relative; display: flex; flex-direction: column; gap: 8px;
	padding: 14px 44px 28px 0; color: var(--kt-ink); text-decoration: none;
}
.kt-guide-row__label { font-family: var(--kt-mono); font-size: 12px; line-height: 16px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--kt-oxide); }
.kt-guide-row__title { margin: 0; font-size: 22px; line-height: 28px; font-weight: 500; letter-spacing: -0.005em; }
.kt-guide-row__desc { font-size: 16px; line-height: 24px; color: var(--wp--preset--color--secondary-light); }
.kt-guide-row__link .kt-icon { position: absolute; right: 4px; bottom: 28px; color: var(--kt-oxide); }
.kt-guide-row__link:hover .kt-guide-row__title { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.kt-guide-row__link:focus-visible { outline: 2px solid var(--kt-ink); outline-offset: 2px; }
@media (min-width: 768px) {
	.kt-guide-row__link { padding: 14px 64px 30px 0; min-height: 96px; }
	.kt-guide-row__link .kt-icon { right: 12px; bottom: auto; top: 50%; transform: translateY(-50%); }
}
.kt-more { margin: 0; }
.kt-more a {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 18px 4px 18px 0; color: var(--kt-oxide); font-size: 15px; line-height: 20px; font-weight: 500; text-decoration: none;
}
.kt-more a:hover { text-decoration: underline; text-underline-offset: 3px; }
.kt-empty { padding: 24px 0; border-top: 1px solid var(--kt-hair-light); }
.kt-empty p { margin: 0 0 8px; font-size: 16px; line-height: 24px; }
.kt-empty a { color: var(--kt-ink); text-decoration: underline; text-underline-offset: 3px; }

/* Pagination */
.kt-pagination { margin-top: 32px; }
.kt-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.kt-pagination a, .kt-pagination span.page-numbers {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-width: 44px; min-height: 44px; padding: 0 12px; box-sizing: border-box;
	font-size: 15px; font-weight: 500; color: var(--kt-ink); text-decoration: none;
}
.kt-pagination a:hover { text-decoration: underline; text-underline-offset: 3px; }
.kt-pagination .current { border-bottom: 3px solid var(--kt-oxide); }
.kt-pagination .dots { color: var(--kt-meta); }
.kt-pagination a:focus-visible { outline: 2px solid var(--kt-ink); outline-offset: 2px; }

/* ======================================================================
 * Article: long-form content (lists, tables, quotes, citations, related)
 * ====================================================================== */
.kt-guide__body a:not(.kt-records__list a), .kt-prose a { color: var(--kt-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.kt-guide__body p, .kt-guide__body li, .kt-prose p, .kt-prose li { overflow-wrap: break-word; }
.kt-guide__body > h3 {
	margin-top: clamp(28px, 0.7619vw + 25.03px, 36px);
	font-size: 20px; line-height: 28px; font-weight: 500;
}
.kt-guide__body > h3 + p { margin-top: 12px; }
.kt-guide__body > p + p, .kt-guide__body > ul + p, .kt-guide__body > ol + p { margin-top: 20px; }
.kt-guide__body > ul, .kt-guide__body > ol, .kt-prose ul, .kt-prose ol {
	margin: 20px 0 0; padding-left: 24px; font-size: var(--wp--preset--font-size--reading); line-height: 30px;
}
.kt-guide__body > ul ul, .kt-guide__body > ul ol, .kt-guide__body > ol ul { margin-top: 4px; }
.kt-guide__body li + li, .kt-prose li + li { margin-top: 6px; }
.kt-guide__body li::marker { color: var(--kt-meta); }
.kt-guide__body sup { line-height: 0; font-size: 0.7em; }
.kt-guide__body sup a { text-decoration: none; color: var(--kt-oxide); padding: 0 2px; }
.kt-guide__body .wp-block-table {
	margin: 24px 0 0; overflow-x: auto; max-width: 100%;
	-webkit-overflow-scrolling: touch;
}
.kt-guide__body .wp-block-table table { border-collapse: collapse; min-width: 100%; font-size: 15px; line-height: 22px; }
.kt-guide__body .wp-block-table th, .kt-guide__body .wp-block-table td {
	text-align: left; vertical-align: top; padding: 10px 16px 10px 0; border: 0; border-bottom: 1px solid var(--kt-hair-light); white-space: nowrap;
}
.kt-guide__body .wp-block-table td:last-child { white-space: normal; min-width: 160px; }
.kt-guide__body .wp-block-table thead th { font-weight: 500; border-bottom: 1px solid var(--kt-ink); }
.kt-guide__body .wp-block-table figcaption { margin-top: 8px; font-size: 13px; line-height: 20px; color: var(--kt-meta); text-align: left; }
.kt-guide__body .wp-block-table:focus-visible { outline: 2px solid var(--kt-ink); outline-offset: 2px; }
.kt-guide__body .wp-block-quote { margin: 28px 0 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--kt-ink); }
.kt-guide__body .wp-block-quote p { font-size: 20px; line-height: 30px; }
.kt-guide__body .kt-sources { font-size: 15px; line-height: 24px; color: var(--wp--preset--color--secondary-light); }
.kt-guide__body .kt-sources li:target { background: var(--wp--preset--color--surface-subtle); }

/* Related guides */
.kt-related { margin-top: clamp(48px, 0vw + 48px, 48px) !important; max-width: 1248px; }
.kt-related__title {
	margin: 0 0 24px;
	font-size: var(--wp--preset--font-size--h-3, var(--wp--preset--font-size--h3));
	line-height: clamp(28px, 0.5714vw + 25.77px, 34px); font-weight: 400;
}
.kt-related .kt-guide-row__title { font-size: 20px; line-height: 28px; }

/* ======================================================================
 * Pages (Privacy, Terms, Accessibility) and 404
 * ====================================================================== */
.kt-page { padding-block: clamp(36px, 2.4762vw + 26.34px, 62px) clamp(56px, 2.2857vw + 47.09px, 80px); }
.kt-page__article { display: flex; flex-direction: column; }
.kt-page__article > * { margin: 0; }
.kt-page__title { max-width: 820px; }
.kt-prose { max-width: 720px; margin-top: clamp(24px, 1.5238vw + 18.06px, 40px) !important; }
.kt-prose > * { margin: 0; }
.kt-prose p { font-size: var(--wp--preset--font-size--reading); line-height: 30px; }
.kt-prose > p + p, .kt-prose > ul + p, .kt-prose > p + ul { margin-top: 16px; }
.kt-prose h2 {
	margin-top: clamp(32px, 0.7619vw + 29.03px, 40px);
	font-size: var(--wp--preset--font-size--h-3, var(--wp--preset--font-size--h3));
	line-height: clamp(28px, 0.5714vw + 25.77px, 34px); font-weight: 400;
}
.kt-prose h2 + p, .kt-prose h2 + ul { margin-top: 12px; }
.kt-prose .kt-legal-meta { font-family: var(--kt-mono); font-size: 13px; line-height: 20px; letter-spacing: 0.02em; color: var(--kt-meta); margin-bottom: 20px; }
.kt-404 { padding-block: clamp(48px, 3.0476vw + 36.11px, 80px); }
.kt-404 > * { margin-block: 0; }
.kt-404__intro { display: flex; flex-direction: column; max-width: 820px; }
.kt-404__intro > * { margin: 0; }
.kt-404__intro .kt-h1 { margin-top: 20px; }
.kt-404__intro .kt-intro__lead a { color: var(--kt-ink); text-decoration: underline; text-underline-offset: 3px; }
.kt-404__intro .kt-search { margin-top: 32px; }
