:root {
	--kd-paper: #ffffff;
	--kd-ink: #0a0a0a;
	--kd-mute: #5c5c5c;
	--kd-soft: #f4f4f2;
	--kd-line: #e4e4e0;
	--kd-accent: #c2410c;
	--kd-accent-deep: #9a3412;
	--kd-radius: 4px;
	--kd-wrap: 1120px;
	--kd-gut: 20px;
	--kd-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--kd-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--kd-paper);
	color: var(--kd-ink);
	font: 17px/1.6 var(--kd-sans);
}

h1, h2, h3 {
	margin: 0 0 0.5em;
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.02em;
}
h1 { font-size: clamp(2.6rem, 7vw, 4.4rem); letter-spacing: -0.03em; line-height: 1.02; }
h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); }
h3 { font-size: 1.15rem; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }

a {
	color: var(--kd-ink);
	text-decoration-color: var(--kd-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	transition: color 160ms ease;
}
a:hover { color: var(--kd-accent-deep); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--kd-accent); outline-offset: 2px; }
img { display: block; max-width: 100%; height: auto; }
table { border-collapse: collapse; width: 100%; }

.kd-skip {
	position: absolute;
	left: 12px;
	top: -60px;
	padding: 12px 16px;
	background: var(--kd-ink);
	color: var(--kd-paper);
	z-index: 20;
}
.kd-skip:focus { top: 12px; }

.kd-head {
	position: sticky;
	top: 0;
	z-index: 10;
	background: #ffffffee;
}

.kd-head__bar {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 10px var(--kd-gut);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
}

.kd-head__logo {
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.04em;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.kd-head__dot {
	width: 9px;
	height: 9px;
	margin-left: 3px;
	border-radius: 50%;
	background: var(--kd-accent);
}
.kd-head__cta { margin-left: auto; }

.kd-flag {
	display: inline-block;
	margin: 0;
	padding: 3px 9px;
	border: 1.5px solid var(--kd-accent-deep);
	border-radius: 999px;
	color: var(--kd-accent-deep);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.kd-flag--inline { margin-bottom: 18px; }
.kd-flag--dark { border-color: var(--kd-paper); color: var(--kd-paper); margin-bottom: 18px; }

.kd-nav {
	order: 5;
	width: 100%;
	display: flex;
	gap: 4px 20px;
	overflow-x: auto;
	scrollbar-width: none;
}

.kd-nav__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 0.95rem;
	white-space: nowrap;
	text-decoration: none;
	color: var(--kd-mute);
}
.kd-nav__link[aria-current="page"] { color: var(--kd-ink); box-shadow: inset 0 -2px 0 var(--kd-accent); }

.kd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 26px;
	border: 2px solid var(--kd-ink);
	border-radius: var(--kd-radius);
	background: var(--kd-ink);
	color: var(--kd-paper);
	font: 600 1rem/1.2 var(--kd-sans);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
.kd-btn:hover { background: var(--kd-accent-deep); border-color: var(--kd-accent-deep); color: var(--kd-paper); }
.kd-btn--ghost { background: transparent; color: var(--kd-ink); }
.kd-btn--small { min-height: 44px; padding: 10px 18px; font-size: 0.93rem; }
.kd-btn--big { min-height: 60px; padding: 18px 34px; font-size: 1.1rem; }
.kd-btn--light { background: var(--kd-paper); border-color: var(--kd-paper); color: var(--kd-ink); }
main { display: block; }
.kd-lede { font-size: 1.2rem; line-height: 1.55; max-width: 44em; }

.kd-disclaimer {
	max-width: 44em;
	padding-left: 12px;
	border-left: 3px solid var(--kd-accent);
	color: var(--kd-mute);
	font-size: 0.95rem;
}
.kd-byline { color: var(--kd-mute); font-size: 0.88rem; }

.kd-bento {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 28px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}
.kd-bento--index { padding-top: 120px; }
.kd-bento__head { grid-column: 1 / -1; margin-bottom: 18px; }

.kd-tile {
	margin: 0;
	padding: 24px;
	border-radius: var(--kd-radius);
	background: var(--kd-soft);
}
.kd-tile--plain { padding: 24px 0 8px; background: transparent; }
.kd-tile--photo { padding: 0; background: transparent; }

.kd-tile--photo img {
	width: 100%;
	max-width: 1064px;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--kd-radius);
}
.kd-tile--photo figcaption { margin-top: 8px; color: var(--kd-mute); font-size: 0.82rem; }
.kd-tile--num { display: flex; flex-direction: column; justify-content: flex-end; }

.kd-tile--dark {
	background: var(--kd-ink);
	color: var(--kd-paper);
	display: flex;
	align-items: flex-end;
}
.kd-tile--accent { background: var(--kd-ink); color: var(--kd-paper); }
.kd-tile--accent a { color: var(--kd-paper); }

.kd-tile__big {
	margin: 0;
	font-size: 5.5rem;
	font-weight: 600;
	line-height: 0.9;
	letter-spacing: -0.05em;
	color: var(--kd-accent-deep);
}
.kd-tile__text { margin: 0; font-size: 0.98rem; }
.kd-tile__title { font-size: 1.2rem; margin-bottom: 10px; }
.kd-tile__title a { text-decoration: none; }
.kd-tile__title a:hover { text-decoration: underline; }
.kd-hero__title { max-width: 11em; }
.kd-hero__lede { font-size: 1.2rem; max-width: 32em; }

.kd-hero__acts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 26px 0 18px;
}
.kd-stats {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 110px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}
.kd-stats__head { max-width: 21em; margin-bottom: 26px; }

.kd-stats__half {
	padding: 34px 24px 40px;
	border-radius: var(--kd-radius);
	background: var(--kd-soft);
}
.kd-stats__half--fic { background: var(--kd-ink); color: var(--kd-paper); }
.kd-stats__half--fic a { color: var(--kd-paper); text-decoration-color: #fdba74; }
.kd-stats__title { margin: 0 0 8px; font-size: 1.45rem; }

.kd-stats__sign {
	max-width: 38em;
	margin: 0;
	font: 500 0.84rem/1.5 var(--kd-mono);
	color: var(--kd-mute);
}
.kd-stats__half--fic .kd-stats__sign { color: #d0d0cb; }

.kd-stats__list {
	margin: 40px 0 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 34px 32px;
}
.kd-stats__item { margin: 0; }

.kd-stats__num {
	margin-bottom: 12px;
	font-size: clamp(2.9rem, 5.2vw, 3.9rem);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.04em;
	white-space: nowrap;
	color: var(--kd-ink);
}
.kd-stats__half--fic .kd-stats__num { color: #fdba74; }
.kd-stats__text { margin: 0; font-size: 0.96rem; color: #333333; }
.kd-stats__half--fic .kd-stats__text { color: #e6e6e2; }

.kd-stats__src {
	display: inline-block;
	margin-top: 8px;
	font-size: 0.88rem;
	color: var(--kd-accent-deep);
}
.kd-stats__limit { max-width: 40em; margin: 34px 0 0; font-size: 0.9rem; font-style: italic; color: #d0d0cb; }

.kd-rules { max-width: var(--kd-wrap); margin: 0 auto; padding: 130px var(--kd-gut) 0; }
.kd-rules__intro { max-width: 40em; color: var(--kd-mute); }

.kd-rules__list {
	margin: 36px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: kd-rule;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px 48px;
}
.kd-rules__list li { counter-increment: kd-rule; position: relative; padding-left: 46px; }

.kd-rules__list li::before {
	content: counter(kd-rule, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 2px;
	font: 500 0.9rem var(--kd-mono);
	color: var(--kd-accent-deep);
}

.kd-anatomy {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 140px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
}
.kd-anatomy__steps { margin: 32px 0 0; padding: 0; list-style: none; }

.kd-anatomy__steps li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	padding: 18px 0;
}
.kd-anatomy__steps p { margin: 0; color: var(--kd-mute); }

.kd-anatomy__n {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--kd-soft);
	font-weight: 600;
}
.kd-anatomy__media { margin: 0; }
.kd-anatomy__media img { max-width: 748px; width: 100%; border-radius: var(--kd-radius); }
.kd-anatomy__media figcaption { margin-top: 10px; color: var(--kd-mute); font-size: 0.85rem; }
.kd-sheet { max-width: var(--kd-wrap); margin: 0 auto; padding: 110px var(--kd-gut) 0; }
.kd-sheet__intro { color: var(--kd-mute); max-width: 40em; }
.kd-scroll { overflow-x: auto; margin-top: 24px; -webkit-overflow-scrolling: touch; }
.kd-table { min-width: 620px; font-size: 0.95rem; }

.kd-table caption {
	text-align: left;
	padding-bottom: 12px;
	color: var(--kd-mute);
	font-size: 0.88rem;
}

.kd-table th, .kd-table td {
	text-align: left;
	vertical-align: top;
	padding: 13px 16px 13px 0;
	border-bottom: 1px solid var(--kd-line);
}

.kd-table thead th {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--kd-mute);
	border-bottom: 2px solid var(--kd-ink);
}
.kd-table tbody th { font-weight: 600; }
.kd-table--wide { min-width: 720px; }
.kd-table--legal { min-width: 520px; }

.kd-note {
	margin-top: 14px;
	color: var(--kd-mute);
	font-size: 0.88rem;
	font-style: italic;
}

.kd-quotes {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 120px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
}

.kd-quotes__item {
	margin: 0;
	font-size: clamp(1.25rem, 2.4vw, 1.6rem);
	line-height: 1.4;
	letter-spacing: -0.01em;
}
.kd-quotes__src { margin-top: 12px; font-size: 0.9rem; color: var(--kd-mute); }

.kd-quotes__limit {
	max-width: 40em;
	margin-top: 20px;
	padding: 20px 22px;
	background: var(--kd-soft);
	border-radius: var(--kd-radius);
}

.kd-facts {
	max-width: var(--kd-wrap);
	margin: 140px auto 0;
	padding: 44px var(--kd-gut) 52px;
	border-top: 6px solid var(--kd-ink);
	background: var(--kd-soft);
}

.kd-facts__label {
	display: inline-block;
	padding: 5px 10px;
	background: var(--kd-ink);
	color: var(--kd-paper);
	font: 600 0.78rem var(--kd-mono);
	letter-spacing: 0.04em;
}
.kd-facts__intro { max-width: 40em; color: var(--kd-mute); }

.kd-facts__list {
	margin: 34px 0 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
}
.kd-facts__pair { padding: 22px; background: var(--kd-paper); border-radius: var(--kd-radius); }
.kd-facts__pair dt { font-weight: 600; margin-bottom: 8px; }
.kd-facts__pair dd { margin: 0; color: #333333; }

.kd-facts__src {
	display: inline-block;
	margin-top: 8px;
	font-size: 0.9rem;
	color: var(--kd-accent-deep);
}

.kd-cta {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 150px var(--kd-gut) 130px;
	text-align: center;
}

.kd-cta h2 {
	font-size: clamp(2rem, 5vw, 3.4rem);
	max-width: 16em;
	margin-left: auto;
	margin-right: auto;
}
.kd-cta p { max-width: 36em; margin: 0 auto 28px; color: var(--kd-mute); }
.kd-cta__small { margin-top: 22px; font-size: 0.88rem; }
.kd-cta--left { text-align: left; }
.kd-cta--left h2, .kd-cta--left p { margin-left: 0; }

.kd-crumbs {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 18px var(--kd-gut) 0;
	font-size: 0.9rem;
	color: var(--kd-mute);
}
.kd-crumbs a { display: inline-block; padding: 12px 0; min-height: 44px; }
.kd-crumbs--flat { padding: 0; margin: 0 0 12px; }

.kd-zig {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 110px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px;
	align-items: center;
}
.kd-zig--lead { padding-top: 20px; }
.kd-zig__media { margin: 0; }
.kd-zig__media img { max-width: 836px; width: 100%; border-radius: var(--kd-radius); }
.kd-zig__media figcaption { margin-top: 10px; font-size: 0.84rem; color: var(--kd-mute); }

.kd-zig__aside {
	padding: 30px;
	border-radius: var(--kd-radius);
	background: var(--kd-ink);
	color: var(--kd-paper);
}
.kd-zig__aside p { margin: 0; }
.kd-zig__aside--soft { background: var(--kd-soft); color: var(--kd-ink); }

.kd-zig__big {
	font-size: clamp(3rem, 8vw, 5rem);
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 1;
	margin-bottom: 10px;
}

.kd-log {
	margin: 24px 0;
	padding: 20px;
	overflow-x: auto;
	border-radius: var(--kd-radius);
	background: var(--kd-ink);
	color: #f1f1ee;
	font: 0.86rem/1.7 var(--kd-mono);
}
.kd-log--paper { background: var(--kd-soft); color: var(--kd-ink); }
.kd-errors { max-width: var(--kd-wrap); margin: 0 auto; padding: 120px var(--kd-gut) 0; }
.kd-errors > p { max-width: 40em; color: var(--kd-mute); }

.kd-errors__list {
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2px;
}
.kd-errors__list li { padding: 20px 0 20px 32px; position: relative; border-top: 1px solid var(--kd-line); }

.kd-errors__list li::before {
	content: "×";
	position: absolute;
	left: 0;
	top: 17px;
	color: var(--kd-accent-deep);
	font-size: 1.3rem;
	font-weight: 700;
}
.kd-origin { max-width: var(--kd-wrap); margin: 0 auto; padding: 110px var(--kd-gut) 0; }
.kd-origin p { max-width: 42em; }
.kd-vs { max-width: var(--kd-wrap); margin: 0 auto; padding: 30px var(--kd-gut) 0; }
.kd-vs__title { font-size: clamp(2.6rem, 8vw, 5.2rem); max-width: 14em; }

.kd-vs__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px 48px;
	margin-top: 26px;
}
.kd-compare { max-width: var(--kd-wrap); margin: 0 auto; padding: 90px var(--kd-gut) 0; }

.kd-compare__title {
	font-size: 1rem;
	font-family: var(--kd-mono);
	font-weight: 500;
	letter-spacing: 0;
	color: var(--kd-mute);
}
.kd-compare .kd-table { font-size: 1.02rem; }
.kd-compare__media { margin: 56px 0 0; }
.kd-compare__media img { max-width: 944px; width: 100%; border-radius: var(--kd-radius); }
.kd-compare__media figcaption { margin-top: 10px; font-size: 0.85rem; color: var(--kd-mute); }

.kd-duels {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 120px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px 56px;
}
.kd-duels > h2 { grid-column: 1 / -1; }
.kd-duels__item { padding-top: 20px; }
.kd-timeline { max-width: var(--kd-wrap); margin: 0 auto; padding: 120px var(--kd-gut) 0; }
.kd-timeline--inline { padding: 10px 0 0; }
.kd-timeline__list { margin: 28px 0 0; padding: 0; list-style: none; }

.kd-timeline__list li {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 18px;
	padding: 14px 0;
	border-top: 1px solid var(--kd-line);
}
.kd-timeline__list p { margin: 0; }
.kd-timeline__date { font: 600 1rem/1.6 var(--kd-mono); color: var(--kd-accent-deep); }
.kd-choose { max-width: var(--kd-wrap); margin: 0 auto; padding: 120px var(--kd-gut) 0; }

.kd-choose__list {
	margin: 28px 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 6px 40px;
}
.kd-choose__list dt { font-weight: 600; padding-top: 16px; }
.kd-choose__list dd { margin: 0; color: var(--kd-mute); }
.kd-refuse { max-width: var(--kd-wrap); margin: 0 auto; padding: 110px var(--kd-gut) 0; }

.kd-refuse__list {
	margin: 24px 0 0;
	padding: 26px 26px 26px 46px;
	max-width: 46em;
	background: var(--kd-soft);
	border-radius: var(--kd-radius);
}
.kd-refuse__list li { margin-bottom: 12px; }

.kd-shift {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 20px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	row-gap: 100px;
}
.kd-shift .kd-cta { padding: 0 0 120px; }
.kd-shift__media { margin: 0; }
.kd-shift__media img { max-width: 812px; width: 100%; border-radius: var(--kd-radius); }
.kd-shift__media figcaption { margin-top: 10px; font-size: 0.85rem; color: var(--kd-mute); }
.kd-calc { margin: 26px 0; max-width: 40em; }

.kd-calc__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4px 20px;
	padding: 12px 0;
	border-bottom: 1px dashed var(--kd-line);
}
.kd-calc__row dt { font-weight: 500; }
.kd-calc__row dd { margin: 0; font-family: var(--kd-mono); font-size: 0.92rem; }

.kd-calc__row--total {
	border-bottom: 0;
	border-top: 2px solid var(--kd-ink);
	margin-top: 8px;
	font-weight: 600;
}

.kd-calc--grid {
	max-width: none;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: 40px;
}

.kd-scheme {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	margin: 20px 0;
	font-family: var(--kd-sans);
}
.kd-scheme--court { max-width: 720px; }

.kd-orbit {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 20px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 34px;
}
.kd-orbit__media { margin: 0; }
.kd-orbit__media img { max-width: 892px; width: 100%; border-radius: var(--kd-radius); }
.kd-orbit__media figcaption { margin-top: 10px; color: var(--kd-mute); font-size: 0.85rem; }
.kd-steps { max-width: var(--kd-wrap); margin: 0 auto; padding: 120px var(--kd-gut) 0; }

.kd-steps__list {
	margin: 36px 0 0;
	padding: 0;
	list-style: none;
	max-width: 760px;
}
.kd-steps__item { position: relative; padding: 0 0 44px 70px; }

.kd-steps__item::before {
	content: "";
	position: absolute;
	left: 23px;
	top: 48px;
	bottom: 4px;
	width: 2px;
	background: var(--kd-line);
}
.kd-steps__item:last-child::before { display: none; }

.kd-steps__n {
	position: absolute;
	left: 0;
	top: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--kd-ink);
	font: 600 0.95rem var(--kd-mono);
}
.kd-steps__item h3 { padding-top: 12px; }
.kd-glossary { max-width: var(--kd-wrap); margin: 0 auto; padding: 110px var(--kd-gut) 0; }

.kd-glossary__list {
	margin: 28px 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 22px 44px;
}
.kd-glossary__item dt { font-weight: 600; font-size: 1.08rem; }
.kd-glossary__item dd { margin: 4px 0 0; color: var(--kd-mute); }
.kd-perks { max-width: var(--kd-wrap); margin: 0 auto; padding: 110px var(--kd-gut) 0; }

.kd-perks__list {
	margin: 28px 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}
.kd-perks__item { padding: 18px 20px; background: var(--kd-soft); border-radius: var(--kd-radius); }
.kd-perks__item--lead { background: var(--kd-ink); color: var(--kd-paper); font-size: 1.15rem; }

.kd-cover {
	position: relative;
	min-height: clamp(520px, 84vh, 780px);
	display: flex;
	align-items: flex-end;
	background: var(--kd-ink);
	overflow: hidden;
}

.kd-cover__img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	opacity: 0.5;
}

.kd-cover__box {
	position: relative;
	width: 100%;
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 120px var(--kd-gut) 60px;
	color: var(--kd-paper);
}
.kd-cover__title { font-size: clamp(2.8rem, 9vw, 6rem); max-width: 10em; }
.kd-cover__line { max-width: 36em; color: #e6e6e2; margin-bottom: 28px; }
.kd-body { max-width: 740px; margin: 0 auto; padding: 36px var(--kd-gut) 0; }
.kd-body__part { padding-top: 64px; }
.kd-body .kd-cta { padding: 90px 0 120px; }
.kd-body .kd-refuse { padding-left: 0; padding-right: 0; }

.kd-answer {
	margin: 34px 0 0;
	padding: 24px 26px;
	border-left: 4px solid var(--kd-accent);
	background: var(--kd-soft);
	font-size: 1.2rem;
	line-height: 1.5;
}
.kd-answer p { margin: 0; }
.kd-intro { max-width: var(--kd-wrap); margin: 0 auto; padding: 20px var(--kd-gut) 0; }
.kd-intro__title { max-width: 13em; }

.kd-intro__cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	margin: 24px 0;
	align-items: start;
}
.kd-intro__media { margin: 0; }
.kd-intro__media img { max-width: 724px; width: 100%; border-radius: var(--kd-radius); }
.kd-intro__media figcaption { margin-top: 8px; font-size: 0.85rem; color: var(--kd-mute); }

.kd-deck {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 100px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}
.kd-deck__head { grid-column: 1 / -1; margin-bottom: 14px; }
.kd-card { padding: 24px; border-radius: var(--kd-radius); background: var(--kd-soft); }
.kd-card p { margin: 0; }
.kd-card--tall { background: var(--kd-ink); color: var(--kd-paper); padding: 34px 28px 44px; }
.kd-card--tall a { color: var(--kd-paper); }
.kd-card--wide { background: var(--kd-paper); box-shadow: inset 0 0 0 2px var(--kd-ink); }
.kd-card__tag { font: 500 0.75rem var(--kd-mono); color: var(--kd-accent-deep); margin-bottom: 10px; }
.kd-card--tall .kd-card__tag { color: #fdba74; }

.kd-card__name {
	font-family: var(--kd-mono);
	font-weight: 600;
	font-size: 1.1rem;
	word-break: break-word;
}

.kd-guide {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 120px var(--kd-gut) 0;
	columns: 1;
}
.kd-guide p { max-width: 40em; }

.kd-split {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding: 20px var(--kd-gut) 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
}
.kd-split__title { font-size: clamp(2.3rem, 5.4vw, 3.6rem); }

.kd-split__toc {
	margin: 26px 0;
	padding: 0;
	list-style: none;
	counter-reset: kd-toc;
}
.kd-split__toc li { counter-increment: kd-toc; }

.kd-split__toc a {
	display: flex;
	gap: 12px;
	min-height: 44px;
	align-items: center;
	text-decoration: none;
	border-bottom: 1px solid var(--kd-line);
}
.kd-split__toc a::before { content: counter(kd-toc, decimal-leading-zero); font: 500 0.8rem var(--kd-mono); color: var(--kd-accent-deep); }
.kd-split__part { padding-bottom: 70px; scroll-margin-top: 90px; }
.kd-split__flow .kd-cta { padding: 30px 0 120px; }
.kd-split__flow .kd-origin { padding: 0 0 70px; }

.kd-drill {
	margin: 24px 0;
	padding: 0;
	list-style: none;
	counter-reset: kd-drill;
}
.kd-drill__step { counter-increment: kd-drill; position: relative; padding: 14px 0 14px 50px; }

.kd-drill__step::before {
	content: counter(kd-drill);
	position: absolute;
	left: 0;
	top: 12px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--kd-accent-deep);
	color: var(--kd-paper);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}
.kd-band { padding: 96px 0; }
.kd-band--hero { padding: 20px 0 80px; }
.kd-band--soft { background: var(--kd-soft); }
.kd-band--ink { background: var(--kd-ink); color: var(--kd-paper); padding: 120px 0 130px; }
.kd-band--ink p { color: #d6d6d2; }

.kd-band__in {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding-left: var(--kd-gut);
	padding-right: var(--kd-gut);
}
.kd-band__in--narrow { max-width: 780px; }

.kd-band__in--duo {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px;
	align-items: end;
}
.kd-band__media { margin: 0; }

.kd-band__media img {
	max-width: 612px;
	width: 100%;
	max-height: 560px;
	object-fit: cover;
	border-radius: var(--kd-radius);
}
.kd-band__media figcaption { margin-top: 8px; font-size: 0.85rem; color: var(--kd-mute); }
.kd-band .kd-origin, .kd-band .kd-perks, .kd-band .kd-cta { padding-top: 0; padding-bottom: 0; }
.kd-flow { max-width: 820px; margin: 0 auto; padding: 100px var(--kd-gut) 0; }
.kd-flow--hero { padding-top: 20px; text-align: left; }
.kd-flow__title { font-size: clamp(2.4rem, 6.6vw, 4rem); }
.kd-flow__lede { font-size: 1.25rem; }
.kd-flow__media { margin: 44px 0 0; max-width: 260px; }
.kd-flow__media img { max-width: 520px; width: 100%; }
.kd-flow__media figcaption { margin-top: 8px; font-size: 0.85rem; color: var(--kd-mute); }
.kd-flow.kd-cta { padding-bottom: 130px; }
.kd-legal { max-width: 760px; margin: 0 auto; padding: 36px var(--kd-gut) 110px; }
.kd-legal h2 { font-size: 1.4rem; margin-top: 44px; }
.kd-legal__title { font-size: clamp(2.4rem, 6vw, 3.6rem); }
.kd-legal__meta { color: var(--kd-mute); font-size: 0.9rem; }

.kd-legal__mail {
	margin: 34px 0 10px;
	font-size: clamp(1.6rem, 5vw, 2.6rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	word-break: break-word;
}
.kd-legal__list { padding-left: 22px; }
.kd-legal__list li { margin-bottom: 8px; }
.kd-legal__addr { font-style: normal; margin-bottom: 1em; }
.kd-legal--contact { padding-bottom: 130px; }

.kd-credits {
	margin: 20px 0;
	padding: 0;
	list-style: none;
	font-size: 0.92rem;
}
.kd-credits__item { padding: 12px 0; border-bottom: 1px solid var(--kd-line); }
.kd-credits__item a { display: inline-block; padding: 10px 0; }
.kd-credits__file { display: block; font: 500 0.8rem var(--kd-mono); color: var(--kd-accent-deep); }
.kd-lost { max-width: var(--kd-wrap); margin: 0 auto; padding: 60px var(--kd-gut) 150px; }

.kd-lost__code {
	margin: 0;
	font-size: clamp(6rem, 22vw, 14rem);
	font-weight: 600;
	letter-spacing: -0.06em;
	line-height: 0.9;
	color: var(--kd-accent-deep);
}
.kd-lost__title { max-width: 11em; }
.kd-foot { background: var(--kd-soft); padding: 64px 0 28px; font-size: 0.93rem; }

.kd-foot__in {
	max-width: var(--kd-wrap);
	margin: 0 auto;
	padding-left: var(--kd-gut);
	padding-right: var(--kd-gut);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 34px;
}
.kd-foot__disclaimer { font-weight: 600; max-width: 30em; }
.kd-foot__owner { color: var(--kd-mute); }

.kd-foot__owner a {
	display: inline-block;
	padding: 12px 0;
	min-height: 44px;
	color: var(--kd-ink);
}
.kd-foot__small { color: var(--kd-mute); font-size: 0.85rem; }
.kd-foot__head { font-weight: 600; margin-bottom: 6px; }
.kd-foot__list { margin: 0; padding: 0; list-style: none; }

.kd-foot__list a {
	display: inline-block;
	padding: 12px 0;
	min-height: 44px;
	text-decoration: none;
	color: var(--kd-mute);
}
.kd-foot__list a:hover, .kd-foot__list a[aria-current="page"] { color: var(--kd-ink); text-decoration: underline; }

.kd-foot__copy {
	max-width: var(--kd-wrap);
	margin: 36px auto 0;
	padding: 20px var(--kd-gut) 0;
	color: var(--kd-mute);
	font-size: 0.84rem;
}

.kd-consent {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 30;
	max-width: 620px;
	margin: 0 auto;
	padding: 18px 20px;
	background: var(--kd-paper);
	border: 2px solid var(--kd-ink);
	border-radius: var(--kd-radius);
}
.kd-consent[hidden] { display: none; }
.kd-consent__text { font-size: 0.92rem; margin-bottom: 14px; }
.kd-consent__acts { display: flex; gap: 10px; }
.kd-consent__acts .kd-btn { flex: 1 1 auto; }
html.is-js .kd-rise { opacity: 0; transform: translateY(14px); transition: opacity 200ms ease, transform 200ms ease; }
html.is-js .kd-rise.is-in { opacity: 1; transform: none; }

@media (min-width: 560px) {
	.kd-consent__acts .kd-btn { flex: 0 0 auto; }
}

@media (min-width: 760px) {
	:root { --kd-gut: 32px; }
	.kd-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kd-tile--big, .kd-tile--photo { grid-column: 1 / -1; }
	.kd-stats__half { padding: 44px 36px 48px; }
	.kd-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kd-rules__list, .kd-facts__list, .kd-glossary--two .kd-glossary__list, .kd-choose__list, .kd-calc--grid, .kd-duels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kd-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kd-facts__pair:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.kd-quotes > h2, .kd-quotes__limit { grid-column: 1 / -1; }
	.kd-quotes__item--shift { margin-top: 90px; }
	.kd-deck { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kd-card--wide { grid-column: 1 / -1; }
	.kd-perks__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kd-perks__item--lead { grid-column: 1 / -1; }
	.kd-vs__row { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
	.kd-guide { columns: 2; column-gap: 48px; }
	.kd-guide h2 { column-span: all; }
	.kd-foot__in { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); }
}

@media (min-width: 960px) {
	.kd-nav { order: 0; width: auto; margin-left: 18px; }
	.kd-bento { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.kd-bento--hero { grid-template-rows: auto auto; }
	.kd-tile--big { grid-column: 1 / 3; grid-row: 1 / 3; align-self: center; }
	.kd-tile--photo { grid-column: 3 / 5; }
	.kd-tile--wide { grid-column: span 2; }
	.kd-tile--tall { grid-row: span 2; }
	.kd-bento--index { grid-auto-flow: dense; }
	.kd-stats__half--real .kd-stats__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.kd-stats__half--fic .kd-stats__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kd-anatomy { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
	.kd-anatomy__media { position: sticky; top: 100px; margin-top: 90px; }
	.kd-zig { grid-template-columns: minmax(0, 1fr) 420px; }
	.kd-zig--flip .kd-zig__text { order: 2; }
	.kd-zig--lead { grid-template-columns: minmax(0, 1fr) 440px; }
	.kd-shift { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
	.kd-shift__block--a { grid-column: 1 / 10; }
	.kd-shift__block--b { grid-column: 2 / 13; }
	.kd-shift__block--c { grid-column: 1 / 8; }
	.kd-shift__block--d { grid-column: 8 / 13; align-self: center; }
	.kd-shift__block--e { grid-column: 4 / 12; }
	.kd-shift__block--f { grid-column: 1 / 9; }
	.kd-shift__block--g { grid-column: 6 / 13; }
	.kd-shift__block--h { grid-column: 2 / 11; padding: 0 0 130px; }
	.kd-orbit { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: end; }
	.kd-steps__list { margin-left: 120px; }
	.kd-deck { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kd-card--tall { grid-row: span 2; }
	.kd-card--wide { grid-column: span 2; }
	.kd-intro__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.kd-band__in--duo { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
	.kd-glossary__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kd-glossary--two .kd-glossary__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1000px) {
	.kd-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
	.kd-split__side { position: sticky; top: 80px; padding-bottom: 40px; }
	.kd-split__flow { padding-top: 60px; }
	.kd-split__flow .kd-table { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	html.is-js .kd-rise { opacity: 1; transform: none; }
}
