.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-top: 28px;
	color: #746d68;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.article-meta span + span::before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	margin: 0 13px 3px 0;
	border-radius: 50%;
	background: currentColor;
}

.article .entry-content {
	max-width: 760px;
	margin-inline: auto;
	color: #3f3a37;
}

.article-art-image {
	margin: 0 0 55px;
}

.article-art-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article .entry-content h2 {
	margin: 2.2em 0 .65em;
	color: var(--ink);
	font: 500 clamp(32px, 4vw, 46px)/1.05 var(--serif);
	letter-spacing: -.025em;
}

.article .entry-content h3 {
	margin: 1.8em 0 .55em;
	color: var(--ink);
	font: 600 21px/1.25 var(--sans);
}

.article .entry-content ul,
.article .entry-content ol {
	margin: 0 0 1.8em;
	padding-left: 1.4em;
}

.article .entry-content li {
	margin-bottom: .7em;
	padding-left: .25em;
}

.article .entry-content a {
	color: var(--wine);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.article-lead {
	font-size: 22px;
	line-height: 1.55;
}

.article-toc {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 28px;
	margin: 46px 0 60px;
	padding: 28px 30px;
	border: 1px solid var(--line);
	background: var(--soft);
	font: 14px/1.45 var(--sans);
}

.article-toc strong {
	grid-column: 1 / -1;
	margin-bottom: 5px;
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.article-toc a {
	color: var(--ink) !important;
	text-decoration: none !important;
}

.article-toc a::before {
	content: "↳";
	margin-right: 8px;
	color: var(--wine);
}

.article-callout {
	margin: 48px 0;
	padding: 30px 34px;
	border-left: 3px solid var(--wine);
	background: var(--soft);
}

.article-callout > strong {
	font: 600 11px var(--sans);
	letter-spacing: .15em;
	text-transform: uppercase;
}

.article-callout p {
	margin: 9px 0 0 !important;
}

.article-table-wrap {
	overflow-x: auto;
	margin: 30px 0 44px;
}

.article table {
	width: 100%;
	border-collapse: collapse;
	font: 14px/1.5 var(--sans);
}

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

.article th {
	background: var(--soft);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.article-sources {
	margin-top: 60px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
	color: #716a65;
	font: 12px/1.7 var(--sans);
}

@media (max-width: 620px) {
	.article-meta {
		display: grid;
		gap: 5px;
	}

	.article-meta span + span::before {
		display: none;
	}

	.article-toc {
		grid-template-columns: 1fr;
		padding: 24px;
	}

	.article .entry-content {
		font-size: 17px;
	}

	.article-lead {
		font-size: 20px;
	}
}
