.kh-p-single__heroinner {
	display: grid;
	gap: var(--sp-5);
	max-width: var(--measure-prose);
}
.kh-p-single__meta {
	margin: 0;
	color: var(--text-muted);
}
.kh-p-single__h1 {
	max-width: 24ch;
}

.kh-p-single__herogrid {
	display: grid;
	gap: var(--sp-8);
	align-items: center;
}
@media (min-width: 900px) {
	.kh-p-single__herogrid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--sp-12); }
}
.kh-p-single__cover {
	aspect-ratio: 4 / 3;
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.kh-p-single__coverimg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kh-p-single__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
}
@media (min-width: 880px) {
	.kh-p-single__grid {
		grid-template-columns: minmax(0, 1fr) 20rem;
	}
}

.kh-p-single__article {
	min-width: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--sp-6);
}
.kh-p-single__article > * {
	min-width: 0;
}
.kh-p-single__article h2 {
	font-size: var(--fs-h3);
	line-height: var(--lh-tight);
	letter-spacing: -0.014em;
	padding-top: var(--sp-4);
}

.kh-p-single__rail {
	display: grid;
	gap: var(--sp-5);
	align-content: start;
	min-width: 0;
}
.kh-p-single__tocbox {
	display: grid;
	gap: var(--sp-3);
	padding: var(--sp-5);
	background: var(--surface-inset);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
}
@media (min-width: 880px) {
	.kh-p-single__rail {
		position: sticky;
		top: var(--sp-6);
	}
}

.kh-p-single__toc {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
}
.kh-p-single__tocrow {
	display: flex;
	gap: var(--sp-2);
	min-height: 2.5rem;
	align-items: center;
	font-size: var(--fs-sm);
}
.kh-p-single__tocord {
	font-size: var(--fs-xs);
	color: var(--text-muted);
}

.kh-p-single__keepreading {
	display: grid;
	gap: var(--sp-3);
}
.kh-p-single__relatedlist {
	display: grid;
	gap: var(--sp-2);
}
.kh-p-single__relatedrow {
	display: grid;
	grid-template-columns: 6rem minmax(0, 1fr);
	gap: var(--sp-3);
	align-items: start;
	padding: var(--sp-3);
	background: var(--surface-card);
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: var(--transition-state);
}
.kh-p-single__relatedtitle {
	font-size: var(--fs-sm);
	font-weight: var(--fw-semibold);
	color: var(--text-strong);
	line-height: var(--lh-tight);
}

.kh-p-single__askbox { display: grid; gap: var(--sp-3); padding: var(--sp-5); background: var(--surface-inset); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.kh-p-single__asklead { margin: 0; color: var(--text-body); }
