/* Prose — shared body-copy styles for editor-written content (generic pages, articles). */

.page-body { padding-block: 0 var(--section-y-tight); }

.entry-content {
	max-width: calc(760px + var(--rail) * 2);
	margin-inline: auto;
	padding: 60px var(--rail) 32px;
	font-size: 18px;
	line-height: 1.8;
	color: #2e2820;
}

.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }

.entry-content p { margin: 0 0 24px; }

.entry-content a {
	color: var(--gold-deep);
	text-decoration: underline;
	text-decoration-color: var(--line-gold);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color 0.2s var(--ease-out), text-decoration-color 0.2s var(--ease-out);
}

.entry-content a:hover,
.entry-content a:focus-visible {
	color: var(--burgundy);
	text-decoration-color: currentcolor;
}

.entry-content :is(h2, h3, h4, h5, h6) {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--ink);
}

.entry-content h2 {
	font-size: clamp(26px, 4.4vw, 32px);
	letter-spacing: 0.02em;
	margin: 40px 0 18px;
}

.entry-content h3 {
	font-size: 22px;
	margin: 28px 0 12px;
}

.entry-content h4 {
	font-size: 18px;
	letter-spacing: 0.02em;
	margin: 24px 0 10px;
}

.entry-content :is(h5, h6) {
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 22px 0 8px;
}

.entry-content :is(ul, ol) {
	margin: 0 0 24px;
	padding: 0;
}

.entry-content ol {
	list-style: decimal;
	padding-left: 1.5em;
}

.entry-content ol li {
	padding: 6px 0 6px 6px;
	line-height: 1.6;
}

.entry-content ol li::marker {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--gold);
}

.entry-content ul { list-style: none; }

.entry-content ul li {
	position: relative;
	padding: 10px 0 10px 26px;
	line-height: 1.6;
	border-top: 1px solid rgba(20, 16, 11, 0.08);
}

.entry-content ul li:first-child { border-top: none; }

.entry-content ul li::before {
	content: "♦";
	position: absolute;
	left: 0;
	top: 13px;
	font-size: 9px;
	color: var(--gold);
}

.entry-content li > :is(ul, ol) { margin: 6px 0 0; }

.entry-content ul ul li {
	padding-block: 4px;
	border-top: none;
}

.entry-content ul ul li::before { top: 7px; }

.entry-content :is(strong, b) {
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--ink);
}

.entry-content em {
	font-family: var(--font-slogan);
	font-style: italic;
	color: inherit;
}

.entry-content blockquote {
	margin: 36px 0;
	padding: 8px 0 8px 30px;
	border-left: 2px solid var(--gold);
	font-family: var(--font-slogan);
	font-style: italic;
	font-size: var(--fs-slogan-lg);
	line-height: 1.4;
	color: var(--burgundy);
}

.entry-content blockquote p {
	font: inherit;
	color: inherit;
	margin: 0;
}

.entry-content hr {
	width: 96px;
	height: 1px;
	margin: 40px auto;
	border: 0;
	background: var(--gold);
}

.entry-content :is(figure, .wp-block-image) { margin: 32px 0; }

.entry-content figcaption {
	margin-top: 10px;
	font-size: var(--fs-meta);
	line-height: 1.45;
	color: var(--ink-mute);
}

.entry-content .wp-block-table { overflow-x: auto; }

.entry-content table {
	width: 100%;
	margin: 0 0 24px;
	border-collapse: collapse;
	font-size: 16px;
}

.entry-content :is(th, td) {
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--line);
}

.entry-content th {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--ink);
	border-bottom-color: var(--line-gold);
}
