/*
 * Single post — editorial long-form.
 */

.zj-single-hero {
	padding: clamp(72px, 8vw, 128px) 0 clamp(32px, 5vw, 56px);
	border-bottom: 1px solid var(--line);
}
.zj-single-hero__title {
	font-size: clamp(2.1rem, 4.8vw, 3.6rem);
	line-height: 1.08;
	max-width: 26ch;
	margin: var(--s-3) 0 var(--s-5);
	letter-spacing: -0.02em;
	font-weight: 400;
	font-variation-settings: "opsz" 144;
}
.zj-single-hero__meta {
	font-family: var(--font-sans);
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-muted);
	display: inline-flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}
.zj-single-hero__cat { color: var(--oxblood); }

.zj-single-featured {
	padding-block: var(--s-6);
	background: var(--paper-2);
}
.zj-single-featured img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 2px;
}

.zj-single-body {
	padding: clamp(40px, 6vw, 96px) 0 clamp(64px, 8vw, 120px);
}
.zj-single-body .zj-prose {
	font-size: 1.12rem;
	line-height: 1.75;
	color: var(--ink);
	max-width: 66ch;
	margin: 0 auto;
}
.zj-single-body .zj-prose > :first-child { margin-top: 0; }
.zj-single-body .zj-prose p { margin-bottom: var(--s-5); }
.zj-single-body .zj-prose h2 {
	font-size: clamp(1.5rem, 2.4vw, 1.9rem);
	margin-top: var(--s-8);
	margin-bottom: var(--s-4);
	font-weight: 450;
	color: var(--ink);
}
.zj-single-body .zj-prose h3 {
	font-size: clamp(1.2rem, 1.8vw, 1.4rem);
	margin-top: var(--s-6);
	margin-bottom: var(--s-3);
	font-weight: 500;
}
.zj-single-body .zj-prose figure { margin: var(--s-7) 0; }
.zj-single-body .zj-prose figcaption {
	font-family: var(--font-sans);
	font-size: 0.82rem;
	color: var(--ink-muted);
	text-align: center;
	margin-top: var(--s-2);
	letter-spacing: 0.02em;
}

.zj-post-nav {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s-4);
	padding-top: var(--s-7);
	margin-top: var(--s-8);
	border-top: 1px solid var(--line);
	max-width: 66ch;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 720px) {
	.zj-post-nav { grid-template-columns: 1fr 1fr; }
}
.zj-post-nav__link {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: var(--s-4);
	border: 1px solid var(--line);
	border-radius: 2px;
	text-decoration: none;
	color: var(--ink);
	transition: border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out);
}
.zj-post-nav__link:hover { border-color: var(--oxblood); background: var(--paper-2); }
.zj-post-nav__link--next { text-align: right; align-items: flex-end; }
.zj-post-nav__dir {
	font-family: var(--font-sans);
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oxblood);
}
.zj-post-nav__title {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 450;
	line-height: 1.3;
}
