.dm-prose {
	min-width: 0;
	max-width: var(--measure-prose);
	font-size: 17px;
	line-height: 1.62;
	color: var(--text-secondary);
}

.dm-prose > * + * {
	margin-top: 16px;
}

.dm-prose .entry-lead,
.dm-prose > p:first-child.lead {
	font-size: clamp(18px, 1.8vw, 22px);
	line-height: 1.5;
	color: var(--text);
	font-weight: 500;
	letter-spacing: -0.01em;
	margin-bottom: clamp(28px, 3vw, 40px);
}

.dm-prose hr {
	height: 1px;
	background: var(--border);
	border: 0;
	margin: clamp(28px, 3vw, 40px) 0 clamp(32px, 3.5vw, 48px);
}

.dm-prose h2 {
	font-family: var(--heading-font);
	font-size: clamp(22px, 2.4vw, 28px);
	line-height: 1.15;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--text);
	margin: clamp(36px, 4vw, 56px) 0 clamp(14px, 1.6vw, 20px);
	scroll-margin-top: var(--sticky-top);
}

.dm-prose h3 {
	font-family: var(--heading-font);
	font-size: var(--fs-800);
	line-height: 1.2;
	font-weight: 600;
	color: var(--text);
	margin: 28px 0 12px;
}

.dm-prose h4,
.dm-prose h5,
.dm-prose h6 {
	font-family: var(--heading-font);
	font-weight: 600;
	color: var(--text);
	margin: 24px 0 10px;
}

.dm-prose p {
	margin: 0 0 16px;
}

.dm-prose a {
	color: var(--link);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.dm-prose ul,
.dm-prose ol {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.dm-prose ul li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.dm-prose ul li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: var(--r-pill);
	background: var(--accent);
	margin-top: 9px;
	flex: none;
}

.dm-prose ol {
	counter-reset: dm-ol;
}

.dm-prose ol li {
	counter-increment: dm-ol;
	display: flex;
	gap: 14px;
}

.dm-prose ol li::before {
	content: counter(dm-ol);
	font-family: var(--font-mono);
	font-size: var(--fs-200);
	color: var(--accent);
	min-width: 20px;
	margin-top: 2px;
}

.dm-prose blockquote {
	margin: 24px 0;
	padding: clamp(16px, 1.8vw, 20px) clamp(18px, 2vw, 24px);
	border: 1px solid var(--border);
	border-left: 3px solid var(--accent);
	border-radius: var(--r-lg);
	background: var(--bg-subtle);
	color: var(--text-secondary);
	font-size: var(--fs-500);
	line-height: 1.55;
}

.dm-prose blockquote p:last-child {
	margin-bottom: 0;
}

.dm-prose pre {
	background: #0b0b0c;
	color: #fafafa;
	padding: 16px 18px;
	border-radius: var(--r-lg);
	overflow-x: auto;
	font-family: var(--font-mono);
	font-size: var(--fs-300);
	line-height: 1.6;
}

.dm-prose code {
	font-family: var(--font-mono);
	font-size: 0.9em;
	background: var(--surface-hover);
	padding: 2px 6px;
	border-radius: 4px;
}

.dm-prose pre code {
	background: none;
	padding: 0;
}

.dm-prose figure {
	margin: 24px 0;
}

.dm-prose figure img {
	width: 100%;
	border-radius: var(--r-lg);
	border: 1px solid var(--border);
}

.dm-prose figcaption {
	margin-top: 10px;
	font-size: var(--fs-300);
	color: var(--text-muted);
	text-align: center;
}

.dm-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
	font-size: var(--fs-400);
}

.dm-prose th,
.dm-prose td {
	border: 1px solid var(--border);
	padding: 10px 14px;
	text-align: left;
}

.dm-prose th {
	background: var(--bg-subtle);
	font-weight: 600;
	color: var(--text);
}

.dm-callout {
	display: flex;
	gap: 16px;
	padding: clamp(16px, 1.8vw, 20px) clamp(18px, 2vw, 24px);
	border: 1px solid var(--border);
	border-left: 3px solid var(--accent);
	border-radius: var(--r-lg);
	background: var(--bg-subtle);
	margin: 24px 0;
}

.dm-callout p {
	font-size: var(--fs-500);
	line-height: 1.55;
	color: var(--text-secondary);
	margin: 0;
}

.dm-prose .alignwide {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.dm-prose .alignfull {
	max-width: none;
	margin-left: calc(-1 * var(--gutter));
	margin-right: calc(-1 * var(--gutter));
}
